{"_id":"@bernierllc/contentful-cma-client","_rev":"12-3751a3165e8343e75861937d62091b4e","name":"@bernierllc/contentful-cma-client","dist-tags":{"latest":"1.3.1"},"versions":{"1.0.2":{"name":"@bernierllc/contentful-cma-client","version":"1.0.2","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.0.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"67b3afccf937affee1c98cdc19b9e796c0314448","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.0.2.tgz","fileCount":15,"integrity":"sha512-CSh04k64mUarZtV7P/FzEGl+W0SCNo4TXftqz6D/VeHAn9Jh+jhwjuM8VqPvoUAZbDQvwgJU5Ukb7Uzm1XdEHA==","signatures":[{"sig":"MEQCIDTOV//3xPy11w8oD7gshMkJPVrynq/w+i3K7GRUcfCAAiACBgScmr6KzsNHoVl2tcVe7BAvLWO65eP6nCekN5e3xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88363},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"59e346ab91ace4540261af9c99f41a0fc0880630","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_npmVersion":"11.6.2","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@bernierllc/logger":"^1.0.1","contentful-management":"^11.0.0","@bernierllc/contentful-types":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.0.2_1764700663110_0.5353669038096949","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bernierllc/contentful-cma-client","version":"1.0.3","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.0.3","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"dab9d904fc96678f339dde3042303ea1d2078a2f","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.0.3.tgz","fileCount":16,"integrity":"sha512-l4myGiXcjxHcWUx8QayhzR7wRd96YkOuYR3m5O/8F497j57HM/yVF2Bi5cGBCxXuYo2jvYf1US4vYVa1ySkSww==","signatures":[{"sig":"MEUCID8LY6FeD7I2iEQz5L15cou9Fac/PPLhQurcFTuQ9h3YAiEAm0uM40x3lLahlOIqob7LcZdlHY3J+aLC+/ghd8qBK8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88620},"main":"dist/index.js","_from":"file:bernierllc-contentful-cma-client-1.0.3.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"_resolved":"/tmp/466c86aff80c39b766eb0a3c2503d295/bernierllc-contentful-cma-client-1.0.3.tgz","_integrity":"sha512-l4myGiXcjxHcWUx8QayhzR7wRd96YkOuYR3m5O/8F497j57HM/yVF2Bi5cGBCxXuYo2jvYf1US4vYVa1ySkSww==","_npmVersion":"11.7.0","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.0.4","contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.0.3_1766437732248_0.09200269859008459","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bernierllc/contentful-cma-client","version":"1.0.4","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.0.4","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"e7227b70829edac2a3ad451ca19bf4c4f2e5c03b","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.0.4.tgz","fileCount":16,"integrity":"sha512-ApaxaRPlNV6UIYGqWKFcaw6/HcKxJ5IEriGwjotjG3JMeToUnodaPleQW+kV4N/oHU1pjmIKyiAIoqEhdK+b3w==","signatures":[{"sig":"MEYCIQCxyw7iFhyjRuEQva3s1p2O10ZV+q6qZMF2b6B9xst2jQIhAOnQbQzS150BFm7B8eVMqdjmyc2zsC/fZhkVpzl1ymkt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88802},"main":"dist/index.js","_from":"file:bernierllc-contentful-cma-client-1.0.4.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"_resolved":"/tmp/40bf9367dd68a00ed39eab5793bc59bf/bernierllc-contentful-cma-client-1.0.4.tgz","_integrity":"sha512-ApaxaRPlNV6UIYGqWKFcaw6/HcKxJ5IEriGwjotjG3JMeToUnodaPleQW+kV4N/oHU1pjmIKyiAIoqEhdK+b3w==","_npmVersion":"11.7.0","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.1.0","contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.0.4_1766454388347_0.8785678151001577","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@bernierllc/contentful-cma-client","version":"1.0.6","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.0.6","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"73f4114de1f33b78290a8786983bff5a68cd66c2","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.0.6.tgz","fileCount":16,"integrity":"sha512-WtZFqTeiKyv4QLR7i98hIOyhRTZ31SNrtLVg0650gNwI42/unTjlR6txvm73k1fx1uYOTrXbfUvgdK66tDqjOA==","signatures":[{"sig":"MEQCICJVPRGuulgjBNkZl1zsA1pcI/0Z+DnaMC1ZdlRoEpfGAiAYuHcZqwioUSfi+Ha82v7CDxK7KFSgDIu12DvyLbqWCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89916},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.3.0","contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.0.6_1767642434154_0.4159656185395275","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@bernierllc/contentful-cma-client","version":"1.0.7","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.0.7","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"db8395e868471a040e4f04e5aee0a8c28b4f5f2b","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.0.7.tgz","fileCount":16,"integrity":"sha512-cPoCZ95zqPVT2mL8J1Y6ipjdYF1GHYAf4TqbyRWWnpcyGl9NDIzbOygYq5xpAktLHcveXOKPCpha6+I7slur+Q==","signatures":[{"sig":"MEQCIGdsyKLNCVpSJRfzDJyNcXN0XQuPByLQmyFIKF2LYCrfAiBP6/f+gH6qyqyPHytKq5fNCHxoqGKU0KWBKV9DY+oLjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90089},"main":"dist/index.js","_from":"file:bernierllc-contentful-cma-client-1.0.7.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"_resolved":"/tmp/58bdd8578e40728f74c71025205dad13/bernierllc-contentful-cma-client-1.0.7.tgz","_integrity":"sha512-cPoCZ95zqPVT2mL8J1Y6ipjdYF1GHYAf4TqbyRWWnpcyGl9NDIzbOygYq5xpAktLHcveXOKPCpha6+I7slur+Q==","_npmVersion":"11.11.0","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/logger":"1.3.1","contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.0.7_1773078417200_0.7959803254763407","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@bernierllc/contentful-cma-client","version":"1.0.8","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.0.8","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"f787aacb592c1ab9f8c085f99d98b576384a2ce8","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.0.8.tgz","fileCount":16,"integrity":"sha512-+1ekngoRzFIvaBgZ9KN/BDt1F7hd9B//+pcbQeJVzZYOiICp88DsmyveBY+wmYYmzaOvBeA/SdZLVhpNXAv/jA==","signatures":[{"sig":"MEQCIDGqBWmj9EuwhBvYjv2YANXzBRb7JVfpJ2wPzCkAP2fdAiBlrKZA9irG+C9Q1mmuZXLU9H9TSZK/0tAdnh1E7o43CA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90320},"main":"dist/index.js","_from":"file:bernierllc-contentful-cma-client-1.0.8.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"_resolved":"/home/runner/work/tools/tools/packages/core/contentful-cma-client/bernierllc-contentful-cma-client-1.0.8.tgz","_integrity":"sha512-+1ekngoRzFIvaBgZ9KN/BDt1F7hd9B//+pcbQeJVzZYOiICp88DsmyveBY+wmYYmzaOvBeA/SdZLVhpNXAv/jA==","_npmVersion":"11.11.0","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/logger":"1.3.2","contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.0.8_1773163112241_0.5806991119712135","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@bernierllc/contentful-cma-client","version":"1.0.9","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.0.9","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"1de0eb5c210277a8d61ad12f7a58c4681f0c549a","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.0.9.tgz","fileCount":16,"integrity":"sha512-6nIMZTNVeL9Uwd0Ih/T+I/E4grhASua+6qPzP+CNoM72UYFN4KsSmQqXydWfKOUQD1YQn8a1+GF7uEB/vFlnkA==","signatures":[{"sig":"MEUCID+dOvkW3iW/+Dk0eO3xXiksXDMBoPByyoKUM3hONiGjAiEA5VwbTvYzkpK+NE/8tC1pyGJ3qNXLqcR4GlzETkqV+hI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90551},"main":"dist/index.js","_from":"file:bernierllc-contentful-cma-client-1.0.9.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"_resolved":"/home/runner/work/tools/tools/packages/core/contentful-cma-client/bernierllc-contentful-cma-client-1.0.9.tgz","_integrity":"sha512-6nIMZTNVeL9Uwd0Ih/T+I/E4grhASua+6qPzP+CNoM72UYFN4KsSmQqXydWfKOUQD1YQn8a1+GF7uEB/vFlnkA==","_npmVersion":"11.14.1","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.0","contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.0.9_1779133401039_0.42720074076228864","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@bernierllc/contentful-cma-client","version":"1.0.10","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.0.10","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"9b80faacef8cd7ecc5a01aca0f458bac3eb19100","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.0.10.tgz","fileCount":16,"integrity":"sha512-XecxQM25kYgqxMNc9kc06QSM5i4TKM+YnxkYdGDMnFakgPGRhkQcJ+coMHdzFDXe//SWv6IZh3t/3mn4fHLwYA==","signatures":[{"sig":"MEUCIQDW+htRElPC2Jwbzrw8++1OIBy5H5AlKioc1WTJatFpdgIgNUkGsbWdMMTYEJ4lUi5rBGVcdQJ2P0ymc5mN2FV23rw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90785},"main":"dist/index.js","_from":"file:bernierllc-contentful-cma-client-1.0.10.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"_resolved":"/home/runner/work/tools/tools/packages/core/contentful-cma-client/bernierllc-contentful-cma-client-1.0.10.tgz","_integrity":"sha512-XecxQM25kYgqxMNc9kc06QSM5i4TKM+YnxkYdGDMnFakgPGRhkQcJ+coMHdzFDXe//SWv6IZh3t/3mn4fHLwYA==","_npmVersion":"11.14.1","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.2","contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.0.10_1779157154143_0.9895989819395863","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@bernierllc/contentful-cma-client","version":"1.0.11","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.0.11","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"d70a94e5a591e0072698be56695feafab7dcfdb8","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.0.11.tgz","fileCount":16,"integrity":"sha512-vAxqr6LvWpodNSN0YRC5E/yWilZcoC0mihMb/Ycozj5iSmwZ69C0i1V238jIqbyiXlzZh9QDEttNds3yt0LtSw==","signatures":[{"sig":"MEQCIAeZH+knW7w1EcxkYj8p+jMfysSn98jZoEEdltpxab48AiAUJ0EqL6J1FeJZzCUOUe5G0eZNYqmyeBcMpfRBbJ7djQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91019},"main":"dist/index.js","_from":"file:bernierllc-contentful-cma-client-1.0.11.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"_resolved":"/home/runner/work/tools/tools/packages/core/contentful-cma-client/bernierllc-contentful-cma-client-1.0.11.tgz","_integrity":"sha512-vAxqr6LvWpodNSN0YRC5E/yWilZcoC0mihMb/Ycozj5iSmwZ69C0i1V238jIqbyiXlzZh9QDEttNds3yt0LtSw==","_npmVersion":"11.14.1","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.3","contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.0.11_1779221255764_0.5851435305172887","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bernierllc/contentful-cma-client","version":"1.2.0","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"9d2282094948432e5b28b52b167549a0406e1a88","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.2.0.tgz","fileCount":10,"integrity":"sha512-w6d+tpcaqv6EZrJGccroPn0vgGu8ca8pJP0nKeZkIzGqmTiAsDmMvhNH9q2VWpci4CbcPKk+lVDpUQ3H06v/Wg==","signatures":[{"sig":"MEQCICDY/1R935DwU617K3dYg65hWEFhvEJ0g1NkAROQgQD7AiAl1yDE5GGzNoX/xdKdzJjQ6cZcktE5bAWiuv+CQkaxUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39826},"main":"dist/index.js","_from":"file:bernierllc-contentful-cma-client-1.2.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"_resolved":"/home/runner/work/tools/tools/packages/core/contentful-cma-client/bernierllc-contentful-cma-client-1.2.0.tgz","_integrity":"sha512-w6d+tpcaqv6EZrJGccroPn0vgGu8ca8pJP0nKeZkIzGqmTiAsDmMvhNH9q2VWpci4CbcPKk+lVDpUQ3H06v/Wg==","_npmVersion":"11.14.1","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.2.0_1779241046890_0.03856678203734765","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bernierllc/contentful-cma-client","version":"1.3.0","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","_id":"@bernierllc/contentful-cma-client@1.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"3de9dac436a7eed7c6af1cb2fc708e04484a4bec","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.3.0.tgz","fileCount":10,"integrity":"sha512-itWpXM+h9Y2l+FnVcqfMfGD6y7gzwH6lJ9twCPbeX4X8jAdbHwvcRM66ghr8UaPmZxWKCMp0zgHWWgujONUiTQ==","signatures":[{"sig":"MEUCIQCs6WUyc02MBvPzW+/myg81G7ZVXYi27WwiyebOwHdw2wIgNddSKG7NyH8nB0+a0E5cv5JK89STRbxK49LINYd5t1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39826},"main":"dist/index.js","_from":"file:bernierllc-contentful-cma-client-1.3.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"_resolved":"/home/runner/work/tools/tools/packages/core/contentful-cma-client/bernierllc-contentful-cma-client-1.3.0.tgz","_integrity":"sha512-itWpXM+h9Y2l+FnVcqfMfGD6y7gzwH6lJ9twCPbeX4X8jAdbHwvcRM66ghr8UaPmZxWKCMp0zgHWWgujONUiTQ==","_npmVersion":"11.14.1","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.7.0","contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.5.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/contentful-cma-client_1.3.0_1779249787578_0.1680965073249847","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@bernierllc/contentful-cma-client","version":"1.3.1","description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","main":"dist/index.js","types":"dist/index.d.ts","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","dependencies":{"contentful-management":"^11.0.0","@bernierllc/contentful-types":"1.5.0","@bernierllc/logger":"1.7.1"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","eslint":"^8.0.0","jest":"^29.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"tsc","test":"jest","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","lint":"eslint src --ext .ts","lint:fix":"eslint src --ext .ts --fix","clean":"rm -rf dist"},"_id":"@bernierllc/contentful-cma-client@1.3.1","_integrity":"sha512-tD6rN22iBJM0Z0ukf8OCM0z2ldCYx2Lt+puf5NZQQqUFF5s9x+JLn+gNs4BE6rT3y2zv3XYOC0p2Q5ehzoqOvQ==","_resolved":"/home/runner/work/tools/tools/packages/core/contentful-cma-client/bernierllc-contentful-cma-client-1.3.1.tgz","_from":"file:bernierllc-contentful-cma-client-1.3.1.tgz","_nodeVersion":"24.18.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-tD6rN22iBJM0Z0ukf8OCM0z2ldCYx2Lt+puf5NZQQqUFF5s9x+JLn+gNs4BE6rT3y2zv3XYOC0p2Q5ehzoqOvQ==","shasum":"b9b4cdc94168dcf4cb85a328e5d59c0464f74d42","tarball":"https://registry.npmjs.org/@bernierllc/contentful-cma-client/-/contentful-cma-client-1.3.1.tgz","fileCount":10,"unpackedSize":39826,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDrpIXl4WPcq/gOSQOh/fEGAN3+FXTDDL+wq/OYRUZMVQIgMfxgdmyyIyZXoEskPN8S+97cPwyd/0IVzInrbuTuisE="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b367bbd8-f54f-4647-adcb-3de03e2b1e4f"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/contentful-cma-client_1.3.1_1784015554707_0.5297557819944565"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-02T18:37:43.038Z","modified":"2026-07-14T07:52:34.960Z","1.0.2":"2025-12-02T18:37:43.298Z","1.0.3":"2025-12-22T21:08:52.390Z","1.0.4":"2025-12-23T01:46:28.493Z","1.0.6":"2026-01-05T19:47:14.327Z","1.0.7":"2026-03-09T17:46:57.365Z","1.0.8":"2026-03-10T17:18:32.382Z","1.0.9":"2026-05-18T19:43:21.193Z","1.0.10":"2026-05-19T02:19:14.300Z","1.0.11":"2026-05-19T20:07:35.933Z","1.2.0":"2026-05-20T01:37:27.031Z","1.3.0":"2026-05-20T04:03:07.747Z","1.3.1":"2026-07-14T07:52:34.825Z"},"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE.md","keywords":["contentful","cma","content-management","api-wrapper","bernierllc"],"description":"Thin wrapper around contentful-management SDK with consistent error handling, logging, and typed interfaces","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/contentful-cma-client\n\nThin wrapper around the official `contentful-management` npm package, providing consistent error handling, logging, and typed interfaces for all CMA (Content Management API) operations.\n\n## Installation\n\n```bash\nnpm install @bernierllc/contentful-cma-client\n```\n\n## Features\n\n- ✅ **Typed Interfaces** - Full TypeScript support using `@bernierllc/contentful-types`\n- ✅ **Comprehensive CRUD** - Entries, Assets, Content Types operations\n- ✅ **Bulk Operations** - Batch create, update, publish, delete\n- ✅ **Automatic Pagination** - `getAllEntries()` and `getAllAssets()` handle pagination automatically\n- ✅ **Consistent Logging** - Integrated with `@bernierllc/logger`\n- ✅ **Error Handling** - Graceful error handling with detailed logging\n- ✅ **Publishing Workflow** - Publish, unpublish, archive, unarchive support\n\n## Usage\n\n### Basic Setup\n\n```typescript\nimport { ContentfulCMAClient } from '@bernierllc/contentful-cma-client';\n\nconst client = new ContentfulCMAClient({\n  accessToken: 'your-cma-token',\n  spaceId: 'your-space-id',\n  environmentId: 'master' // optional, defaults to 'master'\n});\n```\n\n### Entry Operations\n\n#### Get Entry\n\n```typescript\nconst entry = await client.getEntry<BlogPost>('entry-id');\nconsole.log(entry.fields.title);\n```\n\n#### Get Entries with Query\n\n```typescript\nconst entries = await client.getEntries<BlogPost>({\n  content_type: 'blogPost',\n  limit: 10,\n  skip: 0\n});\n```\n\n#### Get All Entries (with automatic pagination)\n\n```typescript\nconst allEntries = await client.getAllEntries<BlogPost>({\n  content_type: 'blogPost'\n});\n```\n\n#### Create Entry\n\n```typescript\nconst newEntry = await client.createEntry<BlogPost>(\n  'blogPost',\n  {\n    title: { 'en-US': 'My Blog Post' },\n    body: { 'en-US': 'Content here...' }\n  }\n);\n```\n\n#### Create Entry with Custom ID\n\n```typescript\nconst newEntry = await client.createEntry<BlogPost>(\n  'blogPost',\n  {\n    title: { 'en-US': 'My Blog Post' }\n  },\n  { entryId: 'custom-entry-id' }\n);\n```\n\n#### Update Entry\n\n```typescript\nconst updatedEntry = await client.updateEntry<BlogPost>(\n  'entry-id',\n  {\n    title: { 'en-US': 'Updated Title' }\n  },\n  2 // version number\n);\n```\n\n#### Publish Entry\n\n```typescript\nconst publishedEntry = await client.publishEntry('entry-id', 2);\n```\n\n#### Unpublish Entry\n\n```typescript\nawait client.unpublishEntry('entry-id');\n```\n\n#### Archive Entry\n\n```typescript\nawait client.archiveEntry('entry-id', 2);\n```\n\n#### Unarchive Entry\n\n```typescript\nawait client.unarchiveEntry('entry-id');\n```\n\n#### Delete Entry\n\n```typescript\nawait client.deleteEntry('entry-id');\n```\n\n### Asset Operations\n\n#### Get Asset\n\n```typescript\nconst asset = await client.getAsset('asset-id');\nconsole.log(asset.fields.file['en-US'].url);\n```\n\n#### Create Asset\n\n```typescript\nconst newAsset = await client.createAsset({\n  title: { 'en-US': 'My Image' },\n  file: {\n    'en-US': {\n      url: 'https://example.com/image.jpg',\n      fileName: 'image.jpg',\n      contentType: 'image/jpeg',\n      details: { size: 12345 }\n    }\n  }\n});\n```\n\n#### Process Asset (after upload)\n\n```typescript\nawait client.processAsset('asset-id', 1, 'en-US');\n```\n\n#### Publish Asset\n\n```typescript\nconst publishedAsset = await client.publishAsset('asset-id', 2);\n```\n\n#### Delete Asset\n\n```typescript\nawait client.deleteAsset('asset-id');\n```\n\n### Content Type Operations\n\n#### Get Content Type\n\n```typescript\nconst contentType = await client.getContentType('blogPost');\nconsole.log(contentType.fields);\n```\n\n#### Get All Content Types\n\n```typescript\nconst contentTypes = await client.getContentTypes();\n```\n\n### Bulk Operations\n\n#### Bulk Create Entries\n\n```typescript\nconst result = await client.bulkCreateEntries([\n  { contentTypeId: 'blogPost', fields: { title: { 'en-US': 'Post 1' } } },\n  { contentTypeId: 'blogPost', fields: { title: { 'en-US': 'Post 2' } } }\n]);\n\nconsole.log(`Created: ${result.successful.length}`);\nconsole.log(`Failed: ${result.failed.length}`);\n\n// Handle failures\nresult.failed.forEach(failure => {\n  console.error(`Failed to create:`, failure.error);\n});\n```\n\n#### Bulk Publish Entries\n\n```typescript\nconst result = await client.bulkPublishEntries([\n  { entryId: 'entry-1', version: 2 },\n  { entryId: 'entry-2', version: 1 }\n]);\n```\n\n#### Bulk Delete Entries\n\n```typescript\nconst result = await client.bulkDeleteEntries([\n  'entry-1',\n  'entry-2',\n  'entry-3'\n]);\n```\n\n## Configuration Options\n\n```typescript\ninterface ContentfulCMAConfig {\n  accessToken: string;        // Required: CMA access token\n  spaceId: string;            // Required: Contentful space ID\n  environmentId?: string;     // Optional: defaults to 'master'\n  host?: string;              // Optional: defaults to 'api.contentful.com'\n  retryOnError?: boolean;     // Optional: defaults to true\n  timeout?: number;           // Optional: defaults to 30000ms\n}\n```\n\n## Query Options\n\n```typescript\ninterface CMAQueryOptions {\n  skip?: number;              // Number of items to skip\n  limit?: number;             // Number of items to return\n  order?: string;             // Sort order (e.g., '-sys.createdAt')\n  locale?: string;            // Locale filter\n  content_type?: string;      // Content type filter\n  [key: string]: any;         // Additional Contentful query params\n}\n```\n\n## Type Safety\n\nThis package uses types from `@bernierllc/contentful-types`:\n\n```typescript\nimport type {\n  ContentfulEntry,\n  ContentfulAsset,\n  ContentfulContentType\n} from '@bernierllc/contentful-types';\n\ninterface BlogPost {\n  title: { [locale: string]: string };\n  body: { [locale: string]: string };\n  author: { [locale: string]: ContentfulLink<'Entry'> };\n}\n\nconst entry = await client.getEntry<BlogPost>('entry-id');\n// entry.fields is typed as BlogPost\n```\n\n## Error Handling\n\nAll methods log errors and throw them for you to handle:\n\n```typescript\ntry {\n  const entry = await client.getEntry('non-existent-id');\n} catch (error) {\n  console.error('Failed to get entry:', error);\n}\n```\n\nBulk operations return both successful and failed operations:\n\n```typescript\nconst result = await client.bulkCreateEntries(entries);\n\n// Process successful\nresult.successful.forEach(entry => {\n  console.log('Created:', entry.sys.id);\n});\n\n// Handle failures\nresult.failed.forEach(({ item, error }) => {\n  console.error('Failed to create:', error);\n});\n```\n\n## Logging\n\nThis package uses `@bernierllc/logger` for consistent logging:\n\n- **info**: Operation completions, initialization\n- **debug**: Request/response details, operation start\n- **error**: Failures with context\n\nAll logs include context (spaceId, environmentId, operation details).\n\n## MECE Principles\n\nThis package follows MECE (Mutually Exclusive, Collectively Exhaustive) architecture:\n\n**Includes:**\n- ✅ Content Management API operations (CMA)\n- ✅ CRUD for Entries, Assets, Content Types\n- ✅ Publishing workflow operations\n- ✅ Bulk operations\n\n**Excludes:**\n- ❌ Content Delivery API (use `@bernierllc/contentful-cda-client`)\n- ❌ GraphQL queries (use `@bernierllc/contentful-graphql-client`)\n- ❌ Webhook handling (use `@bernierllc/contentful-webhook-handler`)\n- ❌ OAuth/Auth management (use `@bernierllc/contentful-auth`)\n\n## API\n\n### ContentfulCMAClient\n\nMain client class for interacting with Contentful Content Management API.\n\n**Constructor:**\n```typescript\nnew ContentfulCMAClient(config: ContentfulCMAConfig)\n```\n\n**Entry Methods:**\n- `getEntry<T>(entryId: string): Promise<ContentfulEntry<T>>`\n- `getEntries<T>(query?: CMAQueryOptions): Promise<ContentfulCollection<ContentfulEntry<T>>>`\n- `getAllEntries<T>(query?: CMAQueryOptions): Promise<ContentfulEntry<T>[]>`\n- `createEntry<T>(contentTypeId: string, fields: T, options?: CreateEntryOptions): Promise<ContentfulEntry<T>>`\n- `updateEntry<T>(entryId: string, fields: Partial<T>, version: number): Promise<ContentfulEntry<T>>`\n- `publishEntry(entryId: string, version: number): Promise<ContentfulEntry>`\n- `unpublishEntry(entryId: string): Promise<ContentfulEntry>`\n- `archiveEntry(entryId: string, version: number): Promise<ContentfulEntry>`\n- `unarchiveEntry(entryId: string): Promise<ContentfulEntry>`\n- `deleteEntry(entryId: string): Promise<void>`\n\n**Asset Methods:**\n- `getAsset(assetId: string): Promise<ContentfulAsset>`\n- `getAssets(query?: CMAQueryOptions): Promise<ContentfulCollection<ContentfulAsset>>`\n- `getAllAssets(query?: CMAQueryOptions): Promise<ContentfulAsset[]>`\n- `createAsset(fields: AssetFields, options?: CreateAssetOptions): Promise<ContentfulAsset>`\n- `processAsset(assetId: string, version: number, locale: string): Promise<ContentfulAsset>`\n- `publishAsset(assetId: string, version: number): Promise<ContentfulAsset>`\n- `deleteAsset(assetId: string): Promise<void>`\n\n**Content Type Methods:**\n- `getContentType(contentTypeId: string): Promise<ContentfulContentType>`\n- `getContentTypes(): Promise<ContentfulCollection<ContentfulContentType>>`\n\n**Bulk Methods:**\n- `bulkCreateEntries<T>(entries: BulkCreateEntry<T>[]): Promise<BulkOperationResult<ContentfulEntry<T>>>`\n- `bulkPublishEntries(entries: BulkPublishEntry[]): Promise<BulkOperationResult<ContentfulEntry>>`\n- `bulkDeleteEntries(entryIds: string[]): Promise<BulkOperationResult<void>>`\n- `bulkCreateAssets(assets: AssetFields[]): Promise<BulkOperationResult<ContentfulAsset>>`\n\n## Integrations\n\n### Logger Integration\n\nThis package integrates with `@bernierllc/logger` for consistent logging across all operations. The logger is initialized automatically and provides:\n\n- **Structured logging** with operation context (spaceId, environmentId, entryId)\n- **Log levels**: info, debug, error\n- **Automatic error tracking** with full error details\n\n```typescript\n// Logger is automatically initialized\nconst client = new ContentfulCMAClient(config);\n\n// Logs are emitted for all operations\nawait client.getEntry('entry-id');\n// Logs: [INFO] Fetching entry entry-id from space xxx-space-id\n```\n\n### NeverHub Integration\n\nThis package does **not** require NeverHub integration as it is a core client library. However, services using this client can integrate with `@bernierllc/neverhub-adapter` for event tracking:\n\n```typescript\nimport { ContentfulCMAClient } from '@bernierllc/contentful-cma-client';\nimport { NeverHubAdapter } from '@bernierllc/neverhub-adapter';\n\nclass ContentfulService {\n  private client: ContentfulCMAClient;\n  private neverhub?: NeverHubAdapter;\n\n  async initialize() {\n    this.client = new ContentfulCMAClient(config);\n\n    // Optional NeverHub integration for event tracking\n    if (await NeverHubAdapter.detect()) {\n      this.neverhub = new NeverHubAdapter();\n      await this.neverhub.register({\n        type: 'contentful-service',\n        capabilities: ['content-management']\n      });\n    }\n  }\n\n  async createEntry<T>(contentTypeId: string, fields: T) {\n    const entry = await this.client.createEntry(contentTypeId, fields);\n\n    // Track event in NeverHub (if available)\n    if (this.neverhub) {\n      await this.neverhub.logEvent({\n        type: 'content.created',\n        data: { entryId: entry.sys.id, contentType: contentTypeId }\n      });\n    }\n\n    return entry;\n  }\n}\n```\n\n**Integration Status:**\n- ✅ Logger integration: Required (built-in)\n- ⚪ NeverHub integration: Optional (consumer responsibility)\n- ✅ Graceful degradation: Works standalone without external services\n\n## Related Packages\n\n- [@bernierllc/contentful-types](../contentful-types) - TypeScript types\n- [@bernierllc/contentful-cda-client](../contentful-cda-client) - Content Delivery API\n- [@bernierllc/contentful-graphql-client](../contentful-graphql-client) - GraphQL API\n- [@bernierllc/contentful-gateway-service](../../service/contentful-gateway-service) - Unified gateway\n\n## License\n\nCopyright (c) 2025 Bernier LLC. See LICENSE.md for details.\n","readmeFilename":"README.md"}