{"_id":"@bernierllc/ai-provider-anthropic","_rev":"12-4cab3b792931da4b3894a620cb93e6d6","name":"@bernierllc/ai-provider-anthropic","dist-tags":{"latest":"1.6.1"},"versions":{"1.0.0":{"name":"@bernierllc/ai-provider-anthropic","version":"1.0.0","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.0.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"f2fd24c88e4ac3f88f585b32dc470d7696640e33","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.0.0.tgz","fileCount":33,"integrity":"sha512-BJMp1qCHDa8tvgAkEvcUJkPi9bB25tQ5vhsAPgTeuRVRUYef90CEVX1z1jSClz/BqBYQ6vtqAMGz+Vf64bAiwA==","signatures":[{"sig":"MEUCIQDzr3hHyqrzsDXreVtvqL4kKYzoYZREOCiCDF0l6Lw5RQIgJOtr5Xv6+oZmCPJYqpaxhjvBSO6guD5k5Z4zfVry5TI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100670},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"053ec23b31c8dfa46ae1f0e0585a26af2b389d61","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"11.4.2","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"24.4.1","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"^1.0.0","@bernierllc/retry-policy":"^1.0.0","@bernierllc/ai-provider-core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"^1.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.0.0_1760334660377_0.9103588484957068","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bernierllc/ai-provider-anthropic","version":"1.0.1","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"345634fff60e8239ca74df03c5bf7b8a45ead59d","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.0.1.tgz","fileCount":34,"integrity":"sha512-ULV3I/jiU2wI/rqaumdPV8Op+dXjum31C5faXnhyqOkE7iW3Arb3e0SKA54KBZXOQ3UchmgzSkrI58DK435ALw==","signatures":[{"sig":"MEQCIHxn9YFOQCtgELiqxPdGlAOu1lCoG0UMwY0VNhzdnVxYAiBi18/ok1FArKX6SbXYCsmN1zzYbngHVKEtN+THHZoMug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101112},"main":"dist/index.js","_from":"file:bernierllc-ai-provider-anthropic-1.0.1.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"_resolved":"/tmp/881d54931b2d8158de69040625a8194e/bernierllc-ai-provider-anthropic-1.0.1.tgz","_integrity":"sha512-ULV3I/jiU2wI/rqaumdPV8Op+dXjum31C5faXnhyqOkE7iW3Arb3e0SKA54KBZXOQ3UchmgzSkrI58DK435ALw==","bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"11.7.0","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"1.0.4","@bernierllc/retry-policy":"0.1.6","@bernierllc/ai-provider-core":"1.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"0.1.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.0.1_1766437719901_0.13954451674288193","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bernierllc/ai-provider-anthropic","version":"1.0.2","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.0.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"7aaed3f514c3c3683297501698938f96e1b52d7e","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.0.2.tgz","fileCount":34,"integrity":"sha512-KZEJstg9fVVMV3SeIjRHxP29SSHrM8zNVuL5qb0gOPSFYO7diZCGSupOOYgkh20wsqaGiJjwSjIbUoZKZzA5Uw==","signatures":[{"sig":"MEUCIF6V5CLRshr+Z4kLaHeraQZtPHXtzNAzuwmglWDYLxOQAiEAojGIo6kbnQpXl6iYaNr3jK+zXl+x4wRTAoLuvOEnjZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101333},"main":"dist/index.js","_from":"file:bernierllc-ai-provider-anthropic-1.0.2.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"_resolved":"/tmp/e6edcde4846a9f7d24a9a3d8f90a95e9/bernierllc-ai-provider-anthropic-1.0.2.tgz","_integrity":"sha512-KZEJstg9fVVMV3SeIjRHxP29SSHrM8zNVuL5qb0gOPSFYO7diZCGSupOOYgkh20wsqaGiJjwSjIbUoZKZzA5Uw==","bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"11.7.0","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"1.1.0","@bernierllc/retry-policy":"0.1.6","@bernierllc/ai-provider-core":"1.0.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"0.1.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.0.2_1766454376954_0.12605017521207573","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bernierllc/ai-provider-anthropic","version":"1.2.0","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"4fe46a87c4caa3b2fd0fac4e63e9150ce4eedbdf","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.2.0.tgz","fileCount":34,"integrity":"sha512-I4iYyKGrUTzaBa66u2+y67Gu7tLwJo4gfggTNll5xYnX6SsWq9QIKX5m2A6n3YImckpZVtlbIDUIJmRVVO5HRw==","signatures":[{"sig":"MEQCIGHBaRNn3veS+j76n2G2g4Ary/oon3oRZoo4h+a7p1btAiBU6WNOMNUijovJDl016B/C0rhS1qs/4ItUjlx9QflQwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103745},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"1.3.0","@bernierllc/retry-policy":"0.3.0","@bernierllc/ai-provider-core":"1.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"0.1.4","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.2.0_1767642465740_0.8518343875093397","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@bernierllc/ai-provider-anthropic","version":"1.2.2","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.2.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"6746e119dbfd8a02a99d526151e60afd925dd616","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.2.2.tgz","fileCount":34,"integrity":"sha512-ivzRniwgSlLIXSvpyXko728AKwZvRgQZnRYURBemuFI6fM7k6ynXNiKNX1OfOMLEisYjZAIEiG9iYiQFhZvYzg==","signatures":[{"sig":"MEUCIQDBWAsSOFSjr0CdF0U0ozLXg7Oa/q5d9Ep1iDgUAwnUpAIgeit+zdBzJI+E9doZAXbbJtYa1ei6v8OUuDUgAgFnFj8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104149},"main":"dist/index.js","_from":"file:bernierllc-ai-provider-anthropic-1.2.2.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"_resolved":"/home/runner/work/tools/tools/packages/core/ai-provider-anthropic/bernierllc-ai-provider-anthropic-1.2.2.tgz","_integrity":"sha512-ivzRniwgSlLIXSvpyXko728AKwZvRgQZnRYURBemuFI6fM7k6ynXNiKNX1OfOMLEisYjZAIEiG9iYiQFhZvYzg==","bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"11.11.0","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"1.3.2","@bernierllc/retry-policy":"0.3.2","@bernierllc/ai-provider-core":"1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"0.1.6","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.2.2_1773162997641_0.5659692420073241","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@bernierllc/ai-provider-anthropic","version":"1.2.3","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.2.3","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"6c378eb551ab5715d706b162d8ffdb1b0a49c962","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.2.3.tgz","fileCount":34,"integrity":"sha512-K+Td7HGmPVOFVzWMZrJl5KvoXCtSUUV+0s1g2zCUSe8tv9oFF7pQLAWKc2xvZEl/Yak4jnN0aLZUF/GQQAzv6A==","signatures":[{"sig":"MEQCIG3azKRQHSWKs+PRyAn1PasUNqe+/BBcBSz+VBd/favFAiAAzvOFoJM2V50hfZ7nqXzkS7C4/ouJauiQ0ECxm8sIhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104380},"main":"dist/index.js","_from":"file:bernierllc-ai-provider-anthropic-1.2.3.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"_resolved":"/home/runner/work/tools/tools/packages/core/ai-provider-anthropic/bernierllc-ai-provider-anthropic-1.2.3.tgz","_integrity":"sha512-K+Td7HGmPVOFVzWMZrJl5KvoXCtSUUV+0s1g2zCUSe8tv9oFF7pQLAWKc2xvZEl/Yak4jnN0aLZUF/GQQAzv6A==","bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"11.14.1","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"1.4.0","@bernierllc/retry-policy":"0.4.0","@bernierllc/ai-provider-core":"1.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"0.1.6","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.2.3_1779133316964_0.8943246959632476","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@bernierllc/ai-provider-anthropic","version":"1.2.4","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.2.4","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"4de2629173db4662623e19df2ab1233cbd8a8707","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.2.4.tgz","fileCount":34,"integrity":"sha512-Gc7giFjnMCCjgoixYAq1is1HPo8GL65JKpBMBF9nhWmskQ0wcTo/7kVmsAUl/SW6JgcDJqSp2WG5DPaGdJ6kgQ==","signatures":[{"sig":"MEQCIEcD6EH/HkXzP7AgExADRVo9gyBlX/3B7b0ROS64i9NyAiBW+er1+B+OROxT2XrXC5WQg/IkMx80FeQSViWxBerwAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104611},"main":"dist/index.js","_from":"file:bernierllc-ai-provider-anthropic-1.2.4.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"_resolved":"/home/runner/work/tools/tools/packages/core/ai-provider-anthropic/bernierllc-ai-provider-anthropic-1.2.4.tgz","_integrity":"sha512-Gc7giFjnMCCjgoixYAq1is1HPo8GL65JKpBMBF9nhWmskQ0wcTo/7kVmsAUl/SW6JgcDJqSp2WG5DPaGdJ6kgQ==","bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"11.14.1","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"1.4.2","@bernierllc/retry-policy":"0.5.1","@bernierllc/ai-provider-core":"1.2.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"0.1.6","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.2.4_1779157074520_0.9630534070068477","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@bernierllc/ai-provider-anthropic","version":"1.2.5","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.2.5","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"4ead2a4bbd747cc665a7161ca9b80ac668c26ded","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.2.5.tgz","fileCount":34,"integrity":"sha512-2D67hcES84inaT74O0CHU6rUCmeCoL3y10MGZK4JGbJU3/+Q/pCfBTKRa5jNdjH2QAvtvAwJu3u9zcxVEw2AmA==","signatures":[{"sig":"MEUCIQDHVgh+QCNE9g6EE70MiGFIsOdYvKOhxVf7bMmG41z4HAIgTJ8vstP4fj5Kz+IoGQPZqRXpr+s7JYIDDiNE6mdF9+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104842},"main":"dist/index.js","_from":"file:bernierllc-ai-provider-anthropic-1.2.5.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"_resolved":"/home/runner/work/tools/tools/packages/core/ai-provider-anthropic/bernierllc-ai-provider-anthropic-1.2.5.tgz","_integrity":"sha512-2D67hcES84inaT74O0CHU6rUCmeCoL3y10MGZK4JGbJU3/+Q/pCfBTKRa5jNdjH2QAvtvAwJu3u9zcxVEw2AmA==","bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"11.14.1","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"1.4.3","@bernierllc/retry-policy":"0.5.1","@bernierllc/ai-provider-core":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"0.2.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.2.5_1779221170803_0.5805990144395936","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bernierllc/ai-provider-anthropic","version":"1.4.0","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.4.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"04177664bacea8cb721e7973010a4e7af8ef2203","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.4.0.tgz","fileCount":20,"integrity":"sha512-IxZdM5dPIub0cWBtq4J/8cwNfGviwW1FR/4olbRp6+MLNbO0dNhXtT9JUIa0B/phjilqVCcvACWOlbJoIX4eGQ==","signatures":[{"sig":"MEYCIQC7yqUXI9QhmOENRiqp4Lh9gBHPbkjDW+AKN3snXfjiZQIhAN3t/e2WM59it03k/SvQPRrgj6yk4KtjH3jv3PY4d855","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41786},"main":"dist/index.js","_from":"file:bernierllc-ai-provider-anthropic-1.4.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"_resolved":"/home/runner/work/tools/tools/packages/core/ai-provider-anthropic/bernierllc-ai-provider-anthropic-1.4.0.tgz","_integrity":"sha512-IxZdM5dPIub0cWBtq4J/8cwNfGviwW1FR/4olbRp6+MLNbO0dNhXtT9JUIa0B/phjilqVCcvACWOlbJoIX4eGQ==","bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"11.14.1","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"1.4.3","@bernierllc/retry-policy":"0.5.1","@bernierllc/ai-provider-core":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"0.2.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.4.0_1779233792085_0.5277249228274226","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@bernierllc/ai-provider-anthropic","version":"1.5.0","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.5.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"60a9bcd7eda50b1fca74ae3fa9540f1167428e15","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.5.0.tgz","fileCount":20,"integrity":"sha512-guhJDtP8won5hQARjZQZ6sicMM9HsmAISCVzxCfrLKm2fSo0kRrLITc04NutZqGkg8f7LU6r9c6EQgvNGEupqA==","signatures":[{"sig":"MEUCIQDJ5ASYb0KZyo7NxlDz/tTObBpqLofxlYqIOHgHzHG5lQIgSUS/0SMY5z7eak/VIixk/wlTy0VGLmRnRwIXabvGSaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41786},"main":"dist/index.js","_from":"file:bernierllc-ai-provider-anthropic-1.5.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"_resolved":"/home/runner/work/tools/tools/packages/core/ai-provider-anthropic/bernierllc-ai-provider-anthropic-1.5.0.tgz","_integrity":"sha512-guhJDtP8won5hQARjZQZ6sicMM9HsmAISCVzxCfrLKm2fSo0kRrLITc04NutZqGkg8f7LU6r9c6EQgvNGEupqA==","bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"11.14.1","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"1.6.0","@bernierllc/retry-policy":"0.6.0","@bernierllc/ai-provider-core":"1.5.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"0.3.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.5.0_1779240893195_0.42409583709296905","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@bernierllc/ai-provider-anthropic","version":"1.6.0","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/ai-provider-anthropic@1.6.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"9fb58c76f2c3e7ea2fbc2eddd232455b6e4001a6","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.6.0.tgz","fileCount":20,"integrity":"sha512-OY9yCxcyXsdlx39sotDDVODFynENvXz/V/smo0jDWns/oBQsAnj/N/5QCm0/to4e/O0RMMAm/MRblLHNdllcTQ==","signatures":[{"sig":"MEUCIQC18zfVTYGNuCC8UuKPne7qajTBPHoFpA9tYUb/hSGhGgIgRLqvJ3dfa0OTweeAT7deQvGemPIMHTZkniZrEVFj9RQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41786},"main":"dist/index.js","_from":"file:bernierllc-ai-provider-anthropic-1.6.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"_resolved":"/home/runner/work/tools/tools/packages/core/ai-provider-anthropic/bernierllc-ai-provider-anthropic-1.6.0.tgz","_integrity":"sha512-OY9yCxcyXsdlx39sotDDVODFynENvXz/V/smo0jDWns/oBQsAnj/N/5QCm0/to4e/O0RMMAm/MRblLHNdllcTQ==","bernierllc":{"tags":["ai","provider","anthropic","claude","adapter"],"category":"core","integration":{"logger":"integrated","neverhub":"optional","docs-suite":"ready"}},"_npmVersion":"11.14.1","description":"Anthropic Claude API adapter implementing the unified AI provider interface","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/logger":"1.7.0","@bernierllc/retry-policy":"0.7.0","@bernierllc/ai-provider-core":"1.6.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@bernierllc/neverhub-adapter":"0.4.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-provider-anthropic_1.6.0_1779249623584_0.8246170493083087","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@bernierllc/ai-provider-anthropic","version":"1.6.1","description":"Anthropic Claude API adapter implementing the unified AI provider interface","main":"dist/index.js","types":"dist/index.d.ts","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","dependencies":{"@anthropic-ai/sdk":"^0.20.0","@bernierllc/retry-policy":"0.7.0","@bernierllc/logger":"1.7.1","@bernierllc/ai-provider-core":"1.6.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.50.0","jest":"^29.7.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@bernierllc/neverhub-adapter":"0.4.1"},"bernierllc":{"category":"core","tags":["ai","provider","anthropic","claude","adapter"],"integration":{"neverhub":"optional","logger":"integrated","docs-suite":"ready"}},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"tsc","test":"jest --watch","test:run":"jest","test:coverage":"jest --coverage","lint":"eslint src --ext .ts","clean":"rm -rf dist"},"_id":"@bernierllc/ai-provider-anthropic@1.6.1","_integrity":"sha512-2dg/7Z5z8B+HMDHmuNk7tmBp8TQsPvCZXJdI8Aq0FDL8ttipVO8Y5EU1BLgQc6bsLfoMhuuryJQDeWHwuZ2s2A==","_resolved":"/home/runner/work/tools/tools/packages/core/ai-provider-anthropic/bernierllc-ai-provider-anthropic-1.6.1.tgz","_from":"file:bernierllc-ai-provider-anthropic-1.6.1.tgz","_nodeVersion":"24.18.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-2dg/7Z5z8B+HMDHmuNk7tmBp8TQsPvCZXJdI8Aq0FDL8ttipVO8Y5EU1BLgQc6bsLfoMhuuryJQDeWHwuZ2s2A==","shasum":"4e28e49a769d36301dcfdc6b1a412d94c2b67f27","tarball":"https://registry.npmjs.org/@bernierllc/ai-provider-anthropic/-/ai-provider-anthropic-1.6.1.tgz","fileCount":20,"unpackedSize":41786,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDrHkMoT7DAiKX3AgNHjNXDpxfyyEK6UsPgYCeMutfoSgIgLOCWeVLRf1QDh/K4vAHddZG5/V112/s5xfO/waTdcWg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:40e2cc67-0bb6-4714-9e6b-83d74ab63fda"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-provider-anthropic_1.6.1_1784015483675_0.7551919551819701"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-13T05:51:00.206Z","modified":"2026-07-14T07:51:23.920Z","1.0.0":"2025-10-13T05:51:00.560Z","1.0.1":"2025-12-22T21:08:40.032Z","1.0.2":"2025-12-23T01:46:17.121Z","1.2.0":"2026-01-05T19:47:45.872Z","1.2.2":"2026-03-10T17:16:37.794Z","1.2.3":"2026-05-18T19:41:57.153Z","1.2.4":"2026-05-19T02:17:54.679Z","1.2.5":"2026-05-19T20:06:10.955Z","1.4.0":"2026-05-19T23:36:32.227Z","1.5.0":"2026-05-20T01:34:53.359Z","1.6.0":"2026-05-20T04:00:23.716Z","1.6.1":"2026-07-14T07:51:23.805Z"},"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","keywords":["ai","provider","anthropic","claude","adapter","claude-3","vision","streaming"],"description":"Anthropic Claude API adapter implementing the unified AI provider interface","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/ai-provider-anthropic\n\nAnthropic Claude API adapter implementing the unified AI provider interface from `@bernierllc/ai-provider-core`.\n\n## Features\n\n- **All Claude 3 Models**: Full support for Opus, Sonnet, and Haiku\n- **Streaming**: Async generator-based streaming completions\n- **Vision Analysis**: Image analysis with all Claude 3 models\n- **Extended Context**: Support for 200K token context windows\n- **Cost Estimation**: Accurate cost calculation with model-specific pricing\n- **TypeScript**: Full type safety with strict mode\n- **Error Handling**: Comprehensive error handling with retry support\n\n## Installation\n\n```bash\nnpm install @bernierllc/ai-provider-anthropic\n```\n\n## Basic Usage\n\n```typescript\nimport { AnthropicProvider } from '@bernierllc/ai-provider-anthropic';\n\nconst provider = new AnthropicProvider({\n  providerName: 'anthropic',\n  apiKey: process.env.ANTHROPIC_API_KEY!,\n  defaultModel: 'claude-3-opus-20240229'\n});\n\n// Generate completion\nconst response = await provider.complete({\n  messages: [\n    { role: 'system', content: 'You are a helpful assistant.' },\n    { role: 'user', content: 'Explain TypeScript generics in simple terms.' }\n  ],\n  maxTokens: 500,\n  temperature: 0.7\n});\n\nif (response.success) {\n  console.log(response.content);\n  console.log(`Tokens used: ${response.usage?.totalTokens}`);\n}\n```\n\n## API Reference\n\n### Constructor\n\n```typescript\nnew AnthropicProvider(config: AnthropicProviderConfig)\n```\n\n**Config Options:**\n- `providerName`: Must be `'anthropic'`\n- `apiKey`: Anthropic API key (required)\n- `defaultModel`: Default model to use (optional, defaults to `claude-3-opus-20240229`)\n- `baseURL`: Custom API base URL (optional)\n- `timeout`: Request timeout in milliseconds (optional, defaults to 60000)\n- `maxRetries`: Maximum number of retries (optional, defaults to 3)\n\n### Methods\n\n#### `complete(request: CompletionRequest): Promise<CompletionResponse>`\n\nGenerate a text completion.\n\n```typescript\nconst response = await provider.complete({\n  messages: [\n    { role: 'user', content: 'Hello!' }\n  ],\n  maxTokens: 100,\n  temperature: 0.7\n});\n```\n\n#### `streamComplete(request: CompletionRequest): AsyncGenerator<StreamChunk>`\n\nGenerate a streaming text completion.\n\n```typescript\nfor await (const chunk of provider.streamComplete({\n  messages: [\n    { role: 'user', content: 'Write a short poem about coding' }\n  ]\n})) {\n  process.stdout.write(chunk.delta);\n\n  if (chunk.finishReason) {\n    console.log(`\\n\\nFinished: ${chunk.finishReason}`);\n  }\n}\n```\n\n#### `analyzeImage(imageData, prompt, model?, maxTokens?, temperature?): Promise<CompletionResponse>`\n\nAnalyze an image using Claude's vision capabilities.\n\n```typescript\nconst imageBuffer = fs.readFileSync('diagram.png');\n\nconst analysis = await provider.analyzeImage(\n  imageBuffer,\n  'Describe this architecture diagram in detail',\n  'claude-3-opus-20240229'\n);\n\nif (analysis.success) {\n  console.log(analysis.content);\n}\n```\n\n#### `extendedContextCompletion(request): Promise<CompletionResponse>`\n\nProcess requests with extended context (200K tokens).\n\n```typescript\nconst longDocument = fs.readFileSync('very-long-document.txt', 'utf-8');\n\nconst response = await provider.extendedContextCompletion({\n  messages: [\n    { role: 'user', content: `Summarize this document:\\n\\n${longDocument}` }\n  ],\n  enableExtendedContext: true\n});\n```\n\n#### `estimateCost(request: CompletionRequest): CostEstimate`\n\nEstimate the cost of a request before sending it.\n\n```typescript\nconst cost = provider.estimateCost({\n  messages: [{ role: 'user', content: 'Hello world!' }],\n  model: 'claude-3-opus-20240229',\n  maxTokens: 100\n});\n\nconsole.log(`Estimated cost: $${cost.estimatedCostUSD.toFixed(4)}`);\n```\n\n#### `getAvailableModels(): Promise<ModelInfo[]>`\n\nGet information about all available Claude models.\n\n```typescript\nconst models = await provider.getAvailableModels();\n\nmodels.forEach(model => {\n  console.log(`${model.name}: ${model.contextWindow} tokens`);\n});\n```\n\n#### `checkHealth(): Promise<HealthStatus>`\n\nCheck if the Anthropic API is available.\n\n```typescript\nconst health = await provider.checkHealth();\n\nif (health.status === 'healthy') {\n  console.log(`API is healthy (latency: ${health.latency}ms)`);\n}\n```\n\n## Available Models\n\n| Model | ID | Context | Output | Cost (Input/Output per 1M tokens) |\n|-------|-----|---------|--------|-----------------------------------|\n| **Claude 3 Opus** | `claude-3-opus-20240229` | 200K | 4096 | $15 / $75 |\n| **Claude 3 Sonnet** | `claude-3-sonnet-20240229` | 200K | 4096 | $3 / $15 |\n| **Claude 3 Haiku** | `claude-3-haiku-20240307` | 200K | 4096 | $0.25 / $1.25 |\n\nAll models support:\n- Text completion\n- Streaming\n- Vision analysis\n- Extended context (200K tokens)\n\n## Error Handling\n\nThe provider returns structured error responses:\n\n```typescript\nconst response = await provider.complete({\n  messages: [{ role: 'user', content: 'Test' }]\n});\n\nif (!response.success) {\n  console.error('Error:', response.error);\n}\n```\n\n## Limitations\n\n### Embeddings\nAnthropic does not provide an embeddings API. Use `@bernierllc/ai-provider-openai` for embeddings:\n\n```typescript\nconst embeddingResponse = await provider.generateEmbeddings({\n  input: 'test text'\n});\n\n// Returns: { success: false, error: 'Anthropic does not provide an embeddings API...' }\n```\n\n### Content Moderation\nClaude has built-in safety features (Constitutional AI), so no separate moderation API is needed:\n\n```typescript\nconst moderation = await provider.moderate('content');\n\n// Always returns: { success: true, flagged: false, ... }\n```\n\n## Integration Status\n\n- **Logger**: ✅ Integrated - Uses `@bernierllc/logger` for error logging\n- **Docs-Suite**: ✅ Ready - Full TypeDoc/JSDoc documentation\n- **NeverHub**: ⚠️ Optional - Can integrate for monitoring and metrics\n\n## Advanced Usage\n\n### Model Comparison\n\n```typescript\nconst models = await provider.getAvailableModels();\n\nmodels.forEach(model => {\n  console.log(`${model.name}:`);\n  console.log(`  Context: ${model.contextWindow.toLocaleString()} tokens`);\n  console.log(`  Capabilities: ${model.capabilities.join(', ')}`);\n  if (model.pricing) {\n    console.log(`  Input: $${model.pricing.inputPricePerToken * 1000000}/M tokens`);\n    console.log(`  Output: $${model.pricing.outputPricePerToken * 1000000}/M tokens`);\n  }\n});\n```\n\n### Complex Reasoning Task\n\n```typescript\n// Claude excels at complex reasoning and analysis\nconst response = await provider.complete({\n  messages: [\n    {\n      role: 'user',\n      content: `Analyze this code architecture and suggest improvements:\n\n[Large codebase content...]\n\nConsider: scalability, maintainability, security, performance`\n    }\n  ],\n  model: 'claude-3-opus-20240229',\n  maxTokens: 4096,\n  temperature: 0.3 // Lower temperature for analytical tasks\n});\n```\n\n### Vision with Multiple Images\n\n```typescript\n// Analyze multiple images in sequence\nconst images = ['image1.png', 'image2.png', 'image3.png'];\n\nfor (const imagePath of images) {\n  const imageBuffer = fs.readFileSync(imagePath);\n\n  const analysis = await provider.analyzeImage(\n    imageBuffer,\n    'What do you see in this image?'\n  );\n\n  console.log(`${imagePath}: ${analysis.content}`);\n}\n```\n\n## TypeScript Types\n\n```typescript\nimport type {\n  AnthropicProviderConfig,\n  AnthropicVisionRequest,\n  AnthropicExtendedContextRequest\n} from '@bernierllc/ai-provider-anthropic';\n\nimport type {\n  CompletionRequest,\n  CompletionResponse,\n  StreamChunk,\n  ModelInfo,\n  HealthStatus,\n  CostEstimate\n} from '@bernierllc/ai-provider-core';\n```\n\n## License\n\nCopyright (c) 2025 Bernier LLC. All rights reserved.\n\n## See Also\n\n- [@bernierllc/ai-provider-core](../ai-provider-core) - Abstract provider interface\n- [@bernierllc/ai-provider-openai](../ai-provider-openai) - OpenAI provider implementation\n- [@bernierllc/retry-policy](../retry-policy) - Retry logic used by this package\n- [@bernierllc/logger](../logger) - Logging used by this package\n","readmeFilename":"README.md"}