{"_id":"convex-helpers","_rev":"250-c459ce790f5d2ef88656161195f89ab8","name":"convex-helpers","dist-tags":{"alpha":"0.1.114-alpha.0","latest":"0.1.124"},"versions":{"0.0.1":{"name":"convex-helpers","version":"0.0.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.0.1","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers#readme","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"ca03cb431809ab1bd23f0fce168903e825ab2c89","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.0.1.tgz","fileCount":8,"integrity":"sha512-akK6kk4BgTCKJ08hUh3IhgGeLn0/DZW3mklY2q3scsSeTd47hQhfwfqAqJBiR+R7BaO9xyEi8qPqffxnTwT91A==","signatures":[{"sig":"MEUCIAMvsfgLmUPr9YF8DEv4e5gktTvCxT8xdNSpDMLD6ZanAiEAvWjjgMjVYRHn3X2abMsw+TDIWxWaNWJZGKX08m56F20=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40863},"exports":{"./server":{"types":"./server/","import":"./esm/server/","require":"./cjs/server/"}},"gitHead":"0b6925288127b1fe73aa8863e3344e013c0d41e1","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run clean && npm run build:esm 2>/dev/null && npm run build:cjs 2>/dev/null","clean":"rm -rf cjs esm","watch":"chokidar 'server/**/*.tsx' 'server/**/*.ts' 'package.json' -c 'npm run build:esm' --initial","build:cjs":"esbuild $(find server -iname \"*.ts\") --outdir=cjs --outbase=. --loader:.ts=ts --platform=node --bundle=false --format=cjs && echo '{\"type\": \"commonjs\"}' > cjs/package.json","build:esm":"esbuild $(find server -iname \"*.ts\") --outdir=esm --outbase=. --loader:.ts=ts --platform=node --bundle=false"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.2.2","chokidar-cli":"^3.0.0"},"peerDependencies":{"convex":"1.0 - 1.5"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.0.1_1701201840202_0.7132120944105733","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"convex-helpers","version":"0.1.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers#readme","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"e6e39187326f01f97d267b01a7ce1765d8a478e1","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.0.tgz","fileCount":8,"integrity":"sha512-8zfTXyE+OqAENGiv8auJjAZF2gqIYR4ASFkm7pAkjITvoWzdjFFu5ANcp9iAOfkf4mhdvYOHhuwIFXIjwSpFNQ==","signatures":[{"sig":"MEQCIELdicispaZQtkh0shDetP3WSSLGpiNQhjSRXq8X9RITAiBV/lEcGxKDD8BqecN6XfrhmJyb3y5ciDRTDLkmqyZ3kw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41057},"exports":{"./server/":{"types":"./server/","import":"./esm/server/","require":"./cjs/server/"}},"gitHead":"8795f3bb66ba2d3f260daed7b91fc5e1600296ef","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run clean && npm run build:esm 2>/dev/null && npm run build:cjs 2>/dev/null","clean":"rm -rf cjs esm","watch":"chokidar '**/*.tsx' '**/*.ts' 'package.json' -c 'npm run build:esm'","build:cjs":"esbuild **/*.ts --outdir=cjs --outbase=. --loader:.ts=ts --platform=node --bundle=false --format=cjs && echo '{\"type\": \"commonjs\"}' > cjs/package.json","build:esm":"esbuild **/*.ts --outdir=esm --outbase=. --loader:.ts=ts --platform=node --bundle=false"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.2.2","chokidar-cli":"^3.0.0"},"peerDependencies":{"convex":"^1.6.2"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.0_1701201920383_0.15834511312855826","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"convex-helpers","version":"0.1.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.1","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers#readme","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"13347eea376bcccde5ee87a54112455a8da48767","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.1.tgz","fileCount":6,"integrity":"sha512-KBwOamH4r4O3pMuKXM+mFLrBKo8pvtNHWTbWIDReYsKD9qqkBJVpN5krzar9Zpogt7hnE4XpHCKa20jtUJqzYg==","signatures":[{"sig":"MEUCIHgu+ku5M3fJrsz7sG/WTPAKBDtPVPFE8GJKbH06ILl+AiEAhBRh4Y/brRjH4Got3QYYIsGGXwWKMDPpDCYbGugdsp4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35892},"type":"module","exports":{"./server/":"./server/"},"gitHead":"0c97bf8d2137d1ff111d0aa4b7d4789673fdc74a","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.2.2"},"peerDependencies":{"convex":"^1.6.2"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.1_1701216018175_0.1872363996659514","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"convex-helpers","version":"0.1.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.2","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"9403f09c39094678396b842e1152a205cdd10591","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.2.tgz","fileCount":8,"integrity":"sha512-cw6O7JncqSEJNwPpG1TTrUtTSJHCTGyY7PNEkPqx0vVgy5af5erxL/LydWl3eOrH8Ob3xajkph6xbRnWjaSrWw==","signatures":[{"sig":"MEYCIQCMO8Kk4BBgYO6UYv0DKfPu+LCnq3dhF8GYhsWW9KEBdwIhAJyVXbYMjMcX2n1hM2FQD+SpoySF1ZfysPXdMOyd+fl6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40052},"type":"module","gitHead":"7188b488142fc812c87cf9504bf55923424ff964","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.2.2"},"peerDependencies":{"convex":"^1.6.3"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.2_1701397854196_0.8178522494380793","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"convex-helpers","version":"0.1.3","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.3","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"4e1544b344bbf91eabd63769c2b0a8c7f2728d01","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.3.tgz","fileCount":21,"integrity":"sha512-yDD1mG8+fSG22n4OdwCrZv2l9+uDAWu9RFUupIP9eJCKU1bblrdF59xMr7OOw4BZmfjG4AjHPg0heHV/oU3jEQ==","signatures":[{"sig":"MEUCIDyZrMWwXA77qjfhqZph4uyAgOeJN+VxB9880EC5cRtBAiEAieSojvGdNIm+Hpz9eS1r40DZpe4ScRpUQgFxJ86bYUc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100682},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/relationships":"./dist/server/relationships.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"993ebc787fe06c2dfb62e4823bf2e88273e46d3f","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.2.2"},"peerDependencies":{"convex":"^1.6.3"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.3_1701581646520_0.7575928794309033","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"convex-helpers","version":"0.1.4","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.4","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"5b47fcd76103e24edc7044dde39a1db702c18c8f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.4.tgz","fileCount":19,"integrity":"sha512-vJB6YB6gfMnJ8aw2gdQTaEZStfjtpCI0C1K8wBiWoNnxcVlJc2Ai49m/Ykf0pMhQUZNqGgkbWrIXHIqiDK4juQ==","signatures":[{"sig":"MEYCIQDIEwQbwolSOtpshyRKG+AGIKKVth/XXNmFlvTQTkokXgIhAL5FnM/buFAUhTiBu7YzhsuBney0BAPyg6gMSj67dBb2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130695},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"59545db46cf38b087d2f89dfbae7c251505f1106","scripts":{"build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.2.2","chokidar-cli":"^3.0.0"},"peerDependencies":{"convex":"^1.6.3"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.4_1702350942480_0.18556887179167747","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"convex-helpers","version":"0.1.5","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.5","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"b190dd84a35eba9808d298e5e0f78768025620d1","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.5.tgz","fileCount":19,"integrity":"sha512-uXemDwQ2WsgJLNXRJ/5nCGwAgkeEdMRLmWhM8QYE9fJXRD6syAlm/75zp6mlNHFDo1fcJRFTukX57a0bWITuaw==","signatures":[{"sig":"MEQCIGqsJ3UTfqwW55d5An3Nw3JsXhj/i4XVLLehzEf8c91NAiA6l2ebm2pGfEhyqonQDmq+lG9x9smGwAG1Di52YBYWlg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134358},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"33ae924102fe9676183138c002651e8a68b72950","scripts":{"build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.2.2","chokidar-cli":"^3.0.0"},"peerDependencies":{"convex":"^1.6.3"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.5_1702508726311_0.3243955795636342","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"convex-helpers","version":"0.1.6","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.6","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"0f8b2a4fd3f1331c24775e2f3be3081722177455","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.6.tgz","fileCount":23,"integrity":"sha512-L6ONKacX+66yhHfsZhaMRQnoCWq5DwQKGWYatHlgzVP88143BusBZBFk3vUK6M79nmke90dt7meTqNHevB0Rmg==","signatures":[{"sig":"MEUCIEfq1uQvONdL7DRNHHmBc+WmqvT5yOQU6sRjO2JtxvmAAiEA8xO8IMlq8guXN/cjS36qGIoPsxDPSGFRpr1uiXUABmM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":195806},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"1230b82c46591e58449e40ef8f9c05ab2b08d986","scripts":{"build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.2.2","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","convex":"^1.6.3"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.6_1702608181706_0.1680816578597839","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"convex-helpers","version":"0.1.7","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.7","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"7528c92c104802faa0131db58d6a8027e4f35e45","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.7.tgz","fileCount":23,"integrity":"sha512-ziYSz0m3JWM/4wlq8SKIdEpiqUNrB5ubZjJuq/r25z7y5X/BwJsIFJhbZr4zFUKvUlOlyh8jSTqwT3uJ76pUAw==","signatures":[{"sig":"MEYCIQDLV1BNuNBd9yp+e3sXeUzepmw07SPi3vmlV2IdKZ1wHAIhAOU7RsLUAnaGle8SxP1RGpB61hF0BgklJEtFn0gpPFtg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":196812},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"0acde4a0cdf73aa0563a0b4db9dfe32c65993c98","scripts":{"build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.2.2","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","convex":"^1.6.3"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.7_1702688312999_0.5866914807979302","host":"s3://npm-registry-packages"}},"0.1.8":{"name":"convex-helpers","version":"0.1.8","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.8","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"34fc4b8e182562c74a2959318c2c4e8dbfcd7f39","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.8.tgz","fileCount":28,"integrity":"sha512-T5RN0U7G+GiseafuWIbyWcYVBKnSfsoJYNxnMRb028503e4VxbDJ5XYEl+sflKFJlBEwiM9/m1/hFoW3x/OIBg==","signatures":[{"sig":"MEUCIQCByOpm6P+bKr7+K9aS456WENY+bEsW78JHzLB5t4wrjgIgL841bn+8f4aWSCGMuAR0kNcEwSPGaIhxf+CMlWSdBtU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":211712},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"fcc2fec27cb1de287b74c52dfc678edbf95e43c9","scripts":{"build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.7.1"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.8_1704792598929_0.01907954572263737","host":"s3://npm-registry-packages"}},"0.1.9":{"name":"convex-helpers","version":"0.1.9","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.9","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"bea4002a621771ae37f52a75f00709c6e54754ed","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.9.tgz","fileCount":23,"integrity":"sha512-jTi7VSsY3AXxTRP6lL8hA0kmRRr/yULXLWMfHcg18A9Q5S3GXuGXMdZoGd4JtWla8iHpY5S9DQaHEYrZxsYhzA==","signatures":[{"sig":"MEUCIQCdWU+klr+nRdN5wZZ8jFDhxJ0p98L7Kpw7Yoc8FqLnEAIgVY16sGJhlJ3CP0kBLe/RRq0HjMuK/VjJASrcxGwMboI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":196568},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"8eb7e8400d96d75d45384a12132e873acb55fbea","scripts":{"build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","convex":"^1.6.3"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.9_1704793093749_0.981700586229552","host":"s3://npm-registry-packages"}},"0.1.10-alpha.0":{"name":"convex-helpers","version":"0.1.10-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.10-alpha.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"da222f6cffcebdeb170487b9dcfbc08b947c4e89","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.10-alpha.0.tgz","fileCount":29,"integrity":"sha512-7YS48l4eMIBYkf8tvD1nIWmP/UCgP9xPqjddOR0nHVbHm5BGw5wkUHZomZkLKuZYtrE2TfmEcUKyT7nMxVPa3g==","signatures":[{"sig":"MEYCIQCuW2tXFrD+1ce4AJ6OBU4ZoJdFk4ZPL2Cdjb5/v2GSHgIhAMkkGb3y62J3FEDiv2o8aRd3j7J+XBGcjdFGXQvPir7W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":217554},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"18999d3fbc4e379adfbf58b87dc2ee62bd0a8c7f","scripts":{"build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.7.1"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.10-alpha.0_1704793667402_0.22009364648633922","host":"s3://npm-registry-packages"}},"0.1.10-alpha.1":{"name":"convex-helpers","version":"0.1.10-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.10-alpha.1","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"6eb1a8e7013b531f3b592bd287298e153e65e829","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.10-alpha.1.tgz","fileCount":24,"integrity":"sha512-CdRflU8ovcGdxaiV2S7mQX0igmWjnEZG2V8+6FsraqfRhvuWL1bOdXS+/zrMB0gtKZZcvFvZZvrlyLLJ4MSCFA==","signatures":[{"sig":"MEQCIFOgGeE/0YJobUgMoHjw7QpMOEd/fQym2lTyN7VRpJOJAiB6lXe0X5DV4kJSJFAS0zf18ZmljIb1yNGxZCvfCAHVOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":253175},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"1ddc4a5b58a5672c018402e8695881d304b99f52","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","convex":"^1.6.3"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.10-alpha.1_1705148410257_0.028768160413555233","host":"s3://npm-registry-packages"}},"0.1.10":{"name":"convex-helpers","version":"0.1.10","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.10","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"be43a45d6493ad817fb48ceb9678ce0611f7f2d7","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.10.tgz","fileCount":24,"integrity":"sha512-0nASNbx+6yXakbvCRmhdZlvovUy6NatW+7Ht1edvAvR+4u568Lwl5VH9kreyub6TR1mQfvK+o0CxxwD6ZEKu3Q==","signatures":[{"sig":"MEUCIFWo3CpmC+ksjHtuQLpJnl+xcljX84ry//+xUwhHyrb3AiEAgZVwMnayNzNc37JX5E+MZtDP5YeQpbA2B6im/TDWU7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":253167},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"bc32d05d1b2ac03f75f50839e9c3040599c6b6eb","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","convex":"^1.6.3"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.10_1705399901921_0.04027313164127477","host":"s3://npm-registry-packages"}},"0.1.11":{"name":"convex-helpers","version":"0.1.11","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.11","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"663a03c7a3b5d026fd2a06b1ff0e850c3c5958fd","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.11.tgz","fileCount":10,"integrity":"sha512-y5F9H0doPd46I8zndtBM2vrDqy3nppXLHBQRWyBMIWy1myOzM5n5lJAqdbrAmM6/4D1P8re9/O2Enr9ZtGWeeA==","signatures":[{"sig":"MEQCIEmsVJs0x0/2Yz2dEfFQgYJckSTTKVRRHLEyEk5HDZGAAiA1kp9iGtTuuzVkfmY7HtJnfCzZ9BWgBzR7PFjKn2CZew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90193},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"5406723456cdbd7f9671f22f276c9ffc1d13b60b","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","convex":"^1.7.1"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.11_1705445370821_0.15014188426330577","host":"s3://npm-registry-packages"}},"0.1.12":{"name":"convex-helpers","version":"0.1.12","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.12","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"bdcd74b236945826d2463371ef3c08cb46c43ffd","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.12.tgz","fileCount":24,"integrity":"sha512-Hjqxk+ymgD2GtMGwZWBNbkhcJLhusGKjXga2REiTO9gRR4QkqPPAU7/c8kmKjkRBGzukHXn7jMq9jLRt4pN5Rw==","signatures":[{"sig":"MEUCIQC/y9Lne1rBvMY7X4kQU3Odrn4vinkz4j7PcdowZogx4QIgBOEeKQDZ7z2qnqrtgOS5EZ+rnHVDhWdAYIMrUMZb8ak=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":252219},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"9641f0f9a745b037674a94efa14afb2a129bfd4f","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","convex":"^1.7.1"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.12_1705445510665_0.10202798683685343","host":"s3://npm-registry-packages"}},"0.1.13":{"name":"convex-helpers","version":"0.1.13","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.13","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"4dcdf4b75f119266ba5102e6a70308ff9b2ad3ba","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.13.tgz","fileCount":24,"integrity":"sha512-eA/34xZ88K1ynpE2MNzt2pSScWYBvWc5G00iVQSUI0ZkDGZ65gEDfIceTrJUy3dwyKwXKPahzW3tNayGrQUbZA==","signatures":[{"sig":"MEYCIQCvS89xIGd3eEgfE85k6rN2aa6QQ8+ChQ9M22oiotp8hgIhANRmJ0Dv7zakYyIZe9byxPh0B9KYHpTmSJap4Dah5Yn6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":253904},"exports":{".":"./dist/index.js","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"c18ace1b2bd7f872ee181a3eb8a4cb50b6adf01a","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","convex":"^1.7.1"},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.13_1705878750900_0.6358258650106245","host":"s3://npm-registry-packages"}},"0.1.13-alpha.0":{"name":"convex-helpers","version":"0.1.13-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.13-alpha.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"c1f2d6682ce6ec5128fbacd320e4c63f1b0d2705","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.13-alpha.0.tgz","fileCount":30,"integrity":"sha512-MEgOx7UphDP1z3oE+XqQuoPJzC/ClBaeaC4+pZcgWeg1YCB/bQxr6GcYLMiN1HXcbO8m6+rftYJNpgbveo1VMA==","signatures":[{"sig":"MEUCIQCqmN4vBiiMtlwcBhMZ9l9oECNa1NfgSPgRs6+PB18WHAIgc8ulFAU90ssj0PUqH480UfzZYz5vbCyT6dPt1sPHkEc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":283489},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"94a5d5321732321a9ad7296538dd6d9162ac9ef7","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.7.1"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.13-alpha.0_1705913269353_0.8459919152937696","host":"s3://npm-registry-packages"}},"0.1.13-alpha.1":{"name":"convex-helpers","version":"0.1.13-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.13-alpha.1","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"92877c8ed8d91ee89cd09b110509b9af7035bac4","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.13-alpha.1.tgz","fileCount":30,"integrity":"sha512-Xs664K8758hOMOsBUnsf0f5fZQ6XY973nowqSRLDuGORppVX1lkNUY70Dyo3f/o7G8I+bs9/deBJbg8xH/TRag==","signatures":[{"sig":"MEUCIDi3OWXcczPhR+xTV8imlOgb6z1R19+o30TNjLPCP8OMAiEA7C//inetLG+NaGJIK/a6o6Zk28cJEgjWgoU8yW+jELw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":283489},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"7474616948dd916cba4af97db8f1e2ddf2bd9510","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.7.1"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.13-alpha.1_1705914027272_0.5637484949964715","host":"s3://npm-registry-packages"}},"0.1.13-alpha.2":{"name":"convex-helpers","version":"0.1.13-alpha.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.13-alpha.2","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"2de3241281352725e7b5c63bb47fc608efbff898","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.13-alpha.2.tgz","fileCount":30,"integrity":"sha512-nbH8SGtzupyDQGPGBv1jONXKUSrL/2FGdBY73jj1rPGYDSizuWNDl9jr8In4jQg+vMVwTm3I+ECY2zyNjvZf3w==","signatures":[{"sig":"MEUCIEmVBxZMw467o1e5tVGvHUaOD3PzI6raOYyiDBLXIRJdAiEA32bOvHsx+u/Dw/5FvH0kAcmb556MGAKfopv+jmA3n80=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":285422},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"3314b4ed7a43278178fb1a88313830dd046d5c6f","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.7.1"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.13-alpha.2_1705914604171_0.9469979581428751","host":"s3://npm-registry-packages"}},"0.1.13-alpha.3":{"name":"convex-helpers","version":"0.1.13-alpha.3","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.13-alpha.3","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"dee2b6bf7b5571b4099ca6c6a487a085f4850439","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.13-alpha.3.tgz","fileCount":30,"integrity":"sha512-azPICrkldVD6UOAbaR/c42q4ODdkWQ/vkPgQymiqAGkRgMmCV9au6oYcCYMoorPndXa3yRgxjjF8OUxv3WyCUQ==","signatures":[{"sig":"MEQCIDojiANkMJcH+8WRdZnapckX7rje2mqbJ/CekusbywHXAiBXjhqniPJlqlLwKTKK1kCjoZKB2KPANLaMx0Ngt5toJA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":285464},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"5f1993f9db593fbb73a20aea9d86d29826bdddd8","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.7.1"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.13-alpha.3_1705914917299_0.9084695994794192","host":"s3://npm-registry-packages"}},"0.1.14":{"name":"convex-helpers","version":"0.1.14","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.14","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"43335fc2863eb20c3a513063893b3e0dd6606971","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.14.tgz","fileCount":30,"integrity":"sha512-vMoDQDpyU/OBrHfX75IZC9czxMUSyz6RWKPRd7IglmkRxWM+D3Nqbp3iNoyuhu3YDS+q249TKzXBCS/0J9Te+A==","signatures":[{"sig":"MEYCIQCJ7bprGVInBx5I/lqvFBqMR1N8jcjKMgfGTn3rVsSXMQIhAKpqW8AKffKA7mmtGQHxNO2SSaJadBPTlBZ/I6F6aUzM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":285456},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"7ed4449802bba5c9f4c19975061d41f43eabbdc8","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.7.1"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.14_1705915310855_0.5192019270981736","host":"s3://npm-registry-packages"}},"0.1.15":{"name":"convex-helpers","version":"0.1.15","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.15","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"1adedcd347fff950147085b6b335917eadccd9bf","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.15.tgz","fileCount":30,"integrity":"sha512-G9MNXH4CsBfnwNCsFH3vjVBpiWGiz2cRYz6oHLEyKjqGJe6XKbD7B0y5r3pAOCokaY6q6NcfamqAFwrMdUIOJw==","signatures":[{"sig":"MEUCIBiWpkNhhZEj3P/fShd3ZOejPTv8IlYTWg0HNHTnKxCYAiEAl8Ar2n7OEQMLSzysjFMimSPK7rfHv7Xp1FDy9PAfmBw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":285834},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"ac1f038a278ec312b86dd5d00466a20722918c06","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.8.0"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.15_1706768320866_0.4676008283741586","host":"s3://npm-registry-packages"}},"0.1.16":{"name":"convex-helpers","version":"0.1.16","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.16","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"a7b393838017a8ad26cbcd0817f874cb05bd16c9","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.16.tgz","fileCount":33,"integrity":"sha512-5pX3BnrnaQF0QyXrbWvYc3KpWRl/yL+bmmhG60dDNyHGP1s74W/aGU8rLY/ZPyLmUkZzJBq9lPsaBCp0OZ6S6w==","signatures":[{"sig":"MEUCIGCofm8kzbrL4zDxzYu2FZtTVWcVHs7JEbOAY3ueAgGpAiEAw9nNkgc5GkZJQ9WZTjAwDDpV60xcU5OVoldP+r4rwZ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":303465},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./values":"./dist/values.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"fdbb04f166c5da5329a4405b378e093f2067768d","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.8.0"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.16_1707993581192_0.0744063903249228","host":"s3://npm-registry-packages"}},"0.1.17":{"name":"convex-helpers","version":"0.1.17","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.17","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"ec366e2928c2e0dab7b535beb83477209c88bfec","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.17.tgz","fileCount":33,"integrity":"sha512-QuEGC47/pUIOyDOrcxi2Osqrjx72mpFh5WdHp9qAPndBvz+vgzGJs2FgjqWQLfe5IyrVmrxoWg0YhH7wYkDjDg==","signatures":[{"sig":"MEUCIAPkEUhibmTpoc9mQ6A4rN8+r4KcmygxBo5v5ohvT+22AiEAhvAk8K0DpmJA1KOtw2MZolxirLANgAK3vok87R8m7bE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305014},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./values":"./dist/values.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"88e8106f8395a6b8b09b6e6d7ffef2eea34f1fb2","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.8.0"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.17_1707994282123_0.4019505741481173","host":"s3://npm-registry-packages"}},"0.1.18":{"name":"convex-helpers","version":"0.1.18","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.18","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"74466dca6dd3a3670bf79ff7390665c7e7d96e47","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.18.tgz","fileCount":33,"integrity":"sha512-Tg0NspT2UaeEBa05lrX2KZ9dprU7QuzywYc2vHNehU2bNSc9uqie1FXnXJHqBP7ao7s3alSFufKKG2STfy7qFw==","signatures":[{"sig":"MEUCIFfkiKcCVk4Gvds4f6U0Qe8B9cVrlySkHwZspoSDxtBcAiEA/iB/v0Kw6jhb3NLsgXkYJ1Tl7iT7yM+Yb/Qu3kv/evo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":301766},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./values":"./dist/values.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"c1c30769a6b26c03faab8e8f8700369375a54688","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.8.0"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.18_1708060407725_0.2202373566244029","host":"s3://npm-registry-packages"}},"0.1.19":{"name":"convex-helpers","version":"0.1.19","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.19","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"a02a5c08f4faff3bcf05f191f6f3474e7a5438c8","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.19.tgz","fileCount":33,"integrity":"sha512-Xz2f/O+aLLBSVMPxMaeBpqjEVRgki+yS3l7Nm/1LTvBDDD5pR7cF1radedEQt8uKKGgzIQ3C0hLO+UVQpoNfhA==","signatures":[{"sig":"MEUCIQCdhgOeM4IvG4d8FbH2l4A65TFRsFuqHfHlJMlUYowlGAIgLnPRAq0BfbFeEu4do/omlan4xR+CNNS8Ogm1YbQ7U8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":304383},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./validators":"./dist/validators.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"94f1d85ac1668c4522dc9a2d6a8097e0101d9e8e","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run clean && npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.8.0"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.19_1708062383244_0.07162314905447276","host":"s3://npm-registry-packages"}},"0.1.20":{"name":"convex-helpers","version":"0.1.20","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.20","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"09cbc97b937afee7975206d10bc783d70e2903d4","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.20.tgz","fileCount":33,"integrity":"sha512-05NcAPUg3TTNjT9e4xO2TwomUQXomk9KDT1Rni5R0f7d9d19rLPILSYa/lwU9P2YhpNAqVzJ0v0qTmKL75qCog==","signatures":[{"sig":"MEQCIEfZLCGfPqRUZPwI8UYCa0IbX7SuNaYNSy7pQM7xWFKwAiBdAEAN+pDs6cLXDB5Xs1V2WQZ9uUe+zT10se+OunuXgg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":307974},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./validators":"./dist/validators.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"516b514abe83ade16cc8ef0c8e718d5424c6b023","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.8.0"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.20_1708245130602_0.9068815483329047","host":"s3://npm-registry-packages"}},"0.1.21":{"name":"convex-helpers","version":"0.1.21","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.21","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"2d9607c67aa449dbac70ba14e36210155965dd35","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.21.tgz","fileCount":33,"integrity":"sha512-yOqG4+uhsnA6c36KT895gSGoNfh1fFoBy0yU7CDW0dtzgOGwP+j/jedFptU4ZtGDmydK/7k9OgzDv7oYIda5Tw==","signatures":[{"sig":"MEUCIBtP1VxX6j3XUsxp+Sjt+rXyBF9+SAU1I4W5qqm/ku/pAiEAoT2pL0DzTtT651uqmFeRQLlroHQAnEWxMEtmAJVfqPw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":306470},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./validators":"./dist/validators.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"65eb6793dd9a92821d75adc317e32c0e6c9028c6","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.9.1"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.21_1708541504711_0.9868887403376314","host":"s3://npm-registry-packages"}},"0.1.22":{"name":"convex-helpers","version":"0.1.22","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.22","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"bf58d99ff60e30c4f8b70f4c85c340ca2bc1a37d","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.22.tgz","fileCount":33,"integrity":"sha512-UTDxdbwlm5jBGPd9U5inatjuThg+YyQyuJ+cH2vAX+A4mWM7c2REZQ+LbjUnIxkAjxCRNq3ZD61qqQW9x6a6EQ==","signatures":[{"sig":"MEUCIQCMXL4Uflx8/DjQzR5T1/eNml73TyQE9QfjckbHICewdwIgRxwWvfW+bwJxcqK9QhBKuPsk98/x39X1wFB+3UnA1Sw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":307689},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./validators":"./dist/validators.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"92eca52c6367cf58a5d5724c8d08517233d04cb9","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","react":"^17.0.2 || ^18.0.0","convex":"^1.9.1"},"peerDependenciesMeta":{"zod":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.22_1708570253865_0.5259087658992143","host":"s3://npm-registry-packages"}},"0.1.23":{"name":"convex-helpers","version":"0.1.23","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.23","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"42b0e966ced93790e0da0e5d02cf67296109d78b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.23.tgz","fileCount":36,"integrity":"sha512-ofonHDJ6K5btN6tq27mwpb8DmLXN+GC4I/tgWubUAQKg28JXqD99wo08g032qX1yUSxOUesLjAQU/HEgqsAbjA==","signatures":[{"sig":"MEUCIQCDB7D5IeoHavmyTncuztgLNY1knlsxl4Aikc6n4EXCKgIgSIAtJVyiTpXMOA4joaslHrlrasf3l4K9QXtdws8Lt38=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":338372},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./validators":"./dist/validators.js","./server/hono":"./dist/server/hono.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"f4333a59e4094df88b8ceb8c2b6c04b0c19d7039","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.9.1"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.23_1709077177899_0.019844329919867842","host":"s3://npm-registry-packages"}},"0.1.24":{"name":"convex-helpers","version":"0.1.24","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.24","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"93e0dfb64e005da18ccfe50f196eaa658e015c64","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.24.tgz","fileCount":39,"integrity":"sha512-bs6QXXbi/NKkYxJWVXlk7MjsmjPOiAOUosVaMqn0cEFeiVNwOZBfRgzYr8KuCodQHMyfKrYmCRGUWLdeCEGgeQ==","signatures":[{"sig":"MEUCIE8gy1M6kUSdAOp4xsOqE9xZFKKBkfAaktEJs1q84JymAiEA7EYYcJsR3kfkcY9LptQE9sssC3Zlh8euLEhWG7sFGP0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":343830},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./server/zod":"./dist/server/zod.js","./validators":"./dist/validators.js","./server/hono":"./dist/server/hono.js","./server/filter":"./dist/server/filter.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"9dde80936ad7ac334e12fa0ba3ad19fa800808d6","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.9.1"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.24_1709851078431_0.6590729894170082","host":"s3://npm-registry-packages"}},"0.1.25":{"name":"convex-helpers","version":"0.1.25","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.25","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"fffa892594ee78fa6a98745a608360291d8f49f3","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.25.tgz","fileCount":42,"integrity":"sha512-/NaAUObAEBGHQZpK3Yguwj2pkrsPd1jeVuCWn8ESlgxGpY6aufU7qU1vVN6ZlbSCqv7RGkWl47zLqNKe1SjpoA==","signatures":[{"sig":"MEYCIQDXeuIi511Ss8rL+YHMrrAnG1B85FeBDbySrhHywxhrYQIhAMmOT8TAqhZtzYqckKky5813PQY0U9Va1s8VBPcBDWGi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":358228},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./testing":"./dist/testing.js","./server/zod":"./dist/server/zod.js","./validators":"./dist/validators.js","./server/hono":"./dist/server/hono.js","./server/filter":"./dist/server/filter.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"91ac6244af779b2aae747f324bc83c71fbbbbb13","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"~5.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.10.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.25_1710202300534_0.8000210863498916","host":"s3://npm-registry-packages"}},"0.1.26":{"name":"convex-helpers","version":"0.1.26","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.26","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"e4bd25e9b61f71655820659fa33c2b109c8cc14d","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.26.tgz","fileCount":42,"integrity":"sha512-zjIoiSX3BXKQ3h5OeDkOr9XxmPGdjg7lCaqn5nrmTbAomeSD8JZwv+jc4hfaAm3zPvk6Fk1pVskWm7DyJtC1hw==","signatures":[{"sig":"MEYCIQD5L61x4tc7IyGEuqStLXt9eQDcSUolHb3oxewHyeCZTgIhAMD9x8cX6ZciaTuihf9Bjp624B7iQD2WFYNDUu7PUcYw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":366945},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./testing":"./dist/testing.js","./server/zod":"./dist/server/zod.js","./validators":"./dist/validators.js","./server/hono":"./dist/server/hono.js","./server/filter":"./dist/server/filter.js","./react/sessions":"./dist/react/sessions.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"26d17a5ab9295dcbebeb5a4d107acbe34eef3f24","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.10.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.26_1711012674117_0.5521463566252676","host":"s3://npm-registry-packages"}},"0.1.27":{"name":"convex-helpers","version":"0.1.27","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.27","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"f266f5437aa26b24fc025d3be560e3d81a232e3b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.27.tgz","fileCount":45,"integrity":"sha512-Oc3xluBNd+rxy+Lok/X9QjaYmJddAZyMbOSE5OsFWsOulGqOp99PYAnngAYA0T/1Uw/D4j1bet2ql+nZLMtICg==","signatures":[{"sig":"MEUCIQDoxL4VJkStqZ/S6PxUZ8vmYBNDyxYzMSWqeXabIKqt1AIgcTkdZeCM+EYoCnSwzTlkM93TfC1RFrjy9L1JHgxPcdQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387882},"exports":{".":"./dist/index.js","./react":"./dist/react/index.js","./react*":"./dist/react*","./server":"./dist/server/index.js","./server*":"./dist/server*","./testing":"./dist/testing.js","./server/zod":"./dist/server/zod.js","./validators":"./dist/validators.js","./server/hono":"./dist/server/hono.js","./server/filter":"./dist/server/filter.js","./react/sessions":"./dist/react/sessions.js","./server/retries":"./dist/server/retries.js","./server/sessions":"./dist/server/sessions.js","./server/relationships":"./dist/server/relationships.js","./server/customFunctions":"./dist/server/customFunctions.js","./server/middlewareUtils":"./dist/server/middlewareUtils.js","./server/rowLevelSecurity":"./dist/server/rowLevelSecurity.js"},"gitHead":"353200d29185e986a3ae0cd5786acc8829cbc818","scripts":{"test":"tsc --project tsconfig.test.json","build":"tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.2.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3","chokidar-cli":"^3.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.10.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.27_1711065955342_0.9647441282922102","host":"s3://npm-registry-packages"}},"0.1.28-alpha.1":{"name":"convex-helpers","version":"0.1.28-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.28-alpha.1","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"6b0d334776f86d3671d92d5cd803155337eab5e8","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.28-alpha.1.tgz","fileCount":58,"integrity":"sha512-at60zgtzVAGQEVP016hbCg4x5VNSAJqt3ORHsHvn7plONHMAigbVDanXkDTD3+k7RC8DLfnzvLgtEInpU8ZGjA==","signatures":[{"sig":"MEQCIDgnKT+f4m67m0cZ0U+H+I29hgFkpWOGQuFjezFowi0sAiBgkux2svZmCh3hAdnvUD6n5RrVSKLnRmYbL5x7KlLI9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432752},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"8e3a7dbdb37fcbbb54f06ac66a33f6f9028a17ed","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3","chokidar-cli":"^3.0.0","@arethetypeswrong/cli":"^0.15.2"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.28-alpha.1_1712275135281_0.1739872725252245","host":"s3://npm-registry-packages"}},"0.1.28":{"name":"convex-helpers","version":"0.1.28","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.28","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"3e765086cd835365a0c82c7b5e6fbe1b1efaf765","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.28.tgz","fileCount":58,"integrity":"sha512-mXUUnao9ZX8vZIPNXhSaeRUP4oNCb8KMtGzPFGrnyTZFOpZn1zuN+KovAuBTdA04vbYmwnnSq8k/CRt5MRKFcQ==","signatures":[{"sig":"MEQCIDztrlSbD5DSJVErhVO3u37kk31S2iHgtO74dup6F/LjAiAhymor/Fkr89INL6CUBLUe5r8pXDa5KUxrQiobHqQyog==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432419},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"2f816388d770fe46ecd0e6e160b6cd76f3e261af","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.28_1712972472073_0.8557647490562779","host":"s3://npm-registry-packages"}},"0.1.29-alpha.0":{"name":"convex-helpers","version":"0.1.29-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.29-alpha.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"7a1f68983017979e6456e244de845f0afb628fcb","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.29-alpha.0.tgz","fileCount":58,"integrity":"sha512-H4d9nAym3DGndx41cVWpgYTjWlfRK+2VHo9XklqqU9IH96I53gGW6NpgAUyH794S6WtLKlfTgaHhdlmbkRG3FA==","signatures":[{"sig":"MEUCIHhuMMdrZkUljjPZv6Kslt1CS00xq4XUcudSUgYOfK6rAiEA9bUasgLlPuVSzBW5Lx9FDfNFVOhUJlFrdETpsyjMNlQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432575},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"a3ee7bc55980642bb1545084a0de47253099d2f8","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.29-alpha.0_1712994898525_0.5492901048180514","host":"s3://npm-registry-packages"}},"0.1.29-alpha.1":{"name":"convex-helpers","version":"0.1.29-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.29-alpha.1","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"5c8ee19f9a3f5b681822d6ef8e97803d9b5f7609","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.29-alpha.1.tgz","fileCount":58,"integrity":"sha512-SAQM6RFOCp4tmO/uRsFv3aPniXohNW13q65TwwIN+BZGcbKOO4TojG97JSzYvuq/KR8TCWje0Fb9EsJ62m8EPA==","signatures":[{"sig":"MEYCIQCiZpPC/4nkaCAU0i1DCqRTcGQAQ41nEiF67TU5MUOeGQIhAKqFo7hf4kiba7mBaeCURdWK77zyNGEwPmKpxBwUqJVx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432605},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"2e43dd2e70418235cea7edce04abbfae1b8e8929","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.29-alpha.1_1712997145554_0.6819508055466559","host":"s3://npm-registry-packages"}},"0.1.29-alpha.2":{"name":"convex-helpers","version":"0.1.29-alpha.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.29-alpha.2","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"30cf3145d84de77b105683432df702c5d5ea4a1d","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.29-alpha.2.tgz","fileCount":58,"integrity":"sha512-SXKRJ+yU+gB4bDAT63HAgF54ReTWxF+Ddxcp/Ix7/k5xbt/BrUSGJEOSey2KmqasAXtjr3D7/i5iO3F6NV/zhQ==","signatures":[{"sig":"MEYCIQDSQUbypZg0zdJG1ZH0o17XfBo+vaYhdDJEz9TNzJZdwAIhAIiqA+RhS+Krl8r9ew3ZeNM11luNhlbhVS6ND179BxjM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":434197},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"cf6b83ffcf77f6c5c6dffdfc13eaa39563466927","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.29-alpha.2_1713149872560_0.805109226422575","host":"s3://npm-registry-packages"}},"0.1.29":{"name":"convex-helpers","version":"0.1.29","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.29","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"5f8ba77a992180ef0636a31b3b50b74a9e617bc8","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.29.tgz","fileCount":58,"integrity":"sha512-wHUbsnvXYkIKAims1oU7YeHqngEGm1BXAsuCG9yxFNj/cR/rnnDKjRC12zmdND0PAhXbcVu4fYWe4iN8HEu4Rw==","signatures":[{"sig":"MEUCIQCkaa8KVSeY5Z9i+FCIA9xAdOpeo3xRDwrAcrC98DE4/gIgTxmewXD86IJytT2by+htFYOybk9d4uib669p2yZ15sE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":435238},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"47bc0221b0a59f4ffd7041b1fdb7d2399205f506","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.29_1713223876996_0.7708275649232394","host":"s3://npm-registry-packages"}},"0.1.30-alpha.0":{"name":"convex-helpers","version":"0.1.30-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.30-alpha.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"733d5aad71b560903157e2a0fdab61be51413e3b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.30-alpha.0.tgz","fileCount":62,"integrity":"sha512-i28+8zYwvAgoecaIEErWhXhbo8z/uZFK0Xyahdj4gu97Q1Zmn2EzmZ9q4rgY9+Tjc2s/HYjmIQyOCCzVz1C2zw==","signatures":[{"sig":"MEQCIAG7x37JJnzlwy9G+bQVdQ+dKorkoPjf/u2UOOWdXj4iAiA91NfC4vcIVWTjvFhPkTlBRiaH4rleU/icbnWzjhus4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482708},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"1459af4c6435666b5135f566cbf2aa09a6e477fe","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.30-alpha.0_1713224140907_0.8282758482410395","host":"s3://npm-registry-packages"}},"0.1.30":{"name":"convex-helpers","version":"0.1.30","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.30","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"1f5a77d4d55099c8252072679a46eae572960d95","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.30.tgz","fileCount":62,"integrity":"sha512-r9LERaUzZLLl4p/UbWPZLEZMjl9XYalf4PzeswR5O9FqOzbz3ocrotfj/7Yn7Uz0yWIdks/kJaUROrO3KQ6d6w==","signatures":[{"sig":"MEQCIBBEQmTH3+T8Un4emPVDW0Vf4t03K2thbsXBVncd/R9KAiBs1Uidaw7PNVdOP7mM/FVqcaJdNZpWXON0ndoEuBdnXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":485461},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"aaabddca9f6d9641c0efeb0e76d667e47fb39f00","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.30_1713226513652_0.8858426177036427","host":"s3://npm-registry-packages"}},"0.1.31":{"name":"convex-helpers","version":"0.1.31","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.31","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"2f86a5a4db518a2e29b8c00b15ebb5c6897d5839","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.31.tgz","fileCount":62,"integrity":"sha512-SHuNfe5AZ0BH1PP0sliKBq4MlL4LdHG1vzI1LVZQdtb89mQkU0+ytI6kjB6z+pDWreb5RXZG4mcDASdOHC0kZQ==","signatures":[{"sig":"MEUCIQD2SOgEhlO/sHWizgbr94oopcfGWmr6nccOF4a7Wl8xPwIgP2kzWlkla2OulyKM8/TUUOk5CINTrx8KYA7ijbxkPQ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":487934},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"b52ead042534aa097818525cb41553b23e9c669c","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.31_1713228358709_0.6388665312499369","host":"s3://npm-registry-packages"}},"0.1.32":{"name":"convex-helpers","version":"0.1.32","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.32","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"fc27daab311e384e01267e7603909005129eb908","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.32.tgz","fileCount":62,"integrity":"sha512-dreMWJM2pumgqC3NIeE64RSLVJ45bDNx8cETc3e1N2Io0i8fgCWmu1at/kRhF2bxpaUbMsYqixMuzAi3Ipo1hw==","signatures":[{"sig":"MEYCIQCSR6saudsAfNsJKUifM2C00zGmsnF57u+hGmozoEi62gIhAJPM0oPX0Yj4mLtUg1UiwAy/hXmorBJqoxgB2KkfCnhX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":489606},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"8e33552e7b5d7640863ea467e234e3af8b637d08","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.32_1713318840622_0.6964462094712431","host":"s3://npm-registry-packages"}},"0.1.33":{"name":"convex-helpers","version":"0.1.33","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.33","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"de14e505d6645a13b6c5687f58948513ec909e23","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.33.tgz","fileCount":62,"integrity":"sha512-2m1BZTLGH5ak21TO7ezqRJ456Jd5hBC25I9jMDD745hJlE8hTrehgB64n0EWVzVt+51PSSxKan22pRMOb+mzew==","signatures":[{"sig":"MEUCIQCal3gn6ZGyF6jokWuHwynAfUAM1LBfEY7I+x/tz9eInQIgfKoFLa0PsTHYPlutnczb8C1u9SZcZGZcyt7opwG36tg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":490005},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"5a93df09d6f303083cc37f469d987b5590e8eca9","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.33_1713382454768_0.8641495351788926","host":"s3://npm-registry-packages"}},"0.1.34-alpha.0":{"name":"convex-helpers","version":"0.1.34-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.34-alpha.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"04bea4becc26f66d2c5ca7fdda75cd2cac038a65","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.34-alpha.0.tgz","fileCount":62,"integrity":"sha512-dRIMsVgQhZd5LUiYXhH8y5pVq8XEz7KtCbKhiwL9TaXmW9A55afQ/Cb7O4KZccgCFJ8/J3IaXMMG9Ev431k7Qg==","signatures":[{"sig":"MEYCIQCmv7XDtpS9doFwjuS+1n0p/2lnu6Uu3OSyz2fuhEYa9AIhAOPQlsc2GV1G1OKwkUL0PTzFXy1kJRWqHeCSfaHOgtm1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":492638},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"74a713a93a1f19f5cf775c549c4012ca18ca526e","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.34-alpha.0_1713406112858_0.09302389814030176","host":"s3://npm-registry-packages"}},"0.1.34-alpha.1":{"name":"convex-helpers","version":"0.1.34-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.34-alpha.1","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"3a3e2a45855325c730ac01bd8dff6639c9a40e17","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.34-alpha.1.tgz","fileCount":62,"integrity":"sha512-zji2teioUi3WjQG625wlZySumL0qQZSHHeekN6TEShY6pag3JvpX6p2LaXKIdvKCsqRYaVNO9Hzfw9xCVk+Qsw==","signatures":[{"sig":"MEUCIGd5PPTSDEETahg+8AVHYIlYnVYo1rE1yJhF3U0FhA0GAiEA3kZg1448v00nQ8DI7lMer0GfN+WyT/O/mHMk+sMk5hI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":493132},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"2b1ae3a21437521f69b38090aaa1b2d142da855a","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.8.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.6.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.34-alpha.1_1713425643031_0.4855106970506802","host":"s3://npm-registry-packages"}},"0.1.34-alpha.2":{"name":"convex-helpers","version":"0.1.34-alpha.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.34-alpha.2","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"a293cce348d15ad2782ce707148b050a3f6ac1bb","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.34-alpha.2.tgz","fileCount":62,"integrity":"sha512-+GqO+/Hlkv9j3Xt4aci0HJ/0XSaJ3Zq3d4RMaHe8txL47Y47bmEHPMP5VoI/osS/iqRQPDXoC5QjfCXUUwaBeg==","signatures":[{"sig":"MEYCIQD0BI5CQV4Y6YaHkL3S7jbww6AYIBVus59lvnk9mMyA1AIhAIn2FwCZ31BOBzMOXlqQyhoM38vfsHzBdDHqsSf4TWvG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":495354},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"aa5db2d97a541a2dc5d52c79c104e09877979c79","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.34-alpha.2_1713495016705_0.43953784116554373","host":"s3://npm-registry-packages"}},"0.1.34-alpha.3":{"name":"convex-helpers","version":"0.1.34-alpha.3","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.34-alpha.3","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"901be8854b7bbcba7347b09d4ed88f7fb70db2d7","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.34-alpha.3.tgz","fileCount":62,"integrity":"sha512-SjbToKiAod8YGt39Eu+mzLhKUlfZgZvUHpP/oACW1CgYxqrJOXf4Jab6AN23zDGAIwc4AIdqntC5KRov2N2tBg==","signatures":[{"sig":"MEYCIQCUjj01UhtmVZIEA2mrRC3qqHF4JXYCKTKck5v2g19KpwIhAM7WwvlI/9jAdxSIfPQIcQX8Zr1+Hsr3nL6Gg1IFV7y8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":495775},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"f5f45ce21b8b75be28078c798342e32cb75ce96f","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.34-alpha.3_1713495676583_0.04950328405154436","host":"s3://npm-registry-packages"}},"0.1.34-alpha.4":{"name":"convex-helpers","version":"0.1.34-alpha.4","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.34-alpha.4","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"9cf9bc0541d08a5f765c7b09c484b34023470382","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.34-alpha.4.tgz","fileCount":62,"integrity":"sha512-IHmAYwtgwMUTXrNj+8AQm+iWoDBuVt5XAe2DaTS3i3mpAIUCva8yvY9/IWo7l4WK9tKzBQh1J7/jXDLcMCyAOQ==","signatures":[{"sig":"MEYCIQCx8MglHIg6fSx0OVBSBuqyXQvxHzkr0KaVeazl+EEvPQIhAJ7rsQ7bKayuvFsVbSp6HwbWCMYvtgsGhcgleaFotJdE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500611},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"3fa0f30e08d8d9a71571f4edb1c037b7a4b1fea7","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.34-alpha.4_1713562530060_0.2601322167889297","host":"s3://npm-registry-packages"}},"0.1.34-alpha.5":{"name":"convex-helpers","version":"0.1.34-alpha.5","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.34-alpha.5","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"b0b6f1d9c7c99633f1ee559666fabc4982790f9b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.34-alpha.5.tgz","fileCount":62,"integrity":"sha512-qKhHzPRuq1Fysla883YayiNUvbL6V41JuR8JuGOgjlNmnfrnZfV4L9t5LRKJyX7HvJ41RyXkfS/jEPPd599yoA==","signatures":[{"sig":"MEUCIQC8DrVz+8qMt6Nkce6yJ9g4C+SeLCIFv6oSmuTvvavMvQIgTMgvzSCRVkm2M4UTkAdigjgAPEGIHdJzC4PYbc+uEek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500944},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"55e061657a85ba898ed9cc1dcde7292bbe13dd45","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.34-alpha.5_1713809547934_0.7401914531215608","host":"s3://npm-registry-packages"}},"0.1.34-alpha.6":{"name":"convex-helpers","version":"0.1.34-alpha.6","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.34-alpha.6","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"d8edd54f2f4f15b7918a27a9661a0aa02a41ec7f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.34-alpha.6.tgz","fileCount":62,"integrity":"sha512-zi9S/sWD1T3cM2dV+WLx0KTTjq0ZfNk1R4VghrqG0B2eHX9e8Hd6qjHfd3KRGtUbzRiNuqw6pBQ2hdUboAm1iw==","signatures":[{"sig":"MEUCIEjzRLLn1WiewXBxJl+eBOy5lPpK+vjmI3gPbbstoLnCAiEA2rMkRtu9aTOzbe1Y5KdA2h9umkZDdt7fmIUPyra032E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501130},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"a2a29cf56bffcb26317996f0cc27ff8d9a2e8467","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.34-alpha.6_1713840593646_0.5211804752510301","host":"s3://npm-registry-packages"}},"0.1.34":{"name":"convex-helpers","version":"0.1.34","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.34","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"fe741c65f15fb33e12661afde54afdebef313eaa","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.34.tgz","fileCount":62,"integrity":"sha512-GIXOpczdf0uYAT+0/clAFShD4qAOGZ6OlP1p5TVxA25l+oRrPAFx0EXOWnwnFKYK+XPGag9AJqsFgD0CpWg2Gg==","signatures":[{"sig":"MEYCIQCpnTuaWF7Pa6zV8WAFMEqY8O/65tcx4kHJHkIBzvMPvgIhAPFS3YoFecvhxexpybnqGqAd12pW7oda+OrHd5Vx2Wsd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":502576},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"148506ce792d834c17d792a5dec253e1dc19e06d","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.34_1713943484154_0.773842628200351","host":"s3://npm-registry-packages"}},"0.1.35":{"name":"convex-helpers","version":"0.1.35","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.35","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"178b8ae6764fbc5176456be59e3f7e4db0ca78a1","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.35.tgz","fileCount":62,"integrity":"sha512-JruOIBGQGqOMsA50iEVpPrml5uXsBqcNRaWRsfYfBUJYEq+8RLVk5ad0LyMJd1gk2M/jk6XpB6XKy/QLs/sZLQ==","signatures":[{"sig":"MEUCIQD1WALSLwvvx9/ghoI2665KNE+XuGGwhJw9SL1FY0LDcQIgW3eTVWjXw7ZnWFiif1SSvVJgbOw+RzXCcaBnT8TlGD8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":503624},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"dc11495c708c633cf9c06ecc7e71ac90dbdf6a3e","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.35_1714143242578_0.7001113072131135","host":"s3://npm-registry-packages"}},"0.1.36-alpha.0":{"name":"convex-helpers","version":"0.1.36-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.36-alpha.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"43bd21113ba793e6d11f3274756348825a24c3f6","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.36-alpha.0.tgz","fileCount":62,"integrity":"sha512-43/gacklfRfxSwulhtsBJBXGOHXFu1B6UR6bBPvbjh00MXzKVUQ6gS1woOvVqIU1tNv2gzn9rGqkdvXMrI62tg==","signatures":[{"sig":"MEUCIGfc0EzE46AYLdHvfBvWSXjnBH8QHbsHc0qatdMtmuWkAiEAqiIZRIOTLy4xpAt1MvnMaYSd34y1XO+qSL7V0pjnkmQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":508287},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"04b27b19c23e3b4d94c74105a190da3b2e6db2a9","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.36-alpha.0_1714635886546_0.9974476273274879","host":"s3://npm-registry-packages"}},"0.1.36":{"name":"convex-helpers","version":"0.1.36","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.36","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"8be787fb093dc82044eabedae1e557c97635d372","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.36.tgz","fileCount":62,"integrity":"sha512-G69bfCTvOQHWr8JahGFFyhxiOUAlNtAgFPchuwYqGqAs5g63SpHxg9BliyLtNW7BxU+V1v+CwfTkTMpuzx7dQw==","signatures":[{"sig":"MEUCIQCXE5/54bh0mXlelVMnQAEuMswem1bdCk7zMYEcE/FEZgIgdg8pHsllqvD1XGbJDlBFCx14XYk64W0l1/5xiuzfEG4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":508795},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"b0e0c00209c5f39cefe486c302ca46b27894dc5a","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.4","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.36_1714779178769_0.7542075657447109","host":"s3://npm-registry-packages"}},"0.1.37-alpha.0":{"name":"convex-helpers","version":"0.1.37-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.37-alpha.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"4993e6821fa2cb6c47ffb0f56335f5a7f00445db","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.37-alpha.0.tgz","fileCount":60,"integrity":"sha512-donll+Y0V9zVPHn+d1T6E2w8E0p3o6SgRJbK+PWJyM8hzceu6A/2iqUWrjkid4Usijj90QMPl5nOPMQPsa7b4g==","signatures":[{"sig":"MEUCIQC3L92IEpCVkGGrqXGeZmvnG8CHwtLoBV7bV04LS+W+2gIgTLfdgN5lX0X8ncWCbYs+NjjA7KU7B9jAB2RsvxLvHf4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":497921},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"c07b1383285700c3860b1ba3b46f18572af020da","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.37-alpha.0_1715558567850_0.5335257064127341","host":"s3://npm-registry-packages"}},"0.1.37-alpha.1":{"name":"convex-helpers","version":"0.1.37-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.37-alpha.1","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"86f2b8e945176bcf0bd9ee0b19928430c1f3dd93","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.37-alpha.1.tgz","fileCount":60,"integrity":"sha512-kdVOPuihV4/EX4Egvw6yxy8z4vM56rw465Wb8hm7AOn77VuVZ1EUUEVv7wnypOWiNRhIE2WLDSWOCm9l9RQ5sw==","signatures":[{"sig":"MEUCIAejWPopgxsf0RWPoxLj0XI0pqHUInRmBVYB2JFoY7//AiEAup7GWD+fzpcL4lC7E+HgMG2PULfF9yH2N9e0BB+hdo8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":498160},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"d632ba693bb45bfe0dfd31a8f86b56f44a8322da","scripts":{"test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","watch":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","prebuild":"npm run test","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.11.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.37-alpha.1_1715559146528_0.5416418589295007","host":"s3://npm-registry-packages"}},"0.1.37-alpha.2":{"name":"convex-helpers","version":"0.1.37-alpha.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.37-alpha.2","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"c7a906489755fa0c26fda492a0e61a69d32202ce","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.37-alpha.2.tgz","fileCount":69,"integrity":"sha512-LVTqhm9SP0greuoYEBGVnT/ULCHCT2nwL499AAMtp3KHEB2AYq8nr4RU2y3eqQ9LtTOgD6qUqNi9tbYuqAzTAg==","signatures":[{"sig":"MEQCIBxdRX/nrSmOPgR4TedRmr6eENbciW2mSjyZEzWmsn5oAiA+lRPHYDSA3YPXvMeSUCewvJvSChvN9jbSSAhKwL+dUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":470974},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"5031f71633e3cbb2b4e1332d4549d329c8c08195","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.37-alpha.2_1716109655808_0.2569467502567333","host":"s3://npm-registry-packages"}},"0.1.37-alpha.3":{"name":"convex-helpers","version":"0.1.37-alpha.3","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.37-alpha.3","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"1e984df8205071eefd595712d76a8a65fb9507d1","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.37-alpha.3.tgz","fileCount":69,"integrity":"sha512-YZ5I6OM3b3hpqkDQEaACM9XpGtEwZHEcg7K7hi1X6AH0DXYUPus43jkCZEuv1XeaFiyOlvoAzZyu58e48Wd41g==","signatures":[{"sig":"MEUCIQDZ2ti0piD2ojavKTTp001I5zEhK+lXZ31d3ThQJ7q42AIge2xBmL9/S1sTHuSyUk9WVNb+n6JDsEibz0Q511g59zk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478846},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"220b5f4c73af6025e468faf268b05ca3ebe38b23","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","test":"tsc --project tsconfig.test.json","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.37-alpha.3_1716115786777_0.36661818636358623","host":"s3://npm-registry-packages"}},"0.1.37-alpha.4":{"name":"convex-helpers","version":"0.1.37-alpha.4","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.37-alpha.4","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"48b9aaae672e633b50f460bb0e25cb698cc05bc5","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.37-alpha.4.tgz","fileCount":69,"integrity":"sha512-kqvSeU/uiu4bBZG/As/zHNgnSUaoc9jcVp30yQskBh9Bb6ivfP/tby7Bz3KUF5MlOVLp48baS+cA5wEFTKvFvg==","signatures":[{"sig":"MEUCIQCixqp4jATpIsglC380MJxKiSaqPWJpSoJSJhswZ9FmewIgT96Msh+h6tlsZA7eWRdGT/r3HBa+nipAouJpvNdQo0k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482283},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"fd2472601047a54c85cd27263b2432018e5a40ac","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.37-alpha.4_1716274305836_0.31017833457582134","host":"s3://npm-registry-packages"}},"0.1.37-alpha.5":{"name":"convex-helpers","version":"0.1.37-alpha.5","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.37-alpha.5","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"3f13260d10b0747d76347fc34f6da6959e747fb8","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.37-alpha.5.tgz","fileCount":69,"integrity":"sha512-BDG1MbdcGiiTH4c4WcXYiRXf2x4G4Nmg+zyeB8ILqCknSzWLGSwrDRX940Pp8EfaQKJMnQUBtJBglw8jxwJqBg==","signatures":[{"sig":"MEQCIFtJFbyBCz9KzvXtJbkfGl8rb/bjvbcdBJ16XVwuKsIEAiBUyp84q37PnxVG64SqxVvjNykPs274OR64lx4fAHmHGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500374},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"699f68446ccd1f1dcec89f2647318eb77d1e01e2","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.37-alpha.5_1716332942850_0.9045738567189725","host":"s3://npm-registry-packages"}},"0.1.37-alpha.6":{"name":"convex-helpers","version":"0.1.37-alpha.6","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.37-alpha.6","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"d05706ac0545af9a7b8dcb9866ff09d7ea98f928","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.37-alpha.6.tgz","fileCount":69,"integrity":"sha512-4ltXCqmNRvWmNp3k/+DqbnaiYjvrz/UQr63wwrk4dwb/l0QcgYQE7/eYbjuTyTTZCRQkoYqEadtoHeB0nn/Gag==","signatures":[{"sig":"MEYCIQDW1b1fqys86V0iH3R6KlPnAwmWLLduYP1+oUB8KvYM+AIhALVFpBeSzzrHZ7MNcYn3Wh1KbzduPqbl6H4jIFbJThz0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501199},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"fb990eba56cb53a5d7aa33d2bf532c3c0a19b94f","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.37-alpha.6_1716337174031_0.833454490105167","host":"s3://npm-registry-packages"}},"0.1.37":{"name":"convex-helpers","version":"0.1.37","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.37","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"06d022dfe4153de36aab01437e1a3982a3ebff4e","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.37.tgz","fileCount":69,"integrity":"sha512-6azivcsCzGsM7mdlma4KuPYZlugQu9yEhX9LVVnH8Dqlmhun9j+3XZ7w8/yf61oMooXYaod0wsqhmAeAu6Ybvg==","signatures":[{"sig":"MEQCIBE7DoxgxJgeYnG0/c2JbqAcC50lcKJGXNw5mQISzXGsAiAtRSQVxG1x5URZtJlh3Di9uGh1/wDdO5IIVxGiFQfr3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501191},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"16c00648f753d43a11d8b7352440639d2601098f","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.37_1716338489305_0.8900705258475554","host":"s3://npm-registry-packages"}},"0.1.38":{"name":"convex-helpers","version":"0.1.38","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.38","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"ce10ebc02ca80942e21964e4e3b5a5beefd42341","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.38.tgz","fileCount":69,"integrity":"sha512-HaH0pwHIMGVq+69pErK8Jhu6ciGvqqnSsosQtPzfVrW/QdkzwwJmnBWGRafBy3/6V6VF5k/0G7bfVKXj17XO4w==","signatures":[{"sig":"MEUCIG8Be4ZptwDpSGoWhrCFb9E3vlT+dXFAhtujH7JP1IGWAiEA8ymZd54kjnYQWNAIZgguHpHAafY8yuqZiSuIFILv0FQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501130},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"393f2f81d4d7059dd570bb72d4faf93045e28924","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.38_1716340341501_0.6232828149712075","host":"s3://npm-registry-packages"}},"0.1.39-alpha.0":{"name":"convex-helpers","version":"0.1.39-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.39-alpha.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"3ecc39f5aac2b7d754b476aaf88d888732f10e84","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.39-alpha.0.tgz","fileCount":73,"integrity":"sha512-KHxq6j5jGDnLTOY+x3epzLJ420OjdXXwhzI6OgVnfPr2qwCbYx36TVv5lABh0N6h8OuKoLMpkxnI26SLWIpfvw==","signatures":[{"sig":"MEUCIQCM573If+90uETM3DOp+vo8+mFXYBDY4+tdKNHwKbK19AIgbqU8ltsM7fZrfhcTfJVGC2O8kk+RRKPLjES9WvIK85c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":507073},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"3faa600a8c09891cb97b6c58221259d77a97b03e","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.39-alpha.0_1716452594981_0.38107866678080105","host":"s3://npm-registry-packages"}},"0.1.39-alpha.1":{"name":"convex-helpers","version":"0.1.39-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.39-alpha.1","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"765408654b9f4036aa3eea34ccae82ee046a54e0","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.39-alpha.1.tgz","fileCount":73,"integrity":"sha512-coW86iG+at6+DVFQ9UTOGMGcbOsUY1umbc8JPRD/jrWTwSsC6EUfsc4sMP+RMbbJkRLkD7VTFlppdh/0Cnrw0g==","signatures":[{"sig":"MEYCIQCMUIIOv6i2XLp+jyEWlhumb2zEqWGXtYkTz0dCL8PnOQIhAOi55ekomsQRiH1FuB6nZugsIZC0zXC1m70HoZJTcqDC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":509678},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"c11543bc78889033f6380eb9d85bf8416233c77e","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.39-alpha.1_1716495192310_0.6673482816204892","host":"s3://npm-registry-packages"}},"0.1.40":{"name":"convex-helpers","version":"0.1.40","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.40","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"3e584677598498daef1e7e5d15307dfeae19f922","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.40.tgz","fileCount":76,"integrity":"sha512-4m55fXswmLldlQlCfiLQC70b3Vswzmy13aONc0wM2H+Mc+quNUbinaeUr1Cpc4gCbJ/Q0KKwqpW2CWvyFh41ag==","signatures":[{"sig":"MEYCIQDV6MAFFIosmOE2hmMcxLd7mVD2t/Bmx5QIf9DS6I8A0AIhAIlrujrcQ98hyCZpha2Ys3SbZEYvCoVWY9+BwWCan2M5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":521517},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"62e621740d31150a85a29d5bb745cde7d100f946","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@edge-runtime/vm":"^3.2.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.40_1716944249395_0.7489181962245628","host":"s3://npm-registry-packages"}},"0.1.41":{"name":"convex-helpers","version":"0.1.41","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.41","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"6e8e7323b990d3642bfc02dc1bb19e84cf5eac03","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.41.tgz","fileCount":76,"integrity":"sha512-RnQJOXCAujwRwjNcwzQNJZeNDMe7nKASfC3+5e05wpwg71RSrJdZnDcGlyOZ5f/E53+wnRnuYequnDjjOJWH3A==","signatures":[{"sig":"MEQCIHzOdxciEieOK/05Y0ome6bxw2/VvjuFxsZoJKBWD+mDAiBmSUJ0OxbPa6JWg2I3riKB/BekoIQ+gK0LH0PDtyfhTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":522557},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"5682a2c3361c48adb570c1a120449c5400bd0a54","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.17","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@edge-runtime/vm":"^3.2.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.41_1717109874147_0.45064148068281895","host":"s3://npm-registry-packages"}},"0.1.42-alpha.0":{"name":"convex-helpers","version":"0.1.42-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.42-alpha.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"a1b71fcb4d61895636351a7f95ca62c1fe33d93e","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.42-alpha.0.tgz","fileCount":73,"integrity":"sha512-lA4a+WbZVNOlOIOsqdQt+rluGHwOZDCBaenaynDmyUCi8X4JLLUAWUjZFh51xMv7DIQnPSk8k9Wv6dGRxURM1Q==","signatures":[{"sig":"MEYCIQCQUYkROPWCoUESj+4t/68EBDQvo1rZcLdOPiVMgcgrnwIhAJEzUqtynEjGFUPS4KDyEu+K2FJJp/6V5gHkjiyGBoqq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":529043},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"edee8d1d7623a4ba1a98bbb83cd2846ec0de819d","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^1.6.0","typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.22-alpha.0","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@edge-runtime/vm":"^3.2.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.1 || ^1.13.0-alpha.1"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.42-alpha.0_1718749518679_0.9461465584700801","host":"s3://npm-registry-packages"}},"0.1.42":{"name":"convex-helpers","version":"0.1.42","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.42","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"b95417edcf965f559c37bf0fd186f14b268082ee","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.42.tgz","fileCount":81,"integrity":"sha512-Coy1SYYw5s2cMSPZXqKUHa57BznmbljKXsdEUIFjAWwESlY4FlztHv0VBxRAYOq0cUfy92WcgW2/AlU5z5KGPA==","signatures":[{"sig":"MEQCICqA2dbdo2wcxjpoNKV1tIaPjP9BVHIZ/7aK+k7FiRZLAiBLTXcOgx3L1AevM8TpqRf4w9FKnoob7jjlPU6rt6Zppg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":562955},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./react/cache/hooks":{"types":"./dist/react/cache/hooks.d.ts","default":"./dist/react/cache/hooks.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./react/cache/provider":{"types":"./dist/react/cache/provider.d.ts","default":"./dist/react/cache/provider.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"2cd16313f50c7bee2a84b4a45a00a8c500a6ea59","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.21","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@edge-runtime/vm":"^3.2.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.42_1718759800772_0.19385672163989698","host":"s3://npm-registry-packages"}},"0.1.43-alpha.0":{"name":"convex-helpers","version":"0.1.43-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.43-alpha.0","maintainers":[{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"0856914e877563878685b4ccf89d5aa1b36a4fdd","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.43-alpha.0.tgz","fileCount":73,"integrity":"sha512-4bl0OWjpd4DGwcZA7ziAhL9oyNDBCmtqpwOFq5m94FI/dpBQ1UJHCf03GEmQeURybZqxyQYrs1C92Ei7L2+7Iw==","signatures":[{"sig":"MEQCIAprE47zfLfIR96w/ONZAtw3+JBWEiLPcVVCNrfYFjNgAiBCPQTrpjsq1Euvbw3Sr7yrrX2WKHauN9Kyc2CxAue8Zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":530702},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"0c570cc544b49c4555e04489a6a7f4434b406bc3","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^1.6.0","typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.22-alpha.0","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@edge-runtime/vm":"^3.2.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.1 || ^1.13.0-alpha.1"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.43-alpha.0_1718780410928_0.6808837375567443","host":"s3://npm-registry-packages"}},"0.1.43-alpha.1":{"name":"convex-helpers","version":"0.1.43-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.43-alpha.1","homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"d8e8ac88dd9b262761b2c10f279bd6e1857941dd","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.43-alpha.1.tgz","fileCount":81,"integrity":"sha512-3a1kWw5CWQDQOBvsYPdFjvhVpSNP4E4sUMcOeeas84gICO/h9e7OxLNSjyWJCxqT5F1lNczWTV5HunEWSARulw==","signatures":[{"sig":"MEUCIQCsiUT4mbsFteG1HNnDXyddJ11hHobtY4Ifpg1jzuSzgwIgUiJRrJCXNvqUU+VoZBEdlI6Y+IUb/S6DxfyJ2SivX/g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":562991},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./react/cache/hooks":{"types":"./dist/react/cache/hooks.d.ts","default":"./dist/react/cache/hooks.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./react/cache/provider":{"types":"./dist/react/cache/provider.d.ts","default":"./dist/react/cache/provider.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"fdb7da9912af36b377f788d3470fa03726b9f2e5","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^1.6.0","typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.21","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@edge-runtime/vm":"^3.2.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.43-alpha.1_1718896094053_0.4611682493037914","host":"s3://npm-registry-packages"}},"0.1.43-alpha.2":{"name":"convex-helpers","version":"0.1.43-alpha.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.43-alpha.2","homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"b0eaf8282484cd8c0f711eca653d22b3c9f591a8","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.43-alpha.2.tgz","fileCount":73,"integrity":"sha512-XuUgJyAauEAaAQdqdl5nNyvm0pWor58btfvRnLOTikLC5PDmHJ5I45ipi2OGQzPVzEu9Yt4h4KzBhWQHPB/BiQ==","signatures":[{"sig":"MEQCIDzdgRlM7I9mW6JBJWfXrXH5clX7DkVJJf6ZtSrUR1jxAiAQV8s8FpABWwP+vRZ7IwWWSUUwThxrnJdz1VvUOHIeDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":531048},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"d666afb17c8440f4b4acde6f9a99c3762837e077","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"sshader","email":"sarah@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.6.7","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^1.6.0","typescript":"5.4.5","@types/node":"^20.12.11","convex-test":"^0.0.22-alpha.0","@types/react":"^18.3.2","chokidar-cli":"3.0.0","@edge-runtime/vm":"^3.2.0","@vitest/coverage-v8":"^1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.1 || ^1.13.0-alpha.1"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.43-alpha.2_1718910820374_0.9697411219391794","host":"s3://npm-registry-packages"}},"0.1.43":{"name":"convex-helpers","version":"0.1.43","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.43","homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"02cf3e4f0806c4acdb749c4f345a2ea87dfd5e76","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.43.tgz","fileCount":88,"integrity":"sha512-8Mka2+7b8/gN8Dexbk9c4iPaolBxl0pSTrQIN4swyq8wunMhtTJwoTEk79/VwQpUrEaqnmqS357ZMQWVluGv/A==","signatures":[{"sig":"MEQCIFlnlMCoUh8VJQCiy61HvW68BvS17OF3Eq5uU47ytzaiAiAgnVu31IZnr7mTdCIZhieuZrwoqkpa578nGhEAZa7PFQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":598984},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./react/cache/hooks":{"types":"./dist/react/cache/hooks.d.ts","default":"./dist/react/cache/hooks.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/pagination":{"types":"./dist/server/pagination.d.ts","default":"./dist/server/pagination.js"},"./react/cache/provider":{"types":"./dist/react/cache/provider.d.ts","default":"./dist/react/cache/provider.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"6bff33858d7aaeb7d06214b8b17211fc82d529b7","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"1.6.0","typescript":"5.5.2","@types/node":"20.14.7","convex-test":"0.0.21","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.12.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.43_1718929989597_0.2936467003131862","host":"s3://npm-registry-packages"}},"0.1.44":{"name":"convex-helpers","version":"0.1.44","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.44","homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"8294b20633b1bac394aecf0f3d8ac5775d61b3f8","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.44.tgz","fileCount":88,"integrity":"sha512-d7VdaQpHiZPBfIlCDjsqR9chrLx16vyrFeB2wlDjcg8wRb9PlqdMr7/W8PgNNccVPIr+y2Bi13GGvNS3+i+dUg==","signatures":[{"sig":"MEUCIQCN9bVoFU72mERfJ99kBtyZTFL0U0xp3n3rxe/UvYEaTgIgRD9SkIkYvO3PAeXTTONYt4pg1FrLrP6Km7B+cuqjqe0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":608163},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./react/cache/hooks":{"types":"./dist/react/cache/hooks.d.ts","default":"./dist/react/cache/hooks.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/pagination":{"types":"./dist/server/pagination.d.ts","default":"./dist/server/pagination.js"},"./react/cache/provider":{"types":"./dist/react/cache/provider.d.ts","default":"./dist/react/cache/provider.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"59c765dbcb2d8c089a8423cde0ddb34d75d2722f","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"sshader","email":"sarah@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.6.7","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"1.6.0","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.22","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.44_1719865169623_0.07510959108033011","host":"s3://npm-registry-packages"}},"0.1.45":{"name":"convex-helpers","version":"0.1.45","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.45","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"cd4f33ef0526cce2f506ee6db7a6b7c250d7f16b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.45.tgz","fileCount":88,"integrity":"sha512-e20faCT1G3zHGLOy5SdRpxyqNc76jTiNZ96X+PF1fpdExvG4SYKVnPiYmCZSRaZEjIsS8DdDvKu4npkQjeO3/A==","signatures":[{"sig":"MEQCICttZlgjggbhdBaOgeEHNAXO/fmSQ0QNPBg8yWu3dH0dAiAwKAKdHb8r/Ggj/XtlxCIclSz3HR5HRuklPnZN93d1pQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":608541},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./react/cache/hooks":{"types":"./dist/react/cache/hooks.d.ts","default":"./dist/react/cache/hooks.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/pagination":{"types":"./dist/server/pagination.d.ts","default":"./dist/server/pagination.js"},"./react/cache/provider":{"types":"./dist/react/cache/provider.d.ts","default":"./dist/react/cache/provider.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"3192b3a5c970b77aa0e1759ad74c74aff160bd12","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"sshader","email":"sarah@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.6.7","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"1.6.0","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.22","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.45_1719950270069_0.567076144285285","host":"s3://npm-registry-packages"}},"0.1.46-alpha.0":{"name":"convex-helpers","version":"0.1.46-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.46-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"1a2f245519669f29a76f7b0af92b6fdf8192d816","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.46-alpha.0.tgz","fileCount":92,"integrity":"sha512-mV/X1DzyENUjWL2r5lX158ioiIGxC/1Nsfw9RxWFWK5JnSd/IKMT95lbOzwEJ/GsappMVJ1n9TzAh5k47S1aIQ==","signatures":[{"sig":"MEQCIHjRu2wHJW8+HsitCYae3cbueM8FhedKPDg+L90DAGSQAiBgc39J6yUDasmwaFfGSLj7Ed//AomHO2FCQc1+6d4Uuw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":636111},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./react/cache/hooks":{"types":"./dist/react/cache/hooks.d.ts","default":"./dist/react/cache/hooks.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/pagination":{"types":"./dist/server/pagination.d.ts","default":"./dist/server/pagination.js"},"./react/cache/provider":{"types":"./dist/react/cache/provider.d.ts","default":"./dist/react/cache/provider.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"c8698362363ac671ad8ec9b41a4a6971d07f2ce1","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"1.6.0","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.23","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.46-alpha.0_1720753120546_0.05923662066943702","host":"s3://npm-registry-packages"}},"0.1.46-alpha.1":{"name":"convex-helpers","version":"0.1.46-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.46-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"2164f4cd24e6446bccb10955619b010b9ddfccc5","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.46-alpha.1.tgz","fileCount":93,"integrity":"sha512-ar1JIekWqKeE6onr6eoZf5amMC0AInHmdTzurbLDn+IRTh7e5T4uEtV27ZkMdpec1hBSSc6amGS9k/h9z9wrvQ==","signatures":[{"sig":"MEUCIDCHXlFOLW8xft1hte7eWNE/y5x9WQ4ozj3IIgFrK9p9AiEAiFKvH1KV+iCa2GkXpw51a2IV/+O5djV1LA557sb3NQw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":642534},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./react/cache/hooks":{"types":"./dist/react/cache/hooks.d.ts","default":"./dist/react/cache/hooks.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/pagination":{"types":"./dist/server/pagination.d.ts","default":"./dist/server/pagination.js"},"./react/cache/provider":{"types":"./dist/react/cache/provider.d.ts","default":"./dist/react/cache/provider.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"4c6684718d66288e4b974368c9722fc51b74282d","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"1.6.0","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.23","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.46-alpha.1_1720765775741_0.589334658350551","host":"s3://npm-registry-packages"}},"0.1.46":{"name":"convex-helpers","version":"0.1.46","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.46","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"af1846b14f5cf630cdd035c809f7e4c5bdb868df","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.46.tgz","fileCount":93,"integrity":"sha512-bhFBaOzoq0c7nfTSCkBH3x44JpLe8ZEcwY9oDWeUyLWqSVBsG24O6G2yBwITGQeJmjXX3N3ApordvyndXu83Xw==","signatures":[{"sig":"MEUCIQDe57+RuR9EmHj1tTUwa3QaZngD3o0DP+okR3bgH/UDFwIgZhI5DZBHCVWzYiKlFsdwmnj6S+ggq1V8vNItmJGpWiM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":642526},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./react/cache/hooks":{"types":"./dist/react/cache/hooks.d.ts","default":"./dist/react/cache/hooks.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/pagination":{"types":"./dist/server/pagination.d.ts","default":"./dist/server/pagination.js"},"./react/cache/provider":{"types":"./dist/react/cache/provider.d.ts","default":"./dist/react/cache/provider.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"e7d3495de502d8139a65d916207bfea0dddd0ca3","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"1.6.0","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.23","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"1.6.0","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.46_1720767132780_0.2057850029582875","host":"s3://npm-registry-packages"}},"0.1.47-alpha.0":{"name":"convex-helpers","version":"0.1.47-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.47-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"57b6cc571ec3be0acf7125cdd96348b35db4d180","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.47-alpha.0.tgz","fileCount":89,"integrity":"sha512-MgZr6dMwYxwYgb4VxTRlbBSTAsDE1y6lKR8uwreYhKpZ5wwmQ/89SU2KRFXfs43gdddrI7Gn2/yRVKTyzZcwoQ==","signatures":[{"sig":"MEUCIQC7ylKHgM8WVu7alWO8Z1tX2v8W4BsNnptOGvN1oq4KxgIgMHdoDbqV3DmyZfDzVH+k/Sm8KJwlr2KNLbpEhg47qhA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":590024},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react/index.d.ts","default":"./react/index.js"},"./server":{"types":"./server/index.d.ts","default":"./server/index.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"24b57011d27d0554e8f71aa87b89172b0459f326","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && tsc","clean":"find . \\( -name '*.js' -or -name '*.d.ts' -or -name '*.d.ts.map' \\) -not -path './node_modules/*' | xargs rm && rm tsconfig.tsbuildinfo","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"2.0.2","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.23","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"2.0.2","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.47-alpha.0_1720809288680_0.511845464153097","host":"s3://npm-registry-packages"}},"0.1.47-alpha.1":{"name":"convex-helpers","version":"0.1.47-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.47-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"79cb93963121ed7dc9863c089b0e3d216f9bfad1","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.47-alpha.1.tgz","fileCount":88,"integrity":"sha512-AFnHF7kIA6NHglifG2ElI30jDKETQjinid8OXACTXIEr6g9tZATOy3yArJ2JlVXWdZdE7QJPEBOv3CIUAVyuew==","signatures":[{"sig":"MEUCIALX6Pz8qP1esycV2sn2BoxKfaJxn7rH4I8lepFJAv6fAiEAvasf14QpWCt/4PKlma+gIT+D/8kbs6zreyVfz4Rodbc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":590179},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react/index.d.ts","default":"./react/index.js"},"./server":{"types":"./server/index.d.ts","default":"./server/index.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"0e45879d8649dc054a46d7a3ee57db1c93a9becb","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && mkdir -p dist && cp -r ./README.md ./package.json *.ts server react dist/ && rm dist/server/_generated/_ignore.ts && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"2.0.2","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.23","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"2.0.2","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.47-alpha.1_1720817339610_0.7546791819629339","host":"s3://npm-registry-packages"}},"0.1.47-alpha.2":{"name":"convex-helpers","version":"0.1.47-alpha.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.47-alpha.2","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"c19b52811c812690b17515a677695f02a4f9958b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.47-alpha.2.tgz","fileCount":88,"integrity":"sha512-spgXSwJU2TBZKKipsq1x04YkK/w4ymeyDMesxfEKLc2K5HBY/6IQGuhfD1iWIReuNdS0jp4NvIe9hsTm7cAxfA==","signatures":[{"sig":"MEQCICuhEyzznCR7PjK96OIsR0W//kIde26jM7JtasNZsv6XAiBWFyNi48VPSXOL2wArQT21AZmJKKk5ST5ZKzmEzmnagQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":589976},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react/index.d.ts","default":"./react/index.js"},"./server":{"types":"./server/index.d.ts","default":"./server/index.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"518bd40f926b2b9acdce05f87276a8553871a99d","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && mkdir -p dist && cp -r ./tsconfig.json ./README.md ./package.json *.ts server react dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"2.0.2","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.23","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"2.0.2","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.47-alpha.2_1720817565373_0.9800267838650134","host":"s3://npm-registry-packages"}},"0.1.47":{"name":"convex-helpers","version":"0.1.47","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.47","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"420bd754f7749190907c400d5162546a26a5ab66","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.47.tgz","fileCount":88,"integrity":"sha512-7QDB9av/EYU7mS+x0a1BeRBRdPgzZPDPjMj+j9u6QR8nxqn0vEcl3zWkytasQi2AGL5hYF2Lr7wQQ9xRLLyURQ==","signatures":[{"sig":"MEUCIQCiZys6hC2P+LPdPYcINllfJb2dJppAvfjVjGOSOb8/0gIgcpjWu9oOSEbN8s0yix0WjMlDjOyZMT167S23/YuibLM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":589968},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react/index.d.ts","default":"./react/index.js"},"./server":{"types":"./server/index.d.ts","default":"./server/index.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"6a61ce2c16c1dd31f2a06ef0256659313d9256df","scripts":{"dev":"chokidar '*.ts' 'server/*.ts' 'react/*.ts' 'react/cache/*.ts' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && mkdir -p dist && cp -r ./tsconfig.json ./README.md ./package.json *.ts server react dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"2.0.2","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.23","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"2.0.2","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.47_1720822923567_0.23917104419662727","host":"s3://npm-registry-packages"}},"0.1.48-alpha.0":{"name":"convex-helpers","version":"0.1.48-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.48-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"57a4e0e25b0f067ee9dce2ae8076415da53cbc84","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.48-alpha.0.tgz","fileCount":88,"integrity":"sha512-GS0UgYk0GkNh2xdyGiysP4AGi+0wkcSPbrpAyKpgsJKa9Bbb8KT0O01Gfk27qaWsjZwqZ1erTH4+Pa+6LdVgcQ==","signatures":[{"sig":"MEUCIQCPOFWseOePIxX6djFjd5c4/15fy6j6/O6Axsg7oLgNzgIgZaPwydsgAPTp/udwaa9f9XEsGXsMQyg1T/PpR/tAQhQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":590392},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react/index.d.ts","default":"./react/index.js"},"./server":{"types":"./server/index.d.ts","default":"./server/index.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"51f2f6fbb3a69e8b7ad3a7d4281a5ff52e3915fe","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && mkdir -p dist && cp -r ./tsconfig.json ./README.md ./package.json *.ts server react dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.8.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"2.0.2","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.23","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"2.0.2","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.48-alpha.0_1721102475258_0.011749327051979064","host":"s3://npm-registry-packages"}},"0.1.48":{"name":"convex-helpers","version":"0.1.48","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.48","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"c3e8e74fa2891b6ab16f5dd47b8c5cc77d34cb47","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.48.tgz","fileCount":88,"integrity":"sha512-WFSiMgin3kRCpzDWIq/4vrQOZvyFaUUsRfs3sscO2dFkewrLoh/17+SvHf6jQNBsAVcWBzDc1yI1IMvkhPy9/Q==","signatures":[{"sig":"MEYCIQClxe1IUiQ3SZOTLwzJrRueggMBu0hgSX6rUSVpiZgfrgIhAK+RA3UxWcMD5cp7Cae0tRIC3K1jXZWIMHyizIfRN/+J","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":590384},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react/index.d.ts","default":"./react/index.js"},"./server":{"types":"./server/index.d.ts","default":"./server/index.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"5d981b0003cb1710f1a83bc2a0281a2436657a9c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'npm run build' --initial","lint":"tsc --project tsconfig.test.json","test":"vitest run","build":"node generate-exports.mjs && mkdir -p dist && cp -r ./tsconfig.json ./README.md ./package.json *.ts server react dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","clean":"rm -rf dist","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest","test:coverage":"vitest run --coverage --coverage.reporter=text","arethetypeswrong":"attw $(npm pack)"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.8.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"2.0.3","typescript":"5.5.3","@types/node":"20.14.9","convex-test":"0.0.23","@types/react":"18.3.3","chokidar-cli":"3.0.0","@edge-runtime/vm":"3.2.0","@vitest/coverage-v8":"2.0.3","@arethetypeswrong/cli":"0.15.3"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.48_1721161942543_0.9000050699123785","host":"s3://npm-registry-packages"}},"0.1.49-alpha.0":{"name":"convex-helpers","version":"0.1.49-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.49-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"e161036883fbd68b1b43d5e89ccaffae805b78e2","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.49-alpha.0.tgz","fileCount":90,"integrity":"sha512-Mne1gKclHpvdd9pCYS7m1st5rk1ZD1VUkzEU1pdVC8G1xIhWSlwl6q8gR6mCIe3g4GNr4XCSOVEhkMPlITeEVg==","signatures":[{"sig":"MEQCIAd91ePKkV8kB5QITC2vROx4VRkP33y8ciqES6GbshsdAiBzMNa3kLziYwZsQebDPD8G1WsKnVZ2V+4eMCytHUI92Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":602540},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react/index.d.ts","default":"./react/index.js"},"./server":{"types":"./server/index.d.ts","default":"./server/index.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"973c6bdf14c4db582ac8140ab018035061aaa197","_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.8.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.49-alpha.0_1721167122126_0.6633802980090864","host":"s3://npm-registry-packages"}},"0.1.49-alpha.1":{"name":"convex-helpers","version":"0.1.49-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.49-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"2b348deacd0da99f4776a3713934947eb780e0c1","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.49-alpha.1.tgz","fileCount":108,"integrity":"sha512-0wW1TEq/9ebIrR+EmGsPBkgNPOKAflVFFd+S+MuiyaA4FnNIDDQfKsbcZEdca0o342YGa/7NnYtkdPdwaMYnYw==","signatures":[{"sig":"MEYCIQC7RvxWgYqWRLujTqHykWVhMG06lLk3eJUkm2bTxN4CmQIhAL8Eqi0HsLKy7UZzGAxrcgj022Qm4a4qGLltVLWgyIcI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":603882},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./react/cache/hooks":{"types":"./dist/react/cache/hooks.d.ts","default":"./dist/react/cache/hooks.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/pagination":{"types":"./dist/server/pagination.d.ts","default":"./dist/server/pagination.js"},"./react/cache/provider":{"types":"./dist/react/cache/provider.d.ts","default":"./dist/react/cache/provider.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"2cca0d6713c076db02b97136418b32d0d549c583","_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.8.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.49-alpha.1_1721240818885_0.02196175189700922","host":"s3://npm-registry-packages"}},"0.1.49-alpha.2":{"name":"convex-helpers","version":"0.1.49-alpha.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.49-alpha.2","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"6e668e4372b7c0482cbffe5d33332a9bb18d01c3","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.49-alpha.2.tgz","fileCount":108,"integrity":"sha512-C8VGlTSUUosaWbcEeDLi/LQzpby8XDjCLgkmXvIxOMlmnVS2NgQ69OstcM8tgZUQmyhv0Aq9aaw7q5Bn0ise/A==","signatures":[{"sig":"MEUCIESfLIsOxgW3W8ut8VAlEHJbmFJu2C1ZcQVHmYXKanLIAiEAr+tS3cs5j0JrmQXS499JxAdpOz3Or6oJabzGHSC/Q4U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":604052},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./server":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"./testing":{"types":"./dist/testing.d.ts","default":"./dist/testing.js"},"./server/zod":{"types":"./dist/server/zod.d.ts","default":"./dist/server/zod.js"},"./validators":{"types":"./dist/validators.d.ts","default":"./dist/validators.js"},"./server/hono":{"types":"./dist/server/hono.d.ts","default":"./dist/server/hono.js"},"./server/filter":{"types":"./dist/server/filter.d.ts","default":"./dist/server/filter.js"},"./react/sessions":{"types":"./dist/react/sessions.d.ts","default":"./dist/react/sessions.js"},"./server/retries":{"types":"./dist/server/retries.d.ts","default":"./dist/server/retries.js"},"./server/sessions":{"types":"./dist/server/sessions.d.ts","default":"./dist/server/sessions.js"},"./server/rateLimit":{"types":"./dist/server/rateLimit.d.ts","default":"./dist/server/rateLimit.js"},"./react/cache/hooks":{"types":"./dist/react/cache/hooks.d.ts","default":"./dist/react/cache/hooks.js"},"./server/migrations":{"types":"./dist/server/migrations.d.ts","default":"./dist/server/migrations.js"},"./server/pagination":{"types":"./dist/server/pagination.d.ts","default":"./dist/server/pagination.js"},"./react/cache/provider":{"types":"./dist/react/cache/provider.d.ts","default":"./dist/react/cache/provider.js"},"./server/relationships":{"types":"./dist/server/relationships.d.ts","default":"./dist/server/relationships.js"},"./server/customFunctions":{"types":"./dist/server/customFunctions.d.ts","default":"./dist/server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./dist/server/rowLevelSecurity.d.ts","default":"./dist/server/rowLevelSecurity.js"}},"gitHead":"1a039cf1cad3821db7daa7ffac8b4ae5a9b4da2e","_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.8.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.49-alpha.2_1721246099173_0.5412738286632639","host":"s3://npm-registry-packages"}},"0.1.49":{"name":"convex-helpers","version":"0.1.49","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.49","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"eb6ddf6820fb1a46f17ca437784539260911e1fb","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.49.tgz","fileCount":90,"integrity":"sha512-DNDqOoDTX8/j+E41u1VmFFX9X7jPvSoPmywbvVqHvsf0WQroP/gEFEuQczyfgW+IGdIyaIuHyQnw0ruJW3Y+Mg==","signatures":[{"sig":"MEUCIAUFeriFQ+sHicjxHBQAXnvoHxOrfY2Eb3/GFTjkDNHWAiEAhsrBeP/P393KUd823pvrdAVax0ohj72S15wdQdjU7Gw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":602532},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react/index.d.ts","default":"./react/index.js"},"./server":{"types":"./server/index.d.ts","default":"./server/index.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"7aa460bdc620eedab2a9e3a6596084f03b4455d2","_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.49_1721961535836_0.5500286964341363","host":"s3://npm-registry-packages"}},"0.1.50-alpha.0":{"name":"convex-helpers","version":"0.1.50-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.50-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"706e18cf12048f90c29ac63b86655b0d5fe0faaf","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.50-alpha.0.tgz","fileCount":90,"integrity":"sha512-sfgk8lAWxQWdih/pDBaC0qmtieFTVa9WgjAA7TJsWBv0S0Zm43f7HGXHLVlMspeFQ1rJmNGZEtulbz21VdfPBw==","signatures":[{"sig":"MEQCIBuvNImOdlXLkXXSY/B7MeoRZ9x+ys15/6ziPriBd1ryAiBOTB33jmY8GlUUPaAv2i7X4r0+GaKpmq3yI4aNpo61Iw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":602808},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"abee9307008f4cb502de7400413bcb93324363c9","scripts":{"start":"node server.js"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.50-alpha.0_1721961596571_0.3106843897299183","host":"s3://npm-registry-packages"}},"0.1.50-alpha.1":{"name":"convex-helpers","version":"0.1.50-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.50-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"9a017ad581954c700d9bf88b17eb8dc67dfc88b2","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.50-alpha.1.tgz","fileCount":90,"integrity":"sha512-Qv0Q6boDorBaF5D3Jz9eCIqAWTw+vtrvHNGlDB5hM6JDZt7RdsO35XZtrZdD/T8EbIIWKJP0SKJg6AxfsWtI8g==","signatures":[{"sig":"MEUCIQCZyds9JC9CWCy2zrXFuyhyGK9fhEmRJVU4KS5DPE4W2wIgCTBVZeJPTMxFqZkRJhXtKMKWSEcd2OKvVASUCeYb0bg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":602826},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"125838267a2688a759a114591ab7b6c53ee7e864","scripts":{"start":"node server.js"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0 || >=1.13.3-alpha"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.50-alpha.1_1722959546097_0.4752149694458574","host":"s3://npm-registry-packages"}},"0.1.50":{"name":"convex-helpers","version":"0.1.50","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.50","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"2bcd2240fd4b59a9ba5c13f0da4a207959b344e5","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.50.tgz","fileCount":90,"integrity":"sha512-Fr5AExZwBEIlMmSa/fiJjxrGP6TwjnEvU+uGUo7ZLRLrWmvs0fjFAUoOxEO9shKDf1Wwl2hMl7M06Bqcb90+1w==","signatures":[{"sig":"MEUCIFPWxUATLCXjkZR9Egr5UkvYkP9dnmVPMElcd9rCYjj3AiEA6l0/HgciP60i2GNmC/TPN5LS0DRgwMVnv85t4MRmJvo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":602800},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"08d8299868e3825aa78c638075b17e34a704eb12","scripts":{"start":"node server.js"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.50_1723046581762_0.9884101007176038","host":"s3://npm-registry-packages"}},"0.1.51-alpha.0":{"name":"convex-helpers","version":"0.1.51-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.51-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"3d1a98166d952cd78391116ca511fa48f7b2dd26","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.51-alpha.0.tgz","fileCount":90,"integrity":"sha512-tre/c9SYf9AvoOZNE3zQdeKQdotAIj0/KWntkYQDRX0FJuqWQxMaexay9x5sEgwqGpqrx4cFZ6KCJ7qmDkloRQ==","signatures":[{"sig":"MEUCIQDTfemh6Gu+V7Mv3MBNGK1xCde1pum7y+ziebnniLgEcAIgNeGryhAz6sSoYnflyRmKm99Oiz6Mvxu32rko+ityofM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":588251},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"44f1df9624c000d8e30f28d379a69fa48542ebb9","scripts":{"start":"node server.js"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.51-alpha.0_1723483023002_0.9423258552776363","host":"s3://npm-registry-packages"}},"0.1.51-alpha.1":{"name":"convex-helpers","version":"0.1.51-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.51-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"dc866e391ca08add3d30f35cfa9c35f66c5a3640","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.51-alpha.1.tgz","fileCount":94,"integrity":"sha512-h4cvI3qQC4VM+CfEYOd6uWpbZ3ViA2oa1HWyse0zzvRy/Q8iCIH3CvY2AyWubOWy4/2dQp63LQCwJrsRWxxo/w==","signatures":[{"sig":"MEUCICbnapmP6HKnpSoOAo9h1J0ZzPOF9SHKu36wjUblInzOAiEAxRRIHsCb96vGcvC455KPxc6/8eiOAgwSu4SVYkdAjqc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":612759},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"a3ba841eb04995771ba2667a365a4079dccf22ef","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.51-alpha.1_1723782447004_0.02083718510473953","host":"s3://npm-registry-packages"}},"0.1.51-alpha.2":{"name":"convex-helpers","version":"0.1.51-alpha.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.51-alpha.2","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"fb79ba3a1f6f0bad7411d167a82b979beb38aacd","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.51-alpha.2.tgz","fileCount":90,"integrity":"sha512-COFBD7SkiMIDNXUWJ/VffMiDFZSwVEt2sagFW0H/9AdcWXGtVzf0JSSy3x4GlVGA3JbVJ+ArZTzgk2yVQtWzcw==","signatures":[{"sig":"MEUCIEyzO4PuuuJu0H5Jdvec363vRwjUWykrMA3UcG3FV/9rAiEAxLlv9+0FQ8HPXsWc793CeE9+TCElOiQUwHQ8jZhTjnw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":590295},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./package.json":"./package.json","./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"111e035bfa6db4f1bf98dedf569daed251a751c8","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.51-alpha.2_1723788448899_0.6686046728654937","host":"s3://npm-registry-packages"}},"0.1.51-alpha.3":{"name":"convex-helpers","version":"0.1.51-alpha.3","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.51-alpha.3","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"1f01c1e94251e08fb7310d6dcc2cf44750f22384","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.51-alpha.3.tgz","fileCount":90,"integrity":"sha512-+9NlBBhJnPGSGCvubjrQz6YrsfiuzFRVaP7jLe+rrZtdkbJn9cueWrSAVfoSqiM4zUrgf9rZjJWy5DKsNc4suw==","signatures":[{"sig":"MEUCIDw+IeWrv1DRhVf9WeJlnvib5/5fDFKfvsxznIDbSY4cAiEAm/U2yCjWqaznN2lCis5KNqPjk3G2ZuyYQlZxdUqDgY0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":590001},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./package.json":"./package.json","./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"b6dd17209494e807492ae1b00af3270b303ea826","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.51-alpha.3_1723788682789_0.38652586673783906","host":"s3://npm-registry-packages"}},"0.1.51-alpha.4":{"name":"convex-helpers","version":"0.1.51-alpha.4","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.51-alpha.4","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"a3c58d79a59850c1b1a3d60e54eca7bec468a367","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.51-alpha.4.tgz","fileCount":94,"integrity":"sha512-FbURfqTfd9/OgdxHdfrsSatzIndw9SW40c3VmAoqz3BGz7eo68j0H8gb/Uzv91Kvf2uiM3GCshuCdNdaid1ZsA==","signatures":[{"sig":"MEYCIQD6A6Meq480h3/Cvw/kgfjFEqo54BJ+lesBbBMfFmBQawIhAIktRKe1aEiglA3FOo9cFgK2iTSjwh/rGCjuLxqwWzSR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":587984},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"cf3e93735f51a3458917018ac4047513dc834ad3","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.51-alpha.4_1724025246071_0.64630679335752","host":"s3://npm-registry-packages"}},"0.1.51":{"name":"convex-helpers","version":"0.1.51","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.51","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"54fdf8c1153448d567bc34945bc431f479398dd9","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.51.tgz","fileCount":94,"integrity":"sha512-9k+X5OOqSG2w2knmagkyZF637GUKhC2RXa5YsRokDFn+CGDlOl1wCDii9ec+07TXl0G5TBDgitSqdUpYJMiQCg==","signatures":[{"sig":"MEUCIQDYBZfxEG+CXkFA84kGoEhkaVngUDIrWBpR3eBtyViGYwIgJuNfrgkvVJtgcNeadUIf3El+rdto7xAnpjaoZUx37lA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":587976},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"a392190d51f684e00a4584905c05256b54737838","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.51_1724087415125_0.4695033046949968","host":"s3://npm-registry-packages"}},"0.1.52":{"name":"convex-helpers","version":"0.1.52","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.52","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"9079329e040b46cce647900242a545ddc326a8c6","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.52.tgz","fileCount":94,"integrity":"sha512-3+aQTau5XMfsRabLekp4/SAhqxwTkO43Q3k/MRGE+NWTny6I3riLisQRXZGuOyFRvjHumdeu9TCM3nhk47idOA==","signatures":[{"sig":"MEUCIEqgWrAjQsHzowQhgt8ecUxsDmtjq7gs0H3LO7lSyIhTAiEAvJAXORg3r4z44biqcoYcJb3Oh3t5eQcpWX1cmyAQ6y0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":587879},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"631bb84d2f637ad229aba28a15a90edad49cb157","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.52_1724109482914_0.2602532706291454","host":"s3://npm-registry-packages"}},"0.1.53-alpha.0":{"name":"convex-helpers","version":"0.1.53-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.53-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"dist":{"shasum":"7b22dfb9156bfdfa9687a8905625e2f30f602075","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.53-alpha.0.tgz","fileCount":94,"integrity":"sha512-VNPBV2cSaF3UKe/fhOGenrguv6LpODW/shgCgO9YBg6/aY2UjxUH+bQ6AJ9hwrhiJkQRGb78cv5mNQdAgULo7w==","signatures":[{"sig":"MEQCIDDH4iEhiF6l/cFnFiYs3D9jLS73DAALDyo2UxSrhdb+AiBPSX2jLxFx/3GSV79rb2U8f/X5a4KayXul2U+Lmal2zQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":589248},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"b791c57679a1b656d05ffc3faf470e20fead6e0d","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js"},"_npmUser":{"name":"jordanhunt","email":"jordan@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.53-alpha.0_1724963598828_0.13546645098777677","host":"s3://npm-registry-packages"}},"0.1.53-alpha.1":{"name":"convex-helpers","version":"0.1.53-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.53-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"dist/bin.cjs"},"dist":{"shasum":"4ac6d829cdc59024d766f3715b92ee8f4041ed68","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.53-alpha.1.tgz","fileCount":95,"integrity":"sha512-ljg2rM6oHKW52XNpxiPHzu/0fSYEBBlnWsI5+SfHusLTMrfQEpdErYQNbTBR1XBpJ4UkFE6HYkeSpgo1X/5rtQ==","signatures":[{"sig":"MEYCIQCpqLtbSvnwrWAuXbHLer+wWVuBfkTLFNVqCZ14rvaFvQIhAJCB2MxP1/28WP1ZlAcTiVnRjSZsz7g83uX+c8jOc7i/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":721348},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"bf8c38aec6ac6c8efefe8477b30f0ab328acd8b3","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"jordanhunt","email":"jordan@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.53-alpha.1_1724967090084_0.5667410034785534","host":"s3://npm-registry-packages"}},"0.1.53-alpha.2":{"name":"convex-helpers","version":"0.1.53-alpha.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.53-alpha.2","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"dist/bin.cjs"},"dist":{"shasum":"22d6cd5893d6f8b643279d5ac3df620408052b3f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.53-alpha.2.tgz","fileCount":95,"integrity":"sha512-wy3BvMe/pIiE4hwZm/7jY/pwQTWnBRYcIzY3XLnbdjdFi4WyHfmImCk9CXvrmuWr9xzY3QetvrfLU0CBf03vqg==","signatures":[{"sig":"MEYCIQCjBcpWOjHyJGBZEJVXdjVOCdVeDVIUHr+z4yOHfVQSFAIhAJDSuuLG8K2zcnPp3VEynBPnl/3XcQjkc+8pCdWROtQp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":721376},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"d0af84e5b9c0b8cd2065dbdcb70014b3da5ddbae","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"jordanhunt","email":"jordan@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.53-alpha.2_1724968040447_0.5294481613277071","host":"s3://npm-registry-packages"}},"0.1.53":{"name":"convex-helpers","version":"0.1.53","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.53","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"dist/bin.cjs"},"dist":{"shasum":"273d89f5e8e7e0f172683c7101a5499bb6eeba29","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.53.tgz","fileCount":95,"integrity":"sha512-D0Wkj0/x3K/UwmYSLe9aVBhyT1pKlPioTWAiQcW7NLVcDFOo4mcSF3AfJ6LqWAy3avm1rjgXMs4xpR5OgnQ4ZA==","signatures":[{"sig":"MEYCIQD9MXm51dmaNEFLt9I6c8rMzx77JBXZCfOmYqJeNLbQrgIhANqtFO8d1PlNVLpkW78tqa0oXntZl13B66eP4QALXasm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":721368},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"4bbbfda2b0bb6510e7ea453258290282dc65cd6e","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"jordanhunt","email":"jordan@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.53_1724968910318_0.706974142738727","host":"s3://npm-registry-packages"}},"0.1.54":{"name":"convex-helpers","version":"0.1.54","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.54","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"783f09a63d51406411807f6fc6fc6c6869299e72","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.54.tgz","fileCount":95,"integrity":"sha512-oYBjdfOUJdPRn9lPtH27B2rXsEPr2liiuFHIaZxgKhEwp/+f5uu1T8U5iOpNo+luavgjckO2IgNRBHnMmwfcSg==","signatures":[{"sig":"MEYCIQDHJ+2iWKOhcmNIiqZU+wMVRpI8iFYSYDbYSD4Zw6U3qgIhAIdyz5RcpK4C+YISCQQc9J3IoamExM0Br9jDzpmoc/5t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":721363},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"6f1367f4463df23ffbd49318f13ca1f0ea7a6933","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ballingt","email":"thomasballinger@gmail.com"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.54_1724995700265_0.9675834187839374","host":"s3://npm-registry-packages"}},"0.1.55":{"name":"convex-helpers","version":"0.1.55","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.55","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"6fe0cec85101537a88560f68c8b81fa1469fc120","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.55.tgz","fileCount":95,"integrity":"sha512-ieEXZimFb8ZDT2KFL0eTW8/BLLFKx3NLKjgbpZOixRP9l+7vaaLZs6uuQAtAfYr9DIeQb4cga+q7R85QgiZ0eg==","signatures":[{"sig":"MEUCIG9yrL8Ni50fTdpCZvGCI0yXeikWu2q8ZiHm3eP+U3fEAiEA+5jIairIXoxrMXa6yavF8Oj6YUKyLcXay/es8UgepY4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":721429},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"c8a474f376a556e39ffceaaa7fa6e8eb5b83d357","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"jordanhunt","email":"jordan@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.55_1725144132824_0.7857995519743786","host":"s3://npm-registry-packages"}},"0.1.56-alpha.0":{"name":"convex-helpers","version":"0.1.56-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.56-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"9f3330e81a3235888fe1050d86dfba14543855ba","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.56-alpha.0.tgz","fileCount":95,"integrity":"sha512-3wicXXABzQ62K5sGSEeoUipX6Yfzp5T1ilUgePckrpSeBr/7SQYgeO051OTMUB8JWbvRhxtec7WD1tQyhZAqXg==","signatures":[{"sig":"MEYCIQCJ6NzArM6whs88G2xAyh1xhjvFoF2fH9zPutrWN9xeVQIhAPAuieDr2rGRMxLxlg+E45yOKGlxWNuD7UNzpmDIkMGr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":721477},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"85a516ff99b246784aa623e54af5aefc6e7196f5","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.56-alpha.0_1725563458071_0.4294202365358488","host":"s3://npm-registry-packages"}},"0.1.56":{"name":"convex-helpers","version":"0.1.56","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.56","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"d759323d518f14d3f9da5c80d8e8a261f7754a9a","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.56.tgz","fileCount":95,"integrity":"sha512-+q0XXCLygCgH35v1ioL1NU6L699CSLYyPiYNMBwfDeISHTM12tPpHtakzzUt3gQ83/+qg1315NwTi11rnpL40g==","signatures":[{"sig":"MEUCIQDE1MCAQtFQ2TTUEa7ebfMVWqeiZ18Cr9cg3noAqeCmsQIgL9dT9ZtgXyYZzm/dMw7NG+DdL4OBTpyDGWtIgZadxAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":721469},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"df3b55796d61f37eb76ac5dc5ed13989b87deb15","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.56_1725566394121_0.6996132525674466","host":"s3://npm-registry-packages"}},"0.1.57-alpha.0":{"name":"convex-helpers","version":"0.1.57-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.57-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"1bf6592f6d281c42f8d7b5897d86d4cd3f3297dd","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.57-alpha.0.tgz","fileCount":95,"integrity":"sha512-NAT6MyO+Ms5oD1CMXgmzyorAI+UexmzKShgHrsl+VarRAOM90ZLqD8YpbQtBuqzEHaLzPLOYtoX0eiDfVr9FfQ==","signatures":[{"sig":"MEQCIHQx9L8HVTpTNS0KT8VFPoZb6QOw1XtxTQLfwj03CCgGAiBU3v4Im2TlpB5TtG7VIKEa6ftV6Ot/ghDzLqN97s9uTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":721497},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"e729e03c7ca477a8d7f610a724e4b4ab05e33fcc","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0 || >=1.15.1-alpha.2"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.57-alpha.0_1725646817386_0.6753663709563678","host":"s3://npm-registry-packages"}},"0.1.57-alpha.1":{"name":"convex-helpers","version":"0.1.57-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.57-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"d298add605e815becf1e62860b2bd5f3b1e5550f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.57-alpha.1.tgz","fileCount":95,"integrity":"sha512-y0HNvF7tPcmz3TNodkymvTRN5uOHB17cQro7AhkiIkQgn5TDAb1iEKMnDGYWRmau4oDqPcDpyCbX9EZfpGHQvw==","signatures":[{"sig":"MEYCIQDHBmCbiNmLfu6lh19YdzC811HhqcVTXIk2flDR40yaxQIhAIgVem5LE3Tnk0TKLttqLqNMVUvblTmQMhtpnuVEUJ5b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":725736},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"732c9b10c834e21897d693cb699c01468ee02dcd","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.57-alpha.1_1726003678549_0.7901614655986402","host":"s3://npm-registry-packages"}},"0.1.57-alpha.2":{"name":"convex-helpers","version":"0.1.57-alpha.2","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.57-alpha.2","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"42f4e238346eabccf21a204c009c726772232ad3","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.57-alpha.2.tgz","fileCount":95,"integrity":"sha512-wFBAd2BSS6Unsh4CCQ6x+zioxpvmQoIwncpC57zE004tqFnvk71jcBQ+un94zYfVcF+qWQJvGI/FYiXgpjyXNQ==","signatures":[{"sig":"MEQCIAe0eQLW+4YhqtH4wyAZiyDEbVHFeOPJFn2KQdSly/GdAiA2MChPReSqfWdg51I2RTZgSkMICH2ly8CV7vOOtE29Zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":740177},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"417ff6150411a7dc88f941b6abf7df3f853661d0","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.57-alpha.2_1726016427598_0.5904399202959778","host":"s3://npm-registry-packages"}},"0.1.57-alpha.3":{"name":"convex-helpers","version":"0.1.57-alpha.3","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.57-alpha.3","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"8560d29c61384d5ad8ad444a11cc41fc87c1d87b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.57-alpha.3.tgz","fileCount":95,"integrity":"sha512-RUpbeZCXXSw+oH61PEHmhqf8Ep3eHTWLqXqXPPyyUfd/dXsLKVtSE28O7o6bUbcVzX5L7iuBQPDVfAmJsOX16g==","signatures":[{"sig":"MEUCICCUd8R5FfQ+xSUND+GqB1zGkOeeD23M+FKDFqwcEXXwAiEAvGpFDShnjbdU3RtLCIoTleOZAfUDUcQeWDWcdSmRToM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":721497},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"6504d5c5eb88eb7c1711f1c7e54109c50cac1686","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0 || >=1.16.0-alpha.1"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.57-alpha.3_1726022549923_0.41624661079079806","host":"s3://npm-registry-packages"}},"0.1.57":{"name":"convex-helpers","version":"0.1.57","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.57","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"a65ec4f4ed46640e6021e8cc1536044839116b1f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.57.tgz","fileCount":95,"integrity":"sha512-Rzo6wEZs/L6gFev9yZxPo+YYJnJfgdBAjhxsBC6q4j0tLn2BSfzWgiRZfHxo0i47JVfqxMH9oZj0yKEZ7faFnQ==","signatures":[{"sig":"MEYCIQC1YG/WSRvlpIOk2JeCC4iarqvlR5lFRsCbjJo9L02YLwIhANFXl1iunu7y0bbQudbCrhFOKKAdxxjCaCn5Es7DMC8H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":726266},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"2de81ab7a3f6d11bb9165371f7f2bf245eccf48e","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.57_1726028894314_0.8256112030887817","host":"s3://npm-registry-packages"}},"0.1.58":{"name":"convex-helpers","version":"0.1.58","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.58","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"3cf8644e2e63144553b927b30daae3002ff0aa7c","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.58.tgz","fileCount":99,"integrity":"sha512-elehwQBiF9L7W+lgNOEqft2733DgEBAlrqnGUV1Lqgx9uDe3bQt4OiUctE0NspSZ2LcLK0f21duMfMrKcEMz1A==","signatures":[{"sig":"MEUCIGFa2WGXT2/tJySZOxtRkRl1r1qi5bw9KPRu3i+HtCi9AiEA0TUfQB+yKglabIFAVRiGuP6ie9fRQ6SglAciXRicmYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":752169},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"03a63ad0f9a51446f31c72c1060bab318f8db6e1","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.58_1726273076352_0.27088014598223475","host":"s3://npm-registry-packages"}},"0.1.57-alpha.4":{"name":"convex-helpers","version":"0.1.57-alpha.4","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.57-alpha.4","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"ae59a388a4ae30f60fbc3cab16f896de7ba75dc7","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.57-alpha.4.tgz","fileCount":99,"integrity":"sha512-chsWJMI61FRTJClPBikdLdcX47TaXxKL2pBaRgEuOm2jLGY4AKrK4duYEXayy5Ts3gaZs+Bnl/Kh9ll68NtKjg==","signatures":[{"sig":"MEUCIEbhkBHhb76q2WE6wKqR2EW+ugMGDOOdMqxHrt3BkxYaAiEAyQo/AzhD9u1WHleELv0I9hrXqG3peW7YVG1KiNRJ0P8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":757821},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"f1fb291e860f036863387f9527ca1f17b26dfcdb","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0 || >=1.16.0-alpha.1"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.57-alpha.4_1726523328052_0.3417345612177909","host":"s3://npm-registry-packages"}},"0.1.59-alpha.0":{"name":"convex-helpers","version":"0.1.59-alpha.0","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.59-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"26e41347f59b37dca90afebe050bffb1597042aa","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.59-alpha.0.tgz","fileCount":99,"integrity":"sha512-yNBfeNTAb845DoUlCMteh9pwZsdCFnj5QA9s+fVsJH45uUTVRgU7g9vSP0CK0WNY4TLdQnDiX2E2sPkH9SobUw==","signatures":[{"sig":"MEUCIQC3ZMZLeqhn0AhLAZtEmOSAfc4yV3mSuRfnhTdijnKXfQIgPY5OXltl0WKYZyrN/JAfQMoIqsbxYuSpZ3qQeNjYaUU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":752518},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"c3dd6779bc110a46a598fb4eae3e6dd5b6a1193d","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.59-alpha.0_1726876390618_0.20686290412480113","host":"s3://npm-registry-packages"}},"0.1.59-alpha.1":{"name":"convex-helpers","version":"0.1.59-alpha.1","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.59-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"ab0896ef88177278aac3db0b70868aa12a347628","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.59-alpha.1.tgz","fileCount":99,"integrity":"sha512-uuRWekokmIc2B5znrc+OtSkNPmCEBaIfIUxXOkE+IMcujkFsrWEdxEXpOdbvHCxBnudOBM7Y+i0G0e4vapeV4g==","signatures":[{"sig":"MEUCIQCWq8R0V5wmWZdUCBGQ5hlYKP0qgWvYZ1Y6DLFRDu4ZSAIgHY+rV4pc5O0FmfcOZ9DB5rWgKFIiRK4C37COqhlg7VQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":753288},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"7f18bb82c5d021420c496d0e961a9870557a3fd0","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.59-alpha.1_1727209594902_0.04283843553831845","host":"s3://npm-registry-packages"}},"0.1.59":{"name":"convex-helpers","version":"0.1.59","keywords":["convex","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"MIT","_id":"convex-helpers@0.1.59","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"7de788934426ab383049e7865bae31973d6bd60b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.59.tgz","fileCount":104,"integrity":"sha512-m4MmOvkPIZxZK4238JQuZjjh25FTTljOiDaJExHCx3Zw3HEEiXg1hU8On4ivFna1vsLezT7Z91+hJCRaTamPYA==","signatures":[{"sig":"MEQCIAQYiVtAC9X8EHS8tbvD8J0cpZZRrVgmfbqmGJhyXq0ZAiB6zsTrSHtvAJPtB2NvPf0OJJfTe60P23lB+0JMqRaPpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":784051},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"ef7a65f30526045de7748d76430e2d3100f3ec0e","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ldanilek","email":"iwork96+npm@gmail.com"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.8.1","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.59_1727923958212_0.32020123188809047","host":"s3://npm-registry-packages"}},"0.1.60":{"name":"convex-helpers","version":"0.1.60","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.60","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"4352b74efd3cd911da76092437e8d41bb17ad4f4","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.60.tgz","fileCount":104,"integrity":"sha512-DeMBG8EufRGN5Mqa+5blHKXiluXPHILpVp19ePHjpAnf0AHE6KUnm5jdv7ilokmvaEgt3c0kCbgoqk/KRVf9+g==","signatures":[{"sig":"MEUCIQDIT8yO+fISDfV2HtwtNEK+2oNC9QMJx+qVlSdUbq9mpQIgIxBx+sLIxwQPM0pLSNVqS6FHMwEtEhQEES5HqNhIMhA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":795520},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"224eec9d9e1d11deaa7b35706ea8ab21e3a04081","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.60_1728586374996_0.955873640334931","host":"s3://npm-registry-packages"}},"0.1.61":{"name":"convex-helpers","version":"0.1.61","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.61","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"c27e34749efd2798a7536160feeff5b00c7dcfa9","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.61.tgz","fileCount":104,"integrity":"sha512-cYKCtIKCvB92W9W05u82rbgFqEoEKi1VGUvrkqgkCCrTTeEo8aWaZQED315dsTx66AmhtgiV8Xj92bXjqw9yBg==","signatures":[{"sig":"MEUCIEZ5mr50S1+MQNMGZEv9rY9Jkd+MA3Is1TK0RaJfbVR9AiEAgcULAh+YFn3ao4B+9lxI5rcp2tihNtmVF5IJsQVYG/I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":797011},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"610d93e79e67eeb83f9e90a44491681dc3f5047a","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.61_1729239502902_0.20144742048205955","host":"s3://npm-registry-packages"}},"0.1.62":{"name":"convex-helpers","version":"0.1.62","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.62","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"d8b8ee9111e972c68c5c6f97ae78bd512649b026","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.62.tgz","fileCount":104,"integrity":"sha512-dSHI5ETqUUjIWPVavMkegqJh31tC14QdgEB9COkVptKndnlF1sgr2rgQQDpUOAAEaWMkoFanXl+GlAwy6z2fsg==","signatures":[{"sig":"MEYCIQCSq40bMGP/uxqxDhm/+AYkqKftV3qdVLghIfTu2L38uAIhAIfPnC9CSADfz3HbF/QBBSLDZ1Wt73usJ3v+DdHEdqgk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":797656},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"6d4c63abe0a4038bfb33bb239c76168df92fc4a7","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.62_1729635943690_0.6663475637824605","host":"s3://npm-registry-packages"}},"0.1.63-alpha.0":{"name":"convex-helpers","version":"0.1.63-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.63-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"fd77cc2367b023772117580b07d14bca1343d87f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.63-alpha.0.tgz","fileCount":104,"integrity":"sha512-92IJStQZww03AO+gbuhGSDWyB4s4dEjsxEL0RFjuF+RmyJWI+L92P59OeZv7iBS31R1fD4368Ik8Hf4pzTMrLA==","signatures":[{"sig":"MEYCIQDQJilHChMDWu3NMSFnJ5ex/zIvhHI/XRK7kF1xUSNUIwIhAPWzAAoF5QGr9R8aVMltypaY5HF7RBjYHHYrk6L3Vpb7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":802403},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"d2f813b0b614230b16390b79af5ea9e2b3d7c221","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.63-alpha.0_1729803519115_0.8888653337507411","host":"s3://npm-registry-packages"}},"0.1.63":{"name":"convex-helpers","version":"0.1.63","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.63","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"6630380b9da86f19200de9bbf7f1c1336e2ec665","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.63.tgz","fileCount":104,"integrity":"sha512-SJZySPcu4G6zdtzw/Pr9mzhBDzPsghfHNB3L1Vtu9IICydJ3hj9iPNLnbFfH7Jm/4gmDpffTANpdRjMr5YXkKg==","signatures":[{"sig":"MEYCIQCbrT1zSKvJWy+C4KjlqN+1VeCXEEINO1OWWBmr4HCY3AIhAPobw7uUYdKXRxqN0kvvqakRYdfgZnbCs+UYtK6r/GIc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":802395},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"00df7cf1269af1729ef596811c02836c85e8f4f4","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.63_1729885631369_0.17367700760472515","host":"s3://npm-registry-packages"}},"0.1.64-alpha.0":{"name":"convex-helpers","version":"0.1.64-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.64-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"fc33fd01a7ad24a2a2ac22b7449142f315b979c2","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.64-alpha.0.tgz","fileCount":104,"integrity":"sha512-WijhT1B4v7yTsdreZmQZWHpqPaQpcrVAz1noLQUC4DlHE6UyMsyRXTwVgu4ChzPdeUTSkn2hJzz8CNgXp8nzHg==","signatures":[{"sig":"MEUCIQCbzRxc1n0j8RVoQegXV6XYNiXf6RsPCh3x6N4krytOSQIgCDeILjO/MxaU1uamqpG1Ha0wbObcpHTnIBJI6KClInQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":803658},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"4e5d9be994662348522d570bd859cf239222541e","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.64-alpha.0_1730166335510_0.7892305498034866","host":"s3://npm-registry-packages"}},"0.1.64-alpha.1":{"name":"convex-helpers","version":"0.1.64-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.64-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"f2dc86114a2692ff4ed4b433c530bb1b6c5a089e","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.64-alpha.1.tgz","fileCount":104,"integrity":"sha512-DRWivCQgEHizvQ2oKxWUxBpOg1WDCfcEPf5xCs50uFDEdEv+txVOJAHdNu/i0dcpF7QmB7hznZ/iBYuclFy45A==","signatures":[{"sig":"MEUCICiaSq6Q6KK4hJQiOgGO/9uwCKpkxubUsW3DoUmsq0QXAiEA5ZyZWtdqhcushzvI2NKa/eTOiLTMbr6YH6+j7sJMEgg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":847043},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"b5a21e52b73177f5e6446bb4b47829eba0071c6f","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"jordanhunt","email":"jordan@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.64-alpha.1_1731107925304_0.3919003449034111","host":"s3://npm-registry-packages"}},"0.1.64-alpha.2":{"name":"convex-helpers","version":"0.1.64-alpha.2","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.64-alpha.2","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"5f41aa13b0522f8cd485960266355feeb54b2cb4","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.64-alpha.2.tgz","fileCount":104,"integrity":"sha512-FLu+p0K1tjog7HgA9GLD62mBrq5tI7rkzq84h0vSVAeDguPUWXCrMU/TyTINLeQZdeU9OOeE8aCiptOhNImyZQ==","signatures":[{"sig":"MEYCIQCpAHBkHtrLJ6xAuGb+2trhYg7pfiZhkFiMLuvgZGi+cQIhAKj+w9pVvttdeiMYastEpH7qUP95vg7vqEjpyMhSW66o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":848242},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"e10343acc11f5a9a17fae8f012aa19ad1b34722c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ldanilek","email":"iwork96+npm@gmail.com"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.64-alpha.2_1731437790202_0.9188251798847824","host":"s3://npm-registry-packages"}},"0.1.64":{"name":"convex-helpers","version":"0.1.64","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.64","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"a6155f521a11e0593ba8ff38f4320b1d3a71da11","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.64.tgz","fileCount":104,"integrity":"sha512-Y3calHrmO/Cwlvj2QOvKDSOSw1I2uHzfMfSHFEAQAcPynjsMPJ74Z72Yg4I3/97E+B/2v2TGlg3FAYBZp4qaOA==","signatures":[{"sig":"MEUCIDtmOhT141If4GvPZw0XNy4iYmBMVAMswaDOWwmqtSAuAiEA0i5rneqIePNyC0k53EHLAEejAldN4CgI3DSwQdiTEy8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":847338},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"c3c8223387ea9d2a096de6c7eab0207b96f5b46d","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.64_1731440847663_0.5524358089662424","host":"s3://npm-registry-packages"}},"0.1.65-alpha.0":{"name":"convex-helpers","version":"0.1.65-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.65-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"1e0ccece7b3eda25026adddba64e77f4d4abedce","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.65-alpha.0.tgz","fileCount":104,"integrity":"sha512-zAprKatfW7NMjBs3Pbf2pdPosr23wleKACnpHyJJgxgJ2NPKkR/E7jvGeAUpPK+ZEAQQsLRRgu2jGsimUhDvfA==","signatures":[{"sig":"MEUCIFYtXKZp6SGAwV3xHgdBFBxSpgIKnN+m0Jh1Hlb/wHfgAiEA4DWydV6EHFdcdIDJ408hiCpeo2coB3jkdvp/1Z4F6zE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":847378},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"4cad6f196722590b36ca75c5c826014bf63841bb","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.65-alpha.0_1731449550100_0.8565872877401297","host":"s3://npm-registry-packages"}},"0.1.65":{"name":"convex-helpers","version":"0.1.65","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.65","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"744e5a8d4a36ab4ce76d3371a412dcdf0fc77a63","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.65.tgz","fileCount":104,"integrity":"sha512-KGNBozMliwB6hLNZb3mrJSuV68PNOXWNt4i77un8rnuANgfwa4FDZXVdDO3btbrCsjMIWbIQ9+5IMGUBChUnUg==","signatures":[{"sig":"MEYCIQCRM7Vp5CpAley3+NlYSJAAs+0ISWifaT5HtiU59fj7oQIhALkYkjpkgjCpcyZDraTt/6C53PkXtQJ9a7tg3/s7CDah","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":847370},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"950009b4dda73233bbdb364cecc8fa1bd02e2676","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.65_1731613550432_0.14127030151958753","host":"s3://npm-registry-packages"}},"0.1.66-alpha.0":{"name":"convex-helpers","version":"0.1.66-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.66-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"9949d87a68f3854204d28166a3f4a75f5b59716e","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.66-alpha.0.tgz","fileCount":104,"integrity":"sha512-rUCFBP8HHaxW/uDP66/UT+0zxIDS0vS0BfkIx+ynHva+dPkPUSPWUIfPf22Su1jZ3nmtLJkz1Q5ABYQ7J+x+dA==","signatures":[{"sig":"MEUCIQDw2/wIw0NiWk3QuAOVMknWGIUrIb+Cm6PuzLfAtsQPbwIgXcGIyqQQT1PahIlst6Lws0qPTOsjlNa5mArjkqGg9d0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":852073},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"0cd920b02831ba535776da66e574fe3922f51636","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.66-alpha.0_1731740679823_0.5880715026571788","host":"s3://npm-registry-packages"}},"0.1.64-alpha.3":{"name":"convex-helpers","version":"0.1.64-alpha.3","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.64-alpha.3","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"8a2fd450150357184948cba6991b2b5bf1c8b41a","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.64-alpha.3.tgz","fileCount":99,"integrity":"sha512-IE8C+cP27go+WTogRf8e8EZB6a3gNtaxntB8U+8ahRrtSTW/e/jnQdRWdyzSsloNbqlp4egOSZlJvBsbkM/WSQ==","signatures":[{"sig":"MEQCIEmrTzEWUN85xRzEdZsocOMFy97F0tGXvOPmNgR9aAxGAiAvLlFyKsV4QRbOR4bQKlJEZZfrESQXfTwArqeEVET+LA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":655270},"type":"module","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"b3c6ac4e155aa0d0b0b3aafcc05233f562fcf3e7","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"sshader","email":"sarah@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.6.7","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.64-alpha.3_1732214707397_0.3339964171405907","host":"s3://npm-registry-packages"}},"0.1.64-alpha.4":{"name":"convex-helpers","version":"0.1.64-alpha.4","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.64-alpha.4","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"0de0bd38f976bb5ffa9ed61e4c97291c6a38c9f4","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.64-alpha.4.tgz","fileCount":99,"integrity":"sha512-NZNKfZ5U/a9Q6U+qv7OkfR1rPrtnreZK5ZNlHz39adh+hYqTZ5QZlrrxK/rg47WOT8ccs90FMVZx/PD73Tmb4A==","signatures":[{"sig":"MEQCICbau7CX5tevQlbkJTaMwtFLODWl2B4D/KLDSStPmZ+vAiBaSYxE1614Tt+cmnyQLMhpxfRF4jbOxLgmoDj1jGoZ5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":655403},"type":"module","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"b3c6ac4e155aa0d0b0b3aafcc05233f562fcf3e7","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"sshader","email":"sarah@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.6.7","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.64-alpha.4_1732214925177_0.5337860594660047","host":"s3://npm-registry-packages"}},"0.1.66":{"name":"convex-helpers","version":"0.1.66","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.66","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"1f562c5af309208cf1dbccc447381ce26ed772ca","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.66.tgz","fileCount":104,"integrity":"sha512-lFm4zgSdwrh2Mv2Dm/4EdelfL/JILA2D3uzUqU6ed6rGqsUcXaaaK6i8VMBddf1HCQRJDG9MDDVZbT+Bt7rPzg==","signatures":[{"sig":"MEUCIQC7rXJ1Vgc1Z5fxehVQxXGOQCpUzRTJFfVJ82jYhapSfgIge/g60AHpkxYUCEqfA6tdxNfzNlyJpI1UIDIEzaP29Ts=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":854369},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"bca7976b0efb31f81b6dd9739104454bce3fdef2","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ../../cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.66_1733774008738_0.9719850905989218","host":"s3://npm-registry-packages-npm-production"}},"0.1.67-alpha.0":{"name":"convex-helpers","version":"0.1.67-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.67-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"9e6de05e67e9bf2f2f34488a851e0573d5408d6e","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.67-alpha.0.tgz","fileCount":113,"integrity":"sha512-wmWeVsF7NZC6weiDm+qtPhIW6E1cpQL9mVJs5vM3+vsacgKMNyRSomCAicdEqJL2YypQVpvvle6r5LE0qiFPgw==","signatures":[{"sig":"MEUCIC6EPObFh4pddB61Eo54oieaVghQ3rnz1R41qE9ibUfaAiEA/Il6gh+vOzKWMTudOSUmWFeX6YsON9ktJ8UX+huXFw8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":901034},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"4f8ec5b19b79eb2234bf4bce4a65e1365480ceb8","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.3.0","commander":"12.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.67-alpha.0_1734066772138_0.629253122706044","host":"s3://npm-registry-packages-npm-production"}},"0.1.67-alpha.1":{"name":"convex-helpers","version":"0.1.67-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.67-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"ee31ded8ead060aa40c09d76426b6c4db7f67923","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.67-alpha.1.tgz","fileCount":113,"integrity":"sha512-/7sGQyE/VhXpNWWQbM0Ch8FvjLlPB0SsenTzZI3td5q5RrGr4ha+UV2Bj/uSQiqaqRDRzhpIPk4mlaySYl9SJw==","signatures":[{"sig":"MEYCIQD1lxd1tC/1lw7At6q/XAiYtSHAnHmrvOq7+TCM+bWJCwIhAJK4mHacqXl5tqlVKEu9Rti97W0SJDxFH3Bfk61VP/z9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":899795},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"4699242c67ad424711d7531c6562190eb024faca","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.3.0","commander":"12.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.67-alpha.1_1734121172181_0.9180190604411389","host":"s3://npm-registry-packages-npm-production"}},"0.1.67":{"name":"convex-helpers","version":"0.1.67","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.67","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"11b57ddca731fb3dd30ce3382af5a128eb0f294c","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.67.tgz","fileCount":113,"integrity":"sha512-nnb0W2FYKbqJt00UH6raZ/J0A1+CbcFdqmFJTDvvSR1P4RhwBj1TBzS3/B1G1nMYebX3gguSwOWfO0s2rcB/wg==","signatures":[{"sig":"MEUCIDYL3lC1ugVwO4CL+IXhRzS5CdnXlIKozYDJm/t4OCYwAiEAvZE0oNxF1QeYehRGD5caKPbvkPzUCCGqAEcZZE9uDRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":899787},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"24cfd61ff7aa75cdc0697d43f1b843174437c35a","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.3.0","commander":"12.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.67_1734121304237_0.604341676583011","host":"s3://npm-registry-packages-npm-production"}},"0.1.68-alpha.0":{"name":"convex-helpers","version":"0.1.68-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.68-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"d16d195d10b55739a5df46975cb02fbf3b457219","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.68-alpha.0.tgz","fileCount":113,"integrity":"sha512-RZKRSrDkjpCHnKkAcQlJcgcK3z/QvMLoPB7aFQjujsXBkGRcMTeqY85n0BNYJ6ntyZyMq3hX5uJi6VvF1vLLMQ==","signatures":[{"sig":"MEYCIQCd9vrUfzzzYjGNpQ6BH+wajH7+h7OEJiVfhom/o7pXegIhANxg8k3qJhb+STIhnB+epbiSeBHKmn7mvZ67vXKEcfLv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":901707},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"b8c1e3c1da95a06c677c81b786e96c6fda66d620","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ldanilek","email":"iwork96+npm@gmail.com"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.68-alpha.0_1736454418992_0.3056318312191084","host":"s3://npm-registry-packages-npm-production"}},"0.1.68-alpha.1":{"name":"convex-helpers","version":"0.1.68-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.68-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"fea8c8e6054c47568de3a6c93c7de66631d09f98","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.68-alpha.1.tgz","fileCount":113,"integrity":"sha512-FZE1zEaxzf7iUKBvU/bpnLlDbstFiTNpT+bhP065xDrwoWRiXXaW1A+Ez41oKhJE9AxHReUUtlnXQwyHCDhZ4Q==","signatures":[{"sig":"MEYCIQCqlMlA9wulX1r3FdfCF/PG8u9vMY3ekOJ9zCbO6Vw7yQIhAO6UOtiE62bR64TRjUaEKmTy0gw+h/Dl2+j4ZXfnXDZH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":916728},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"51511f612313a0a670a188de9e9824115156bf6c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && rm dist/server/_generated/_ignore.ts && cd dist/ && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.68-alpha.1_1738275462668_0.9353149423889795","host":"s3://npm-registry-packages-npm-production"}},"0.1.68":{"name":"convex-helpers","version":"0.1.68","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.68","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"0a2fb73afa8758225b2cc789a4cdddc46fcb2425","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.68.tgz","fileCount":97,"integrity":"sha512-HZIjCb2jVmZwLUAe/vLooX1aBYruJ5MEP0ktdmHD+DhSSRfO17KPHIU10LpxmsQpT//DpE+FVGS+bTNi6aUf6A==","signatures":[{"sig":"MEUCIQDBpUso7q8e4EiQJfs+fBvfLsMvyeQjACeDA8/NKPLr8wIgNmQNXPSTRbYfBg3IQqXhIN91HN0Dnvube4D3sbl61CE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":812808},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"89e9629252b3ab5be9d51d7a63d84c25bb814d7d","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.68_1738287985426_0.4638499712310551","host":"s3://npm-registry-packages-npm-production"}},"0.1.69-alpha.0":{"name":"convex-helpers","version":"0.1.69-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.69-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"3d9ec66fd5f02f4fb027c24c9ffbfce4320fb5ff","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.69-alpha.0.tgz","fileCount":97,"integrity":"sha512-/RCZForVr6ERbsqttZcrHBIbPIKvooESaoOOL5Va5za5loaAVf8YifVmrjqVFx8v1kKzg83Pr4i2Kg3/F0AtWQ==","signatures":[{"sig":"MEUCIQCiu0fxnMDQ12DnTMecCRbOahfLTVJewpH8X9QnhE0rhgIgbjMlek4aCKs6cNVnJPWqW0XzA87JbB9TEk/+K0wdMC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":825631},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"0de4dc75669dff3084e0fa157f93fdb53fa9292f","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.69-alpha.0_1738638512848_0.34505410680046933","host":"s3://npm-registry-packages-npm-production"}},"0.1.69":{"name":"convex-helpers","version":"0.1.69","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.69","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"2dd8fd6d182aead96a5f28e4549318daf236298e","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.69.tgz","fileCount":97,"integrity":"sha512-fIl6MdeTv4FZw4FlH2pJOJHu9Dl1XL5WNGZMkIzhiOgBFkWdPrybzlhHnTYL+EYywiJOc0LfUqaEQ9x1Kgf3VA==","signatures":[{"sig":"MEUCIQDpfMuoZkA0qp8xg+OHNGZOLzMGTw+fb3cdObZhERrYTAIgcazn0Mxhn150GP3s0kRkPii6p4rK4sWiDVcy9ToSuyM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":813169},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"0baa6866737d40b7a5c99ae8dbf7fad20c2cee3d","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.69_1738797339501_0.10953807493107814","host":"s3://npm-registry-packages-npm-production"}},"0.1.70":{"name":"convex-helpers","version":"0.1.70","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.70","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"f4e15cbedf2e2f93532b47b2e5a99028d55e3d31","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.70.tgz","fileCount":97,"integrity":"sha512-qaiHfzpZITPb2691vAPaBtypfDliZdPBOH8Qih+VbW8+Ue8EcVlra22zBNT+clJ0ZehCnBe/bwqC7qx4FuH9Kg==","signatures":[{"sig":"MEUCIAiSa3iTcv3PJZdRVyDIQICW8OrNLDMmHZ/4UnCkWng3AiEAzugzikDAhIWraBC5Ea1AnrRz8B2iGQzrPrveJOdbh5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":826402},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"c21b5b92f7cc89fd00524275863823d26c972cf8","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.70_1738802578540_0.2776102641882172","host":"s3://npm-registry-packages-npm-production"}},"0.1.71":{"name":"convex-helpers","version":"0.1.71","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.71","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"5c94944bfc20ce6844343b473418a9e749af27ab","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.71.tgz","fileCount":97,"integrity":"sha512-/uucsexesq9CNl1J+wZIdjcvPWd9nXcZKE8sIGokduhmtPI+6GtXz/dkpNm9pgFXx6yPJ51lFMuuZFAkVicI0A==","signatures":[{"sig":"MEUCIDUr8GCvjYLvu1qrOdgj1JBQNQPrfPHj1dO3ry42pOUcAiEAiHFzH0wjx2jRoNK9d94o7BIddyqo57KlQHF3lef8ibg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":827736},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"dceda72f9d73658f1dcd092f554976e2d9036c65","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.71_1738867754235_0.1380143159957079","host":"s3://npm-registry-packages-npm-production"}},"0.1.72-alpha.0":{"name":"convex-helpers","version":"0.1.72-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.72-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"86b273368305aa6b60f5f3096b11f21019317516","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.72-alpha.0.tgz","fileCount":105,"integrity":"sha512-UV+3kJ4ehDRyB49VKyesbDEHv2vQHDXupl4KLUda3mJQiixTa8uJPOXEaEpTrcdXaaRuORFi/qQp1kF/UO90EA==","signatures":[{"sig":"MEUCIDckXraOh3AplbdRO/7lM7C8iYBSo5ZvFE8PdeGuufUlAiEA/KY1SZMU6f/glLPgEVS5/NHrz3vbPdwUT9wxuVKq1I4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":927858},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"f73537b563ef17dc8923ea35f67fac0d6eba113d","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.72-alpha.0_1741301523678_0.22193506424937448","host":"s3://npm-registry-packages-npm-production"}},"0.1.72-alpha.1":{"name":"convex-helpers","version":"0.1.72-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.72-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"5d5011880dd9a449402134770c2746f5cd1bad73","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.72-alpha.1.tgz","fileCount":105,"integrity":"sha512-ncVcJqiz+N8D4B6icZwnc7A98iOQ/RE8AOgc6038YeNOWB0BFFP03MeiHl3p2RYwFKFkOuWK0VBxFIiipdFuaA==","signatures":[{"sig":"MEQCIECJLmFySb+43Xp4WC141V1cWAGeSmP0P1CSOIKd//6tAiAcrDrE7gWbbXMisdbFIP00vSEgJ16aVR3eeND2kaDNLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":963465},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"94e315476e5c0ebdf5ff9a16e728b6050c1103da","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.72-alpha.1_1741991877855_0.1097007546089539","host":"s3://npm-registry-packages-npm-production"}},"0.1.72-alpha.2":{"name":"convex-helpers","version":"0.1.72-alpha.2","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.72-alpha.2","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"b94bc5f586da7d33e00c1a82bbf8455a54755a6a","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.72-alpha.2.tgz","fileCount":105,"integrity":"sha512-EWXPlIga8aAPqMS68JbiB93HrsE5i2mXIs37DLySjs4miKDPff66z1vdxren+RkotjKpSu/pIC30jgClV7WB0w==","signatures":[{"sig":"MEUCIF87zOglIsHNu1M8JuviuiltPyCGiosVPs1P7fGCrjLsAiEA+ckMB1Ylw+0BhnlerNeJt7ZAC7LCknbzeupwg/2VtmA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":963337},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"62c737f0cb5b86069c1b2b3fef92c55a2424003a","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.72-alpha.2_1741993644668_0.32269965466123995","host":"s3://npm-registry-packages-npm-production"}},"0.1.72":{"name":"convex-helpers","version":"0.1.72","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.72","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"1933916e2b662453cad2a3b11b4a3bacb253eb0d","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.72.tgz","fileCount":105,"integrity":"sha512-q/Kpi3v9a6mivcPc1gAU+XqkbfYCZhERgBvEgrtAXqMeRogHzZ2t0iqbOpswgbrQ9uU7oITXeSp0fZHMvs4cyg==","signatures":[{"sig":"MEYCIQCq4N3+wMCIhved6OL19ca4dBlLh66r8+LE8fPeXn3faAIhAMjjNl5aQx2MmH9RQRWoQlFW6dh17Qe46ANYLT2bKvpq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":969124},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"bf4c668f167a654dd443cc20c9ceae47ed654263","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.72_1742239049987_0.5230715948784053","host":"s3://npm-registry-packages-npm-production"}},"0.1.73":{"name":"convex-helpers","version":"0.1.73","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.73","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"44b16474c96d46d9cee0d11bfbf471b640541d8d","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.73.tgz","fileCount":105,"integrity":"sha512-tLDbLq1L8e+ZWPNp+XVufnBvuf9AwuZ3UGQhQO/NGhhAQSun05EjxMomK7MEG2NrUb8uhiUU2l9O1ByL9yTTyg==","signatures":[{"sig":"MEUCIHmGlHgft+IcmWGmpHvTVlGVKjuF/qde+BgBQ7r67fHIAiEA00AjTYEkJ/c3P7hXm36UHWBWhPhkxV4cHcLtn7PIpeQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1012718},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"d2878ae0424f4c78be1257ebe6f86cee604edcc4","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.73_1742325125495_0.23722158757204115","host":"s3://npm-registry-packages-npm-production"}},"0.1.74-alpha.0":{"name":"convex-helpers","version":"0.1.74-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.74-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"2908bc4213ecf0a02e9258428b19ce9f984f8e47","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.74-alpha.0.tgz","fileCount":105,"integrity":"sha512-sK+dkQU/3UvmKnEIQDHvR11zeDTRlI+x0YoqwK/wx1qG0sWmLxO7uOtkuoOnNA065G//VYTyLljd8f8p9/VnoQ==","signatures":[{"sig":"MEUCIQDC3v7gU7hLjl4thZTvbCvmpC0GL/y84LbsbEHR06onawIgS1HzExjfx5HMS+EkRR0ZOvfHTBBLuSVflT0tvxx9LSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1013509},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"c49bff51458a700bce9b24f7804615dea76931f9","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.74-alpha.0_1742519471615_0.9081416908452062","host":"s3://npm-registry-packages-npm-production"}},"0.1.74-alpha.1":{"name":"convex-helpers","version":"0.1.74-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.74-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"5ffbc05f6c3cab1a137e87e505dc98db71b24129","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.74-alpha.1.tgz","fileCount":105,"integrity":"sha512-R9+O4EZ4aIR3ual4GH0mDR89ydZrI8f0uMn5nKacPx9aleT5YvN7/+LL2GH6XkgYg5bUhu+hqPI0cwVJ82GhLw==","signatures":[{"sig":"MEQCIFF3Kil0zfHhIW/O6wnvphKoetg3daPpg08mZlyOUdYVAiBFY+jWYYzqWd46XPQv2SPUvCHrKoZVr0g03W3hCUqv9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1013466},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"010c2e57b7bb64570a3886599cd5ace1733c65c0","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.74-alpha.1_1742520483109_0.7510245484155933","host":"s3://npm-registry-packages-npm-production"}},"0.1.74":{"name":"convex-helpers","version":"0.1.74","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.74","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"af86597f0bc3b863c6dc09e20d80b867ba29ac9f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.74.tgz","fileCount":105,"integrity":"sha512-/+9MXm4BPezj28rHwhRIkDXLTLvgxicHMpYbJnwxaYmszOFTYtrJwlPlGqCrhf7egNOEjOwKvqqIRAUmi+A86g==","signatures":[{"sig":"MEYCIQDG1CuRRqwPkOQxNC7w8VCat1xiUSsosRTVU81LOT/GHQIhAKGKJGGHJ9DBDJ29EXnLZX5EkU8xWAT86Q/MBQUqyPtw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1013458},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"cf17af6ccfec376d8dcef5d568d8377382078a5c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.74_1742522182581_0.36777896240835317","host":"s3://npm-registry-packages-npm-production"}},"0.1.75":{"name":"convex-helpers","version":"0.1.75","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.75","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"c62bc73bf418ad231ccbbbffa0c4831a2287e6ad","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.75.tgz","fileCount":105,"integrity":"sha512-8o0AOQRlV0nnqeg1qGtsgqQcqXNxvtggSd/PcUyeV8N4esOcQnJLrpWvHJ5O95CiKNO9r2H1Jt5LrO7Vd7rPLw==","signatures":[{"sig":"MEQCIEJnb92tTFFPbnNnaK6NPYmxo0xRvRbxNOWLkZ/cN45SAiB/vcy7jyEGcF8spHKx/6V3f4hkDs3GqMGbbygSdgFJuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1013470},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"ae25e8da4e88512562166eadfe49d0187646d2a4","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.75_1742778790137_0.9203299941818219","host":"s3://npm-registry-packages-npm-production"}},"0.1.76":{"name":"convex-helpers","version":"0.1.76","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.76","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"9e01845e06a1c82b2f32e1587a9810936c450581","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.76.tgz","fileCount":105,"integrity":"sha512-JGMAlC4DRRcibhdsdIm6FQ4kTEwAAMmYqu7aIFjcpxoxcCP1VEZ49YenYBYZUWpTa5BTxnRcd/TRmynsnhkktw==","signatures":[{"sig":"MEUCIH6/gPJni4C9JMCq03nrJojr7k/qTA6pwuFjH1SSApTtAiEA+b0v4g58qgPmPfln0c+0C3SmW0AmKZg58gTrDP3Wrcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1013916},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"5f1279440ffa371da4b5e59db8f7947a6ed37092","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.76_1742928514495_0.2612486711474875","host":"s3://npm-registry-packages-npm-production"}},"0.1.77-alpha.0":{"name":"convex-helpers","version":"0.1.77-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.77-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"91531969f472643f6105094438bceaeba7c0506d","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.77-alpha.0.tgz","fileCount":105,"integrity":"sha512-+syBrblpxr5LVvfljcMVaL3uCUYjT4Foh8jO3VPMz1PRI4v8PCtqhzNSPlKvwu3hMEJwe3jpm7CA/6JHNDKlCw==","signatures":[{"sig":"MEUCIHszu+KCMD5Hdd0ampa454ofjOJjlNkHQm4EUqXZox+xAiEAxsA3P6a001yftx3VswiaLyklfFlgLRJymy7dA359YLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1020702},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"f93b3344412bbb02a1f22a3a3a597628eed3e8be","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.77-alpha.0_1742963243604_0.10622647140103414","host":"s3://npm-registry-packages-npm-production"}},"0.1.77":{"name":"convex-helpers","version":"0.1.77","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.77","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"58dfcb1d7dc1d21ed50f080ff59a75a3e38d2839","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.77.tgz","fileCount":105,"integrity":"sha512-+XXzSET5r41LOIIb0dTJcWvr41X/WmEmdaUuK6Oz71s33c/iG+WTCoMzuWexGYNY1wRTg6m8MQa0BJDfdGHESw==","signatures":[{"sig":"MEYCIQC0g+AH9JcnTuY7KLBa042m0yZafN/bXuw0uml03gMybQIhAPaD5Vpxzgz+6RtPqb3bi6cLRxvya06fQwfn09K7Ml4J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1019946},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"0ed1ea6bb27415e03d9045aa112b745b9a3ce7b4","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.77_1743669828353_0.6123526941884414","host":"s3://npm-registry-packages-npm-production"}},"0.1.78":{"name":"convex-helpers","version":"0.1.78","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.78","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"9b8ccae6883335d92dc0c222391f4a77f4097d1b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.78.tgz","fileCount":105,"integrity":"sha512-furrk3yEtmpuAenMUsLOa+IPTncYhUolziDsfsNE2Vo8QYqJlumQlj7X739w/0LyuRksA5zuNnnpJC2Ss6vkVw==","signatures":[{"sig":"MEQCIHq6RC8n8iqI+LCsPRkR7h7LpKbwRKLxPswsiVukshTlAiBQFReXgqWR3RklAYQ4siJemyOkml5zizbEx5nDm+7jmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1020356},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"c9f8d9b2413020992fe6fd0f00031ed5f10848c5","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.78_1744017049105_0.9656162077122936","host":"s3://npm-registry-packages-npm-production"}},"0.1.79":{"name":"convex-helpers","version":"0.1.79","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.79","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"70b162736b4d48a1016807ab40b1b1092ff0f4b6","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.79.tgz","fileCount":105,"integrity":"sha512-jYe2Uhyz6x41diB8t6BTsoUankPQKMGQUyoA4aZQrPOOpu/hyYpA2mnkaNot59GfrnY5fw5METvZaGxIj3fqjQ==","signatures":[{"sig":"MEUCIQDVai6XQGthNBBK5zXPycOdE5+WxlvkDw8x/LyIYgJ7CgIgAIUsf46QathDI0vjzkJu7q9EPOZpVAUBUu2E+aLotTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1016963},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"fd48cfc4302849b23948f2eb127601b6afcc30c4","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.79_1744398493194_0.512817750031777","host":"s3://npm-registry-packages-npm-production"}},"0.1.80":{"name":"convex-helpers","version":"0.1.80","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.80","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"4f26e776a123d5f7733203053991f7e7e068bab6","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.80.tgz","fileCount":105,"integrity":"sha512-6XnTmPNAY2Ndo35oYkPARC8TYrDrHAatjvs8aHBmVFkoATr1mo5j10GAf9fFBkCbHBdgrJWIyUq6HY9JwZy1Qw==","signatures":[{"sig":"MEUCIQDR6+bXLlSAhUHJz568NnMyksy7xRfkgOW5qtF2flkL0wIgeX/B1LRNXQogdd7ZpPvVtgVT76lRIqAAuI1jHtlvjZE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1017206},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"682bee5224c2403c7089212fadbbc5baf0efa7b7","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.80_1745868199434_0.07483172876386956","host":"s3://npm-registry-packages-npm-production"}},"0.1.77-alpha.1":{"name":"convex-helpers","version":"0.1.77-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.77-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"87bac2974de13b388c4d0641dbc0ce0004ea052d","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.77-alpha.1.tgz","fileCount":105,"integrity":"sha512-U4yLpXNiWQjrWN1w7gNfGISgEQUzX8FYHF5iIQLQD8hhGqecvAEuQzXTQnFRlJWsZbRq1T2marl8LpjuhYWbDw==","signatures":[{"sig":"MEYCIQDdL0KccJvvFxwAYFUyRuSjSGekpe0Hz6xe2+HhJKli8gIhANAOZAsxQHbt8WurrlTkZpo/MrztM11tHw/7dFq70mFA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1023222},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"a331963d5fe6c9349c40268dba6a6e6cddc3b4aa","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.77-alpha.1_1745873095235_0.7348777418111183","host":"s3://npm-registry-packages-npm-production"}},"0.1.81":{"name":"convex-helpers","version":"0.1.81","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.81","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"938577f94e655a64b2d335eea94cc37ac9ea2962","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.81.tgz","fileCount":105,"integrity":"sha512-essRbDLDirQh0iuKlQW6OfvC9/oOFxgc6X8y3ATqFVTk6Hnkjf44VkZj/wFscieqjmK4ZTBlFJStrwKrCD5oYw==","signatures":[{"sig":"MEYCIQCUMJQeJKj5FlF1+Q6shxujme+L3YSQ6cCEZdmVyC4Z2AIhAOIjtxd4F9iGELtbXBiJ1eibQDfLMY3ma/IZ7F7Rvzwj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1016963},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"5654453461313068afc0752c4e447130994cf772","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.81_1745958726637_0.5382531177738688","host":"s3://npm-registry-packages-npm-production"}},"0.1.81-alpha.0":{"name":"convex-helpers","version":"0.1.81-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.81-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"261bff568bc9c05cad3e3377614ff0d272f2a06e","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.81-alpha.0.tgz","fileCount":105,"integrity":"sha512-h3CHcY4waoZwq7tSZ6bRqr1VgDy40kh+P9alRDUoZf+nJoUuUth6jQ7s3tXQuA4AkFJnZHBsDqNs1aszoBZwKA==","signatures":[{"sig":"MEUCICBA9n8F8IYQiF3LqvUe3MQq89u0n1baJ1s9P71akbEiAiEAj5iwEixPsd6XHa3ekS16Y6AdltQJ7IcFzstUGJPKGeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1024355},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"66a347c4d74478f6870cacf102ca69fac4b0568e","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.81-alpha.0_1745958807594_0.7092211943065032","host":"s3://npm-registry-packages-npm-production"}},"0.1.82-alpha.0":{"name":"convex-helpers","version":"0.1.82-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.82-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"e57bab0773a23dde62e2f9d07eee328fd6d8de7d","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.82-alpha.0.tgz","fileCount":105,"integrity":"sha512-DB20EvOQlUmi8RJVlvFohmRtFLBtuNeg3kLHfxJXU4cM3DOTUhIvRn2LufoEiHMni0hpcJ/tdth3B+WgR4pGaA==","signatures":[{"sig":"MEQCIAia0q90ifeYeiXMklDZD4gRwv0nSzUIv1IHqQC32/NLAiA2rmR450LRVm6FhBGi9YLqx7ontvVue+yc5430QzrUVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1030040},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"601602acee44f797d1528b2116d51ff9b908bdb3","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.82-alpha.0_1746140838076_0.7981467592470233","host":"s3://npm-registry-packages-npm-production"}},"0.1.82-alpha.1":{"name":"convex-helpers","version":"0.1.82-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.82-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"e8f760f2435c4c2802df1d0b2a62bffc62c0d866","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.82-alpha.1.tgz","fileCount":105,"integrity":"sha512-A/ot21wMaOb2izDdJlzPRHWLLkrbBrBzSK8v86qBq3OCcrvUyEh8nnQ2IquJVBRVjH0FkgTbepYbUy6CyuGsSw==","signatures":[{"sig":"MEYCIQC720KtKEpMgfJQncG6R3wHfWALpB3xqFav+6OePi2/JgIhAM8+TO3s0OrgvmPwpQivS0olxmnR49d3dbasyMHxP8lU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1029982},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"44afd9ee2764aac1855a901e6ed7f8a05659b416","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.82-alpha.1_1746141549317_0.25516526800469386","host":"s3://npm-registry-packages-npm-production"}},"0.1.82-alpha.2":{"name":"convex-helpers","version":"0.1.82-alpha.2","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.82-alpha.2","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"ff5de03d64c5cddea068e234ce1e7604116a948d","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.82-alpha.2.tgz","fileCount":105,"integrity":"sha512-dW5zXyMqflrLeeXjPNyFaYhhYMJQzg1iovQb/fialzWc64Y2VTujsOCZ8tffmHGTfDNsG2y3FpCfHt8lSl1sOQ==","signatures":[{"sig":"MEUCIQC3U6YZn89fFRz+Hhjel+6l351P/8SOCOw8v1E5EIkjaAIgfciETr1rhvqKt+OUptNcPDjYEdqBoJYgT/AOdzJg6Zk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1030948},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"d19fbccfe334aac66737b8f12d285db31613fc1c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.82-alpha.2_1746145584447_0.6440825457342341","host":"s3://npm-registry-packages-npm-production"}},"0.1.82-alpha.3":{"name":"convex-helpers","version":"0.1.82-alpha.3","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.82-alpha.3","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"2eecbc5c134552b4bbbdad6428849e8a85285312","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.82-alpha.3.tgz","fileCount":105,"integrity":"sha512-nY6uqILssLEOsD3k7xfsu8exZchnsCsbM+VHY8Lki/RJRCybPfFEG9DROWNui0bl5fYFd36wVyOi82LD8EwIAA==","signatures":[{"sig":"MEQCIB5f13w/JKI3e70Rhyu/VWdpa/15t163q18i6Xp1LPrYAiArLZG/HeueHoMpYlY3Ai0TUoZW6NzQI49xzJbq20gUoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1032081},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"962fa699fa9645364449779701700341f931b801","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.82-alpha.3_1746147085749_0.8319244501080358","host":"s3://npm-registry-packages-npm-production"}},"0.1.82-alpha.4":{"name":"convex-helpers","version":"0.1.82-alpha.4","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.82-alpha.4","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"509ca92e4ad5b00e862a9d30f932eac3d4edc4af","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.82-alpha.4.tgz","fileCount":110,"integrity":"sha512-E1fLiEZd0PCoZ759gaO63qVBB4bBY0SEYSilR3X/L4cMtAONG6rD9puvKEMj5319tvJaNsYuptgvTLrc6e/Wpw==","signatures":[{"sig":"MEUCIC+wc2qDX91O+1dAKxEbEQU0XPEyEOIExnjEPSVbpz/RAiEA+DdA2JC+H80gSmyl1NBOVe/cdml7XeG5LtHmRDnFICQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1041653},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"2503edb2fe81c7007a8317869b55805ad80fef84","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.82-alpha.4_1746149429401_0.8686278121691997","host":"s3://npm-registry-packages-npm-production"}},"0.1.82":{"name":"convex-helpers","version":"0.1.82","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.82","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"841971c6d1d2af9acd6435e451b0f59fe5c7663c","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.82.tgz","fileCount":110,"integrity":"sha512-LzxgpGuCchOyYJWTSt/V5Ri32NfbYe6GqdjHzbqP47fQsEqN+Px0pdgloYZfayDRE3+qirSv0kfX8WSYRIpBqg==","signatures":[{"sig":"MEYCIQCQQ87wlK0lINVyMHCNfjmVfXDssun1imf5jD3rVuef9wIhAOX1zGOV1woZg2H3r6cuUmTBOLN0GMX5gc4yn+jiAT8X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1041720},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"416bb025c2d2d81dd35bf1d045a7587ddbef3913","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.82_1746231443303_0.9376206914321441","host":"s3://npm-registry-packages-npm-production"}},"0.1.83-alpha.0":{"name":"convex-helpers","version":"0.1.83-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.83-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"bd6965863bdea546bb2f996c88c2a4dd9b48ea41","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.83-alpha.0.tgz","fileCount":110,"integrity":"sha512-NJ+TgR6hg7a4lCHml9KHCxKsGaUza9PDuLTz3GXUD1XYEX7R2BRABH2RNFqbla1pMwFBoUOJrhT38KOMxXjj8w==","signatures":[{"sig":"MEUCIQCs3BniaEErDG5wj/izigi8NafL0rR5t9B/qgxYQ+a/hQIgTQUtBhS4OYSEsV36RxvmFjUff8aROceaHzJPVtHo70Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1043777},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"22c8af26fed2dd377a390f6bd27c8b8e2f3b3a6c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.83-alpha.0_1746235278296_0.6074404900783432","host":"s3://npm-registry-packages-npm-production"}},"0.1.83":{"name":"convex-helpers","version":"0.1.83","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.83","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"58484565dd18dc5da2642bb76cba4fd9a5c7c79f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.83.tgz","fileCount":110,"integrity":"sha512-Tdv+pOv4MWSM7GNvbTplH4N94Om+BAh9WC1RkIE7rv+f/HGmdaBFJy39FI2ceg6AJmuTJeY2dtkL0t1OQ8H5MA==","signatures":[{"sig":"MEQCIFxVv0kE+UAyEIoGH+sJdWTRU8FwGA8oBt1VJy+FTNHkAiBZpETgQtqhg7Yt4btSayNVW5Nbvrl0lyToRycZdE+kNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1043769},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"9a05c85f55f1d2f6623b10bbacade21685a3a637","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.83_1746235602509_0.32026708133348114","host":"s3://npm-registry-packages-npm-production"}},"0.1.84":{"name":"convex-helpers","version":"0.1.84","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.84","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"31103f138c4272f2dd8673891b88ecb1f71b985c","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.84.tgz","fileCount":111,"integrity":"sha512-jL9yHKpXfraILniUh9GKXsij4G/NOHw7GTnuld1wKcyno2afNqj3DwfzPZXvAOSH1B7H20WgbjLnyFTIrGcJKQ==","signatures":[{"sig":"MEQCIFBEsW7wy5Xty8Kb8o4XYNUZPWFxzbrGrx205SSXznb8AiAjdz1+xldTd6mwAHqOhpmtm4rdb0dib2eUX6vatmWIVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1046535},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"b81bf3b57e98577128bafb9d287c3925039eeb5c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.84_1746410136288_0.16997289542822136","host":"s3://npm-registry-packages-npm-production"}},"0.1.85":{"name":"convex-helpers","version":"0.1.85","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.85","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"a6fe94ddd54368cb6288a8a8b9a5fd614b18c27c","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.85.tgz","fileCount":111,"integrity":"sha512-1DDknxiHychnzhoXbtNpvf1AD2EoDr67gX1EEZsgHeGq+PtQ9rQeiFeI7grss1MN94wL7YfHcIjTOZWJLVOjfw==","signatures":[{"sig":"MEUCIQD8vmp53DBb/zQCOqhQjVfhdDT1Fv0hydFcSJ4Gto/XdQIgRxw7mQWBrrSpIfS3hqvrjp2fs2o2zR5fzLOl1abbra4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1050574},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"433210c97992112ee58d9febf3dcd7fab909e69a","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.85_1746479414446_0.02538695610918218","host":"s3://npm-registry-packages-npm-production"}},"0.1.86-alpha.0":{"name":"convex-helpers","version":"0.1.86-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.86-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"30998e69c5ac89804e92d2d57c328a78f4e37eaa","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.86-alpha.0.tgz","fileCount":111,"integrity":"sha512-hzze+NH/mcKGASDemREZOasx98TP5dIMVKOY6XNW2ctqSBSzzNUIShh3quOskMj1+l3Tzb3YpUqD0uTO5vJQ9g==","signatures":[{"sig":"MEUCID/THN6CuCOT46JbyXjInMe6bOWzHzKKvisufoqKgmHzAiEAy4BPWD3XB89ep+K83BaTafH878fQ+9v9juHquBSoAJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1054960},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"f488595370b26844cb190c173273543334fee45c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ballingt","email":"thomasballinger@gmail.com"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.86-alpha.0_1746845949198_0.8907715146090149","host":"s3://npm-registry-packages-npm-production"}},"0.1.86":{"name":"convex-helpers","version":"0.1.86","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.86","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"388c9558d3100cfd299e90dd25fc3d4130a036b8","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.86.tgz","fileCount":111,"integrity":"sha512-ZJBrVykJpM2XJhlLTpejTFKDxGooEce6n+g/3BbTfhiBHBJkf97Je+VKMtKFfKS50quzc3lqGrt3XIUlhyyZNQ==","signatures":[{"sig":"MEUCIQD4X2PZKjHk5nUhQuMqXY7y1DhKTMUB4SCUMzl4SXDMAAIgO+X8BwamGActfdfvnQg89ZRgEOFmUYbYUVqUNNs4JG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1054952},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"086c54a6cc79d3b7afe4dbd9ea7975a927521a29","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"13.1.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.86_1747076896066_0.0902158237627424","host":"s3://npm-registry-packages-npm-production"}},"0.1.87":{"name":"convex-helpers","version":"0.1.87","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.87","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"c92df6e79315eefbebf85c338d5864fd14b00182","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.87.tgz","fileCount":111,"integrity":"sha512-M1eH+C7QExRoUn+gWHDENRxHrgCCE2ajJn+1a/kHtarzrFFYz4tb7rNMwFFLnAqIi9xyUoLCtUjjHKzV+umQDg==","signatures":[{"sig":"MEUCIHaWJpy15Ui52Afs7sstx/rdBwirJynQ6ALjHke3F+X2AiEAwGYuJBLOU6r98ujW9VOCI/ch7H6y253UU6Ws46/5qU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1055077},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"ddd537930a7ea4472ee163077f2506ca4c9b3cda","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.87_1747762639742_0.447227404437494","host":"s3://npm-registry-packages-npm-production"}},"0.1.88-alpha.0":{"name":"convex-helpers","version":"0.1.88-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.88-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"7bc08ee5cee1651167bbb6774b78cfdc1191ba55","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.88-alpha.0.tgz","fileCount":116,"integrity":"sha512-/F/U+sFvhW1f+cK3yvcKh4RSGiOUw4Hkz1mASKmjUoC5c8RXT4AmrRyd699tOe3jpwh3GbwR8wFMyoOU9wDqQg==","signatures":[{"sig":"MEYCIQCoZPpbHWak0mKW8Ms3FokmOpBLGHziWX2Xjrg6Ir8JvwIhAJ+DLfqYcyuI/tUZ+eLtICc1QQEtnE37TCmWuX4Y1Zlf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1065777},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"580490bba8f16ea82c5a9bc12b3ac5d98e693539","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.88-alpha.0_1747957079197_0.34849843974035655","host":"s3://npm-registry-packages-npm-production"}},"0.1.88":{"name":"convex-helpers","version":"0.1.88","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.88","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"0183db738f1f060d7981bf0cc05e92ee5968a82b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.88.tgz","fileCount":116,"integrity":"sha512-y0yicUG0oEUoNqgXSVVYHJq0bo1d7oWlhZL+Hp4nk0sDvVZj53da7itnUHxRS2pNPPaiOUu636TjjozqofcJQw==","signatures":[{"sig":"MEYCIQDt5JlFj5Q5BvUjclYlHzYOpPrr5zTMsKbjUvfskaFv2AIhAO7NnbgimeUASCqTHImg2eGU5L4Gj4awCJcJMBRivbeu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1067030},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"c6ee925c75fe98234b538c41636ee23c0d0f48b7","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.88_1747963932337_0.22931448880609118","host":"s3://npm-registry-packages-npm-production"}},"0.1.89-alpha.0":{"name":"convex-helpers","version":"0.1.89-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.89-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"1a9cd2426eac2bb8055d8bf635ece324f876393c","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.89-alpha.0.tgz","fileCount":116,"integrity":"sha512-0evXlD0KHTRhW/c9VO3FNH8M3eYRHFomWVO9nCCJUEzk70R7vFf4co92u0h38KfWotIkjuVsMMmGTnJzU1zUaA==","signatures":[{"sig":"MEQCIDjX/wvfOaHPbhT0c3F8Uc6a5o/exhA0cxOJtOeDw3SfAiA+uH8IWa5OXCcTNRhijDZILPEPkGJKoT/rxjdiN80OOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1067354},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"dad144a9f1f0e07c2b99500cee7e0a54b89d1b26","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.89-alpha.0_1748023677406_0.7023375867136026","host":"s3://npm-registry-packages-npm-production"}},"0.1.89":{"name":"convex-helpers","version":"0.1.89","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.89","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"023574e52923a9b707e04859bb3a43361b4b25c8","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.89.tgz","fileCount":116,"integrity":"sha512-G/rfndoWBAChChDe6d1UTD27YadwTi0vzZrwy59gERCnumFVOJVS6VItMmlVr4yCOTXZwd69YEVbVoP8BvssJw==","signatures":[{"sig":"MEYCIQCzPBFrfaclyS+IaLvf36+PpFRxKQ2/DejN+11v2RriVwIhAN/Cdzp+6MVrmDJ6NAvzJ0YtroXkJ8f2W21g4VbzriE+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1068389},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"868192ae0d5c32e91428fe79032eec5ec2de510c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.89_1748035077704_0.05330830037701051","host":"s3://npm-registry-packages-npm-production"}},"0.1.90-alpha.0":{"name":"convex-helpers","version":"0.1.90-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.90-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"57b4d528f074221c07a5987e9a1240a0574aae0b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.90-alpha.0.tgz","fileCount":116,"integrity":"sha512-jGqcfecEnieJBtzGyI/dCGl5hvPniuMR/Q16r8rpBdRJLrI9lJkvuYq/6Toa3F+Bu8uMx4Dm+j/LHkQx1NOcdw==","signatures":[{"sig":"MEYCIQCwgc2daU+Sok73fII74PzxLm7YcfPF9H9igBScisIodAIhANc+oiWAigJVlvsir0qXaMZqCNO4JOIZk4H69RgKyrHF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1093286},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"793f581344554a56ce05f45d5ad4da9fe92c3ff4","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.90-alpha.0_1748039678632_0.19171374114950201","host":"s3://npm-registry-packages-npm-production"}},"0.1.90-alpha.1":{"name":"convex-helpers","version":"0.1.90-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.90-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"30d3276208b096388e2f1951761b6518fbfd518c","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.90-alpha.1.tgz","fileCount":116,"integrity":"sha512-ra9DXDHaNusKPOQfWCwW32TAD9fphXOsOauIEH6XIsVFWK5JIEYnWHMkprOd4jO0ca9H+OByZSaiLMbcOm+x4A==","signatures":[{"sig":"MEUCIQDar6pB77w28+Mt7uM1dvoAxOq3f0/mVztV2oatU9o6tQIgZALKcGuMR5T3Fjj1FTsf0CtnOUwktbwAUOgJ4GQj4X8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1093355},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"17e0ea8e26567723e9ffd882d8e5e8d32e74760a","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.90-alpha.1_1748040437833_0.662215300509827","host":"s3://npm-registry-packages-npm-production"}},"0.1.90-alpha.2":{"name":"convex-helpers","version":"0.1.90-alpha.2","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.90-alpha.2","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"df1a16985626701fb063f1c94bfb26e79ed75285","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.90-alpha.2.tgz","fileCount":116,"integrity":"sha512-tkxCv8H4eohf5n3hVxnqdvtwks3jIvsy/3z0HF1n7zNopfD1iMry1/nAa9AZJeOx3I4o3Hk5zLSXXAhQqsr1vg==","signatures":[{"sig":"MEQCIGqApXrVINUSydXccik1YdL4VzLcn4Ild6CPpwGWJfmQAiBkDViAeXsq/4sVOE7YLMnOknGwz89aw0ssLwsO+MTHbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1093801},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"eafa524d2dc576cc3560737a03e184c5856f16d7","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.90-alpha.2_1748239110736_0.9313637708775186","host":"s3://npm-registry-packages-npm-production"}},"0.1.90":{"name":"convex-helpers","version":"0.1.90","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.90","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"e6fc318a6cb2731fbb1d66d7657d041d718c2ea4","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.90.tgz","fileCount":116,"integrity":"sha512-tbBi6niAJ36bVCuDV0nWxfF4Q963ADXlLtseOPTLOCbtTPl9qycqQPg6Zk11uMOb2sxiBUrMpfgmyGuJkKyszA==","signatures":[{"sig":"MEQCIExPLc3PzNhzy9N4Zg2AS7iQpyoexVHnnhOmfXHq2tksAiB8rlI8fg3teNpiRRaSZ/+Oi80Q+vuuiag8hl6ihorL5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1069661},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"259fd0ca0fa5beb922c750e24081d82e7da2c49f","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.90_1748897093722_0.12889285712184395","host":"s3://npm-registry-packages-npm-production"}},"0.1.91-alpha.0":{"name":"convex-helpers","version":"0.1.91-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.91-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"52ec05c719a68028e396983034f11fa4206b6937","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.91-alpha.0.tgz","fileCount":116,"integrity":"sha512-uOk18bifAjxjnuEBPoaIJDT7i8FY9VWZszIeyCA8hSr9mRwxyLJtPw158vNIAwcI4BfO9bCHx1BuO7Af1kecBw==","signatures":[{"sig":"MEQCIDYuXmyEaoZMfn81f2VJ+l6nj/DLHPdtTQ/zkHymdj+GAiBVlwB63V8H3O3TQmRbJdF2WyIOZ/OogoEP0DSg5whfBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1094701},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"1557974a5dcc51beaf0b585b4523c2fb64c03ecd","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.91-alpha.0_1749167725007_0.7740354587688612","host":"s3://npm-registry-packages-npm-production"}},"0.1.91":{"name":"convex-helpers","version":"0.1.91","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.91","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"88476e7082d5cf79325b9c6df0a257a26e937eef","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.91.tgz","fileCount":116,"integrity":"sha512-sSTUxO0lxs1uNCx9G2dY8cs2Jn7Xtxs7Z42JIC6ua0QGSSxTjs+1uMgpoiRDugCYvH4ClQvvZP8HeN7HHnC72A==","signatures":[{"sig":"MEYCIQCBAihFZBjnKfg3znZDSMF81vAdvXtyFS8LMfAlMhx9swIhALqZGaIFJuhcGilZ3PHOra1BxMjstQEp5ucZY8Vu4Ayu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1101561},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"70dd24c6c2ea5efd58a1400c983921546b2135ff","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.91_1749180687804_0.5357316864441526","host":"s3://npm-registry-packages-npm-production"}},"0.1.92-alpha.0":{"name":"convex-helpers","version":"0.1.92-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.92-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"fe75152ac8720706e53cac6f3f847ec3e4ea9ed2","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.92-alpha.0.tgz","fileCount":116,"integrity":"sha512-z7brfdh1V7H5xay+rO7gSfh+QFZfkp/dTt2W9I0Unh9un3Sq5ziTYOK8KDzj/27Krjozww+bppUvNIFxawq4jg==","signatures":[{"sig":"MEYCIQDS2KMqwvSeGRWHpvGguu+3fqEaqH8Mgc1NDlL+VkBecwIhAKExOQdAs3SCx/VFhhrYpqEeJW4+i+B3/iK89ftp2MZn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1101579},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"3226938b62602b7c68cd6df34ac3dea3245ec945","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.92-alpha.0_1749191018967_0.623971282889463","host":"s3://npm-registry-packages-npm-production"}},"0.1.92":{"name":"convex-helpers","version":"0.1.92","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.92","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"2d30ca53734dcbcac50d95991ede8e1417190dc6","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.92.tgz","fileCount":116,"integrity":"sha512-k8Gm+JhBdS8oRHTORMEJQYHjOa0jmwV5ugCBh38Rfr+RilvYLNzc4oTD6JH7jngRf6eaChlQhvyu1cCxzr+1Ug==","signatures":[{"sig":"MEYCIQD9U5TWYA6RdWNSsLO4HyxtOA4w0D6sRTSP7R9jSErK6gIhAM+oA+8J45rP4UGjkiiUXpZZLw+igBOi4407sREJGgLu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1100204},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"cc2553f72f25469a1d1a9928e3a92522baf95a4e","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"9.9.3","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.92_1749245501239_0.5989172246762153","host":"s3://npm-registry-packages-npm-production"}},"0.1.93-alpha.0":{"name":"convex-helpers","version":"0.1.93-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.93-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"023ee405ccec43765645abf9859af67cf947c4a9","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.93-alpha.0.tgz","fileCount":116,"integrity":"sha512-w8RPckEPTJt5ZZcoTMg+puFQ0bFLA/n0V88Kc0TQUjGZ/IB8BYRRZ/whorGwQrPxOQxLlxN/CrxSEUGS6ujqyQ==","signatures":[{"sig":"MEUCIC67M3D/pYO6EhKU4jf4rHU/+o3mpvccS2nB0SzGiL8fAiEA/KCW5F01LVo3TCwkMD04wzwNzPp/mqi15z6yl1rSbBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1126323},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"a23dec807182b9324d917c624d40baec2cc6b5c9","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.93-alpha.0_1749711553376_0.7060107737191648","host":"s3://npm-registry-packages-npm-production"}},"0.1.93":{"name":"convex-helpers","version":"0.1.93","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.93","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"664264d87c81f96acf16e19fb2d3fc9eeef4e2bc","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.93.tgz","fileCount":116,"integrity":"sha512-Y/ml2BV/Gi4JJHm+mmyqUXXm4EqzksbAKpT3CwX7SMuE+w0bdwQamDdD+MF4AVlqlBF4AJu9UBGE6HV2U+e3hA==","signatures":[{"sig":"MEUCIQDpTwpiQ6nacCuk1RIwfiXPru2OhQGqzaTvnsrCcr9CgQIgUmMXdEQQf64O6JxRfGI4PkS0OdK4/aEZT+JFu0vXJqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1126939},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"5f8565f5216d2898dba1f584039c1f8b90c911fb","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.93_1749712130999_0.7066837221017566","host":"s3://npm-registry-packages-npm-production"}},"0.1.94-alpha.0":{"name":"convex-helpers","version":"0.1.94-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.94-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"d6d03b72e94e8830573fe8b52040e4d95f5888a1","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.94-alpha.0.tgz","fileCount":116,"integrity":"sha512-y5z7vMmCHDHas8XiMr/LRAyrr5Eg7H/gqIgXUZH4RxbKYct8/pKjOjBf0N+DlpyE0p6GMriA/BqjmGZg9j2UZw==","signatures":[{"sig":"MEUCIQD4aAClHFKex5ZlfemWpNZYiQWPYWtudV3oeOvEUW9VLwIgG2hMQluwqZrrxuv8RoPIgbwKYltHHKgOwP2eNuHmvJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1127680},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"f5e242e08e359714cea239fc85b47a087b5ed94c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.94-alpha.0_1749859052759_0.15263068296777793","host":"s3://npm-registry-packages-npm-production"}},"0.1.94":{"name":"convex-helpers","version":"0.1.94","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.94","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"3a1e68c8377f9d0722733ddbe3bc8c57e8948dda","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.94.tgz","fileCount":116,"integrity":"sha512-35o9TzEUdze3wGHxksk9Ynutw8ekxp/kbjs1dlfK6iZwPJeKbv9sqRXIyvPytTGvMmoi40fGm09f/z22gg6L+A==","signatures":[{"sig":"MEQCIDcrqPpEZ1meHAjhzSenum/5iinE1MhoLbfnDIOi0bu0AiB56inwqCQBOLCOlkKOpCeOBY6Mv672WOMLDRkAQ2uGbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1127672},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"a7577c8dcd8d825ce07798fcf3c46737f151ea5b","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.94_1749859343509_0.5311011091498645","host":"s3://npm-registry-packages-npm-production"}},"0.1.95":{"name":"convex-helpers","version":"0.1.95","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.95","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"ab8b2244d7f3280327d520084fed4da5910f67b5","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.95.tgz","fileCount":116,"integrity":"sha512-M3VK71l8uNxJCGhtPfOjKJOkyr7KRN/kHa1MGNwH2PQO3BDMCBvDbNZcQQPWZWU5npKecLoDMcHy0fvYPfM1QA==","signatures":[{"sig":"MEYCIQDNFJphYUC2Epgky3fM9nuSioSrDcuJmW5c7ZqrZrn1NAIhANLsE3wtkceNz7+kIweV3ytq0m9qGGdRIjMpDlxa//EU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1130356},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"4a8fa875f90f0238335a4cf8203004d4548d6c05","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","actor":{"name":"ianatconvex","type":"user","email":"ian@convex.dev"},"email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.95_1750574066435_0.6890482602240233","host":"s3://npm-registry-packages-npm-production"}},"0.1.96-alpha.0":{"name":"convex-helpers","version":"0.1.96-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.96-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"69d626ab73e081a3e880c94f986d00c20ec567c5","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.96-alpha.0.tgz","fileCount":116,"integrity":"sha512-v2yB330YlcwkrPEBVTqKb8tbFV/D4OGok2S1bG+ZivlmTJWtYQsHqTcv78W6HKUEsX8g4Ej6GWCVZLA6fRiZXQ==","signatures":[{"sig":"MEUCIH0Unpfaaj8wYWwv0d/I+MI+7YtyKiUgaQrZS3stipcQAiEAlnVZhojPucy0TLjf4Pm+6uThHi+bPk0JlLz5jbbf9Ao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1132387},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"fbe16458e43d53d2f8ed849e5e2cdfb2fa3365c4","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","actor":{"name":"ianatconvex","type":"user","email":"ian@convex.dev"},"email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.96-alpha.0_1750811913974_0.2700660504949033","host":"s3://npm-registry-packages-npm-production"}},"0.1.96":{"name":"convex-helpers","version":"0.1.96","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.96","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"926ef195bd3076a51ada79ead8c5edc0daff401a","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.96.tgz","fileCount":116,"integrity":"sha512-/qh5NemdRi9LWlPOkUbdxrkT+aVAOqYoiCxJ+7/5w4MKIRyoJhwGHxHHI65tFJJ4geTCJyLlZwtZee/K4VyCIw==","signatures":[{"sig":"MEUCICnvizierMibaPjLkC3xnL+TGRbyVBEx6grm9NQ88x1ZAiEA1xgMtc1RE5zeSnFC1YOtosEp94zfONe9NUJXAgXfLQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1130337},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"f28979f6f8d6f60e06d468aada2b5aaee6290394","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","actor":{"name":"ianatconvex","type":"user","email":"ian@convex.dev"},"email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.96_1751483129124_0.3734570439586833","host":"s3://npm-registry-packages-npm-production"}},"0.1.97":{"name":"convex-helpers","version":"0.1.97","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.97","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"d7e296f9ab41959193e6e9959b03cb4216d271b5","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.97.tgz","fileCount":116,"integrity":"sha512-JirsYsV8MHUND/eWwzBb6EVgnpAFnN6LGbJR7BaQ5lcsJzR3Vi+UQcIFNzqRl34cpXU/Bam09n2rPlwsbVXpYA==","signatures":[{"sig":"MEQCIAUIkMZqbrcPNPQGnZNPhBrp2g3f47o9OLysJfRdeTDWAiA+CsddwfKDyIbJ8WeCCGLjJ6cyJIKEZrxl3df3I09I3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1135531},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"007d062f736b13aa9ce82176e739d2b75e83167a","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","actor":{"name":"ianatconvex","type":"user","email":"ian@convex.dev"},"email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.97_1752011472844_0.0076069631013668815","host":"s3://npm-registry-packages-npm-production"}},"0.1.98":{"name":"convex-helpers","version":"0.1.98","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.98","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"2f26706963ad4ec7e79c73e361c688f8b539f385","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.98.tgz","fileCount":116,"integrity":"sha512-u2IyqlrufVEwvXnXo3cUJlnF21h6FyfgVe6bgrTnxCWSxc+JtHVOHQLrwOEb4TwaPwALUAcF7ctFy81oYn1IvQ==","signatures":[{"sig":"MEUCIQDr5mDyuBTb3nlzuz4XMAh8baMROd6D2ua9QWIAtfukYwIgU17EvDsbg/1iam4u+dMnMOjG/vzmDED3XnnAXjraTm0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1141680},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"5b5d12bcfab45adabbcd1c27208299717bd09a91","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","actor":{"name":"ianatconvex","type":"user","email":"ian@convex.dev"},"email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.98_1752016735779_0.030755137043364078","host":"s3://npm-registry-packages-npm-production"}},"0.1.99-alpha.0":{"name":"convex-helpers","version":"0.1.99-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.99-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"c436b1352fb85d6015fc804935905c34feac497c","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.99-alpha.0.tgz","fileCount":116,"integrity":"sha512-kyd8F0bJyPGjsqQi6ki8jrfQxBDrYPBZU40LRlLjkedjWFrbC2E5h0B/YX21Y1UaAuQbSY3K1uCWZVroMWPKtQ==","signatures":[{"sig":"MEYCIQCGqV8lwsttcdaBS/3a0wSS0h86Q+hQU8R4BfQJ7MtIGwIhAJ75etBgdn36VBHGUH2foHcplFT7V1irlG9jCV5J+Mlr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1142048},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"2fd5f8cc18b32a6a091aec42b205de1fcb57e8d3","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","actor":{"name":"ianatconvex","type":"user","email":"ian@convex.dev"},"email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.99-alpha.0_1752027964934_0.0163840288528303","host":"s3://npm-registry-packages-npm-production"}},"0.1.99":{"name":"convex-helpers","version":"0.1.99","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.99","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"39967ee5bdfc62553d622fa01c1f47c7ba66f82f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.99.tgz","fileCount":116,"integrity":"sha512-W4sV9676vWWIwfYvG76Dxf7biDgpYggvwTLW5fJgLhXIb/XUCacO2AOXu+HrW85GvPRb1LLjhWgWPH8byHiTsw==","signatures":[{"sig":"MEUCIQCcQNiMDVJg82u/v+hNE8kV6PotvCh0gLN0nH3yJQM1QQIgJumDrQ2DzFb0CxzbOB3hQeNG8o7NyfUxnepWPGbwHFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1142040},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"2511eab3f917515d64db4a2d2bb230c93ae2b730","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs"},"_npmUser":{"name":"ianatconvex","actor":{"name":"ianatconvex","type":"user","email":"ian@convex.dev"},"email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"chalk":"5.4.1","commander":"14.0.0"},"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.99_1752028534184_0.7138257766114853","host":"s3://npm-registry-packages-npm-production"}},"0.1.100-alpha.0":{"name":"convex-helpers","version":"0.1.100-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.100-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"8ea856bd2ce564aecb56d344ce0ea2f352de98d8","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.100-alpha.0.tgz","fileCount":116,"integrity":"sha512-MeyPZ9UcaM9NIN4aaIcILgCMhYb9rOI3+IkmAvOgEoxfQdRTPiP9zwtk7qObNkXyM0C0hyDdAe3Bum/lFQI6HA==","signatures":[{"sig":"MEUCIFFeJL2SiHAbKzVhnwM601RjTrfyi4o2TWyv2gnjH4tLAiEAoTXpWa3E7LznnS67l6a8Lm7IHUP73042kRqywsnLhvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1184750},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"35e0f81b5d2c4dec9ee7dfc852c1edd11020852c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.100-alpha.0_1753221505531_0.7615031654988347","host":"s3://npm-registry-packages-npm-production"}},"0.1.100-alpha.1":{"name":"convex-helpers","version":"0.1.100-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.100-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"f158b9e103ed7e46cbdff2559c62b8352653891d","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.100-alpha.1.tgz","fileCount":116,"integrity":"sha512-akYOn8dDjOjx9jMNTi8+tigyH5a6TOqRKrlz/dHLfioXKX3DgGZDf05Fj9ERnRPcC6nn9OkFYSd9i63kFg857g==","signatures":[{"sig":"MEYCIQCkLSMpTOwkKdgpc+ltNWCwMdpU3U44Imbyn0lg+9G5GwIhANIr91oAHG5neMg1rKzfRpTIz0lCbzpalozEAd8prkre","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1186868},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"8334ff8a7a2f316a6a3408aac24c2ec0693356cd","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.100-alpha.1_1753294156525_0.47768817709819067","host":"s3://npm-registry-packages-npm-production"}},"0.1.100-alpha.2":{"name":"convex-helpers","version":"0.1.100-alpha.2","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.100-alpha.2","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"2107dae3b815fc00817b2eedee36423375fe4462","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.100-alpha.2.tgz","fileCount":116,"integrity":"sha512-uaHPCeSq9W/HQ28plvmaSTJnLeWLMHr+PYPmkJQT5AlnHEBp4HJXtyE0ltACGJ8S9NJxz8dq/z3VsRTQTDCCdg==","signatures":[{"sig":"MEUCIGK5S7uXZPC+yR3ROeqQINdHRb2E4tqoaeF9tfAi5jrRAiEA4S6L+/FenaU4NOwoiqccXADs+kC+jek7Fux4fCOVFf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1189618},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"3e5e58db6b1ef32666ada526d98924c4daece744","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.100-alpha.2_1753296956234_0.3279789857729136","host":"s3://npm-registry-packages-npm-production"}},"0.1.100":{"name":"convex-helpers","version":"0.1.100","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.100","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"c5cbd70fb0668ae8630be56ad4d7f8c8bd3b7ef5","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.100.tgz","fileCount":116,"integrity":"sha512-In5VPKKlQdnv9WHpIKLXnLEKyHxaJYI0BXWTDJ27Ao6XUfpeiGPDGhOdqZ8y0DqTcQlDgmtSTmmttUv1fPWbdg==","signatures":[{"sig":"MEQCIHN5Mhc2ULTiY+IKdxVCndsTwAMgSc9HCwprrj41Y+OjAiAVvyTBf8XJ0VXv2nz0Vs80C2dYwn/kyNv6Bf9+VKWlBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1208044},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"de6542fa6037b3c0229f1bbd5b8d7ededba50165","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.100_1753418705453_0.4450753351634884","host":"s3://npm-registry-packages-npm-production"}},"0.1.101-alpha.0":{"name":"convex-helpers","version":"0.1.101-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.101-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"8d17ad38c194c0acfaa590856c03c8990aa271ad","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.101-alpha.0.tgz","fileCount":116,"integrity":"sha512-1+rFzqyj8+84Ok2h5Dd5nIri0BKAXxijnYb8zxTBpJH8litOUTsCZVqY9LBKrPo6jN3w6fXjD4SIs1+ZbxseOA==","signatures":[{"sig":"MEYCIQD5dYVeixvQEJ5zVfb6xrm9dPvmJr2egAJeho/rqI8CAAIhAOiaZTuuo3Vwk4gEl1ifqowVZC+MjIkIAr6d2ZyKp4Im","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1209517},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"912327be5c18f5f94d02d4a0eccf4db081f7fd43","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.13.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.101-alpha.0_1753902355685_0.64536844047362","host":"s3://npm-registry-packages-npm-production"}},"0.1.101-alpha.1":{"name":"convex-helpers","version":"0.1.101-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.101-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"04a15d671ff001c96fd5b2311ae549e978a16256","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.101-alpha.1.tgz","fileCount":120,"integrity":"sha512-mC1omAngfYkzIxRnDQa1aSl5N+ZGR6Sg6vDz0p98FOqMxF8npw9u0yVePUQMpo5DJjCZyNK0nUt6Rh6W4WgTkA==","signatures":[{"sig":"MEQCIAWtUcAKQr/7apIvspMk2nnhucuMQhQfSAcyEQ5q1+uMAiBEgCzwgk70BO41ckAHtHuZCYPtwh57JeBKeLR5nNAhkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1520423},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zodV4":{"types":"./server/zodV4.d.ts","default":"./server/zodV4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"46c0d91f6ee3e1a7aaef997ab4f69ee3d94f63a6","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.24.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.101-alpha.1_1754349597409_0.8906445145551614","host":"s3://npm-registry-packages-npm-production"}},"0.1.101":{"name":"convex-helpers","version":"0.1.101","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.101","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"8c68b1d6240faae65fdb644431157af6e586def7","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.101.tgz","fileCount":116,"integrity":"sha512-NH7TerhVMZPwdgXmRJ2UGPm9O+9HOcy9wpWXjJBFEMB7CoqZNdi5BdfllbCcs5QX2KJD7bidZ1BhH/SNCVM1ig==","signatures":[{"sig":"MEQCIET6Epg+V7Q2n3H7YX7LlXbSPJQ6aVXv9FL59YoxIKj+AiAhqzGAMiXVb1DKBMLYIz2ysMzeinzSfwi5kYSmI2076A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1214195},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"e6d98f6d8b6f0c9bb100ddffe2fb2e8d3e76ab3e","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.24.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.101_1754391152523_0.37926125105886643","host":"s3://npm-registry-packages-npm-production"}},"0.1.102":{"name":"convex-helpers","version":"0.1.102","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.102","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"5bd75d03448304c99af12aa6500a3e675ed77d2a","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.102.tgz","fileCount":116,"integrity":"sha512-FISEUHjTKZFk4GE2jZZt6AvTFZCrzoSW6aXJUTY5IIlfuFvJCry3i6YMvOC3lL6ivR75lVEsGt56rwGP2kCcNQ==","signatures":[{"sig":"MEUCIAxtVrJerHhD9QIpcmlGmP3PPBdjdY3Jo7br1bhSzOWXAiEAkuN0NKnqx9ksCkj3ibFiGib9TGbxcndKVIhdE5vD6gE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1215757},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"7f5914599c836373ffe947b27d14a72783d07a1d","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.5.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4 || ^4.0.15","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.24.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.102_1754957768616_0.3429522096630411","host":"s3://npm-registry-packages-npm-production"}},"0.1.103":{"name":"convex-helpers","version":"0.1.103","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.103","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"0e054267fb704bcdda56cbcca628f51e7a18d4bd","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.103.tgz","fileCount":116,"integrity":"sha512-czh1NqoNQBfheMhithZ+gR+e3ITqMxUkwTU9BYlMMK6FIjB8EKFL37zoF4TIJn3TUCgwu7xd99tQNoNW6e/Rag==","signatures":[{"sig":"MEUCIE2FbcYZn1cSgRdzn2o6f5y/YI6T97YbtTOEPTN8zF63AiEAuYiA1rZm2QwiTwGljJFQ/2IIfLsGsImiII/KW04//L8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1215549},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"8d518a885f227f38b6ce50e876ade89170277a81","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.5.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4 || ^4.0.15","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.24.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.103_1755172072845_0.303830800354995","host":"s3://npm-registry-packages-npm-production"}},"0.1.104":{"name":"convex-helpers","version":"0.1.104","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.104","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"09f349ed366eec1cf010bb73443570e3c05e4781","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.104.tgz","fileCount":116,"integrity":"sha512-7CYvx7T3K6n+McDTK4ZQaQNNGBzq5aWezpjzsKbOxPXx7oNcTP9wrpef3JxeXWFzkByJv5hRCjseh9B7eNJ7Ig==","signatures":[{"sig":"MEUCICvvjq7Mdrd8jWxbY1LE890HamkG6AvuS43IseI4S0IXAiEAvi3MfMGvYv12gKN1BDV04q/kKBM9PhWs8n3kWfPqxqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1217172},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"4394a556e1cdadd19028f0e471c30fdbefd77ee9","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.5.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.22.4 || ^4.0.15","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.24.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.104_1755283285209_0.6027644347424745","host":"s3://npm-registry-packages-npm-production"}},"0.1.105-alpha.0":{"name":"convex-helpers","version":"0.1.105-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.105-alpha.0","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"d7b133e46ccf081cf0a8411241241753d90f1380","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.105-alpha.0.tgz","fileCount":116,"integrity":"sha512-rKtQ33kC4Q7cwV85l7nXkHPCXKB/vgLX0ESZsX9PWpPdDtOicIYF0YqgAojrTbj5Jm5/OohDzkTeWctPVDZ7dQ==","signatures":[{"sig":"MEUCIQC4+++/74ercItUL3FWQXbKhgEhAURd3M23FJlXFiueUgIgPfVzAgEgd84AVXJVy2rJlEBFJeznfnb5Ms6+nxYdx5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1254162},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"7a81892b8f645df563a02ab90e4d0635fc977afd","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.22.4 || ^4.0.15","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.24.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.105-alpha.0_1763079680423_0.5220518932057252","host":"s3://npm-registry-packages-npm-production"}},"0.1.105-alpha.1":{"name":"convex-helpers","version":"0.1.105-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.105-alpha.1","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"967e685a0c62d8ad3311fb1c3ea8a39855ebdcbe","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.105-alpha.1.tgz","fileCount":124,"integrity":"sha512-PyEl2ksZq9+hvTdARONlCMBuXJcECQdpPavM3f+LLx/S6ovbuKoqIb8oJRQGDuP9gWkq8hBu7w29n2YPK5fKOQ==","signatures":[{"sig":"MEUCIFtC2jbNd69dw0j3Mf4bORjLWrswZo7aDQ+njKTSIVWvAiEAtyTwLsSacrQz7HJ3QzYxBbwS78pVXWWCsKdsVmoOdsU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1471184},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"28fc19b61a42ec95de499cacb49ce5777e42d9d8","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.6.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.24.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.105-alpha.1_1763180955142_0.32759796152500664","host":"s3://npm-registry-packages-npm-production"}},"0.1.105":{"name":"convex-helpers","version":"0.1.105","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.105","maintainers":[{"name":"xixixao","email":"xixixao@seznam.cz"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"96cbef077534070dc5cab5c7e8f957843fc9b850","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.105.tgz","fileCount":124,"integrity":"sha512-B6EUQsBpLFcXpa1g/9Zsc7EaFHdaeMlPLCa/snSD+4hRBFMWKJjT589dZ/0Z40taBOQWC2tb81ciTNr4ctJb2w==","signatures":[{"sig":"MEQCIEoi55JA9sDkKEWptqb8U8M/qFEJ3fiuYFSX5eVFB3h9AiB5FWuJrGZeEIJPXv8qEW8D+jbIjfs3S9I0lcPU7Vkr5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1473108},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"1888fdfc95b722a813d4ec890887f84518aeae09","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nicolapps","email":"nicolas@ettlin.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.8.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.24.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.105_1763423134751_0.029391475956074498","host":"s3://npm-registry-packages-npm-production"}},"0.1.106-alpha.0":{"name":"convex-helpers","version":"0.1.106-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.106-alpha.0","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"8c547c90da5bdd588839dd890ad3b9f55d7fc20b","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.106-alpha.0.tgz","fileCount":124,"integrity":"sha512-lzkzbVrSnT1q1alBZHkTabTeCDtnDeKAO8VFyiXXDsn//V1kjW3QSL5FW7hye4c+QfopwZE0ivdpcxK2fYGxJA==","signatures":[{"sig":"MEYCIQC/dnij9DQuQMSt5KIyiBMrddYpTsB5VQu33CbvyBdZUAIhANN/3CtRde2rDjMQD5u4P9w58phmP+ScW6/oqX6QLOPK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1470658},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"29cfc744580dbdd5a999b01e9040b9319611ecec","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.24.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.106-alpha.0_1763511407439_0.7831059254599719","host":"s3://npm-registry-packages-npm-production"}},"0.1.106-alpha.1":{"name":"convex-helpers","version":"0.1.106-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.106-alpha.1","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"3b323d095924e73875fd6769c37864325962ffaa","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.106-alpha.1.tgz","fileCount":124,"integrity":"sha512-iqIChtbZYpI8tkimURwoGBxMad8tOsw2uQj84Dpk71bkxFC8Q3NGLW0g7C4PEDDTZuWLMY1LARQoI2BOclnktQ==","signatures":[{"sig":"MEQCIE0Hym/I0xVG9KCaQ9A91qRL8aVx+9OrdWJH4bZTp03AAiAOf9aUQY6R8BekWqYtHDkOUoCQceLUQ7fW9l8yV54UoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1470625},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"a9e3ab784dee5a58e0becf3071e8ff7a0ab1e89c","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.24.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.106-alpha.1_1763511698215_0.19579453303205074","host":"s3://npm-registry-packages-npm-production"}},"0.1.106-alpha.2":{"name":"convex-helpers","version":"0.1.106-alpha.2","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.106-alpha.2","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"19b26cc0d16c2ba199c4002e009513edb3cf3413","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.106-alpha.2.tgz","fileCount":124,"integrity":"sha512-l57VF7j/svq42ReOtVp8a6SWZdNJMb+Ja/kGo7ROsqeR9JmdRGuHbgNAuQgD675dgM5nJrf9kB1XzOdPOtgffg==","signatures":[{"sig":"MEQCIEOblnn0JehYqwQiGzZ66sSAByQ4qxzM9OkuBRtEhub+AiBt5oPPkx99K+7ttNB0bv4N0ooC6ywm7ezPy9VchyFvpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1480052},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"a91a6e927f07bb6c7b9a194d89cb456fba7a4491","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.106-alpha.2_1763849235112_0.7172581079650024","host":"s3://npm-registry-packages-npm-production"}},"0.1.106":{"name":"convex-helpers","version":"0.1.106","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.106","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"0943dc75bdfeaa64084ce1c18a9f252b3d643943","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.106.tgz","fileCount":124,"integrity":"sha512-hWRe3yDaAVHMe4CUYw1YoQLiPZ1KIx6Kbf0w6UcRDx1BXpJgMCl3GVIMiSeYiA0PkbwjnIwGWIvoUVKloG5Tyw==","signatures":[{"sig":"MEUCIQDyxipZL/UxIewWmQiVsAOFUCbxxzcKuCHv8rL/K6q5HwIgHXNeBrLMhR0x581TORhjGhkhjMnsr+zv1R1TA0139D0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1480464},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"edc46130af4d8d5d9033c7f823db2cb1c9cf44ea","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nicolapps","email":"nicolas@ettlin.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.8.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.106_1764037370445_0.3830901937258675","host":"s3://npm-registry-packages-npm-production"}},"0.1.107-alpha.0":{"name":"convex-helpers","version":"0.1.107-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.107-alpha.0","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"dfee115a6585ad8ffcaff00b8d9317d245751126","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.107-alpha.0.tgz","fileCount":125,"integrity":"sha512-kaZd4zSWfWhXqg88Tv0y1aRi5wBZHo/eZsK0lKDQRlJHBHxtCF2aa/a+OthQwHoU+pjXn07+L/hqTMZV70UZjg==","signatures":[{"sig":"MEUCIAIJiG+1+io3DM+Pd9TmIgcximOO6vl6qX1xrOsgOiM0AiEAjK1pTQtAIxJDg9c4IcKlSlrrJKyx8f3yE8TQV7Z3/Ao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1491884},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"aef45b2030ffb087e97be33c6896976c4ccc6a37","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.107-alpha.0_1765224758131_0.2905383186331203","host":"s3://npm-registry-packages-npm-production"}},"0.1.107":{"name":"convex-helpers","version":"0.1.107","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.107","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"f8625684b72001d484c5423e30274d405dfbfef0","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.107.tgz","fileCount":125,"integrity":"sha512-TTyUbLygtPRpZRCPl+WIFJ8joGljIVuZ5r8MgyjPT0kNglWc/Tnvb2Apl3pNp7/1PNuzTtaoX/zU+7ImSQkMdA==","signatures":[{"sig":"MEQCIBALn/RhvNcUTwVMdD6WfOMS70jDduBk0E0OC0O09yq5AiAVGKTf/sbQDCpDMRDLD8KzJc37SwfSC7FuYrak/dXkiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1495565},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"dd9fc2ff0b6663ef022ce40d5b83e5644f27e919","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nicolapps","email":"nicolas@ettlin.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.8.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.107_1765235230707_0.7904251503292146","host":"s3://npm-registry-packages-npm-production"}},"0.1.108":{"name":"convex-helpers","version":"0.1.108","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.108","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"1e79c6e8295f4040f52aa85f9359f1c70b988d60","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.108.tgz","fileCount":125,"integrity":"sha512-5dHYX4Dy/qnBuvP5CI9ZKEwYtSlyQKK2MiIdGTVV8WUON5mWr/St8IeBxsJTBNh/vuBrlX0XPAZ1arbk4KQUdg==","signatures":[{"sig":"MEUCIQCLI/WhyeLn3YM3+H4omAil3iTpw9PbbLJvPz4q9fVlSAIgL2vCuCpCX2UFgFhQMGOvBZLmrUATriuZzvTuqoXWAzo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1493176},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"7ab83e227e9c2d7ceb8bf6369c5c431d24a91531","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nicolapps","email":"nicolas@ettlin.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.8.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.108_1765840788706_0.7763472135725102","host":"s3://npm-registry-packages-npm-production"}},"0.1.109":{"name":"convex-helpers","version":"0.1.109","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.109","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"0041ac13ef7dd3d201dfe76f36b0747664b808f6","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.109.tgz","fileCount":125,"integrity":"sha512-3Yzi+4M+szpqze2/NjTqBdA6nit1vgtU0M3Ga6lUw2oNjOMrQ6si2Dx2M524GHXJ+5icBNM/6cii4Nrx58zMEw==","signatures":[{"sig":"MEUCIG1tb4ckECQq8thC+VRmhkedjbSy1g5hI2LmWNnvsYnqAiEA8gYrGyK+7d3YjB1AhzbzkKdCVtnbD2L4aDWOsc8WXrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1498426},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"35a1bc171e0839460aadd861e6debc705e9f0dfa","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.109_1768007831574_0.11238129592371049","host":"s3://npm-registry-packages-npm-production"}},"0.1.110":{"name":"convex-helpers","version":"0.1.110","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.110","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"2509f079bcafcb04bf6b54875edc0cce610ae3cd","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.110.tgz","fileCount":125,"integrity":"sha512-BDWnwzNzc9vEfU1G4siX+9Dqc0K0Qp94bEmQ1fCqIo9b4yIpNr2xyJmVc8oxEduaqhtuucPAmzdIJ71OWdounA==","signatures":[{"sig":"MEUCIQDCmy60pN5Aqej3Q6XmG6ft2pd7ciIpMRRRLUdplc2blAIgctkE4VdkuXaIK6rVp7/+OLmMylcoKz4JGlyb9V7mXPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1504243},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"140940f8ff4d0c3588842f4f646b1d3a61c09786","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.110_1768441444785_0.870756293785591","host":"s3://npm-registry-packages-npm-production"}},"0.1.111":{"name":"convex-helpers","version":"0.1.111","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.111","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"044f3e337d18e9ca7f059ac5cefc0b3c8b2c68a9","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.111.tgz","fileCount":125,"integrity":"sha512-0O59Ohi8HVc3+KULxSC6JHsw8cQJyc8gZ7OAfNRVX7T5Wy6LhPx3l8veYN9avKg7UiPlO7m1eBiQMHKclIyXyQ==","signatures":[{"sig":"MEUCIB4TFGUGydYPdbUKbA/J8ulDvrrJO7hPKfz5byYWFiWJAiEA8zNFExPSiALE1MgY0GNvqnSOs2CHlBN3soXVzt4ZqKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1504465},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"750827a7f028edc0e7ad1ad9c98128cb0b5cdce0","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.111_1768441929266_0.01642174483965686","host":"s3://npm-registry-packages-npm-production"}},"0.1.112-alpha.0":{"name":"convex-helpers","version":"0.1.112-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.112-alpha.0","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"5211ece90a627969000bcb7c45ac36805960565f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.112-alpha.0.tgz","fileCount":125,"integrity":"sha512-29Z6eL5aO8P/y1/XM5kDDU0TEZ6ULKDAOWyD+K/VYLVgNVpaJyAO6P4/KqMgnRSbdizeJbOJMWncGaSJU3BJZw==","signatures":[{"sig":"MEUCIBqwpISFIaUxEFlyWwYtbVI66Rx+7v3ei+wxqDV0uEwxAiEAu7ZIcMkEKPQ2Iyatac/HR+DgmcPDY4MFfukBJlM74UE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1505678},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"0af884838adee8645ccdc3fadb38c5a7370e8763","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.112-alpha.0_1768442552542_0.27015238775033246","host":"s3://npm-registry-packages-npm-production"}},"0.1.112-alpha.1":{"name":"convex-helpers","version":"0.1.112-alpha.1","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.112-alpha.1","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"e6db122d0e344c815b7f6aa82033bcf0c69aa99c","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.112-alpha.1.tgz","fileCount":125,"integrity":"sha512-DHiA56HHET6Wjz54X66r9MwJr/s3KgWZrqvXmMAXMxZhpFYkStm/mF2Wb5YQR/viAtzOrvs3eOvl2EP6wafObQ==","signatures":[{"sig":"MEUCIArnebrF3dniJ+jirnrGW/MqwrwQF+K2nSBFQbN+J2qnAiEA4GY0ck1BR3EK/uxy5CddneylTdp6oRn0YEcSlAW7FAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1505266},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"a7a440a33b6d7a32b0602c6d8745eab1a7b704b7","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.112-alpha.1_1768610295168_0.6447763296905471","host":"s3://npm-registry-packages-npm-production"}},"0.1.112":{"name":"convex-helpers","version":"0.1.112","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.112","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"2a2c0e20f0317b6334504db420c5e4c3f80922da","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.112.tgz","fileCount":125,"integrity":"sha512-zhcm14aaRRNQYwxsFngmfYsGB3V0HwJ/hHMfKI9eeTR1N0b9o5Rohqvz3NgzyVJcmGNvYlZpUPbOy2YL5sYQNw==","signatures":[{"sig":"MEUCIGx/QoRAVRLRdzsqXD9+dleKZR2lBYHI/31bIce34DE6AiEA4sBdLraclgNA7K16OU4IJetcDZfQwRtFC4O8/OD1JWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1510547},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"10d9bb30dcdea8f1f9fe9b6ec161d23e04325e91","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nicolapps","email":"nicolas@ettlin.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.8.2","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.112_1770865352907_0.17372635617888554","host":"s3://npm-registry-packages-npm-production"}},"0.1.113":{"name":"convex-helpers","version":"0.1.113","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.113","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"ca02ce716d89245f543c1c2859dff9a4a7d8bd6e","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.113.tgz","fileCount":125,"integrity":"sha512-IFLmgEbN2skC0w+M0MfXTYAITq/FeGxEe602Fij2/GI/WJ75G8/9aSDO0GddbwPDfvzUgQTbx5SbDtiegfwZBA==","signatures":[{"sig":"MEQCIBr/wLMTfb9q/zVqdBgGLL5AOayr8ULdK9z9GLQTl9/sAiBh1uhbgjRp0KsLyFYTPyr0Q4wE3pYpGBsUSfVysowaZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1510580},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"5ebe3b9956663e55bbea9e74a11f7b9af2d074ca","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nicolapps","email":"nicolas@ettlin.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.10.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.25.4","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.113_1771621228272_0.2692427486749198","host":"s3://npm-registry-packages-npm-production"}},"0.1.114-alpha.0":{"name":"convex-helpers","version":"0.1.114-alpha.0","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.114-alpha.0","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"74ffd6f6d12ae1e8ac6057078fae23146872bbf9","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.114-alpha.0.tgz","fileCount":125,"integrity":"sha512-5Xz8rwZTvanIbq7beaLEqlip7l/XOj8XDfAyLcqKIaplpd4n5p7Rv1/mkFlShd7CHSSmEbKCXkjZAHCllM8Shg==","signatures":[{"sig":"MEUCIB9BwDPcBQWUw7J15V+uZEdVcAt+d1Opl/S/oPwknQn8AiEAz4VppKlM1Fry+nNRewUgl/XZwiAWllUmuK89u8JhC24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1517783},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"abfaf7350a9019a0b70e6ca4dc86cb9da83b03ed","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"10.9.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.32.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.114-alpha.0_1771910745744_0.6386521683544402","host":"s3://npm-registry-packages-npm-production"}},"0.1.114":{"name":"convex-helpers","version":"0.1.114","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.114","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"bf954b7bd605947befb790d40b373696be826bac","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.114.tgz","fileCount":125,"integrity":"sha512-elEdh+gG6BDv2dWIWVvBeJPbHnDQS5+WexUuwlGVJXz1EbMkXz/UIQwFIfLMZIXUwW6ot4JYf/1JJKNStrE6lg==","signatures":[{"sig":"MEQCIBzyZefR8bPH/p09G6mXYBvzR8jRxD9qirSPbpFG/rCCAiAoZhs/BTcCqD8dQeTlZsoETLWgQjjoP24Q56iMPs8tBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1516507},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"515f0041939a6d40f14f0b0ab0e17ea83fa19907","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"8.19.4","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.32.0","typescript":"^5.5","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.114_1772098160453_0.848729942010096","host":"s3://npm-registry-packages-npm-production"}},"0.1.115":{"name":"convex-helpers","version":"0.1.115","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.115","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"15fdf67370a43033d332f28bb75a8b275c572d31","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.115.tgz","fileCount":125,"integrity":"sha512-f9gyJO+hzNBfSNV9moW7HaLY6bWFpOQR6EAXtD9yPbuPX8xGm0H1dtce1GjdVHhZgUam/svmutpbZssJ1z3t1A==","signatures":[{"sig":"MEUCICRcj98d+IzaUS6OSDLOueuoJW5B4dqbGQceuOJcgaKSAiEAgEDUKX7ry3TFTfLScPi5Us0dCqOe20i/LTzd4Io86sE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1516107},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"7c368e47d5f353d02a68a2ab35fe902c52599a9f","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.11.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.32.0","typescript":"^5.5 || ^6.0.0","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.115_1776730667998_0.8096720411804432","host":"s3://npm-registry-packages-npm-production"}},"0.1.116":{"name":"convex-helpers","version":"0.1.116","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.116","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"2606f960c39fb80c9bfce6f5261d375fab17b555","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.116.tgz","fileCount":125,"integrity":"sha512-kw+jqwkeXDc9LpiOurJgPiWrnJZKHrE32mpsyPes2UwLtRw3oLi9cXkc37G0dOJp7iaCXDJ8V9OmXDeXcKvEGw==","signatures":[{"sig":"MEUCIQDRHAv0E5uRPmW5P8KIz8hFa+OmjCXcOqn+ORqAuUHGLAIgGCmBV5u48/AROQ9/VeGIO4HslOgC5Roh5egOHFNYnSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1517182},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"666ebbd3fbce30f3184d67a9c5cce9ab4e2c1bb7","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.11.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.32.0","typescript":"^5.5 || ^6.0.0","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.116_1778015157812_0.3534839495520554","host":"s3://npm-registry-packages-npm-production"}},"0.1.117":{"name":"convex-helpers","version":"0.1.117","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.117","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"dowski-convex","email":"christian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"073a5ea44783c303930c0c60fe313e5ef8aedb87","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.117.tgz","fileCount":125,"integrity":"sha512-0C0o3ajQdf9FeAO3L/QRTw7W6e1cliIjDTEuh63SXSfm2mMMWD8hHzbbdXJAxTncatLmyGGLfp6qHYn3bP/u+g==","signatures":[{"sig":"MEQCIAkzQUgVZ94ZivXn9ERhojJUQLgU0LKn60W0r3MeOcnnAiB4/VgruiTCzYtvgm8RQZDLIYqad71UkSssjLURuPht+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1519160},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"d14f6b9cf4379e864950ce5e9e2dc358b5f0f0a9","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nicolapps","email":"nicolas@ettlin.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.11.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.32.0","typescript":"^5.5 || ^6.0.0","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.117_1778704427857_0.15904700376626923","host":"s3://npm-registry-packages-npm-production"}},"0.1.118":{"name":"convex-helpers","version":"0.1.118","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.118","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"dowski-convex","email":"christian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"1dce496e63f0c81af1cfb4bbb08084be8575844f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.118.tgz","fileCount":125,"integrity":"sha512-07t10n8CZG/YCDzOy5/WDdNNQYL+mP7VU76BLJCZrB2dvJTH7UZJxPqNrhPH+pZbW52joQ91eQHSksdcgOXebQ==","signatures":[{"sig":"MEQCIGySrxcRqWErLLeNO3p/+lRg4dPctK0YNO+obyXtD+8QAiB1aMV14ljCsKQFwCsy/jQFZMxj61q3Ti7uAc6DpVK37g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1520083},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"a669eb11f1d0da12519b9270eed5a2a396d48540","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.11.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.32.0","typescript":"^5.5 || ^6.0.0","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.118_1778831586408_0.7639076157348466","host":"s3://npm-registry-packages-npm-production"}},"0.1.119":{"name":"convex-helpers","version":"0.1.119","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.119","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"dowski-convex","email":"christian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"7e510846cf318d71eb135231bc05dda561b26846","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.119.tgz","fileCount":125,"integrity":"sha512-fGNK9KAlBLk8Un729ZXBqD9S5jy910nxSrH6PloIL/Gl6TalFJvjN8+xCCwahlox8Ft+bb54SSg9MbcrsQb98w==","signatures":[{"sig":"MEUCIDnJ5di2B97VlSxfxUNz27b+jH7eKNGXYIVdLfY6a2P9AiEAnCzwhKnkZmkLXynwvBebjmusS1G5OB6cieEjxRAIb1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1519377},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"f98cff2f376a77fb6d5d4a3a02e0d0b5a7541817","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nicolapps","email":"nicolas@ettlin.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.11.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.32.0","typescript":"^5.5 || ^6.0.0","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.119_1780942565167_0.10247686146581292","host":"s3://npm-registry-packages-npm-production"}},"0.1.120":{"name":"convex-helpers","version":"0.1.120","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.120","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"dowski-convex","email":"christian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"e8f6088a0164172d116b3786f087aa772c0ce6f9","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.120.tgz","fileCount":125,"integrity":"sha512-FPqtmN/10uoxmmhVq0ViNi08AnmHKT/eU1R8+ohmPZoHfg8noZEZCltApY/ASDdhq92o0kLZETggzBvMfHJDLQ==","signatures":[{"sig":"MEYCIQDdzJ83IKnfya7FYegroOOF4mJ7aoCZzj2xbuitLJqHPAIhANkJ5WNtWbXD4UYSSI6ORZqaiWc3X2LGeNpyvS0HEIMj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1520082},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"26e6b10cc0b7c80f11b0277ad2f302d633487473","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"nicolapps","email":"nicolas@ettlin.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.11.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.32.0","typescript":"^5.5 || ^6.0.0","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.120_1782183447343_0.6737323036273926","host":"s3://npm-registry-packages-npm-production"}},"0.1.121":{"name":"convex-helpers","version":"0.1.121","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.121","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"dowski-convex","email":"christian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"99f4de14f72690bfbf352dcbbf3867911ed8cf55","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.121.tgz","fileCount":125,"integrity":"sha512-qLrAr8p3dGI59xVa4485ARaGPuBRMjKOXC56FELKVnJ5AoIHFOkjPSKR8phE3KZUxyi6eZtb54Z/MYcS+pxoAQ==","signatures":[{"sig":"MEQCIAG6wNza/YwubWYuNjKtJiHSNbcvQajwmffFHSs4vHn0AiBktaZ5MNVXZ137wsdikGzXuwq4RB5nbMiQT2XYEjR5GA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1519194},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"8bc9fe046336b16debfc54b65726bff76a326ff2","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"reece-convex","email":"reece@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.11.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.43.0","typescript":"^5.5 || ^6.0.0","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.121_1785801051068_0.26922432406059027","host":"s3://npm-registry-packages-npm-production"}},"0.1.122":{"name":"convex-helpers","version":"0.1.122","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.122","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"dowski-convex","email":"christian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"ccfaa6e61230eb1183fe9c27c87055ea316e4506","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.122.tgz","fileCount":125,"integrity":"sha512-G5b54+RUPyitwEou7VPBxnz5/Tgy8gjtyN0zPgagOjguyBqoh9IjlsVQtWOKY7pxo/IREjF+N1khZmyEuzqbiw==","signatures":[{"sig":"MEUCIQCURiydLAYmUVUjRhuhcfDLrJcnYt8/WmQEzv1MYMc9qgIgCI2jfUQK/fbPQJFuwZkeAxnP4p+kk5hqW1pyO/K4dZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1519968},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"bd8faf7a652c77fb2e9e3c79b254976be0bfeea8","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"reece-convex","email":"reece@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.11.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.43.0","typescript":"^5.5 || ^6.0.0 || ^7.0.0","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.122_1785884317436_0.7520168298356118","host":"s3://npm-registry-packages-npm-production"}},"0.1.123":{"name":"convex-helpers","version":"0.1.123","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.123","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"dowski-convex","email":"christian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"andycai-convex","email":"andy@convex.dev"},{"name":"mikewheaton","email":"mike@wheaton.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"07bb6655d1ef33ad96f7fbf6c14bd6d777975523","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.123.tgz","fileCount":125,"integrity":"sha512-E9W4tscZy6ZtNnwPDdL5UhMc7Rj9aUYlzjdYiKsfVIAwdarABWqvPB8+St3Q6IwS83r+QIGSO1lTidTamDdyPQ==","signatures":[{"sig":"MEUCIDSOD1dDjh/zGC2DSY6q/5ip3CUFuW/0pTMs39S6ClWdAiEA1dltQNS/CPMU7OC/0uchk7cevJyQuNTJ3C6UxhnZ7A8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1515751},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"0ba6d9f1ce35d37a09d7f23d8a1dcdc9fba4e61b","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.11.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.43.0","typescript":"^5.5 || ^6.0.0 || ^7.0.0","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.123_1786668256775_0.253504376006747","host":"s3://npm-registry-packages-npm-production"}},"0.1.124":{"name":"convex-helpers","version":"0.1.124","keywords":["convex","backend","migrations","ratelimit","database","react"],"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","_id":"convex-helpers@0.1.124","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"dowski-convex","email":"christian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"andycai-convex","email":"andy@convex.dev"},{"name":"mikewheaton","email":"mike@wheaton.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"}],"homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"bin":{"convex-helpers":"bin.cjs"},"dist":{"shasum":"2ce6f26649460ce27247470b6f113055d583293f","tarball":"https://registry.npmjs.org/convex-helpers/-/convex-helpers-0.1.124.tgz","fileCount":125,"integrity":"sha512-Gbu/jq6I3x5Y51cXP5c7+CI3t15vX5Xi2G0tOym3rxpBtYqrI+qWwxkqZgJYrHHccY42wZudB8h6kS3fak8Aeg==","signatures":[{"sig":"MEUCIQDBHbypyBZPii24nlG2EBJyd83Ugl4Uymi8gIeT+YyFKgIgaqOi+Auy93Etwd8lxHthdb3X/7p4lWzIPUMV//6QjDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1516236},"type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./react":{"types":"./react.d.ts","default":"./react.js"},"./server":{"types":"./server.d.ts","default":"./server.js"},"./browser":{"types":"./browser.d.ts","default":"./browser.js"},"./react/*":{"types":"./react/*.d.ts","default":"./react/*.js"},"./testing":{"types":"./testing.d.ts","default":"./testing.js"},"./server/*":{"types":"./server/*.d.ts","default":"./server/*.js"},"./server/zod":{"types":"./server/zod.d.ts","default":"./server/zod.js"},"./validators":{"types":"./validators.d.ts","default":"./validators.js"},"./react/cache":{"types":"./react/cache.d.ts","default":"./react/cache.js"},"./server/cors":{"types":"./server/cors.d.ts","default":"./server/cors.js"},"./server/crud":{"types":"./server/crud.d.ts","default":"./server/crud.js"},"./server/hono":{"types":"./server/hono.d.ts","default":"./server/hono.js"},"./server/zod3":{"types":"./server/zod3.d.ts","default":"./server/zod3.js"},"./server/zod4":{"types":"./server/zod4.d.ts","default":"./server/zod4.js"},"./react/cache/*":{"types":"./react/cache/*.d.ts","default":"./react/cache/*.js"},"./server/filter":{"types":"./server/filter.d.ts","default":"./server/filter.js"},"./server/stream":{"types":"./server/stream.d.ts","default":"./server/stream.js"},"./react/sessions":{"types":"./react/sessions.d.ts","default":"./react/sessions.js"},"./server/compare":{"types":"./server/compare.d.ts","default":"./server/compare.js"},"./server/retries":{"types":"./server/retries.d.ts","default":"./server/retries.js"},"./standardSchema":{"types":"./standardSchema.d.ts","default":"./standardSchema.js"},"./server/sessions":{"types":"./server/sessions.d.ts","default":"./server/sessions.js"},"./server/triggers":{"types":"./server/triggers.d.ts","default":"./server/triggers.js"},"./server/rateLimit":{"types":"./server/rateLimit.d.ts","default":"./server/rateLimit.js"},"./react/cache/hooks":{"types":"./react/cache/hooks.d.ts","default":"./react/cache/hooks.js"},"./server/migrations":{"types":"./server/migrations.d.ts","default":"./server/migrations.js"},"./server/pagination":{"types":"./server/pagination.d.ts","default":"./server/pagination.js"},"./react/cache/provider":{"types":"./react/cache/provider.d.ts","default":"./react/cache/provider.js"},"./server/relationships":{"types":"./server/relationships.d.ts","default":"./server/relationships.js"},"./server/customFunctions":{"types":"./server/customFunctions.d.ts","default":"./server/customFunctions.js"},"./server/rowLevelSecurity":{"types":"./server/rowLevelSecurity.d.ts","default":"./server/rowLevelSecurity.js"}},"gitHead":"3c4e0e7d545a34e54302b8b27c084ff6c526b364","scripts":{"dev":"chokidar '*.ts' 'server/**/*.ts' 'react/**/*.ts*' 'tsconfig*.json' 'package.json' -i '**/*.test.ts' -c 'cd ../.. && npm run build' --initial","build":"node generate-exports.mjs && mkdir -p dist && npm run build:bin && cp -r *.ts server react ./package.json ./tsconfig.json ./README.md ../../LICENSE ./.npmignore dist/ && cd dist/ && rm **/*.test.* && rm -r server/_generated && tsc","start":"node server.js","version":"pbcopy <<<$npm_package_version; $(git config core.editor || echo vim) CHANGELOG.md && prettier --write CHANGELOG.md && git add CHANGELOG.md","build:bin":"esbuild ./cli/index.ts --bundle --platform=node --external:prettier --format=cjs --outfile=dist/bin.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"_npmVersion":"11.11.0","description":"A collection of useful code to complement the official convex package.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","hono":"^4.0.5","react":"^17.0.2 || ^18.0.0 || ^19.0.0","convex":"^1.43.0","typescript":"^5.5 || ^6.0.0 || ^7.0.0","@standard-schema/spec":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"react":{"optional":true},"typescript":{"optional":true},"@standard-schema/spec":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/convex-helpers_0.1.124_1788623918895_0.5453778961559717","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2023-11-28T20:04:00.201Z","modified":"2026-09-16T18:55:12.665Z","0.0.1":"2023-11-28T20:04:00.380Z","0.1.0":"2023-11-28T20:05:20.541Z","0.1.1":"2023-11-29T00:00:18.409Z","0.1.2":"2023-12-01T02:30:54.371Z","0.1.3":"2023-12-03T05:34:06.722Z","0.1.4":"2023-12-12T03:15:42.709Z","0.1.5":"2023-12-13T23:05:26.599Z","0.1.6":"2023-12-15T02:43:01.913Z","0.1.7":"2023-12-16T00:58:33.236Z","0.1.8":"2024-01-09T09:29:59.085Z","0.1.9":"2024-01-09T09:38:13.892Z","0.1.10-alpha.0":"2024-01-09T09:47:47.563Z","0.1.10-alpha.1":"2024-01-13T12:20:10.437Z","0.1.10":"2024-01-16T10:11:42.062Z","0.1.11":"2024-01-16T22:49:30.965Z","0.1.12":"2024-01-16T22:51:50.826Z","0.1.13":"2024-01-21T23:12:31.059Z","0.1.13-alpha.0":"2024-01-22T08:47:49.503Z","0.1.13-alpha.1":"2024-01-22T09:00:27.471Z","0.1.13-alpha.2":"2024-01-22T09:10:04.321Z","0.1.13-alpha.3":"2024-01-22T09:15:17.465Z","0.1.14":"2024-01-22T09:21:51.083Z","0.1.15":"2024-02-01T06:18:41.060Z","0.1.16":"2024-02-15T10:39:41.343Z","0.1.17":"2024-02-15T10:51:22.365Z","0.1.18":"2024-02-16T05:13:27.962Z","0.1.19":"2024-02-16T05:46:23.454Z","0.1.20":"2024-02-18T08:32:10.785Z","0.1.21":"2024-02-21T18:51:44.854Z","0.1.22":"2024-02-22T02:50:54.103Z","0.1.23":"2024-02-27T23:39:38.129Z","0.1.24":"2024-03-07T22:37:58.666Z","0.1.25":"2024-03-12T00:11:40.704Z","0.1.26":"2024-03-21T09:17:54.304Z","0.1.27":"2024-03-22T00:05:55.559Z","0.1.28-alpha.1":"2024-04-04T23:58:55.481Z","0.1.28":"2024-04-13T01:41:12.231Z","0.1.29-alpha.0":"2024-04-13T07:54:58.724Z","0.1.29-alpha.1":"2024-04-13T08:32:25.752Z","0.1.29-alpha.2":"2024-04-15T02:57:52.744Z","0.1.29":"2024-04-15T23:31:17.188Z","0.1.30-alpha.0":"2024-04-15T23:35:41.143Z","0.1.30":"2024-04-16T00:15:13.867Z","0.1.31":"2024-04-16T00:45:58.891Z","0.1.32":"2024-04-17T01:54:00.768Z","0.1.33":"2024-04-17T19:34:14.961Z","0.1.34-alpha.0":"2024-04-18T02:08:33.014Z","0.1.34-alpha.1":"2024-04-18T07:34:03.208Z","0.1.34-alpha.2":"2024-04-19T02:50:16.855Z","0.1.34-alpha.3":"2024-04-19T03:01:16.764Z","0.1.34-alpha.4":"2024-04-19T21:35:30.253Z","0.1.34-alpha.5":"2024-04-22T18:12:28.203Z","0.1.34-alpha.6":"2024-04-23T02:49:53.853Z","0.1.34":"2024-04-24T07:24:44.303Z","0.1.35":"2024-04-26T14:54:02.763Z","0.1.36-alpha.0":"2024-05-02T07:44:46.900Z","0.1.36":"2024-05-03T23:32:58.983Z","0.1.37-alpha.0":"2024-05-13T00:02:48.041Z","0.1.37-alpha.1":"2024-05-13T00:12:26.784Z","0.1.37-alpha.2":"2024-05-19T09:07:36.029Z","0.1.37-alpha.3":"2024-05-19T10:49:46.969Z","0.1.37-alpha.4":"2024-05-21T06:51:45.976Z","0.1.37-alpha.5":"2024-05-21T23:09:03.029Z","0.1.37-alpha.6":"2024-05-22T00:19:34.179Z","0.1.37":"2024-05-22T00:41:29.467Z","0.1.38":"2024-05-22T01:12:21.652Z","0.1.39-alpha.0":"2024-05-23T08:23:15.149Z","0.1.39-alpha.1":"2024-05-23T20:13:12.523Z","0.1.40":"2024-05-29T00:57:29.593Z","0.1.41":"2024-05-30T22:57:54.380Z","0.1.42-alpha.0":"2024-06-18T22:25:18.897Z","0.1.42":"2024-06-19T01:16:40.934Z","0.1.43-alpha.0":"2024-06-19T07:00:11.135Z","0.1.43-alpha.1":"2024-06-20T15:08:14.199Z","0.1.43-alpha.2":"2024-06-20T19:13:40.553Z","0.1.43":"2024-06-21T00:33:09.897Z","0.1.44":"2024-07-01T20:19:29.798Z","0.1.45":"2024-07-02T19:57:50.303Z","0.1.46-alpha.0":"2024-07-12T02:58:40.683Z","0.1.46-alpha.1":"2024-07-12T06:29:35.861Z","0.1.46":"2024-07-12T06:52:12.985Z","0.1.47-alpha.0":"2024-07-12T18:34:48.868Z","0.1.47-alpha.1":"2024-07-12T20:48:59.763Z","0.1.47-alpha.2":"2024-07-12T20:52:45.566Z","0.1.47":"2024-07-12T22:22:03.713Z","0.1.48-alpha.0":"2024-07-16T04:01:15.591Z","0.1.48":"2024-07-16T20:32:22.735Z","0.1.49-alpha.0":"2024-07-16T21:58:42.337Z","0.1.49-alpha.1":"2024-07-17T18:26:59.080Z","0.1.49-alpha.2":"2024-07-17T19:54:59.391Z","0.1.49":"2024-07-26T02:38:56.097Z","0.1.50-alpha.0":"2024-07-26T02:39:56.792Z","0.1.50-alpha.1":"2024-08-06T15:52:26.233Z","0.1.50":"2024-08-07T16:03:02.040Z","0.1.51-alpha.0":"2024-08-12T17:17:03.289Z","0.1.51-alpha.1":"2024-08-16T04:27:27.148Z","0.1.51-alpha.2":"2024-08-16T06:07:29.152Z","0.1.51-alpha.3":"2024-08-16T06:11:22.996Z","0.1.51-alpha.4":"2024-08-18T23:54:06.218Z","0.1.51":"2024-08-19T17:10:15.343Z","0.1.52":"2024-08-19T23:18:03.118Z","0.1.53-alpha.0":"2024-08-29T20:33:19.041Z","0.1.53-alpha.1":"2024-08-29T21:31:30.312Z","0.1.53-alpha.2":"2024-08-29T21:47:20.704Z","0.1.53":"2024-08-29T22:01:50.679Z","0.1.54":"2024-08-30T05:28:20.607Z","0.1.55":"2024-08-31T22:42:13.041Z","0.1.56-alpha.0":"2024-09-05T19:10:58.351Z","0.1.56":"2024-09-05T19:59:54.302Z","0.1.57-alpha.0":"2024-09-06T18:20:17.745Z","0.1.57-alpha.1":"2024-09-10T21:27:58.862Z","0.1.57-alpha.2":"2024-09-11T01:00:27.993Z","0.1.57-alpha.3":"2024-09-11T02:42:30.355Z","0.1.57":"2024-09-11T04:28:14.633Z","0.1.58":"2024-09-14T00:17:56.542Z","0.1.57-alpha.4":"2024-09-16T21:48:48.226Z","0.1.59-alpha.0":"2024-09-20T23:53:10.914Z","0.1.59-alpha.1":"2024-09-24T20:26:35.277Z","0.1.59":"2024-10-03T02:52:38.442Z","0.1.60":"2024-10-10T18:52:55.273Z","0.1.61":"2024-10-18T08:18:23.260Z","0.1.62":"2024-10-22T22:25:44.588Z","0.1.63-alpha.0":"2024-10-24T20:58:39.360Z","0.1.63":"2024-10-25T19:47:11.667Z","0.1.64-alpha.0":"2024-10-29T01:45:35.720Z","0.1.64-alpha.1":"2024-11-08T23:18:45.563Z","0.1.64-alpha.2":"2024-11-12T18:56:30.417Z","0.1.64":"2024-11-12T19:47:27.955Z","0.1.65-alpha.0":"2024-11-12T22:12:30.412Z","0.1.65":"2024-11-14T19:45:50.723Z","0.1.66-alpha.0":"2024-11-16T07:04:40.073Z","0.1.64-alpha.3":"2024-11-21T18:45:07.563Z","0.1.64-alpha.4":"2024-11-21T18:48:45.367Z","0.1.66":"2024-12-09T19:53:28.973Z","0.1.67-alpha.0":"2024-12-13T05:12:52.348Z","0.1.67-alpha.1":"2024-12-13T20:19:32.513Z","0.1.67":"2024-12-13T20:21:44.493Z","0.1.68-alpha.0":"2025-01-09T20:26:59.204Z","0.1.68-alpha.1":"2025-01-30T22:17:42.997Z","0.1.68":"2025-01-31T01:46:25.750Z","0.1.69-alpha.0":"2025-02-04T03:08:33.076Z","0.1.69":"2025-02-05T23:15:39.700Z","0.1.70":"2025-02-06T00:42:58.821Z","0.1.71":"2025-02-06T18:49:14.463Z","0.1.72-alpha.0":"2025-03-06T22:52:03.923Z","0.1.72-alpha.1":"2025-03-14T22:37:58.261Z","0.1.72-alpha.2":"2025-03-14T23:07:24.859Z","0.1.72":"2025-03-17T19:17:30.212Z","0.1.73":"2025-03-18T19:12:05.797Z","0.1.74-alpha.0":"2025-03-21T01:11:11.994Z","0.1.74-alpha.1":"2025-03-21T01:28:03.379Z","0.1.74":"2025-03-21T01:56:22.855Z","0.1.75":"2025-03-24T01:13:10.470Z","0.1.76":"2025-03-25T18:48:34.748Z","0.1.77-alpha.0":"2025-03-26T04:27:23.883Z","0.1.77":"2025-04-03T08:43:48.618Z","0.1.78":"2025-04-07T09:10:49.365Z","0.1.79":"2025-04-11T19:08:13.431Z","0.1.80":"2025-04-28T19:23:19.730Z","0.1.77-alpha.1":"2025-04-28T20:44:55.490Z","0.1.81":"2025-04-29T20:32:06.867Z","0.1.81-alpha.0":"2025-04-29T20:33:27.848Z","0.1.82-alpha.0":"2025-05-01T23:07:18.432Z","0.1.82-alpha.1":"2025-05-01T23:19:09.536Z","0.1.82-alpha.2":"2025-05-02T00:26:24.792Z","0.1.82-alpha.3":"2025-05-02T00:51:26.035Z","0.1.82-alpha.4":"2025-05-02T01:30:29.650Z","0.1.82":"2025-05-03T00:17:23.559Z","0.1.83-alpha.0":"2025-05-03T01:21:18.544Z","0.1.83":"2025-05-03T01:26:42.757Z","0.1.84":"2025-05-05T01:55:36.501Z","0.1.85":"2025-05-05T21:10:14.825Z","0.1.86-alpha.0":"2025-05-10T02:59:09.425Z","0.1.86":"2025-05-12T19:08:16.317Z","0.1.87":"2025-05-20T17:37:19.984Z","0.1.88-alpha.0":"2025-05-22T23:37:59.475Z","0.1.88":"2025-05-23T01:32:12.682Z","0.1.89-alpha.0":"2025-05-23T18:07:57.758Z","0.1.89":"2025-05-23T21:17:57.967Z","0.1.90-alpha.0":"2025-05-23T22:34:38.870Z","0.1.90-alpha.1":"2025-05-23T22:47:18.080Z","0.1.90-alpha.2":"2025-05-26T05:58:30.941Z","0.1.90":"2025-06-02T20:44:53.935Z","0.1.91-alpha.0":"2025-06-05T23:55:25.235Z","0.1.91":"2025-06-06T03:31:28.054Z","0.1.92-alpha.0":"2025-06-06T06:23:39.216Z","0.1.92":"2025-06-06T21:31:41.485Z","0.1.93-alpha.0":"2025-06-12T06:59:13.590Z","0.1.93":"2025-06-12T07:08:51.205Z","0.1.94-alpha.0":"2025-06-13T23:57:32.996Z","0.1.94":"2025-06-14T00:02:23.725Z","0.1.95":"2025-06-22T06:34:26.632Z","0.1.96-alpha.0":"2025-06-25T00:38:34.170Z","0.1.96":"2025-07-02T19:05:29.352Z","0.1.97":"2025-07-08T21:51:13.027Z","0.1.98":"2025-07-08T23:18:56.002Z","0.1.99-alpha.0":"2025-07-09T02:26:05.125Z","0.1.99":"2025-07-09T02:35:34.417Z","0.1.100-alpha.0":"2025-07-22T21:58:25.768Z","0.1.100-alpha.1":"2025-07-23T18:09:16.742Z","0.1.100-alpha.2":"2025-07-23T18:55:56.530Z","0.1.100":"2025-07-25T04:45:05.661Z","0.1.101-alpha.0":"2025-07-30T19:05:55.952Z","0.1.101-alpha.1":"2025-08-04T23:19:57.716Z","0.1.101":"2025-08-05T10:52:32.735Z","0.1.102":"2025-08-12T00:16:08.871Z","0.1.103":"2025-08-14T11:47:53.031Z","0.1.104":"2025-08-15T18:41:25.432Z","0.1.105-alpha.0":"2025-11-14T00:21:20.662Z","0.1.105-alpha.1":"2025-11-15T04:29:15.409Z","0.1.105":"2025-11-17T23:45:35.044Z","0.1.106-alpha.0":"2025-11-19T00:16:47.757Z","0.1.106-alpha.1":"2025-11-19T00:21:38.430Z","0.1.106-alpha.2":"2025-11-22T22:07:15.362Z","0.1.106":"2025-11-25T02:22:50.718Z","0.1.107-alpha.0":"2025-12-08T20:12:38.296Z","0.1.107":"2025-12-08T23:07:10.926Z","0.1.108":"2025-12-15T23:19:48.928Z","0.1.109":"2026-01-10T01:17:11.830Z","0.1.110":"2026-01-15T01:44:04.959Z","0.1.111":"2026-01-15T01:52:09.458Z","0.1.112-alpha.0":"2026-01-15T02:02:32.716Z","0.1.112-alpha.1":"2026-01-17T00:38:15.400Z","0.1.112":"2026-02-12T03:02:33.156Z","0.1.113":"2026-02-20T21:00:28.494Z","0.1.114-alpha.0":"2026-02-24T05:25:45.946Z","0.1.114":"2026-02-26T09:29:20.661Z","0.1.115":"2026-04-21T00:17:48.230Z","0.1.116":"2026-05-05T21:05:58.028Z","0.1.117":"2026-05-13T20:33:48.034Z","0.1.118":"2026-05-15T07:53:06.613Z","0.1.119":"2026-06-08T18:16:05.349Z","0.1.120":"2026-06-23T02:57:27.541Z","0.1.121":"2026-08-03T23:50:51.213Z","0.1.122":"2026-08-04T22:58:37.618Z","0.1.123":"2026-08-14T00:44:16.921Z","0.1.124":"2026-09-05T15:58:39.019Z"},"bugs":{"url":"https://github.com/get-convex/convex-helpers/issues"},"author":{"name":"Ian Macartney","email":"ian@convex.dev"},"license":"Apache-2.0","homepage":"https://github.com/get-convex/convex-helpers/tree/main/packages/convex-helpers/README.md","keywords":["convex","backend","migrations","ratelimit","database","react"],"repository":{"url":"git+https://github.com/get-convex/convex-helpers.git","type":"git","directory":"packages/convex-helpers"},"description":"A collection of useful code to complement the official convex package.","maintainers":[{"email":"james@convex.dev","name":"cowling"},{"email":"jordan@convex.dev","name":"jordanhunt"},{"email":"gautam@convex.dev","name":"gautamg795"},{"email":"emma@convex.dev","name":"emmaling27"},{"email":"nipunn1313@gmail.com","name":"nipunn"},{"email":"aritrakh@gmail.com","name":"aritrakh"},{"email":"ian@convex.dev","name":"ianatconvex"},{"email":"christian@convex.dev","name":"dowski-convex"},{"email":"reece@convex.dev","name":"reece-convex"},{"email":"ayush@convex.dev","name":"ayushdewanconvex"},{"email":"shawn@erquh.art","name":"erquhart"},{"email":"seth@convex.dev","name":"sethconvex"},{"email":"andy@convex.dev","name":"andycai-convex"},{"email":"mike@wheaton.dev","name":"mikewheaton"},{"email":"jamwt@convex.dev","name":"jamwt"},{"email":"nicolas@ettlin.dev","name":"nicolapps"},{"email":"thomasballinger@gmail.com","name":"ballingt"}],"readme":"# convex-helpers\n\n**[NPM](https://www.npmjs.com/package/convex-helpers)**&nbsp;&nbsp;•&nbsp;&nbsp;**[Changelog](./CHANGELOG.md)**\n\nA collection of useful code to complement the official packages.\n\nTable of contents:\n\n- [Custom Functions](#custom-functions)\n- [Relationship helpers](#relationship-helpers)\n- [Action retries](#action-retries)\n- [Stateful migrations](#stateful-migrations)\n- [Rate limiting](#rate-limiting)\n- [Session tracking via client-side sessionID storage](#session-tracking-via-client-side-sessionid-storage)\n- [Richer useQuery](#richer-usequery)\n- [Row-level security](#row-level-security)\n- [Zod Validation](#zod-validation)\n- [Hono for advanced HTTP endpoint definitions](#hono-for-advanced-http-endpoint-definitions)\n- [CRUD utilities](#crud-utilities)\n- [Validator utilities](#validator-utilities)\n- [Filter](#filter)\n- [Manual Pagination](#manual-pagination)\n  - [Examples](#examples)\n  - [`paginator`: manual pagination with familiar syntax](#paginator-manual-pagination-with-familiar-syntax)\n- [Composable QueryStreams](#composable-querystreams)\n  - [Example 1: Paginate all messages by a fixed set of authors](#example-1-paginate-all-messages-by-a-fixed-set-of-authors)\n  - [Example 2: Paginate all messages whose authors match a complex predicate.](#example-2-paginate-all-messages-whose-authors-match-a-complex-predicate)\n  - [Example 3: Order by a suffix of an index.](#example-3-order-by-a-suffix-of-an-index)\n  - [Example 4: Join tables.](#example-4-join-tables)\n- [Query Caching](#query-caching)\n- [TypeScript API Generation](#typescript-api-generation)\n- [Open API Spec Generation](#open-api-spec-generation)\n- [Triggers](#triggers)\n  - [What can you do with triggers?](#what-can-you-do-with-triggers)\n  - [Trigger semantics](#trigger-semantics)\n- [CORS support for HttpRouter](#cors-support-for-httprouter)\n- [Standard Schema](#standard-schema)\n\n## Custom Functions\n\nBuild your own customized versions of `query`, `mutation`, and `action` that\ndefine custom behavior, allowing you to:\n\n- Run authentication logic before the request starts.\n- Look up commonly used data and add it to the ctx argument.\n- Replace a ctx or argument field with a different value, such as a version\n  of `db` that runs custom functions on data access.\n- Consume arguments from the client that are not passed to the action, such\n  as taking in an authentication parameter like an API key or session ID.\n  These arguments must be sent up by the client along with each request.\n- Execute finalization logic after function execution using the `onSuccess`\n  callback, which has access to the function's result.\n\nSee the associated [Stack Post](https://stack.convex.dev/custom-functions)\n\nFor example:\n\n```ts\nimport { customQuery } from \"convex-helpers/server/customFunctions\";\n\nconst myQueryBuilder = customQuery(query, {\n  args: { apiToken: v.id(\"api_tokens\") },\n  input: async (ctx, args) => {\n    const apiUser = await getApiUser(args.apiToken);\n    const db = wrapDatabaseReader({ apiUser }, ctx.db, rlsRules);\n    return {\n      ctx: { db, apiUser },\n      args: {},\n      onSuccess: ({ args, result }) => {\n        // Optional callback that runs after the function executes\n        // Has access to resources created during input processing\n        console.log(apiUser.name, args, result);\n      },\n    };\n  },\n});\n\n// Use the custom builder everywhere you would have used `query`\nexport const getSomeData = myQueryBuilder({\n  args: { someArg: v.string() },\n  handler: async (ctx, args) => {\n    const { db, apiUser, scheduler } = ctx;\n    const { someArg } = args;\n    // ...\n  },\n});\n```\n\n### Taking in extra arguments\n\nYou can take in extra arguments to a custom function by specifying the type of a third `input` arg.\n\n```ts\nconst myQueryBuilder = customQuery(query, {\n  args: {},\n  input: async (ctx, args, { role }: { role: \"admin\" | \"user\" }) => {\n    const user = await getUser(ctx);\n    if (role === \"admin\" && user.role !== \"admin\") {\n      throw new Error(\"You are not an admin\");\n    }\n    if (role === \"user\" && !user) {\n      throw new Error(\"You must be logged in to access this query\");\n    }\n    return { ctx: { user }, args: {} };\n  },\n});\n\nconst myAdminQuery = myQueryBuilder({\n  role: \"admin\",\n  args: {},\n  handler: async (ctx, args) => {\n    // ...\n  },\n});\n```\n\n## Relationship helpers\n\nTraverse database relationships without all the query boilerplate.\n\nSee the [Stack post on relationship helpers](https://stack.convex.dev/functional-relationships-helpers)\nand the [relationship schema structures post](https://stack.convex.dev/relationship-structures-let-s-talk-about-schemas).\n\nExample:\n\n```js\nimport {\n  getOneFromOrThrow,\n  getManyFrom,\n  getManyViaOrThrow,\n} from \"convex-helpers/server/relationships.js\";\nimport { asyncMap } from \"convex-helpers\";\n\nconst author = await getOneFromOrThrow(db, \"authors\", \"userId\", user._id);\nconst posts = await asyncMap(\n  // one-to-many\n  await getManyFrom(db, \"posts\", \"authorId\", author._id),\n  async (post) => {\n    // one-to-many\n    const comments = await getManyFrom(db, \"comments\", \"postId\", post._id);\n    // many-to-many via join table\n    const categories = await getManyViaOrThrow(\n      db,\n      \"postCategories\",\n      \"categoryId\",\n      \"postId\",\n      post._id,\n    );\n    return { ...post, comments, categories };\n  },\n);\n```\n\n## Action retries\n\nUse helper functions to retry a Convex action until it succeeds.\nAn action should only be retried if it is safe to do so, i.e., if it's\nidempotent or doesn't have any unsafe side effects.\n\n**Note**: this is now an [`action-retrier` component](https://www.convex.dev/components/retrier).\nI recommend using that (`npm i @convex-dev/action-retrier`).\n\nSee the [Stack post on retrying actions](https://stack.convex.dev/retry-actions)\n\nExample:\n\n```ts\n // in convex/utils.ts\n import { makeActionRetrier } from \"convex-helpers/server/retries\";\n\n export const { runWithRetries, retry } = makeActionRetrier(\"utils:retry\");\n\n // in a mutation or action\n export const myMutation = mutation({\n   args: {...},\n   handler: async (ctx, args) => {\n     //...\n     await runWithRetries(ctx, internal.myModule.myAction, { arg1: 123 });\n   }\n });\n```\n\n## Stateful migrations\n\nA helper to define and run migrations. You can persist the migration state to a\ntable so you can query the status, or use it without persistence.\n\nNote: there is now a [migration component](https://www.convex.dev/components/migrations)\nfor you to use instead of this approach. The component has the benefit of not\nneeding to add any tables to your schema. (`npm i @convex-dev/migrations`)\n\nSee the [Stack post on migrations](https://stack.convex.dev/migrating-data-with-mutations)\nand the [migration primer Stack post](https://stack.convex.dev/intro-to-migrations).\n\nTo see the library code and usage, see the [migrations.ts file](./server/migrations.ts).\n\nExample migration:\n\n```ts\nexport const myMigration = migration({\n  table: \"users\",\n  migrateOne: async (ctx, doc) => {\n    await ctx.db.patch(doc._id, { newField: \"value\" });\n  },\n});\n```\n\n## Rate limiting\n\nConfigure and use rate limits to avoid product abuse.\n\n**Note**: this is now a [`rate-limiter` component](https://www.convex.dev/components/rate-limiter) I recommend you use instead.\n\nSee the associated Stack post for details:\n\nhttps://stack.convex.dev/rate-limiting\n\nFor usage details, see the [rateLimit.ts file](./server/rateLimit.ts).\n\n## Session tracking via client-side sessionID storage\n\nStore a session ID on the client and pass it up with requests to keep track of\na user, even if they aren't logged in.\n\nUse the client-side helpers in [react/sessions](./react/sessions.ts) and\nserver-side helpers in [server/sessions](./server/sessions.ts).\n\nSee the associated [Stack post](https://stack.convex.dev/track-sessions-without-cookies) for more information.\n\nExample for a query (action & mutation are similar):\n\nIn your React's root, add the `SessionProvider`:\n\n```js\nimport { SessionProvider } from \"convex-helpers/react/sessions\";\n//...\n<ConvexProvider client={convex}>\n  <SessionProvider>\n    <App />\n  </SessionProvider>\n</ConvexProvider>;\n```\n\nPass the session ID from the client automatically to a server query:\n\n```js\nimport { useSessionQuery } from \"convex-helpers/react/sessions\";\n\nconst results = useSessionQuery(api.myModule.mySessionQuery, { arg1: 1 });\n```\n\nDefine a server query function in `convex/myModule.ts`:\n\n```js\nexport const mySessionQuery = queryWithSession({\n  args: { arg1: v.number() },\n  handler: async (ctx, args) => {\n    // ctx.anonymousUser\n  },\n});\n```\n\nUsing `customQuery` to make `queryWithSession`:\n\n```js\nimport { customQuery } from \"convex-helpers/server/customFunctions\";\nimport { SessionIdArg } from \"convex-helpers/server/sessions\";\n\nexport const queryWithSession = customQuery(query, {\n  args: SessionIdArg,\n  input: async (ctx, { sessionId }) => {\n    const anonymousUser = await getAnonUser(ctx, sessionId);\n    return { ctx: { ...ctx, anonymousUser }, args: {} };\n  },\n});\n```\n\n**Note:** `getAnonUser` is some function you write to look up a user by session.\n\n## Richer useQuery\n\nUse in place of `useQuery` from \"convex/react\" to fetch data from a query, with\na richer return value.\n\nBy default, `useQuery` will throw an error when the server throws. It also\nreturns `undefined` to indicate a \"loading\" state. This helper returns:\n\n```ts\nimport { makeUseQueryWithStatus } from \"convex-helpers/react\";\nimport { useQueries } from \"convex/react\";\n// Do this once somewhere, name it whatever you want.\nexport const useQueryWithStatus = makeUseQueryWithStatus(useQueries);\n\nconst { status, data, error, isSuccess, isPending, isError } =\n  useQueryWithStatus(api.foo.bar, { myArg: 123 });\n```\n\nThe types of the return is:\n\n```ts\ntype ret =\n  | {\n      status: \"success\";\n      data: FunctionReturnType<Query>;\n      error: undefined;\n      isSuccess: true;\n      isPending: false;\n      isError: false;\n    }\n  | {\n      status: \"pending\";\n      data: undefined;\n      error: undefined;\n      isSuccess: false;\n      isPending: true;\n      isError: false;\n    }\n  | {\n      status: \"error\";\n      data: undefined;\n      error: Error;\n      isSuccess: false;\n      isPending: false;\n      isError: true;\n    };\n```\n\n## Row-level security\n\nSee the [Stack post on row-level security](https://stack.convex.dev/row-level-security)\n\nUse the [RowLevelSecurity](./server/rowLevelSecurity.ts) helper to define\ndatabase wrappers to add row-level checks for a server-side function.\nAny access to `db` inside functions wrapped with these\nwill check your access rules on read/insert/modify per-document.\n\n```ts\nimport {\n  customCtx,\n  customMutation,\n  customQuery,\n} from \"convex-helpers/server/customFunctions\";\nimport {\n  Rules,\n  RLSConfig,\n  wrapDatabaseReader,\n  wrapDatabaseWriter,\n} from \"convex-helpers/server/rowLevelSecurity\";\nimport { DataModel } from \"./_generated/dataModel\";\nimport { mutation, query, QueryCtx } from \"./_generated/server\";\n\nasync function rlsRules(ctx: QueryCtx) {\n  const identity = await ctx.auth.getUserIdentity();\n  return {\n    users: {\n      read: async (_, user) => {\n        // Unauthenticated users can only read users over 18\n        if (!identity && user.age < 18) return false;\n        return true;\n      },\n      insert: async (_, user) => {\n        return true;\n      },\n      modify: async (_, user) => {\n        if (!identity)\n          throw new Error(\"Must be authenticated to modify a user\");\n        // Users can only modify their own user\n        return user.tokenIdentifier === identity.tokenIdentifier;\n      },\n    },\n  } satisfies Rules<QueryCtx, DataModel>;\n}\n\n// By default, tables with no rule have `defaultPolicy` set to \"allow\".\nconst config: RLSConfig = { defaultPolicy: \"deny\" };\n\nconst queryWithRLS = customQuery(\n  query,\n  customCtx(async (ctx) => ({\n    db: wrapDatabaseReader(ctx, ctx.db, await rlsRules(ctx), config),\n  })),\n);\n\nconst mutationWithRLS = customMutation(\n  mutation,\n  customCtx(async (ctx) => ({\n    db: wrapDatabaseWriter(ctx, ctx.db, await rlsRules(ctx), config),\n  })),\n);\n```\n\n## Zod Validation\n\nConvex has argument validation, but if you prefer the [Zod](https://zod.dev)\nfeatures for validating arguments, this is for you!\n\nSee the [Stack post on Zod validation](https://stack.convex.dev/typescript-zod-function-validation) to see how to validate your Convex functions using the [zod](https://www.npmjs.com/package/zod) library.\n\nExample:\n\n```js\nimport * as z from \"zod\";\nimport { zCustomQuery, zid } from \"convex-helpers/server/zod4\";\nimport { NoOp } from \"convex-helpers/server/customFunctions\";\n\n// Define this once - and customize like you would customQuery\nconst zodQuery = zCustomQuery(query, NoOp);\n\nexport const myComplexQuery = zodQuery({\n  args: {\n    userId: zid(\"users\"),\n    email: z.email(),\n    num: z.number().min(0),\n    nullableBigint: z.nullable(z.bigint()),\n    boolWithDefault: z.boolean().default(true),\n    null: z.null(),\n    array: z.array(z.string()),\n    optionalObject: z.object({ a: z.string(), b: z.number() }).optional(),\n    union: z.union([z.string(), z.number()]),\n    discriminatedUnion: z.discriminatedUnion(\"kind\", [\n      z.object({ kind: z.literal(\"a\"), a: z.string() }),\n      z.object({ kind: z.literal(\"b\"), b: z.number() }),\n    ]),\n    literal: z.literal(\"hi\"),\n    enum: z.enum([\"a\", \"b\"]),\n    readonly: z.object({ a: z.string(), b: z.number() }).readonly(),\n    pipeline: z.number().pipe(z.coerce.string()),\n  },\n  handler: async (ctx, args) => {\n    //... args at this point has been validated and has the types of what\n    // zod parses the values into.\n    // e.g. boolWithDefault is `bool` but has an input type `bool | undefined`.\n  },\n});\n```\n\n## Hono for advanced HTTP endpoint definitions\n\n[Hono](https://hono.dev/) is an optimized web framework you can use to define\nHTTP api endpoints easily\n([`httpAction` in Convex](https://docs.convex.dev/functions/http-actions)).\n\nSee the [guide on Stack](https://stack.convex.dev/hono-with-convex) for tips on using Hono for HTTP endpoints.\n\nTo use it, put this in your `convex/http.ts` file:\n\n```ts\nimport { Hono } from \"hono\";\nimport { HonoWithConvex, HttpRouterWithHono } from \"convex-helpers/server/hono\";\nimport { ActionCtx } from \"./_generated/server\";\n\nconst app: HonoWithConvex<ActionCtx> = new Hono();\n\n// See the [guide on Stack](https://stack.convex.dev/hono-with-convex)\n// for tips on using Hono for HTTP endpoints.\napp.get(\"/\", async (c) => {\n  return c.json(\"Hello world!\");\n});\n\nexport default new HttpRouterWithHono(app);\n```\n\n## CRUD utilities\n\nTo generate a basic CRUD api for your tables, you can use this helper to define\nthese functions for a given table:\n\n- `create`\n- `read`\n- `update`\n- `delete`\n- `paginate`\n\nSee the associated [Stack post](https://stack.convex.dev/crud-and-rest).\n**Note: I recommend only doing this for prototyping or [internal functions](https://docs.convex.dev/functions/internal-functions) unless you add Row Level Security**\n\nExample:\n\n```ts\n// in convex/users.ts\nimport { crud } from \"convex-helpers/server/crud\";\nimport schema from \"./schema.js\";\n\nexport const { create, read, update, destroy } = crud(schema, \"users\");\n\n// in some file, in an action:\nconst user = await ctx.runQuery(internal.users.read, { id: userId });\n\nawait ctx.runMutation(internal.users.update, {\n  id: userId,\n  patch: {\n    status: \"inactive\",\n  },\n});\n```\n\n## Validator utilities\n\nWhen using validators for defining database schema or function arguments,\nthese validators help:\n\n1. Add shorthand for a union of `literals`, a `nullable` field, a `deprecated`\n   field, a `partial` object, and `brandedString`.\n   To learn more about branded strings see\n   [this article](https://stack.convex.dev/using-branded-types-in-validators).\n2. A `validate(validator, data)` function validates a value against a validator.\n   Warning: this does not validate that the value of v.id is an ID for the given table.\n3. Add utilties for `partial`, `pick` and `omit` to match the TypeScript type\n   utilities.\n4. Add a `doc(schema, \"tableName\")` helper to validate a document with system\n   fields included.\n5. Add a `typedV(schema)` helper that is a `v` replacement that also has:\n   - `doc(\"tableName\")` that works like `doc` above.\n   - `id(\"tableName\")` that is typed to tables in your schema.\n6. Add a `Table` utility that defines a table and keeps references to the fields\n   to avoid re-defining validators. To learn more about sharing validators, read\n   [this article](https://stack.convex.dev/argument-validation-without-repetition),\n   an extension of [this article](https://stack.convex.dev/types-cookbook).\n\nExample:\n\n```ts\n// convex/schema.ts\nimport { literals, deprecated, brandedString } from \"convex-helpers/validators\";\nimport { Infer } from \"convex/values\";\n\n// Define a validator that requires an Email string type.\nexport const emailValidator = brandedString(\"email\");\n// Define the Email type based on the branded string.\nexport type Email = Infer<typeof emailValidator>;\n\nexport default defineSchema({\n  accounts: defineTable({\n    balance: nullable(v.bigint()),\n    status: literals(\"active\", \"inactive\"),\n    email: emailValidator,\n    oldField: deprecated,\n  }).index(\"status\", [\"status\"]),\n  //...\n});\n\n// some module\nimport { doc, typedV, partial } from \"convex-helpers/validators\";\nimport { omit, pick } from \"convex-helpers\";\nimport schema from \"./schema\";\n\n// You could export this from your schema file, or define it where you need it.\nconst vv = typedV(schema);\n\nexport const replaceUser = internalMutation({\n  args: {\n    id: vv.id(\"accounts\"),\n    replace: vv.object({\n      // You can provide the document with or without system fields.\n      ...schema.tables.accounts.validator.fields,\n      ...partial(systemFields(\"accounts\")),\n    }),\n  },\n  returns: doc(schema, \"accounts\"), // See below for vv.doc\n  handler: async (ctx, args) => {\n    await ctx.db.replace(args.id, args.replace);\n    return await ctx.db.get(args.id);\n  },\n});\n\n// A validator just for balance & email: { balance: v.union(...), email: ..}\nconst balanceAndEmail = pick(vv.doc(\"accounts\").fields, [\"balance\", \"email\"]);\n\n// A validator for all the fields except balance.\nconst accountWithoutBalance = omit(vv.doc(\"accounts\").fields, [\"balance\"]);\n\n// Validate against a validator. Can optionally throw on error.\nconst value = { balance: 123n, email: \"test@example.com\" };\nvalidate(balanceAndEmail, value);\n\n// This will throw a ValidationError if the value is not valid.\nvalidate(balanceAndEmail, value, { throw: true });\n\n// Warning: this only validates that `accountId` is a string.\nvalidate(vv.id(\"accounts\"), accountId);\n// Whereas this validates that `accountId` is an id for the accounts table.\nvalidate(vv.id(\"accounts\"), accountId, { db: ctx.db });\n```\n\n## Filter\n\nSee the [guide on Stack](https://stack.convex.dev/complex-filters-in-convex)\nfor an analysis of complex filters on Convex.\n\nThe `filter` helper composes with `ctx.db.query` to apply arbitrary TypeScript\nor JavaScript filters to a database query.\n\nExamples:\n\n```js\nimport { filter } from \"convex-helpers/server/filter\";\n\nexport const evens = query({\n  args: {},\n  handler: async (ctx) => {\n    return await filter(\n      ctx.db.query(\"counter_table\"),\n      (c) => c.counter % 2 === 0,\n    ).collect();\n  },\n});\n\nexport const lastCountLongerThanName = query({\n  args: {},\n  handler: async (ctx) => {\n    return await filter(\n      ctx.db.query(\"counter_table\"),\n      (c) => c.counter > c.name.length,\n    )\n      .order(\"desc\")\n      .first();\n  },\n});\n```\n\n## Manual Pagination\n\nNote Convex provides built-in pagination through `.paginate()` and\n`usePaginatedQuery()`.\n\nThe `getPage` helper gives you more control of the pagination. You can specify\nthe index ranges or do multiple paginations in the same query.\nAn index range is all of the documents between two index keys: (start, end].\nAn index key is an array of values for the fields in the specified index.\nFor example, for an index defined like `defineTable({ a: v.number(), b: v.string() }).index(\"my_index\", [\"a\", \"b\"])`\nan index key might be `[ 3 ]` or `[ 3, \"abc\" ]`. By default the index is the built-in \"by_creation_time\" index.\nThe returned index keys are unique, including the two fields at the end of every index: `_creationTime` and `_id`.\n\nHowever, you have to handle edge cases yourself, as described in\nhttps://stack.convex.dev/fully-reactive-pagination.\n\nMore details and patterns will appear in upcoming articles.\n\n### Examples\n\nFetch the first page, by creation time:\n\n```js\nconst { page, indexKeys, hasMore } = await getPage(ctx, {\n  table: \"messages\",\n});\n```\n\nFetch the next page:\n\n```js\nconst {\n  page: page2,\n  indexKeys: indexKeys2,\n  hasMore: hasMore2,\n} = await getPage(ctx, {\n  table: \"messages\",\n  startIndexKey: indexKeys[indexKeys.length - 1],\n});\n```\n\nYou can change the page size and order by any index:\n\n```js\nimport schema from \"./schema\";\nconst { page, indexKeys, hasMore } = await getPage(ctx, {\n  table: \"users\",\n  index: \"by_name\",\n  schema,\n  targetMaxRows: 1000,\n});\n```\n\nFetch of a page between two fixed places in the index, allowing you to display\ncontinuous pages even as documents change.\n\n```js\nconst { page } = await getPage(ctx, {\n  table: \"messages\",\n  startIndexKey,\n  endIndexKey,\n});\n```\n\nFetch starting at a given index key.\nFor example, here are yesterday's messages, with recent at the top:\n\n```js\nconst { page, indexKeys, hasMore } = await getPage(ctx, {\n  table: \"messages\",\n  startIndexKey: [Date.now() - 24 * 60 * 60 * 1000],\n  startInclusive: true,\n  order: \"desc\",\n});\n```\n\n### `paginator`: manual pagination with familiar syntax\n\nIn addition to `getPage`, convex-helpers provides a function\n`paginator` as an alternative to the built-in `db.query.paginate`.\n\n- The built-in `.paginate` is currently limited to one call per query, which allows\n  it to track the page's \"end cursor\" for contiguous reactive pagination client-side.\n- `paginator` can be called multiple times from a query,\n  but does not subscribe the query to the end cursor automatically.\n\nThe syntax and interface for `paginator` is so similar to `.paginate` that it is\nnearly a drop-in replacement and can even be used with `usePaginatedQuery`[^1].\nThis makes it more suitable for non-reactive pagination usecases,\nsuch as iterating data in a mutation. Note: it supports `withIndex` but not `filter`.\n\n[^1]:\n    Note: if you want gapless pagination, use the `usePaginatedQuery` hook in\n    `\"convex-helpers/react\"`, or if you're also using the cached query helpers, pass\n    `customPagination: true` for that version.\n\nFor more information on reactive pagination and end cursors, see\nhttps://stack.convex.dev/fully-reactive-pagination\nand\nhttps://stack.convex.dev/pagination\n\nAs a basic example, consider replacing this query with `paginator`.\nIt has the same behavior, except that the pages might not stay contiguous as\nitems are added and removed from the list and the query updates reactively.\n\n```ts\nimport { paginator } from \"convex-helpers/server/pagination\";\nimport schema from \"./schema\";\n\nexport const list = query({\n  args: { opts: paginationOptsValidator },\n  handler: async (ctx, { opts }) => {\n    // BEFORE:\n    return await ctx.db.query(\"messages\").paginate(opts);\n    // AFTER:\n    return await paginator(ctx.db, schema).query(\"messages\").paginate(opts);\n  },\n});\n```\n\nYou can order by an index, restrict the pagination to a range of the index,\nand change the order to \"desc\", same as you would with a regular query.\n\n```ts\nimport { paginator } from \"convex-helpers/server/pagination\";\nimport schema from \"./schema\";\n\nexport const list = query({\n  args: { opts: paginationOptsValidator, author: v.id(\"users\") },\n  handler: async (ctx, { opts, author }) => {\n    return await paginator(ctx.db, schema)\n      .query(\"messages\")\n      .withIndex(\"by_author\", (q) => q.eq(\"author\", author))\n      .order(\"desc\")\n      .paginate(opts);\n  },\n});\n```\n\n## Composable QueryStreams\n\nIn Convex queries, you can read data from many tables in many ways, and combine\nthe data before returning to to the client. However, some patterns aren't so\neasy without these helpers. In particular, these helpers will allow you to take\na union of multiple queries, filter out some of them, join with other tables,\nand paginate the result.\n\n- A `QueryStream` is an\n  [async iterable](https://javascript.info/async-iterators-generators)\n  of documents, ordered by indexed fields.\n\nThe cool thing about QueryStreams is you can make more QueryStreams from them,\nwith operations equivalent to SQL's `UNION ALL`, `WHERE`, and `JOIN`.\nThese operations preserve order, so the result is still a valid QueryStream.\nYou can combine streams as much as you want, and finally treat it like a\nConvex query to get documents with `.first()`, `.collect()`, or `.paginate()`.\nSee [this Stack post](https://stack.convex.dev/translate-sql-into-convex-queries)\nfor examples of translating SQL queries into Convex queries.\n\nFor example, if you have a stream of \"messages created by user1\" and a stream\nof \"messages created by user2\", you can get a stream of\n\"messages created by user1 or user2\" where the messages are interleaved\nby creation time (or whatever the order is of the index you're using). You can\nthen filter the merged stream to get a stream of \"messages created by user1 or user2 that are unread\". Then you\ncan paginate the result.\n\nSee [this Stack post](https://stack.convex.dev/merging-streams-of-convex-data)\nfor more information.\n\nConcrete functions you can use:\n\n- `stream` constructs a stream using the same syntax as `DatabaseReader`.\n  - e.g. `stream(ctx.db, schema).query(\"messages\").withIndex(\"by_author\", (q) => q.eq(\"author\", \"user1\"))`\n- `mergedStream(streams, fields)` combines multiple streams into a new stream, ordered by the same index fields.\n- `.flatMap` expands each document into its own stream, and they all get chained together.\n- `.map` modifies each stream item, preserving order.\n- `.filterWith` filters out documents from a stream based on a TypeScript predicate.\n- Once your stream is set up, you can get documents from it with the normal\n  Convex query methods: `.first()`, `.collect()`, `.paginate()`, etc.\n\nNote: if using `.paginate()` with streams in reactive queries, use the\n`usePaginatedQuery` hook from `\"convex-helpers/react\"`, or if you're also using\nthe cached query helpers, pass `customPagination: true` for that version.\nIt has the same behavior as [`paginator` and `getPage`](#manual-pagination) in\nthat you need to pass in `endCursor` to prevent holes or overlaps between pages.\n\n### Example 1: Paginate all messages by a fixed set of authors\n\n```ts\nimport { stream, mergedStream } from \"convex-helpers/server/stream\";\nimport schema from \"./schema\";\n// schema has messages: defineTable(...).withIndex(\"by_author\", [\"author\"])\n\nexport const listForAuthors = query({\n  args: {\n    authors: v.array(v.id(\"users\")),\n    paginationOpts: paginationOptsValidator,\n  },\n  handler: async (ctx, { authors, paginationOpts }) => {\n    // This is an array of streams, where each stream consists of messages by a\n    // single author.\n    const authorStreams = authors.map((author) =>\n      stream(ctx.db, schema)\n        .query(\"messages\")\n        .withIndex(\"by_author\", (q) => q.eq(\"author\", author)),\n    );\n    // Create a new stream of all messages authored by users in `args.authors`,\n    // ordered by the \"by_author\" index (i.e. [\"author\", \"_creationTime\"]).\n    const allAuthorsStream = mergedStream(authorStreams, [\n      \"author\",\n      \"_creationTime\",\n    ]);\n    // Paginate the result.\n    return await allAuthorsStream.paginate(paginationOpts);\n  },\n});\n```\n\n### Example 2: Paginate all messages whose authors match a complex predicate.\n\nThere are actually two ways to do this. One uses \"post-filter\" pagination,\nwhere the filter is applied after fetching a fixed number of documents. To do that, you can\nuse the `filter` helper described [above](#filter). The advantage is that the\nqueries read bounded data, but the disadvantage is that the returned pages might\nbe small or empty.\n\nThe other does \"pre-filter\" pagination, where the filter is applied before\npicking the page size. Doing this with a filter that excludes most documents may\nresult in slow queries or errors because it's reading too much data, but if the\npredicate often returns true, it's perfectly fine. To avoid edge cases where you\naccidentally read too much data, you can pass `maximumRowsRead` in pagination\noptions to limit the number of rows read. Let's see how to do\npre-filtering with streams.\n\n```ts\nimport { stream } from \"convex-helpers/server/stream\";\nimport schema from \"./schema\";\n\nexport const list = query({\n  args: { paginationOpts: paginationOptsValidator },\n  handler: async (ctx, { paginationOpts }) => {\n    const allMessagesStream = stream(ctx.db, schema)\n      .query(\"messages\")\n      .order(\"desc\")\n      .filterWith(async (message) => {\n        const author = await ctx.db.get(message.author);\n        return author !== null && author.verified;\n      });\n    // The pagination happens after the filtering, so the page should have size\n    // `paginationOpts.numItems`.\n    // To avoid reading too much data unexpectedly, you can optionally set maximumRowsRead.\n    return await messagesByVerifiedAuthors.paginate({\n      ...paginationOpts,\n      maximumRowsRead: 100,\n    });\n  },\n});\n```\n\nAs with any usage of [`paginator`](#paginator-manual-pagination-with-familiar-syntax), remember to use `endCursor` in reactive queries to keep pages contiguous.\n\n### Example 3: Order by a suffix of an index.\n\nSuppose you have an index on `[\"author\", \"unread\"]` and you want to get the\nmost recent 10 messages for an author, ignoring whether a messages is unread.\n\nNormally this would require a separate index on `[\"author\"]`, or doing two\nrequests and manually picking the 10 most recent. But with streams, it's cleaner:\n\n```ts\nimport { stream, MergedStream } from \"convex-helpers/server/stream\";\nimport schema from \"./schema\";\n// schema has messages: defineTable(...).index(\"by_author\", [\"author\", \"unread\"])\n\nexport const latestMessages = query({\n  args: { author: v.id(\"users\") },\n  handler: async (ctx, { author }) => {\n    // These are two streams of messages, each ordered by _creationTime descending.\n    // The first has read messages, the second has unread messages.\n    const readMessages = stream(ctx.db, schema)\n      .query(\"messages\")\n      .withIndex(\"by_author\", (q) => q.eq(\"author\", author).eq(\"unread\", false))\n      .order(\"desc\");\n    const unreadMessages = stream(ctx.db, schema)\n      .query(\"messages\")\n      .withIndex(\"by_author\", (q) => q.eq(\"author\", author).eq(\"unread\", true))\n      .order(\"desc\");\n    // Since each stream is ordered by [\"_creationTime\"], we can merge them and\n    // maintain that ordering.\n\n    // Aside: We could instead choose to merge the streams ordered by [\"unread\", \"_creationTime\"]\n    // or ordered by [\"author\", \"unread\", \"_creationTime\"].\n\n    // `allMessagesByCreationTime` is a single stream of all messages authored by\n    // `args.author`, ordered by _creationTime descending.\n    const allMessagesByCreationTime = new MergedStream(\n      [readMessages, unreadMessages],\n      [\"_creationTime\"],\n    );\n    return await allMessagesByCreationTime.take(10);\n  },\n});\n```\n\n### Example 4: Join tables.\n\nSuppose you have a table of channels, and another table of messages.\nYou want to paginate all messages in a user's channels, grouped by channel.\nYou could do this from the client with a `usePaginatedQuery` for each channel,\nor you can do it with streams, like so:\n\n```ts\nimport { stream } from \"convex-helpers/server/stream\";\nimport schema from \"./schema\";\n// schema has:\n//   channelMemberships: defineTable(...).index(\"userId\", [\"userId\", \"channelId\"])\n//   channels: defineTable(...)\n//   messages: defineTable(...).index(\"channelId\", [\"channelId\"])\n\n// Return a paginated stream of { ...channel, ...message }\n// ordered by\n// [channelMembership.channelId, channelMembership._creationTime, message.channelId, message._creationTime],\n// i.e. ordered by [channel._id, message._creationTime]\n// if we assume the channelMemberships.userId index is unique\nexport const latestMessages = query({\n  args: { paginationOpts: paginationOptsValidator },\n  handler: async (ctx, { paginationOpts }) => {\n    // Get the channels the user is a member of\n    const channelMemberships = stream(ctx.db, schema)\n      .query(\"channelMemberships\")\n      .withIndex(\"userId\", q => q.eq(\"userId\", await getAuthedUserId(ctx)));\n    // Map membership to the channel info (including channel name, etc.)\n    const channels = channelMemberships.map(async (membership) => {\n      return (await ctx.db.get(membership.channelId))!;\n    });\n    // For each channel, expand it into the messages in that channel,\n    // with the channel's fields also included.\n    const messages = channels.flatMap(async (channel) =>\n      stream(ctx.db, stream)\n        .query(\"messages\")\n        .withIndex(\"channelId\", q => q.eq(\"channelId\", channel._id))\n        .map(async (message) => { ...channel, ...message }),\n      [\"channelId\", \"_creationTime\"]\n    );\n    return await messages.paginate(paginationOpts);\n  },\n});\n```\n\n## Query Caching\n\nUtilize a query cache implementation which persists subscriptions to the\nserver for some expiration period even after app `useQuery` hooks have all\nunmounted. This allows very fast reloading of unevicted values during\nnavigation changes, view changes, etc.\n\nNote: unlike other forms of caching, subscription caching will mean strictly\nmore bandwidth usage, because it will keep the subscription open even after\nthe component unmounts. This is for optimizing the user experience, not database\nbandwidth.\n\nRelated files:\n\n- [cache.ts](./react/cache.ts) re-exports things so you can import from a single convenient location.\n- [provider.tsx](./react/cache/provider.tsx) contains `ConvexQueryCacheProvider`,\n  a configurable cache provider you put in your react app's root.\n- [hooks.ts](./react/cache/hooks.ts) contains cache-enabled drop-in\n  replacements for `useQuery`, `usePaginatedQuery`, and `useQueries`.\n\nTo use the cache, first make sure to put a `<ConvexQueryCacheProvider>`\ninside `<ConvexProvider>` in your react component tree:\n\n```tsx\nimport { ConvexQueryCacheProvider } from \"convex-helpers/react/cache\";\n// For Next.js, import from \"convex-helpers/react/cache/provider\"; instead\n\nexport default function RootLayout({\n  children,\n}: Readonly<{\n  children: React.ReactNode;\n}>) {\n  return (\n    <html lang=\"en\">\n      <body className={inter.className}>\n        <ConvexClientProvider>\n          <ConvexQueryCacheProvider>{children}</ConvexQueryCacheProvider>\n        </ConvexClientProvider>\n      </body>\n    </html>\n  );\n}\n```\n\nThis provider takes three optional props:\n\n- **expiration** (number) -- Milliseconds to preserve unmounted subscriptions\n  in the cache. After this, the subscriptions will be dropped, and the value\n  will have to be re-fetched from the server. (Default: 300000, aka 5 minutes)\n- **maxIdleEntries** (number) -- Maximum number of unused subscriptions\n  kept in the cache. (Default: 250).\n- **debug** (boolean) -- Dump console logs every 3s to debug the state of\n  the cache (Default: false).\n\nFinally, you can utilize `useQuery` (and `useQueries`) just the same as\ntheir `convex/react` equivalents.\n\n```tsx\nimport { useQuery } from \"convex-helpers/react/cache\";\n// For Next.js, import from \"convex-helpers/react/cache/hooks\"; instead\n\n// ...\n\nconst users = useQuery(api.todos.getAll);\n```\n\n## TypeScript API Generation\n\nGenerate Convex API objects to use Convex with type-safety in separate repositories.\nOnce in the Convex folder whose functions you want to make an API for, you can run\n\n```bash\nnpx convex-helpers ts-api-spec\n```\n\nBy default, this connects to your Convex dev deployment, but you can pass in `--prod`\nto read from your production deployment.\n\nThis command writes a `convexApi{msSinceEpoch}.ts` file that can be used in external repositories to\nuse your Convex functions with type-safety. It includes your internal functions, but you\ncan feel free to remove them.\n\n## Open API Spec Generation\n\nGenerate an Open API spec to create a client in a language that Convex doesn't currently\nsupport or connect with tools like Retool. Once in the Convex folder whose functions you\nwant to generate a specification for, you can run\n\n```bash\nnpx convex-helpers open-api-spec\n```\n\nBy default, this connects to your Convex dev deployment, but you can pass in `--prod`\nto read from your production deployment.\n\nThis command writes a `convex-spec-{msSinceEpoch}.yaml` file that can be used in external repositories to\nuse your Convex functions with type-safety. See `--help` for more details.\n\n## Triggers\n\nRegister trigger functions to run whenever data in a table changes via\n`ctx.db.insert`, `ctx.db.patch`, `ctx.db.replace`, or `ctx.db.delete`. The\nfunctions run in the same transaction as the mutation, atomically with the data\nchange.\n\nTriggers pair with [custom functions](#custom-functions) to hook into each\nConvex mutation defined. Here's an example of using triggers to do four things:\n\n1. Attach a computed `fullName` field to every user.\n2. Keep a denormalized count of all users.\n3. After the mutation, send the new user info to Clerk.\n4. When a user is deleted, delete their messages (cascading deletes).\n\n```ts\nimport { mutation as rawMutation } from \"./_generated/server\";\nimport { DataModel } from \"./_generated/dataModel\";\nimport { Triggers } from \"convex-helpers/server/triggers\";\nimport {\n  customCtx,\n  customMutation,\n} from \"convex-helpers/server/customFunctions\";\n\nconst triggers = new Triggers<DataModel>();\n\n// 1. Attach a computed `fullName` field to every user.\ntriggers.register(\"users\", async (ctx, change) => {\n  if (change.newDoc) {\n    const fullName = `${change.newDoc.firstName} ${change.newDoc.lastName}`;\n    // Abort the mutation if document is invalid.\n    if (fullName === \"The Balrog\") {\n      throw new Error(\"you shall not pass\");\n    }\n    // Update denormalized field. Check first to avoid recursion\n    if (change.newDoc.fullName !== fullName) {\n      await ctx.db.patch(change.id, { fullName });\n    }\n  }\n});\n\n// 2. Keep a denormalized count of all users.\ntriggers.register(\"users\", async (ctx, change) => {\n  // Note writing the count to a single document increases write contention.\n  // There are more scalable methods if you need high write throughput.\n  const countDoc = (await ctx.db.query(\"userCount\").unique())!;\n  if (change.operation === \"insert\") {\n    await ctx.db.patch(countDoc._id, { count: countDoc.count + 1 });\n  } else if (change.operation === \"delete\") {\n    await ctx.db.patch(countDoc._id, { count: countDoc.count - 1 });\n  }\n});\n\n// 3. After the mutation, send the new user info to Clerk.\n// Even if a user is modified multiple times in a single mutation,\n// `internal.users.updateClerkUser` runs once.\nconst scheduled: Record<Id<\"users\">, Id<\"_scheduled_functions\">> = {};\ntriggers.register(\"users\", async (ctx, change) => {\n  if (scheduled[change.id]) {\n    await ctx.scheduler.cancel(scheduled[change.id]);\n  }\n  scheduled[change.id] = await ctx.scheduler.runAfter(\n    0,\n    internal.users.updateClerkUser,\n    { user: change.newDoc },\n  );\n});\n\n// 4. When a user is deleted, delete their messages (cascading deletes).\ntriggers.register(\"users\", async (ctx, change) => {\n  // Using relationships.ts helpers for succinctness.\n  await asyncMap(\n    await getManyFrom(ctx.db, \"messages\", \"owner\", change.id),\n    (message) => ctx.db.delete(message._id),\n  );\n});\n\n// Use `mutation` to define all mutations, and the triggers will get called.\nexport const mutation = customMutation(rawMutation, customCtx(triggers.wrapDB));\n```\n\nNow that you have redefined `mutation`, add an\n[eslint rule](https://stack.convex.dev/eslint-setup#no-restricted-imports) to\nforbid using the raw mutation wrappers which don't call your triggers.\n\n### What can you do with triggers?\n\n- Denormalize computed fields onto the same table or into a different table.\n  - Such fields can be indexed for more efficient lookup.\n- By default, triggers will trigger more triggers.\n  - This can be useful to ensure denormalized fields stay consistent, no matter\n    where they are modified.\n  - Watch out for infinite loops of triggers.\n  - Use `ctx.innerDb` to perform writes without triggering more triggers.\n- Use global variables to coordinate across trigger invocations, e.g. to batch\n  or debounce or single-flight async processing.\n- Combine with other custom functions that can pre-fetch data, like fetching the\n  authorized user at the start of the mutation.\n- Throw errors, which can prevent the write by aborting the mutation.\n  - Validate constraints and internal consistency.\n  - Check row-level-security rules to validate the write is authorized.\n- Components like\n  [Aggregate](https://www.npmjs.com/package/@convex-dev/aggregate) can define\n  triggers by exposing a method like `TableAggregate.trigger()` that returns a\n  `Trigger<Ctx, DataModel, TableName>`. This \"attaches\" the component to a\n  table.\n\n### Trigger semantics\n\n- The `change` argument tells you exactly how the document changed via a single\n  `ctx.db.insert`, `ctx.db.patch`, `ctx.db.replace`, or `ctx.db.delete`.\n  If these functions are called in parallel with `Promise.all`, they will be\n  serialized as if they happened sequentially.\n- A database write is executed atomically with all of its triggers, so you can\n  update a denormalized field in a trigger without worrying about parallel\n  writes getting in the way.\n- If a write kicks off recursive triggers, they are executed with a queue,\n  i.e. breadth-first-search order.\n- If a trigger function throws an error, it will be thrown from the database\n  write (e.g. `ctx.db.insert`) that caused the trigger.\n  - If a trigger's error is caught, the database write can still be committed.\n  - To maximize fairness and consistency, all triggers still run, even if an\n    earlier trigger threw an error. The first trigger that throws an error will\n    have its error rethrown; other errors are `console.error` logged.\n\n> Warning: Triggers only run through `mutation`s and `internalMutation`s when\n> wrapped with `customFunction`s.\n>\n> If you forget to use the wrapper, the triggers won't run (use\n> [eslint rules](https://stack.convex.dev/eslint-setup#no-restricted-imports)).\n>\n> If you edit data in the Convex dashboard, the triggers won't run.\n>\n> If you upload data through `npx convex import`, the triggers won't run.\n> const users = useQuery(api.users.getAll);\n\n## CORS support for HttpRouter\n\nAdd CORS support to your Convex httpAction routes by registering a\nhandler for OPTIONS preflight requests and returning the appropriate headers.\nSupports configuring allowed origins, allowed headers, exposed headers, allowing credentials, and browser cache max age, both for the entire router and per route overrides.\n\nHere's a snippet from our `http.ts` file demonstrating how to use the `corsHttpRouter`:\n\n```typescript\nimport { corsRouter } from \"convex-helpers/server/cors\";\nimport { httpRouter } from \"convex/server\";\nimport { httpAction } from \"./_generated/api\";\n\n// Your standard Convex http router:\nconst http = httpRouter();\n\n// Your CORS router:\nconst cors = corsRouter(\n  http,\n  // Optional configuration, can be omitted entirely\n  {\n    // allowedOrigins can also be a function\n    // allowedOrigins: (req: Request) => Promise<string[]>\n    allowedOrigins: [\"http://localhost:8080\"], // Default: [\"*\"]\n    allowedMethods: [\"GET\", \"POST\"], // Defaults to route spec method\n    allowedHeaders: [\"Content-Type\"], // Default: [\"Content-Type\"]\n    exposedHeaders: [\"Custom-Header\"], // Default: [\"Content-Range\", \"Accept-Ranges\"]\n    allowCredentials: true, // Default: false\n    browserCacheMaxAge: 60, // Default: 86400 (1 day)\n    // returns a 403 if the origin is not allowed\n    enforceAllowOrigins: true, // Default: false\n    debug: true, // Default: false\n  },\n);\n\ncors.route({\n  path: \"/foo\",\n  method: \"GET\",\n  handler: httpAction(async () => {\n    return new Response(\"ok\");\n  }),\n});\n\ncors.route({\n  path: \"/foo\",\n  // You can register multiple methods for the same path\n  method: \"POST\",\n  handler: httpAction(async () => {\n    return new Response(\"ok\");\n  }),\n  // You can provide configuration per route\n  allowedOrigins: [\"http://localhost:8080\"],\n});\n\n// Non-CORS routes still work, provided they're on different paths.\nhttp.route({\n  path: \"/notcors\",\n  method: \"GET\",\n  handler: httpAction(async () => {\n    return new Response(\"ok\");\n  }),\n});\n// Export http (or cors.http)\nexport default http;\n```\n\n## Standard Schema\n\n[Standard Schema](https://github.com/standard-schema/standard-schema)\nis a specification for validating data.\nTo convert a Convex validator to a Standard Schema, use `toStandardSchema`:\n\n```typescript\nimport { toStandardSchema } from \"convex-helpers/standardSchema\";\n\nconst standardValidator = toStandardSchema(\n  v.object({\n    name: v.string(),\n    age: v.number(),\n  }),\n);\n\nstandardValidator[\"~standard\"].validate({\n  name: \"John\",\n  age: 30,\n});\n```\n","readmeFilename":"README.md"}