{"_id":"@bernierllc/ai-content-reviewer","_rev":"16-15798f1f7906571719d072b90b1d7180","name":"@bernierllc/ai-content-reviewer","dist-tags":{"latest":"1.4.2"},"versions":{"1.0.1":{"name":"@bernierllc/ai-content-reviewer","version":"1.0.1","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"6d097841eceb3e2d905f345ae1aa8885f131d317","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.0.1.tgz","fileCount":14,"integrity":"sha512-TV345cA47s5oQKyXnUL7nPMs2iy7+qa7eMoGZ6fs1VclcBDlG/wEjJASEozfR2jRCPCbloYHZpGfCtGl0ERqiA==","signatures":[{"sig":"MEYCIQCNfRD3koYt4JDTNUgc7YAnaJ00ZMzM3fSVg/5Fhb7VCAIhAKcQpATaZQ1CUekL/YBJTe1/Uh18HQyEP1rUN0jibRkx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84050},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.0.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/private/var/folders/r0/wspnzd1s18sfjy10ffyv2qxw0000gn/T/fe625e8881041d4e3b8812872fa8ecba/bernierllc-ai-content-reviewer-1.0.1.tgz","_integrity":"sha512-TV345cA47s5oQKyXnUL7nPMs2iy7+qa7eMoGZ6fs1VclcBDlG/wEjJASEozfR2jRCPCbloYHZpGfCtGl0ERqiA==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.6.2","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"25.2.0","dependencies":{"@bernierllc/ai-provider-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.0.1_1764194170275_0.8263122218218948","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bernierllc/ai-content-reviewer","version":"1.0.2","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.0.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"efc5f7b9b18ffb2e5a71a1da1c3e490153a4de90","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.0.2.tgz","fileCount":14,"integrity":"sha512-6maKM0dnEaaGkYVgXZbSFRKLa3ESklSTeRQBf3OvZpqwdElUYoqgi8TCme+8UEOV2CdUx8rScQijyj4hqGlKaA==","signatures":[{"sig":"MEUCIHLqAsbflkwnvjbuQBX3e/+cP13nFwm7PV+Y/LjMCC5CAiEAwolDZAkmdRaFqXFMghqU010SvQQE6uiAIEX5nsgf1Uk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84050},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.0.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/private/var/folders/r0/wspnzd1s18sfjy10ffyv2qxw0000gn/T/47ceece4fc6cc4dda11d0aae4ebaac4b/bernierllc-ai-content-reviewer-1.0.2.tgz","_integrity":"sha512-6maKM0dnEaaGkYVgXZbSFRKLa3ESklSTeRQBf3OvZpqwdElUYoqgi8TCme+8UEOV2CdUx8rScQijyj4hqGlKaA==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.6.2","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"25.2.0","dependencies":{"@bernierllc/ai-provider-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.0.2_1764194260154_0.47549394089657615","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bernierllc/ai-content-reviewer","version":"1.0.3","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.0.3","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"80057191f94ded15fa8717bd9e993130436c18c8","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.0.3.tgz","fileCount":14,"integrity":"sha512-NAeUOy2njZX+IZ4SjsUvIK/aXoYjpCJ1g2e/Orduqq5eqMzqrbfmWg94olhoTO0fOSKWCyppivsqbQ3+bLtnTQ==","signatures":[{"sig":"MEQCIGMlcR35Jkcf6gE9XMvDdxrfF2D/uq0z9Z2Gyqq5wwRNAiBEIvA3jDFLCRR2mJr1xLpIRNfSrQF7ODDRN6jTRpqCVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84050},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.0.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/private/var/folders/r0/wspnzd1s18sfjy10ffyv2qxw0000gn/T/1f04c9c00add665cbc6671f690ce17ec/bernierllc-ai-content-reviewer-1.0.3.tgz","_integrity":"sha512-NAeUOy2njZX+IZ4SjsUvIK/aXoYjpCJ1g2e/Orduqq5eqMzqrbfmWg94olhoTO0fOSKWCyppivsqbQ3+bLtnTQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.6.2","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"25.2.0","dependencies":{"@bernierllc/ai-provider-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.0.3_1764194474593_0.2138464981775523","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bernierllc/ai-content-reviewer","version":"1.0.4","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.0.4","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"09bfe1121d3fa6badd2fe55ae27d04a742e6df5f","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.0.4.tgz","fileCount":14,"integrity":"sha512-vQaEAhdrgOtIXmCu203ShO0WuucK8rmdHz5YPD9Kq4MX1tEy5Ya9YTRO8kTMSfyn4vMhW9wPXerjsB7cK/Xz3g==","signatures":[{"sig":"MEQCIHSmpmlAASftyH7EAQ0eAjRqMRUotMW3IjiCsDER/J+eAiB+cSRzl3B/uMsRrMq4r8pP03xxNAe38g9OyCcK4ak8TQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84096},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.0.4.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/tmp/fd23331fc7617b39861218b76c972b18/bernierllc-ai-content-reviewer-1.0.4.tgz","_integrity":"sha512-vQaEAhdrgOtIXmCu203ShO0WuucK8rmdHz5YPD9Kq4MX1tEy5Ya9YTRO8kTMSfyn4vMhW9wPXerjsB7cK/Xz3g==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.7.0","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/ai-provider-core":"1.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.0.4_1766437809137_0.41704671143889227","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@bernierllc/ai-content-reviewer","version":"1.0.5","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.0.5","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"d4028f094b7ed936c26de674c8dc1432e8b91816","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.0.5.tgz","fileCount":14,"integrity":"sha512-QV34bJvQKR1SkAkLJBDKVv1l5tv4v+Wbhng83tI9B4r+vDTrzlqQeZzOuRj5Qw4nDYPt+ikR1TQmKXJKUZLIVg==","signatures":[{"sig":"MEUCIQCQVkfMoGbweLMeLYwYXITKsjS7xf2m9oa3plplkMPPrgIgIjNrA/RcXwe56p5K+Gs4NrCNu6MKQ9+DjYRRz9XFcFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84096},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.0.5.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/tmp/2849e90a2476c99870e26f0f42a3d60a/bernierllc-ai-content-reviewer-1.0.5.tgz","_integrity":"sha512-QV34bJvQKR1SkAkLJBDKVv1l5tv4v+Wbhng83tI9B4r+vDTrzlqQeZzOuRj5Qw4nDYPt+ikR1TQmKXJKUZLIVg==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.7.0","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/ai-provider-core":"1.0.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.0.5_1766454429741_0.6067001029886041","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@bernierllc/ai-content-reviewer","version":"1.0.7","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.0.7","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"c549ba045d3eaf60af985c9026c1905cc89b1f56","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.0.7.tgz","fileCount":14,"integrity":"sha512-US8tpJqmAJ565oDXR5u/UQZulaY/NtPcsL84YzRTYJUHWosyR/sxDQpqAKYbpKqk8OI+BBDnCVatghvrAE30xw==","signatures":[{"sig":"MEUCIGt5aT1z9hnyvC+QSBOdFB9svQXko03Wlg8CLPkdw8FkAiEA1C2/9jZISDOgyw1uhQC+EFrWGegF9C00EL7bSGJXGI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84154},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/ai-provider-core":"1.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.0.7_1767642467132_0.8451868938206217","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@bernierllc/ai-content-reviewer","version":"1.0.9","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.0.9","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"88c7a66c1e2a6395c20103af95ae1f3b71b8d949","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.0.9.tgz","fileCount":14,"integrity":"sha512-ZM3LcNTVYDFEiT4aP2Vmb9RAeRIhL5wSHtHNQ0hJMn/vgl1IVV8MHsA6ZuKoSjLKeBCtQU8f3FKqgmXaolGmeQ==","signatures":[{"sig":"MEYCIQCoefnZYYAKCDavRalyVa0JVabU0BRYGyHWIUItBoQ+bgIhAN6Z67CK8EiAUwCrIc+6J1LyId5s2m7vT7y5kUpokxCH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84096},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.0.9.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/home/runner/work/tools/tools/packages/service/ai-content-reviewer/bernierllc-ai-content-reviewer-1.0.9.tgz","_integrity":"sha512-ZM3LcNTVYDFEiT4aP2Vmb9RAeRIhL5wSHtHNQ0hJMn/vgl1IVV8MHsA6ZuKoSjLKeBCtQU8f3FKqgmXaolGmeQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.11.0","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/ai-provider-core":"1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.0.9_1773163403983_0.27133584579937753","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@bernierllc/ai-content-reviewer","version":"1.0.10","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.0.10","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"530a47d44bfcb62ffe34e5c86491ca4e3026066d","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.0.10.tgz","fileCount":14,"integrity":"sha512-xIr8KKq0jHBzw45CjnV0D5UAAwz9J5Y3gvLLaruCJlr5enqasddie0wl2ChmyIvdMG2ez7+ig0ViLGJE9yT9sw==","signatures":[{"sig":"MEQCIDjWOpFKaO7eQENnIs9RG3Q52prJItkhTJvX5aeaz/PqAiBVNa4T4R7qFz9sPuChP+90wJfFDSx/TBe/wtip/kXNHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84097},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.0.10.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/home/runner/work/tools/tools/packages/service/ai-content-reviewer/bernierllc-ai-content-reviewer-1.0.10.tgz","_integrity":"sha512-xIr8KKq0jHBzw45CjnV0D5UAAwz9J5Y3gvLLaruCJlr5enqasddie0wl2ChmyIvdMG2ez7+ig0ViLGJE9yT9sw==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.14.1","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/ai-provider-core":"1.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.0.10_1779133645622_0.6077018809251229","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@bernierllc/ai-content-reviewer","version":"1.0.11","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.0.11","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"a06645f4a28c9c9a3d1d93d102fc06623522e954","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.0.11.tgz","fileCount":14,"integrity":"sha512-qmn2a61OWzIMQVZrU4wAGNyV1FJrBkjmt9e0Zw8DdUZ8Tbc+k6pN4hbEdKjTb2Xd7yyHeNtvTpnD1em7Si2xZQ==","signatures":[{"sig":"MEYCIQDlY3GHHL2SeA02xC/OxPwQlNAQ/2+HGmYjgIu7J555wgIhAIYGGDM0Kkd/xclx3bp6d+/glHrOBgGmqhiElmZpD/bj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84097},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.0.11.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/home/runner/work/tools/tools/packages/service/ai-content-reviewer/bernierllc-ai-content-reviewer-1.0.11.tgz","_integrity":"sha512-qmn2a61OWzIMQVZrU4wAGNyV1FJrBkjmt9e0Zw8DdUZ8Tbc+k6pN4hbEdKjTb2Xd7yyHeNtvTpnD1em7Si2xZQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.14.1","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/ai-provider-core":"1.2.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.0.11_1779157343869_0.5117481943601272","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@bernierllc/ai-content-reviewer","version":"1.0.12","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.0.12","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"a9e5882957d5c1b3074e88cb6aa9a4584217529f","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.0.12.tgz","fileCount":14,"integrity":"sha512-gQdlm/qPovYk1lsU5eIXzW5ajN0qjHzLowcrKX+UOjCodYf8rPPjZ+fBHgpt0LEZkP0G05phigAQIN5c1vgwUw==","signatures":[{"sig":"MEQCIBR0VeKN9JfojvA91rrn41OcPREX62EYvVVYp55TFVlbAiAiG4lNwMpjZChLFMv9ZhKqXvXOVpWMn8LCEVZ3Y+rI5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84097},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.0.12.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/home/runner/work/tools/tools/packages/service/ai-content-reviewer/bernierllc-ai-content-reviewer-1.0.12.tgz","_integrity":"sha512-gQdlm/qPovYk1lsU5eIXzW5ajN0qjHzLowcrKX+UOjCodYf8rPPjZ+fBHgpt0LEZkP0G05phigAQIN5c1vgwUw==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.14.1","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/ai-provider-core":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.0.12_1779221485789_0.7674619410223444","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bernierllc/ai-content-reviewer","version":"1.1.0","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.1.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"f013f810a15a50ea37ead3f5bea9d3c02f13d9ce","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.1.0.tgz","fileCount":14,"integrity":"sha512-TET7agd2lOx1YfdaYczuRBL1L/+rkmYMcbaf7i6/9eftnQuyhjrME55nVDi9dNG5ocN4Uhno//Lk+8T/5PqrIQ==","signatures":[{"sig":"MEQCIDpbydBDCuGgsJ/BSJK65R4qZDVnSgP+LLvRr7uZTnLuAiAtLZLqiX1522z8iIhFt8dH+zd34+udqRIJVOBfxG0b5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84096},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.1.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/home/runner/work/tools/tools/packages/service/ai-content-reviewer/bernierllc-ai-content-reviewer-1.1.0.tgz","_integrity":"sha512-TET7agd2lOx1YfdaYczuRBL1L/+rkmYMcbaf7i6/9eftnQuyhjrME55nVDi9dNG5ocN4Uhno//Lk+8T/5PqrIQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.14.1","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/ai-provider-core":"1.5.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.1.0_1779241535785_0.6499299589766236","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bernierllc/ai-content-reviewer","version":"1.2.0","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"8e33eae579493565430851c7016c3235727c1aa3","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.2.0.tgz","fileCount":18,"integrity":"sha512-0xY3tffU1AZpH5gMKG/v739RaIgop5MAciQWH/roqfOA+2IME15X/SSbwfVbOX4juf/20udn/0ThxcTgjyYIcw==","signatures":[{"sig":"MEQCIB3JHKKpmqXO2aoyQKyPQrLmB/YlhvhoJqBCpTFkPVWlAiBxRTiyCzl7s6owg89E3DX74WtmR9lLKdCESaXTfJgGqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86893},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.2.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/home/runner/work/tools/tools/packages/service/ai-content-reviewer/bernierllc-ai-content-reviewer-1.2.0.tgz","_integrity":"sha512-0xY3tffU1AZpH5gMKG/v739RaIgop5MAciQWH/roqfOA+2IME15X/SSbwfVbOX4juf/20udn/0ThxcTgjyYIcw==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.14.1","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/ai-provider-core":"1.5.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.2.0_1779244753800_0.2609580335066659","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bernierllc/ai-content-reviewer","version":"1.3.0","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"bf643456c6d45d9e3cca71ae43bb54288c92cd94","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.3.0.tgz","fileCount":18,"integrity":"sha512-yH04C/HjaybqHL2REmJH2ihjttWIvi4h7VjiEWqC7lotDh6ASA86oyTo3FvzUrU1jb+0arHJby0vrPJbNVEWtQ==","signatures":[{"sig":"MEUCICVJB/cJn1rbysRKHyjYk8t4WiF3mIdoJEZjMFCUEdvmAiEAuiSeEYxkuT6xnvBR9EZ/GNWEibgXSEnvl2z+DoLUuVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86893},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.3.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/home/runner/work/tools/tools/packages/service/ai-content-reviewer/bernierllc-ai-content-reviewer-1.3.0.tgz","_integrity":"sha512-yH04C/HjaybqHL2REmJH2ihjttWIvi4h7VjiEWqC7lotDh6ASA86oyTo3FvzUrU1jb+0arHJby0vrPJbNVEWtQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.14.1","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/ai-provider-core":"1.5.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.3.0_1779245883772_0.4794865335964926","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bernierllc/ai-content-reviewer","version":"1.4.0","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.4.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"b4cd85e2c60b656610601081a15790e51e76a4ba","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.4.0.tgz","fileCount":18,"integrity":"sha512-uruOaC5nlTEc0jLCrmRi59JnpkuLi2cayIxPaS7lvec8H5sU6JvMymhAaHWDJIZBeNXxWlgqhbJz6R+WWxF8eQ==","signatures":[{"sig":"MEUCIQD8q7iev2RK7bz43pIQyYIZHmkx5S2AAmP+n2pIX6GYwQIgZEP7XQxKIdZiBAp/2LseSqIsQlQrwtO0MhSZhJBwVI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86893},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.4.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/home/runner/work/tools/tools/packages/service/ai-content-reviewer/bernierllc-ai-content-reviewer-1.4.0.tgz","_integrity":"sha512-uruOaC5nlTEc0jLCrmRi59JnpkuLi2cayIxPaS7lvec8H5sU6JvMymhAaHWDJIZBeNXxWlgqhbJz6R+WWxF8eQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"11.14.1","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/ai-provider-core":"1.6.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.4.0_1779250281167_0.5303857407066273","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@bernierllc/ai-content-reviewer","version":"1.4.1","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-content-reviewer@1.4.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"fe24774dc6697e53e03bb751d490c772f9d02882","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.4.1.tgz","fileCount":18,"integrity":"sha512-hhMkLp73UAAyiBOALPAPzmoGTlek0SuOQllyW5Go/N7p0ABTu1LOTDx/99n4+z8nC8+7dTt2jxwu88XjiRHHHA==","signatures":[{"sig":"MEYCIQDnPHvCtHEMoWZ4B2t8hrVyOPeChQL0wzVnooiIFVSjCgIhAL8OETosPnG5002USXKaOKwNAmWY8vSoeoBtmRD1ZoVy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86893},"main":"dist/index.js","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.4.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:35c23d45-664d-480a-a085-f0d569af9575"}},"_resolved":"/home/runner/work/tools/tools/packages/service/ai-content-reviewer/bernierllc-ai-content-reviewer-1.4.1.tgz","_integrity":"sha512-hhMkLp73UAAyiBOALPAPzmoGTlek0SuOQllyW5Go/N7p0ABTu1LOTDx/99n4+z8nC8+7dTt2jxwu88XjiRHHHA==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"12.0.1","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@bernierllc/ai-provider-core":"1.6.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-content-reviewer_1.4.1_1784015757437_0.42944700046986317","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"_id":"@bernierllc/ai-content-reviewer@1.4.2","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"593716b3086ff66dce566e1b477d50c3dcd1c452","tarball":"https://registry.npmjs.org/@bernierllc/ai-content-reviewer/-/ai-content-reviewer-1.4.2.tgz","fileCount":19,"integrity":"sha512-RG8aJWdty/DNjO9vbmgkyXJHA6i754Qo9bk+KkSr16mKXGbz883/7eG1KZiyWZ2wupBurmWvDrLxCdS7iaL/7A==","signatures":[{"sig":"MEQCICUOdo4NCs4XdeNmomfyBDWUTA3CKrjouCvetuTGn+XXAiBZeZM1ir92Pc4B7UULsibC/DOiwOktGbTxHug8jir2Zg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBuNfKAi82jG7cHLtlLuRddX9yVf5f1W6FLVICN/Y2NqAiEAos84TPtLfZOraZqVssBEqIjXczj7uoESkG8u6pwVTjw="}],"unpackedSize":87215},"main":"dist/index.js","name":"@bernierllc/ai-content-reviewer","type":"module","_from":"file:bernierllc-ai-content-reviewer-1.4.2.tgz","types":"dist/index.d.ts","author":{"name":"Bernier LLC"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"license":"SEE LICENSE IN LICENSE","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"version":"1.4.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"35c23d45-664d-480a-a085-f0d569af9575"}},"homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"_resolved":"/home/runner/work/tools/tools/packages/service/ai-content-reviewer/bernierllc-ai-content-reviewer-1.4.2.tgz","_integrity":"sha512-RG8aJWdty/DNjO9vbmgkyXJHA6i754Qo9bk+KkSr16mKXGbz883/7eG1KZiyWZ2wupBurmWvDrLxCdS7iaL/7A==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"_npmVersion":"12.2.0","description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"@bernierllc/ai-provider-core":"^1.6.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@typescript-eslint/parser":"^6.19.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-content-reviewer_1.4.2_1790884107393_0.36598189760993427"}}},"time":{"created":"2025-11-26T21:56:10.101Z","modified":"2026-10-01T19:48:27.650Z","1.0.1":"2025-11-26T21:56:10.498Z","1.0.2":"2025-11-26T21:57:40.347Z","1.0.3":"2025-11-26T22:01:14.784Z","1.0.4":"2025-12-22T21:10:09.292Z","1.0.5":"2025-12-23T01:47:09.894Z","1.0.7":"2026-01-05T19:47:47.292Z","1.0.9":"2026-03-10T17:23:24.134Z","1.0.10":"2026-05-18T19:47:25.750Z","1.0.11":"2026-05-19T02:22:24.016Z","1.0.12":"2026-05-19T20:11:25.933Z","1.1.0":"2026-05-20T01:45:35.933Z","1.2.0":"2026-05-20T02:39:13.955Z","1.3.0":"2026-05-20T02:58:03.908Z","1.4.0":"2026-05-20T04:11:21.425Z","1.4.1":"2026-07-14T07:55:57.584Z","1.4.2":"2026-10-01T19:48:27.467Z"},"bugs":{"url":"https://github.com/bernierllc/tools/issues"},"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/bernierllc/tools/tree/main/packages/service/ai-content-reviewer","keywords":["ai","content","review","quality","grammar","seo","readability","tone","analysis","openai","anthropic"],"repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/ai-content-reviewer"},"description":"AI-powered content review service for quality, tone, grammar, SEO, and readability analysis","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/ai-content-reviewer\n\nAI-powered content review service for quality, tone, grammar, SEO, and readability analysis.\n\n## Installation\n\n```bash\nnpm install @bernierllc/ai-content-reviewer\n```\n\n## Features\n\n- **Comprehensive Review**: Full content analysis covering grammar, tone, readability, SEO, and more\n- **Grammar Analysis**: Deep grammar, spelling, punctuation, and style checking\n- **Readability Analysis**: Flesch-Kincaid grade level and reading ease scores\n- **Tone Analysis**: Detect primary tone, secondary tones, and consistency\n- **SEO Analysis**: Keyword density, heading structure, and optimization suggestions\n- **Quick Check**: Fast pass/fail quality assessment\n- **Batch Review**: Review multiple pieces of content in parallel\n- **Analytics**: Track review statistics and trends\n\n## Usage\n\n### Basic Setup\n\n```typescript\nimport { AIContentReviewer } from '@bernierllc/ai-content-reviewer';\nimport { OpenAIProvider } from '@bernierllc/ai-provider-openai';\n\nconst provider = new OpenAIProvider({\n  providerName: 'openai',\n  apiKey: process.env.OPENAI_API_KEY!,\n});\n\nconst reviewer = new AIContentReviewer({\n  provider,\n  enableAnalytics: true,\n});\n```\n\n### Comprehensive Review\n\n```typescript\nconst result = await reviewer.review(\n  'Your content to review goes here...',\n  {\n    reviewTypes: ['quality', 'grammar', 'tone', 'readability'],\n    targetAudience: 'software developers',\n    expectedTone: 'professional',\n    includeSuggestions: true,\n  }\n);\n\nconsole.log(`Overall Score: ${result.overallScore}/100`);\nconsole.log(`Passes Threshold: ${result.passesThreshold}`);\nconsole.log(`Issues Found: ${result.issues.length}`);\nconsole.log(`Summary: ${result.summary}`);\n\n// Access detailed scores\nconsole.log('Scores:', result.scores);\n// { grammar: 85, clarity: 90, readability: 78, tone: 92, overall: 86 }\n\n// Review issues\nresult.issues.forEach(issue => {\n  console.log(`[${issue.severity}] ${issue.category}: ${issue.description}`);\n  if (issue.suggestedFix) {\n    console.log(`  Fix: ${issue.suggestedFix}`);\n  }\n});\n```\n\n### Grammar Analysis\n\n```typescript\nconst grammar = await reviewer.analyzeGrammar(content);\n\nconsole.log(`Grammar Score: ${grammar.score}/100`);\nconsole.log('Error Counts:', grammar.errorCounts);\n// { grammar: 2, spelling: 1, punctuation: 0, style: 3 }\n\ngrammar.issues.forEach(issue => {\n  console.log(`${issue.originalText} → ${issue.suggestedFix}`);\n});\n```\n\n### Readability Analysis\n\n```typescript\nconst readability = await reviewer.analyzeReadability(content);\n\nconsole.log(`Grade Level: ${readability.gradeLevel}`);\nconsole.log(`Reading Ease: ${readability.readingEase}/100`);\nconsole.log(`Difficulty: ${readability.difficultyLevel}`);\nconsole.log(`Reading Time: ${readability.readingTimeMinutes} minutes`);\nconsole.log(`Word Count: ${readability.wordCount}`);\nconsole.log(`Complex Words: ${readability.complexWordCount}`);\n```\n\n### Tone Analysis\n\n```typescript\nconst tone = await reviewer.analyzeTone(content, 'professional');\n\nconsole.log(`Primary Tone: ${tone.primaryTone}`);\nconsole.log(`Secondary Tones: ${tone.secondaryTones.join(', ')}`);\nconsole.log(`Consistency: ${tone.consistencyScore}/100`);\nconsole.log(`Matches Expected: ${tone.matchesExpected}`);\n```\n\n### SEO Analysis\n\n```typescript\nconst seo = await reviewer.analyzeSEO(content, ['typescript', 'programming']);\n\nconsole.log(`SEO Score: ${seo.score}/100`);\n\n// Keyword analysis\nseo.keywordAnalysis?.forEach(kw => {\n  console.log(`${kw.keyword}: ${kw.count} occurrences (${kw.density}%)`);\n  console.log(`  In title: ${kw.inTitle}, In first paragraph: ${kw.inFirstParagraph}`);\n});\n\n// Heading structure\nconsole.log('Headings:', seo.headingAnalysis);\n// { h1Count: 1, h2Count: 3, h3Count: 5, hasProperHierarchy: true }\n\n// SEO issues\nseo.issues.forEach(issue => {\n  console.log(`[${issue.severity}] ${issue.description}`);\n});\n```\n\n### Quick Check\n\n```typescript\nconst check = await reviewer.quickCheck(content, 75); // 75 = minimum score\n\nconsole.log(`Passed: ${check.passed}`);\nconsole.log(`Score: ${check.score}/100`);\nconsole.log(`Summary: ${check.summary}`);\n```\n\n### Batch Review\n\n```typescript\nconst batchResults = await reviewer.batchReview([\n  { id: 'blog-1', content: 'First blog post content...', options: { reviewTypes: ['quality'] } },\n  { id: 'blog-2', content: 'Second blog post content...', options: { reviewTypes: ['grammar'] } },\n  { id: 'email-1', content: 'Email content...', options: { contentType: 'email' } },\n]);\n\nconsole.log(`Reviewed: ${batchResults.totalReviewed}`);\nconsole.log(`Passed: ${batchResults.successCount}`);\nconsole.log(`Average Score: ${batchResults.averageScore}`);\n\nbatchResults.results.forEach(r => {\n  console.log(`${r.id}: ${r.result.overallScore}/100`);\n});\n```\n\n### Analytics\n\n```typescript\nconst analytics = reviewer.getAnalytics({\n  start: new Date('2025-01-01'),\n  end: new Date(),\n});\n\nconsole.log(`Total Reviews: ${analytics.totalReviews}`);\nconsole.log(`Average Score: ${analytics.averageScore}`);\nconsole.log(`Pass Rate: ${analytics.passRate}%`);\nconsole.log(`Estimated Cost: $${analytics.totalCost.toFixed(4)}`);\n```\n\n## API Reference\n\n### AIContentReviewerConfig\n\n| Property | Type | Description |\n|----------|------|-------------|\n| provider | AIProviderClient | AI provider instance for review |\n| fallbackProvider | AIProviderClient | Optional fallback provider |\n| defaultOptions | ReviewOptions | Default options for all reviews |\n| enableAnalytics | boolean | Enable analytics tracking |\n| maxRetries | number | Maximum retries for failed reviews |\n| defaultTemperature | number | Default temperature (0-1) |\n\n### ReviewOptions\n\n| Property | Type | Description |\n|----------|------|-------------|\n| reviewTypes | ReviewType[] | Types of review to perform |\n| targetAudience | string | Target audience description |\n| expectedTone | string | Expected content tone |\n| brandGuidelines | string | Brand voice guidelines |\n| seoKeywords | string[] | SEO keywords to check |\n| minReadabilityScore | number | Minimum passing score (0-100) |\n| contentType | string | Type of content being reviewed |\n| language | string | Content language |\n| includeSuggestions | boolean | Include improvement suggestions |\n| maxIssues | number | Maximum issues to report |\n\n### Review Types\n\n- **quality**: Overall content quality assessment\n- **grammar**: Grammar, spelling, and punctuation\n- **tone**: Voice and tone analysis\n- **seo**: Search engine optimization\n- **readability**: Reading level and clarity\n- **accessibility**: Accessibility concerns\n- **factual**: Factual accuracy (limited)\n- **plagiarism**: Originality check (limited)\n- **brand**: Brand voice alignment\n- **comprehensive**: All review types combined\n\n### Issue Severities\n\n- **critical**: Must fix before publishing\n- **major**: Should fix, significantly impacts quality\n- **minor**: Nice to fix, minor impact\n- **suggestion**: Optional improvement\n\n## Security\n\n### API Key Management\n- **API keys**: Store in environment variables (never hardcode)\n- **Key rotation**: Support dynamic key updates through configuration\n- **Fallback provider**: Use fallback provider if primary fails (resilience)\n\n### Content Privacy\n- **No data storage**: Content is only sent to AI providers, not stored locally\n- **Provider selection**: Choose AI providers based on your data privacy requirements\n- **Audit logging**: Enable analytics to track review operations for compliance\n\n### Input Validation\n- **Content sanitization**: All user inputs are validated before processing\n- **Length limits**: Configurable content length limits prevent abuse\n- **Rate limiting**: Implement rate limiting at application level (not package level)\n\n### Dependencies\n- **Security audits**: Regular audits via `npm audit`\n- **Updates**: All dependencies kept up-to-date\n- **Vulnerability scanning**: No known high/critical vulnerabilities\n- **Supply chain security**: All dependencies from trusted npm registry sources\n\n### Best Practices\n- **Environment isolation**: Run in isolated environments for sensitive content\n- **Access control**: Implement application-level access controls for review features\n- **Logging**: Log review operations without logging sensitive content\n- **Error handling**: Errors never expose API keys or sensitive configuration\n\n## Integration Status\n\n### Logger Integration\n**Status**: Planned for v1.1.0\n\nThis package will integrate `@bernierllc/logger` for structured logging:\n- Review operation logging (start, completion, errors)\n- Analytics event tracking\n- Performance metrics logging\n- Error and warning logging with context\n\nCurrent implementation uses console logging, which will be migrated to the logger integration pattern using `detectLogger()` for optional availability.\n\n### NeverHub Integration\n**Status**: Planned for v1.2.0\n\nThis package will integrate `@bernierllc/neverhub-adapter` for:\n- Service discovery for AI provider resolution\n- Event publishing for review completion events\n- Health monitoring and metrics reporting\n- Dynamic configuration updates\n\nIntegration will follow the standard NeverHub pattern using `detectNeverHub()` for graceful degradation when NeverHub is not available.\n\n### Docs-Suite\n**Status**: Ready (TypeDoc format)\n\nPackage includes comprehensive TypeDoc comments for automatic documentation generation.\n\n## License\n\nCopyright (c) 2025 Bernier LLC. All rights reserved.\n","readmeFilename":"README.md"}