{"_id":"@bernierllc/contentful-sync-service","_rev":"16-f9007fda9074eda56d4768428bf3284d","name":"@bernierllc/contentful-sync-service","dist-tags":{"latest":"1.4.3"},"versions":{"1.0.2":{"name":"@bernierllc/contentful-sync-service","version":"1.0.2","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.0.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"8380e9309a3da4a43b893ff2b4953fb87dddba56","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.0.2.tgz","fileCount":11,"integrity":"sha512-6QCg4c2I4FpBebPGY3KCL4FnurQiOEPu0fA2l45x74MM7VYHqroGi1cRxaLYltqqS9svxwTPW3iO9+0mJmVcdg==","signatures":[{"sig":"MEYCIQDnOGVLO8hXq/0fzqd7MXDBM24eljm/pwkb0Kx3i5ChGgIhAIyMcNerLFIm0oG+uiVyFOdX1v1+uSfUOmUzAyShIMC4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32215},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.0.2.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/private/var/folders/r0/wspnzd1s18sfjy10ffyv2qxw0000gn/T/60715f64fea9ecdd37fb9eab88fc3421/bernierllc-contentful-sync-service-1.0.2.tgz","_integrity":"sha512-6QCg4c2I4FpBebPGY3KCL4FnurQiOEPu0fA2l45x74MM7VYHqroGi1cRxaLYltqqS9svxwTPW3iO9+0mJmVcdg==","_npmVersion":"11.6.2","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@bernierllc/logger":"^1.0.1","@bernierllc/message-queue":"^1.0.2","@bernierllc/contentful-types":"^1.0.4","@bernierllc/neverhub-adapter":"^0.1.1","@bernierllc/contentful-cda-client":"^1.0.2","@bernierllc/contentful-export-adapter":"^1.0.2","@bernierllc/contentful-webhook-handler":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.0.2_1764707125703_0.12313643949447495","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bernierllc/contentful-sync-service","version":"1.0.3","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.0.3","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"bce77d4cfb4d2e92b552f6afe9654500d7f8dd02","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.0.3.tgz","fileCount":11,"integrity":"sha512-v5CXBA66N2OieXYRvw3ugaU9dEva/BjfQlMGkaXQJuCBluxis2/bAqXuIs/rCPjbO5CHLzk262fy9j7EDoEelQ==","signatures":[{"sig":"MEUCIHaoO9hmwxlqOm7iClNqvi0JaOOWbWVzPfigAluCsvF8AiEA6Nv8JxC4HY0ROecXHsT9C+rKTadejpkfAcDKa4oYLhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32255},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.0.3.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/tmp/9c79277595345cbcf0e7281689de90f1/bernierllc-contentful-sync-service-1.0.3.tgz","_integrity":"sha512-v5CXBA66N2OieXYRvw3ugaU9dEva/BjfQlMGkaXQJuCBluxis2/bAqXuIs/rCPjbO5CHLzk262fy9j7EDoEelQ==","_npmVersion":"11.7.0","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.0.4","@bernierllc/message-queue":"1.0.2","@bernierllc/contentful-types":"1.0.4","@bernierllc/neverhub-adapter":"0.1.2","@bernierllc/contentful-cda-client":"1.0.3","@bernierllc/contentful-export-adapter":"1.0.3","@bernierllc/contentful-webhook-handler":"1.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.0.3_1766437874688_0.37826733659655076","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bernierllc/contentful-sync-service","version":"1.0.4","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.0.4","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"7adbd6f355ca8ba5668a34eb08d7066f82842b54","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.0.4.tgz","fileCount":11,"integrity":"sha512-RpQmj/DX+PeO+iPL4D34ivXYiUZwAPRuoANXTC5/IULl7q+WcexQutHRMIe+EqtOelAq59C54LCoI8o8pQF9Aw==","signatures":[{"sig":"MEQCIFj6AeDmlKEv6DRSWYVBz2LadOH+viOa4zkRB9tUrsNbAiA4ZxMVVY1ZO+FlPHAhv2Ce/927h+P0P3a02Y1X0koctw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32255},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.0.4.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/tmp/cb31cfc4460ee1966f7cdcbb187ae87d/bernierllc-contentful-sync-service-1.0.4.tgz","_integrity":"sha512-RpQmj/DX+PeO+iPL4D34ivXYiUZwAPRuoANXTC5/IULl7q+WcexQutHRMIe+EqtOelAq59C54LCoI8o8pQF9Aw==","_npmVersion":"11.7.0","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.1.0","@bernierllc/message-queue":"1.0.2","@bernierllc/contentful-types":"1.0.4","@bernierllc/neverhub-adapter":"0.1.2","@bernierllc/contentful-cda-client":"1.0.4","@bernierllc/contentful-export-adapter":"1.0.4","@bernierllc/contentful-webhook-handler":"1.0.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.0.4_1766454494791_0.014980731706125239","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@bernierllc/contentful-sync-service","version":"1.0.6","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.0.6","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"98b2aa2430d28dd3394e16009d89571c57004bd9","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.0.6.tgz","fileCount":11,"integrity":"sha512-ZDx5Ak/pQIl17amOXfKWXq/uP6+N51wkUGrAq2PYLL2CG+gajNVbVXlrF3P0KYTu3CCcHqNqHABNwWt6G2XPtw==","signatures":[{"sig":"MEYCIQCU0L9Fb2wyltrklNrUDT4kpcl+85SWuqVVgPi7QN6IwwIhAKyEKEOBg54tfaLuYunZwfRZK4nAP9LtUHo3jalfHiPx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32364},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.3.0","@bernierllc/message-queue":"1.1.0","@bernierllc/contentful-types":"1.2.0","@bernierllc/neverhub-adapter":"0.1.4","@bernierllc/contentful-cda-client":"1.2.0","@bernierllc/contentful-export-adapter":"1.2.0","@bernierllc/contentful-webhook-handler":"1.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.0.6_1767642493679_0.6877009813297952","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@bernierllc/contentful-sync-service","version":"1.0.8","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.0.8","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"4f0194617dc319f0ece8ef75e0a0749644d50bce","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.0.8.tgz","fileCount":11,"integrity":"sha512-FC8OjKykQqFUnw5AWYoSYnz0FwF3So+gPOW8PwIoP6Ci0fGacsT0jxyL78sAue3dzkZekJluHxKnteA4Ztmmog==","signatures":[{"sig":"MEUCIDuqJGjRgWTYPsrkbSIbq0EWmmbK4bU0O0sS8zhikzgBAiEAvCXVOfVNYwSd6A1TC0Gv4OWl73qeVcJhYi8oMkf6zuU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32256},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.0.8.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.0.8.tgz","_integrity":"sha512-FC8OjKykQqFUnw5AWYoSYnz0FwF3So+gPOW8PwIoP6Ci0fGacsT0jxyL78sAue3dzkZekJluHxKnteA4Ztmmog==","_npmVersion":"11.11.0","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/logger":"1.3.2","@bernierllc/message-queue":"1.1.2","@bernierllc/contentful-types":"1.2.2","@bernierllc/neverhub-adapter":"0.1.6","@bernierllc/contentful-cda-client":"1.2.2","@bernierllc/contentful-export-adapter":"1.2.2","@bernierllc/contentful-webhook-handler":"1.0.10"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.0.8_1773163530162_0.5135509467471093","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@bernierllc/contentful-sync-service","version":"1.0.9","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.0.9","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"dd1fd282c6aeeb855a0b186b1537dc9d37972ba6","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.0.9.tgz","fileCount":11,"integrity":"sha512-g5vkPFdQlahTtEcAPUC5TmlRaaK1Ltv4bMX1fATlNmBYLLEjWLMHx24PQ1WxGCrc1hK3cBmJNqR2ZZswmBVJbA==","signatures":[{"sig":"MEQCIHGTY2xz/bDAObS/14lFhrgFysFVctVB+Ew5loEkVaIWAiBshqkyQ8aWmOuoDlOqe7YeLBv8oL9JDEeYB72chLuzTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32256},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.0.9.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.0.9.tgz","_integrity":"sha512-g5vkPFdQlahTtEcAPUC5TmlRaaK1Ltv4bMX1fATlNmBYLLEjWLMHx24PQ1WxGCrc1hK3cBmJNqR2ZZswmBVJbA==","_npmVersion":"11.14.1","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.0","@bernierllc/message-queue":"1.1.3","@bernierllc/contentful-types":"1.2.2","@bernierllc/neverhub-adapter":"0.1.6","@bernierllc/contentful-cda-client":"1.2.3","@bernierllc/contentful-export-adapter":"1.2.3","@bernierllc/contentful-webhook-handler":"1.0.11"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.0.9_1779133738038_0.16147161285114353","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@bernierllc/contentful-sync-service","version":"1.0.10","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.0.10","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"a1aff0574c169006771cee842cdb611ea8b33c4e","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.0.10.tgz","fileCount":11,"integrity":"sha512-1If1498A9mp5lDz6pTkv0oP9gKh0CLTuB4rD5TP9/2IPvvLMi7ulGwecXhde+NnnJYhWqPp0Z0nerbMfQwh06w==","signatures":[{"sig":"MEQCIH1yMMBJYisJgW5Vbna8QhA7P7oNTbqyrPBX55Xracy4AiBkpWJyHLlPKWULLcZxwiHX/KULPuk+M/DsoCFbjzJANQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32257},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.0.10.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.0.10.tgz","_integrity":"sha512-1If1498A9mp5lDz6pTkv0oP9gKh0CLTuB4rD5TP9/2IPvvLMi7ulGwecXhde+NnnJYhWqPp0Z0nerbMfQwh06w==","_npmVersion":"11.14.1","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.2","@bernierllc/message-queue":"1.1.4","@bernierllc/contentful-types":"1.2.2","@bernierllc/neverhub-adapter":"0.1.6","@bernierllc/contentful-cda-client":"1.2.4","@bernierllc/contentful-export-adapter":"1.2.4","@bernierllc/contentful-webhook-handler":"1.0.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.0.10_1779157424909_0.893750837256575","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@bernierllc/contentful-sync-service","version":"1.0.11","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.0.11","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"315d0d2162de2de65deb40c4aa6aae5b160c5d31","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.0.11.tgz","fileCount":11,"integrity":"sha512-YTLtTIH/aYcizWZ27UE4xPagN7BsXJI7tCvvYSectwbl9UkVp6+X3NunNmKY9dlDsAYDVqgQkVw/aqjnButGFg==","signatures":[{"sig":"MEQCIF8GGJVLr8ITMSNgj3ubkn3uIc3avZ3Ty9Mu8IbZBVrcAiA9PvTHPD/Wb1N5Fu6iedTSkbRyWHd/woKTxpgfTFzqBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32257},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.0.11.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.0.11.tgz","_integrity":"sha512-YTLtTIH/aYcizWZ27UE4xPagN7BsXJI7tCvvYSectwbl9UkVp6+X3NunNmKY9dlDsAYDVqgQkVw/aqjnButGFg==","_npmVersion":"11.14.1","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.3","@bernierllc/message-queue":"1.1.4","@bernierllc/contentful-types":"1.2.2","@bernierllc/neverhub-adapter":"0.2.0","@bernierllc/contentful-cda-client":"1.2.5","@bernierllc/contentful-export-adapter":"1.2.5","@bernierllc/contentful-webhook-handler":"1.0.13"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.0.11_1779221578808_0.15098876368295944","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bernierllc/contentful-sync-service","version":"1.1.0","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.1.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"22e6cd29ad89d7f53f541f50f5aa8226efec3851","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.1.0.tgz","fileCount":11,"integrity":"sha512-sJr0sQmHgAUUP3L4NcfNDE+UtG88cSODXzszLRdm7bANR868por+djqrSUk6caX7stU5Xg+kl1MDqk0k/O1F9Q==","signatures":[{"sig":"MEYCIQDN+H6Hx9QNyqUN/mdOnSUdQO9gBx52sCVaQZ1JJ4BgEwIhANSb/pZnNyXAnkbTVVwxnQyULhpG8FvWQZb5sAgYhLKZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32255},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.1.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.1.0.tgz","_integrity":"sha512-sJr0sQmHgAUUP3L4NcfNDE+UtG88cSODXzszLRdm7bANR868por+djqrSUk6caX7stU5Xg+kl1MDqk0k/O1F9Q==","_npmVersion":"11.14.1","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","@bernierllc/message-queue":"1.2.0","@bernierllc/contentful-types":"1.4.0","@bernierllc/neverhub-adapter":"0.3.0","@bernierllc/contentful-cda-client":"1.4.0","@bernierllc/contentful-export-adapter":"1.4.0","@bernierllc/contentful-webhook-handler":"1.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.1.0_1779241628904_0.44983370317689464","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@bernierllc/contentful-sync-service","version":"1.1.1","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.1.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"d18d8187a6ccac2a0fe2d599667645f627368b74","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.1.1.tgz","fileCount":11,"integrity":"sha512-909TeSbilAIUE2EYprJ+PK7z8XcvlqroYnCxVGswVcAQks2Tup/KMiD3QouJnXJaCGuozGQBidFtib5ToiLFnw==","signatures":[{"sig":"MEYCIQDzKGOwgUxmudLSsHQGKhyWxj22rI3VmfC9nvdDl1VEZAIhAO93GzUmtPhs+r4xkIDyQuXJ1/nZYGvOSK81zk4WUY0t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32255},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.1.1.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.1.1.tgz","_integrity":"sha512-909TeSbilAIUE2EYprJ+PK7z8XcvlqroYnCxVGswVcAQks2Tup/KMiD3QouJnXJaCGuozGQBidFtib5ToiLFnw==","_npmVersion":"11.14.1","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","@bernierllc/message-queue":"1.2.0","@bernierllc/contentful-types":"1.4.0","@bernierllc/neverhub-adapter":"0.3.0","@bernierllc/contentful-cda-client":"1.4.1","@bernierllc/contentful-export-adapter":"1.4.0","@bernierllc/contentful-webhook-handler":"1.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.1.1_1779243440590_0.29107935364181436","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bernierllc/contentful-sync-service","version":"1.3.0","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"061ae1152e7c640a197ea14d578bfba5e118f513","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.3.0.tgz","fileCount":13,"integrity":"sha512-Yxg/X0oz8wYd37hHUWLeWbyRLjOMDUPu3mYJaA4u2ENtzFJAA5GDS7/TnZkgo0/rIURfZoKM3q6zaJK1hEVfKg==","signatures":[{"sig":"MEQCIGUDRwqALJHEmGujsk2ZOx0NvBSI/e5PbVEp5tTuidT8AiA993FZDrcsGffn2Dm4T5j84lhEo5EK1K5r5+ac3mIUKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34150},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.3.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.3.0.tgz","_integrity":"sha512-Yxg/X0oz8wYd37hHUWLeWbyRLjOMDUPu3mYJaA4u2ENtzFJAA5GDS7/TnZkgo0/rIURfZoKM3q6zaJK1hEVfKg==","_npmVersion":"11.14.1","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","@bernierllc/message-queue":"1.2.0","@bernierllc/contentful-types":"1.4.0","@bernierllc/neverhub-adapter":"0.3.0","@bernierllc/contentful-cda-client":"1.4.1","@bernierllc/contentful-export-adapter":"1.4.0","@bernierllc/contentful-webhook-handler":"1.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.3.0_1779245967259_0.6992696212700829","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@bernierllc/contentful-sync-service","version":"1.3.1","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.3.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"e978b1a242d7f404edb65ed52a9540524f23530b","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.3.1.tgz","fileCount":13,"integrity":"sha512-CyAmhLrB28HTfa5TsahHHCydqkqBiZtg7zxJSkEN8KZYPQ/WrZMD3CeOwcFSlFw7Q3joCbAIpqp6GCiKf42bEQ==","signatures":[{"sig":"MEQCIGMFTuJbf6QN7i/QkMHiE8l9FhbdLHugB5uRrd9ut7cwAiAL4hFrdDFLoc9uESx3h9k/fVtcjiDUP++ghK0Ic5vZHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34150},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.3.1.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.3.1.tgz","_integrity":"sha512-CyAmhLrB28HTfa5TsahHHCydqkqBiZtg7zxJSkEN8KZYPQ/WrZMD3CeOwcFSlFw7Q3joCbAIpqp6GCiKf42bEQ==","_npmVersion":"11.14.1","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","@bernierllc/message-queue":"1.4.0","@bernierllc/contentful-types":"1.4.0","@bernierllc/neverhub-adapter":"0.3.0","@bernierllc/contentful-cda-client":"1.4.1","@bernierllc/contentful-export-adapter":"1.4.0","@bernierllc/contentful-webhook-handler":"1.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.3.1_1779247216337_0.43488896824667056","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bernierllc/contentful-sync-service","version":"1.4.0","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.4.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"a6b8f8808a25abff61fd8e0c567e092c07f1219f","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.4.0.tgz","fileCount":13,"integrity":"sha512-ItjbeI42vVAZajSMYpuJ8hIDkinhrZaO4tsYgLLu2pAozuRP62wgpMwgxshMjs0eDqhulVxK+uCMjW/91gAjqA==","signatures":[{"sig":"MEQCIA85mbFqyRA1QVmu4BxCTLZA1AaE7Hm6DI8nWCpFI24xAiBjeMAjyvAhYC+Ag/BkzAvrGs7kIwzn7Zz8z/TE8yBNDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34150},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.4.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.4.0.tgz","_integrity":"sha512-ItjbeI42vVAZajSMYpuJ8hIDkinhrZaO4tsYgLLu2pAozuRP62wgpMwgxshMjs0eDqhulVxK+uCMjW/91gAjqA==","_npmVersion":"11.14.1","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.7.0","@bernierllc/message-queue":"1.5.0","@bernierllc/contentful-types":"1.5.0","@bernierllc/neverhub-adapter":"0.4.0","@bernierllc/contentful-cda-client":"1.5.0","@bernierllc/contentful-export-adapter":"1.5.0","@bernierllc/contentful-webhook-handler":"1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.4.0_1779250373438_0.9910380605546725","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@bernierllc/contentful-sync-service","version":"1.4.1","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.4.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"09fb12cb1d951dd245c98079ecbe568eb7d86744","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.4.1.tgz","fileCount":13,"integrity":"sha512-IB90SualipbyxTXCMsADAoDQLvkAW2oikxL+nRJB1XsqvUSQdXBDGNJiw88yfmgUIef9+6kVucZxywT9gzWcZw==","signatures":[{"sig":"MEUCIGMLM/pskMbHTzbKUkyVgZXZXo411QfWc0nTyHxFXhluAiEAw3oLzEkjcc1GGymRkGaZxlVdNTrGo7qkGlhlK2yruPk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34150},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.4.1.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.4.1.tgz","_integrity":"sha512-IB90SualipbyxTXCMsADAoDQLvkAW2oikxL+nRJB1XsqvUSQdXBDGNJiw88yfmgUIef9+6kVucZxywT9gzWcZw==","_npmVersion":"12.0.1","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@bernierllc/logger":"1.7.1","@bernierllc/message-queue":"1.5.0","@bernierllc/contentful-types":"1.5.0","@bernierllc/neverhub-adapter":"0.4.1","@bernierllc/contentful-cda-client":"1.5.1","@bernierllc/contentful-export-adapter":"1.5.1","@bernierllc/contentful-webhook-handler":"1.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.4.1_1784015846646_0.1387884414370466","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@bernierllc/contentful-sync-service","version":"1.4.2","keywords":["contentful","sync","service","ml-training","database","webhook"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-sync-service@1.4.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"7f9546f829e075e84974ac128cc2896d14d0549c","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.4.2.tgz","fileCount":13,"integrity":"sha512-lsOQbgQ9zuFNKqEBln6OjCew0WWdp2xAtxY2MFixUl9q4/DuIXXX1dStyF2IdWmlNGxqq0Ad4EXSdWf6IiYv8A==","signatures":[{"sig":"MEUCIGtf6c8kETev7G7YCAeO2acipgA42yp8+5KxxHO1SX8IAiEAxQcO3LyoYbyP/WT7sk0eLN43ZFj522NS1DEikeVfnjo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHmHpRBwrqxjfTOhJT+Qrh+p9wh0ILuBCc0/X4lnQm12AiEA4SqLwLmTFfejU2AnufgZ+1MJDsxVJBc0UytVzAcCTTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34150},"main":"dist/index.js","_from":"file:bernierllc-contentful-sync-service-1.4.2.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2e756df4-3374-4198-aded-584a16651928"}},"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.4.2.tgz","_integrity":"sha512-lsOQbgQ9zuFNKqEBln6OjCew0WWdp2xAtxY2MFixUl9q4/DuIXXX1dStyF2IdWmlNGxqq0Ad4EXSdWf6IiYv8A==","_npmVersion":"12.2.0","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@bernierllc/logger":"1.7.1","@bernierllc/message-queue":"1.5.1","@bernierllc/contentful-types":"1.5.0","@bernierllc/neverhub-adapter":"0.4.1","@bernierllc/contentful-cda-client":"1.5.1","@bernierllc/contentful-export-adapter":"1.5.1","@bernierllc/contentful-webhook-handler":"1.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-sync-service_1.4.2_1790882671880_0.5007270490020017","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"_id":"@bernierllc/contentful-sync-service@1.4.3","dist":{"shasum":"26ab15be1c8cfe0806b1e49182eaaee042a54167","tarball":"https://registry.npmjs.org/@bernierllc/contentful-sync-service/-/contentful-sync-service-1.4.3.tgz","fileCount":13,"integrity":"sha512-LqvmOApbP78B77a3CLvNhcJZIsvNFwPh6wnpkjDZSkYgA+GlqcaYQRGNhqTinQjZ2oko9Nfewtja/fpQZr5/Ng==","signatures":[{"sig":"MEUCIQC6lFVc9f+XMLHSW6ckC9r+HzumwoSHKNIp5CwKmBlmIgIgXrs06/TR3Rgl574npoA5vB8fpZ3Ha0625tuAbqpHnxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDJ40ewUMye9oAAGSQq7KqChYT9MOhw9BrxKXTg0j3llgIgQu101JMdLRnX4GGZlx5+AgC9O2tEhFOJrWIPmo1grsg="}],"unpackedSize":34157},"main":"dist/index.js","name":"@bernierllc/contentful-sync-service","_from":"file:bernierllc-contentful-sync-service-1.4.3.tgz","types":"dist/index.d.ts","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","scripts":{"lint":"eslint src --ext .ts","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage --runInBand"},"version":"1.4.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2e756df4-3374-4198-aded-584a16651928"}},"keywords":["contentful","sync","service","ml-training","database","webhook"],"_resolved":"/home/runner/work/tools/tools/packages/service/contentful-sync-service/bernierllc-contentful-sync-service-1.4.3.tgz","_integrity":"sha512-LqvmOApbP78B77a3CLvNhcJZIsvNFwPh6wnpkjDZSkYgA+GlqcaYQRGNhqTinQjZ2oko9Nfewtja/fpQZr5/Ng==","_npmVersion":"12.2.0","description":"Full export + incremental webhook sync to local storage for Contentful content","directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"@bernierllc/logger":"^1.7.1","@bernierllc/message-queue":"^1.5.2","@bernierllc/contentful-types":"^1.5.0","@bernierllc/neverhub-adapter":"^0.4.1","@bernierllc/contentful-cda-client":"^1.5.1","@bernierllc/contentful-export-adapter":"^1.5.1","@bernierllc/contentful-webhook-handler":"^1.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.1","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/contentful-sync-service_1.4.3_1790884200248_0.8160864426159098"}}},"time":{"created":"2025-12-02T20:25:25.609Z","modified":"2026-10-01T19:50:00.651Z","1.0.2":"2025-12-02T20:25:25.887Z","1.0.3":"2025-12-22T21:11:14.822Z","1.0.4":"2025-12-23T01:48:14.931Z","1.0.6":"2026-01-05T19:48:13.828Z","1.0.8":"2026-03-10T17:25:30.323Z","1.0.9":"2026-05-18T19:48:58.197Z","1.0.10":"2026-05-19T02:23:45.052Z","1.0.11":"2026-05-19T20:12:59.012Z","1.1.0":"2026-05-20T01:47:09.059Z","1.1.1":"2026-05-20T02:17:20.735Z","1.3.0":"2026-05-20T02:59:27.394Z","1.3.1":"2026-05-20T03:20:16.482Z","1.4.0":"2026-05-20T04:12:53.719Z","1.4.1":"2026-07-14T07:57:26.798Z","1.4.2":"2026-10-01T19:24:31.984Z","1.4.3":"2026-10-01T19:50:00.335Z"},"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","keywords":["contentful","sync","service","ml-training","database","webhook"],"description":"Full export + incremental webhook sync to local storage for Contentful content","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/contentful-sync-service\n\nFull export + incremental webhook sync to local storage for Contentful content.\n\n## Overview\n\nContentfulSyncService syncs Contentful content to local storage for ML training pipelines. It performs an initial full export using `contentful-export`, then maintains sync via CDA Sync API + webhook processing. Provides a structured content mirror for training without hitting Contentful APIs during training.\n\n## Features\n\n- 🔄 **Initial Full Export** - Complete space export to local storage\n- 📦 **Incremental Sync** - Delta sync using CDA Sync API\n- 🪝 **Webhook Processing** - Real-time updates via webhooks\n- 💾 **Abstract Storage** - Pluggable storage adapters\n- 📊 **Sync Statistics** - Track sync performance\n- 🔌 **NeverHub Integration** - Optional integration with NeverHub\n- 📝 **Comprehensive Logging** - Detailed operation logs\n\n## Installation\n\n```bash\nnpm install @bernierllc/contentful-sync-service\n```\n\n## Quick Start\n\n```typescript\nimport {\n  ContentfulSyncService,\n  InMemoryContentStorage,\n  InMemorySyncStateStorage\n} from '@bernierllc/contentful-sync-service';\n\n// Create storage instances\nconst contentStorage = new InMemoryContentStorage();\nconst syncStateStorage = new InMemorySyncStateStorage();\n\n// Create service\nconst service = new ContentfulSyncService({\n  spaceId: 'your-space-id',\n  environmentId: 'master',\n  accessToken: 'your-cda-token',\n  contentStorage,\n  syncStateStorage,\n  webhookSecret: 'your-webhook-secret' // Optional\n});\n\n// Initialize\nawait service.initialize();\n\n// Perform initial sync\nconst result = await service.initialSync('your-management-token');\nconsole.log(`Synced ${result.stats.entriesSynced} entries`);\n\n// Start auto-sync\nservice.startAutoSync();\n```\n\n## Storage Adapters\n\n### Built-in Adapters\n\nThe package provides in-memory adapters for testing:\n\n```typescript\nimport {\n  InMemoryContentStorage,\n  InMemorySyncStateStorage\n} from '@bernierllc/contentful-sync-service';\n\nconst contentStorage = new InMemoryContentStorage();\nconst syncStateStorage = new InMemorySyncStateStorage();\n```\n\n### Custom Storage Adapters\n\nImplement the storage interfaces for your database:\n\n```typescript\nimport type { ContentStorage, SyncStateStorage } from '@bernierllc/contentful-sync-service';\nimport type { Entry, Asset, ContentType } from '@bernierllc/contentful-types';\n\nclass PostgreSQLContentStorage implements ContentStorage {\n  async storeContentTypes(contentTypes: ContentType[]): Promise<void> {\n    // Store in PostgreSQL\n  }\n\n  async storeEntries(entries: Entry[]): Promise<void> {\n    // Store in PostgreSQL\n  }\n\n  async storeAssets(assets: Asset[]): Promise<void> {\n    // Store in PostgreSQL\n  }\n\n  async updateEntry(entry: Entry): Promise<void> {\n    // Update in PostgreSQL\n  }\n\n  async updateAsset(asset: Asset): Promise<void> {\n    // Update in PostgreSQL\n  }\n\n  async deleteEntry(entryId: string): Promise<void> {\n    // Delete from PostgreSQL\n  }\n\n  async deleteAsset(assetId: string): Promise<void> {\n    // Delete from PostgreSQL\n  }\n\n  async getEntry(entryId: string): Promise<Entry | null> {\n    // Retrieve from PostgreSQL\n  }\n\n  async getAsset(assetId: string): Promise<Asset | null> {\n    // Retrieve from PostgreSQL\n  }\n\n  async clearSpace(spaceId: string): Promise<void> {\n    // Clear space data from PostgreSQL\n  }\n}\n\nclass PostgreSQLSyncStateStorage implements SyncStateStorage {\n  async getSyncToken(spaceId: string): Promise<string | null> {\n    // Get from PostgreSQL\n  }\n\n  async setSyncToken(spaceId: string, token: string): Promise<void> {\n    // Store in PostgreSQL\n  }\n\n  async clearSyncToken(spaceId: string): Promise<void> {\n    // Clear from PostgreSQL\n  }\n}\n```\n\n## API Reference\n\n### ContentfulSyncService\n\n#### Constructor\n\n```typescript\nnew ContentfulSyncService(config: SyncServiceConfig)\n```\n\n**Config Options:**\n\n- `spaceId` (string) - Contentful space ID\n- `environmentId` (string) - Contentful environment ID\n- `accessToken` (string) - CDA access token\n- `contentStorage` (ContentStorage) - Content storage implementation\n- `syncStateStorage` (SyncStateStorage) - Sync state storage implementation\n- `webhookSecret` (string, optional) - Webhook validation secret\n- `syncInterval` (number, optional) - Auto-sync interval in ms (default: 300000)\n- `neverhubEnabled` (boolean, optional) - Enable NeverHub integration\n\n#### Methods\n\n##### `initialize(): Promise<void>`\n\nInitialize the service and optionally connect to NeverHub.\n\n```typescript\nawait service.initialize();\n```\n\n##### `initialSync(managementToken: string): Promise<SyncResult>`\n\nPerform initial full export from Contentful.\n\n```typescript\nconst result = await service.initialSync('cma-token');\nconsole.log(result.stats.entriesSynced); // Number of entries synced\n```\n\n##### `incrementalSync(): Promise<SyncResult>`\n\nPerform incremental sync using the CDA Sync API.\n\n```typescript\nconst result = await service.incrementalSync();\nconsole.log(result.stats.itemsDeleted); // Number of items deleted\n```\n\n##### `processWebhook(body: string, headers: Record<string, string>): Promise<void>`\n\nProcess a webhook event from Contentful.\n\n```typescript\napp.post('/webhook', async (req, res) => {\n  await service.processWebhook(\n    JSON.stringify(req.body),\n    req.headers\n  );\n  res.sendStatus(200);\n});\n```\n\n##### `startAutoSync(): void`\n\nStart automatic incremental sync at the configured interval.\n\n```typescript\nservice.startAutoSync();\n```\n\n##### `stopAutoSync(): void`\n\nStop automatic sync.\n\n```typescript\nservice.stopAutoSync();\n```\n\n##### `shutdown(): Promise<void>`\n\nShutdown the service cleanly.\n\n```typescript\nawait service.shutdown();\n```\n\n## Usage Examples\n\n### Basic Sync\n\n```typescript\nimport {\n  ContentfulSyncService,\n  InMemoryContentStorage,\n  InMemorySyncStateStorage\n} from '@bernierllc/contentful-sync-service';\n\nconst service = new ContentfulSyncService({\n  spaceId: 'my-space',\n  environmentId: 'master',\n  accessToken: 'cda-token',\n  contentStorage: new InMemoryContentStorage(),\n  syncStateStorage: new InMemorySyncStateStorage()\n});\n\nawait service.initialize();\nawait service.initialSync('cma-token');\nawait service.incrementalSync();\n```\n\n### Auto-Sync\n\n```typescript\n// Start auto-sync every 5 minutes\nservice.startAutoSync();\n\n// Later...\nservice.stopAutoSync();\n```\n\n### Webhook Processing\n\n```typescript\nimport express from 'express';\n\nconst app = express();\n\nconst service = new ContentfulSyncService({\n  spaceId: 'my-space',\n  environmentId: 'master',\n  accessToken: 'cda-token',\n  contentStorage: new InMemoryContentStorage(),\n  syncStateStorage: new InMemorySyncStateStorage(),\n  webhookSecret: 'webhook-secret'\n});\n\nawait service.initialize();\n\napp.post('/contentful-webhook', express.json(), async (req, res) => {\n  try {\n    await service.processWebhook(\n      JSON.stringify(req.body),\n      req.headers as Record<string, string>\n    );\n    res.sendStatus(200);\n  } catch (error) {\n    console.error('Webhook processing failed:', error);\n    res.sendStatus(500);\n  }\n});\n\napp.listen(3000);\n```\n\n### NeverHub Integration\n\n```typescript\nconst service = new ContentfulSyncService({\n  spaceId: 'my-space',\n  environmentId: 'master',\n  accessToken: 'cda-token',\n  contentStorage: new InMemoryContentStorage(),\n  syncStateStorage: new InMemorySyncStateStorage(),\n  neverhubEnabled: true // Enable NeverHub\n});\n\nawait service.initialize();\n// NeverHub registration happens automatically if available\n```\n\n## TypeScript Support\n\nFull TypeScript support with comprehensive type definitions:\n\n```typescript\nimport type {\n  ContentStorage,\n  SyncStateStorage,\n  SyncServiceConfig,\n  SyncResult,\n  SyncStats\n} from '@bernierllc/contentful-sync-service';\n```\n\n## Error Handling\n\n```typescript\nconst result = await service.initialSync('cma-token');\n\nif (!result.success) {\n  console.error('Sync failed:', result.error);\n} else {\n  console.log('Sync succeeded:', result.stats);\n}\n```\n\n## License\n\nCopyright (c) 2025 Bernier LLC\n\nThis file is licensed to the client under a limited-use license.\nThe client may use and modify this code *only within the scope of the project it was delivered for*.\nRedistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.\n","readmeFilename":"README.md"}