{"_id":"@bernierllc/chatkit-adapter","_rev":"14-040f221fb331a7083d00f524ed200975","name":"@bernierllc/chatkit-adapter","dist-tags":{"latest":"1.5.1"},"versions":{"1.0.0":{"name":"@bernierllc/chatkit-adapter","version":"1.0.0","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.0.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"8231730573f0677c4bd366a81bbf8e4f6e64339e","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.0.0.tgz","fileCount":78,"integrity":"sha512-LIQbKRA6nsJu2NvIiItYkxfkOuTZM2cP3ES9sHh3s+IPlJ7XTe6c98UtHtKeMKQ4gpBUpv4+zZAxlVXnCdBUEw==","signatures":[{"sig":"MEQCIGN9XyOQOvSaYwfZiEAJItsYs/UspZjh1+6sFpVknKgaAiBdorqDA6wbb5NdRwMS0oq9xOTNaQ8ilkvtuHNZeOnWcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":383479},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4fb16a6561553c70a4e0b1443f300eab381f91a9","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.6.0","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"24.10.0","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"^1.0.1","@bernierllc/rate-limiter":"^0.1.3","@bernierllc/retry-policy":"^0.1.3","@bernierllc/config-manager":"^1.0.3","@bernierllc/neverhub-adapter":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.0.0_1762123148334_0.03112276381225687","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bernierllc/chatkit-adapter","version":"1.0.1","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"ccbc43445eda82d61824d3985cf3412966d90ac4","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.0.1.tgz","fileCount":94,"integrity":"sha512-oJ4neBizoeZQhe+/c2z+OyQznLUrdgE2nES/A5uRzEgt9wcOxVd8nGO3dFFWl+dhjXTH4WsSunpt9vWhKPFvnA==","signatures":[{"sig":"MEYCIQCcAZiuZJvTgD2d7d/ozUIKo+8+IzmvdO6wiT+w/S3zUQIhAMPVMeWtKfDZ73qorPcjUbm7l/19Nn+SLkzdaI4e23yb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":397153},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/tmp/0e818e40440d4fb91544a762318e46e3/bernierllc-chatkit-adapter-1.0.1.tgz","_integrity":"sha512-oJ4neBizoeZQhe+/c2z+OyQznLUrdgE2nES/A5uRzEgt9wcOxVd8nGO3dFFWl+dhjXTH4WsSunpt9vWhKPFvnA==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.7.0","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.0.4","@bernierllc/rate-limiter":"0.1.7","@bernierllc/retry-policy":"0.1.6","@bernierllc/config-manager":"1.0.3","@bernierllc/neverhub-adapter":"0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.0.1_1766437720009_0.6903169986456228","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bernierllc/chatkit-adapter","version":"1.0.2","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.0.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"21cfd625be0754040ff153250ac566d8d1eafad6","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.0.2.tgz","fileCount":94,"integrity":"sha512-pNQ3WiFHuXcFyaz0egtH2QRd1go2eakvQ7YCuSoqI+GGE5fytwxPFv5997hTpBnCe5qnX6GD+rL0g6WiqoRzJQ==","signatures":[{"sig":"MEUCIQC/MI6ymM7257I3DN8jS11Y9j5Zt56bqnQYkkFWTaXV5QIgZJSGDpoVQ5/HR8YZ9rLlhGxOsy8gukBc9TdIEkeojX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":397335},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/tmp/8dbad58c7d37dc6eb43969b82b470d30/bernierllc-chatkit-adapter-1.0.2.tgz","_integrity":"sha512-pNQ3WiFHuXcFyaz0egtH2QRd1go2eakvQ7YCuSoqI+GGE5fytwxPFv5997hTpBnCe5qnX6GD+rL0g6WiqoRzJQ==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.7.0","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.1.0","@bernierllc/rate-limiter":"0.1.7","@bernierllc/retry-policy":"0.1.6","@bernierllc/config-manager":"1.0.3","@bernierllc/neverhub-adapter":"0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.0.2_1766454377803_0.8868102032816272","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bernierllc/chatkit-adapter","version":"1.2.0","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"0bc7d3868ed7ac51e917b6c6232b1d15f63a9f42","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.2.0.tgz","fileCount":94,"integrity":"sha512-wBeOdnLjIwso6qJ4kMtTFSJCeVU6TX7fLkg4SMHN97uvt74o28+d4ZgENOr9Y0X7XcFy0/09ENv55HO6+j6c+g==","signatures":[{"sig":"MEQCICy2+ja3JihpKFfnBgAuhb3PvZkmIN/+KEGuYapK68EWAiAv4ydPJKTqD0bBbPniy/mNE+YaED+Qrv/hApAaSKaZsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399741},"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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.3.0","@bernierllc/rate-limiter":"0.2.0","@bernierllc/retry-policy":"0.3.0","@bernierllc/config-manager":"1.0.5","@bernierllc/neverhub-adapter":"0.1.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.2.0_1767642431033_0.650608719441315","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@bernierllc/chatkit-adapter","version":"1.2.1","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.2.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"4894bb8897dbfa87aee60803ddb9b8a69698eaeb","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.2.1.tgz","fileCount":94,"integrity":"sha512-ERaGbB734d6PpuP9g+9tom4jQs9EEbVUsx2BXHmqH8VLRcc0VYtXmQGENzM0S/TMSTjFxgnIyqGn9RFVJ49JsA==","signatures":[{"sig":"MEYCIQCtyZLTe8dOI1UaXNrRn++N6qmI4WFQjG+dgoe3fFDY0wIhAIa+ff0FAkKaP8jga8PZSU6Kbt6A/lXF0bfYqCkvqzj0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399896},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-1.2.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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/tmp/146a31fe1015d480496b5d8354d1a9fa/bernierllc-chatkit-adapter-1.2.1.tgz","_integrity":"sha512-ERaGbB734d6PpuP9g+9tom4jQs9EEbVUsx2BXHmqH8VLRcc0VYtXmQGENzM0S/TMSTjFxgnIyqGn9RFVJ49JsA==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.11.0","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.3.1","@bernierllc/rate-limiter":"0.2.2","@bernierllc/retry-policy":"0.3.1","@bernierllc/config-manager":"1.0.6","@bernierllc/neverhub-adapter":"0.1.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.2.1_1773078366452_0.47983716705522794","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@bernierllc/chatkit-adapter","version":"1.2.2","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.2.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"2e3ab97fad331402986a0eaed2f3c1293b71d6a0","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.2.2.tgz","fileCount":94,"integrity":"sha512-rOIe4COph5cHh5ZyFuUJK8Gd00jrMMAfRdHBO9VH7O5Kn5CGfkh0ZV+TwmMFNsRX+Py0d7r3aPaZVSCy48QbHQ==","signatures":[{"sig":"MEQCIEe1eV8CT7Lvi+vnsBs2AG1UiOu9sL3uGbumfRYprU0JAiBbuP7br81IQLx9rSd0pXCjikmZKhftn2ORmpuO2Ou7tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400109},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/home/runner/work/tools/tools/packages/core/chatkit-adapter/bernierllc-chatkit-adapter-1.2.2.tgz","_integrity":"sha512-rOIe4COph5cHh5ZyFuUJK8Gd00jrMMAfRdHBO9VH7O5Kn5CGfkh0ZV+TwmMFNsRX+Py0d7r3aPaZVSCy48QbHQ==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.11.0","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.3.2","@bernierllc/rate-limiter":"0.2.3","@bernierllc/retry-policy":"0.3.2","@bernierllc/config-manager":"1.0.7","@bernierllc/neverhub-adapter":"0.1.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.2.2_1773163039302_0.7689567576696656","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@bernierllc/chatkit-adapter","version":"1.2.3","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.2.3","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"e9fd2054cf19daa4ec7081176806704193f665f8","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.2.3.tgz","fileCount":94,"integrity":"sha512-ZbVFUQg6fBeQgYy2PJOiEN+lpICiWBc2UGZK/yDCbECrr29Mplbrnvf5EL8NOXKpW4d/Uj0BmUopv4DZj9ENSQ==","signatures":[{"sig":"MEQCIBJZVyCrZpQKCQpIl9GLFsTqh1jy2lXgRNd/rciBP0aEAiBY4Ie/fVzXsAu9F6Uw54alNEhfVJn9H5QrlaI9ZClviw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400322},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/home/runner/work/tools/tools/packages/core/chatkit-adapter/bernierllc-chatkit-adapter-1.2.3.tgz","_integrity":"sha512-ZbVFUQg6fBeQgYy2PJOiEN+lpICiWBc2UGZK/yDCbECrr29Mplbrnvf5EL8NOXKpW4d/Uj0BmUopv4DZj9ENSQ==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.14.1","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.4.0","@bernierllc/rate-limiter":"0.2.3","@bernierllc/retry-policy":"0.4.0","@bernierllc/config-manager":"1.0.7","@bernierllc/neverhub-adapter":"0.1.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.2.3_1779133357293_0.35590053312663894","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@bernierllc/chatkit-adapter","version":"1.2.4","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.2.4","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"8121459c5763c105a383436f4557e59d6e88bab6","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.2.4.tgz","fileCount":94,"integrity":"sha512-irH/r2LFfM8s3Uytj8w4TjsEm/U9O4I4urA+EB3kgkfdFqm/WA1MlZj7cTRhAyrmCTtGBCXOg5iMrOIylkvq3A==","signatures":[{"sig":"MEUCIQDcqCb3zpSODaFgMXcPJI8xOXas9ukYrVqrbKw5+05CSAIgbMPlaxGU8yPlPCfsBM6j8w8/93jPlUbgwfGaAhOncFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400535},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/home/runner/work/tools/tools/packages/core/chatkit-adapter/bernierllc-chatkit-adapter-1.2.4.tgz","_integrity":"sha512-irH/r2LFfM8s3Uytj8w4TjsEm/U9O4I4urA+EB3kgkfdFqm/WA1MlZj7cTRhAyrmCTtGBCXOg5iMrOIylkvq3A==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.14.1","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.4.2","@bernierllc/rate-limiter":"0.2.3","@bernierllc/retry-policy":"0.5.1","@bernierllc/config-manager":"1.0.7","@bernierllc/neverhub-adapter":"0.1.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.2.4_1779157112419_0.8396740142224668","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@bernierllc/chatkit-adapter","version":"1.2.5","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.2.5","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"d0117f19d48ce37ad836187726b644f5cec747a5","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.2.5.tgz","fileCount":94,"integrity":"sha512-3GwjL5Kq14Kz/nKwTmAdQytFt1Em+EOS7NiqRfCiu89DrvQwpJSj9bK2VRUspD2cyr/zM46JERfEueSSrbLvdw==","signatures":[{"sig":"MEUCIQD1V2Z4qLbO4RNJSHNRMZU+Yz+6A7qTXKRka+U1TFHGgQIgOJfy9ohRJHFjZawUtYHboQViK0QSGbAli1ygG6XKkPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400748},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/home/runner/work/tools/tools/packages/core/chatkit-adapter/bernierllc-chatkit-adapter-1.2.5.tgz","_integrity":"sha512-3GwjL5Kq14Kz/nKwTmAdQytFt1Em+EOS7NiqRfCiu89DrvQwpJSj9bK2VRUspD2cyr/zM46JERfEueSSrbLvdw==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.14.1","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.4.3","@bernierllc/rate-limiter":"0.4.0","@bernierllc/retry-policy":"0.5.1","@bernierllc/config-manager":"1.0.7","@bernierllc/neverhub-adapter":"0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.2.5_1779221210235_0.9298637009809396","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"@bernierllc/chatkit-adapter","version":"1.2.6","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.2.6","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"dbbfd4d5d9642f712caf1a9b4891c053dc799adc","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.2.6.tgz","fileCount":94,"integrity":"sha512-X+zHEsUSWziREEhfE1ULaQ18qOzmjtNypqtOeMtW5LriOCjxHTYWD32eGn55i2O3yW0SyESccjnnOZyhcSXA0g==","signatures":[{"sig":"MEYCIQCuhq3BQaJIT76U9uRTMWmS5y+Nvw9+5sSiOh7q0RYYxAIhAM0GXNz5vsqMHoreMYnDWW5ZXk77/uLIxHS8VuNQBC2G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400961},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-1.2.6.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/home/runner/work/tools/tools/packages/core/chatkit-adapter/bernierllc-chatkit-adapter-1.2.6.tgz","_integrity":"sha512-X+zHEsUSWziREEhfE1ULaQ18qOzmjtNypqtOeMtW5LriOCjxHTYWD32eGn55i2O3yW0SyESccjnnOZyhcSXA0g==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.14.1","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.4.3","@bernierllc/rate-limiter":"0.4.1","@bernierllc/retry-policy":"0.5.1","@bernierllc/config-manager":"1.2.0","@bernierllc/neverhub-adapter":"0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.2.6_1779233844030_0.09072899686273073","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bernierllc/chatkit-adapter","version":"1.3.0","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"b81a35e475192e7ed217708145ac9ad5b7ef563e","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.3.0.tgz","fileCount":94,"integrity":"sha512-eQNViRiRkN6o8+BA/hxxscg/op94gbb1i+m61xD9XlE2YMiWn1KJ8StdxBeoj21olh14atsnSQljPcHoylviUQ==","signatures":[{"sig":"MEQCIDUGkmCoiuzEnKVbRcJ6uOWWa5NXXn1KPEe7LzT8PatlAiB3XGdOzMODRjFMQZY4D2Y4vpBy5e0oft7+UcKRcavDkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":401159},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-1.3.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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/home/runner/work/tools/tools/packages/core/chatkit-adapter/bernierllc-chatkit-adapter-1.3.0.tgz","_integrity":"sha512-eQNViRiRkN6o8+BA/hxxscg/op94gbb1i+m61xD9XlE2YMiWn1KJ8StdxBeoj21olh14atsnSQljPcHoylviUQ==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.14.1","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.6.0","@bernierllc/rate-limiter":"0.5.0","@bernierllc/retry-policy":"0.6.0","@bernierllc/config-manager":"1.3.0","@bernierllc/neverhub-adapter":"0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.3.0_1779240952448_0.3083519041754301","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bernierllc/chatkit-adapter","version":"1.4.0","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.4.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"1ac4e03b85f2d128fc72046db86300c0c67839b3","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.4.0.tgz","fileCount":94,"integrity":"sha512-Fk0xQhqy0Q9LXHtjqaS/NAnnybruxR+yvH0T3r8cYvJbKuq6iAvch+4v4EMSmPg9qVVetXtCiUZeuj6mjApuZg==","signatures":[{"sig":"MEUCIQC8Qrv4XWMe5lTgxjDnRm/4mE5hgMbPB0Sx5BUIIMgRbgIgalx1ARP9NsdadHK5siDAk/Ihmva/sSSKZiuWNDX0308=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":401358},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/home/runner/work/tools/tools/packages/core/chatkit-adapter/bernierllc-chatkit-adapter-1.4.0.tgz","_integrity":"sha512-Fk0xQhqy0Q9LXHtjqaS/NAnnybruxR+yvH0T3r8cYvJbKuq6iAvch+4v4EMSmPg9qVVetXtCiUZeuj6mjApuZg==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.14.1","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.7.0","@bernierllc/rate-limiter":"0.6.0","@bernierllc/retry-policy":"0.7.0","@bernierllc/config-manager":"1.4.0","@bernierllc/neverhub-adapter":"0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.4.0_1779249687578_0.8176084262764254","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@bernierllc/chatkit-adapter","version":"1.5.0","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/chatkit-adapter@1.5.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"dec59a4817f819fa4fdfdf57e082dbb44a614938","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.5.0.tgz","fileCount":94,"integrity":"sha512-Fhc8FSj83+G3HakoCdqlzcl/jpfI0GqeYSDMFSfLDHortimWAUivRNmHJrtDDz0lTUmu8gP4IGFxlGVP2m1f9w==","signatures":[{"sig":"MEUCIQDtticQVp9LBK2pbc8Z50EHuwc/GVH4OT7CZd4VUFVbjgIgUI/3IJcNIyv2Yz8HYhoJS3c0D8AcAH1EUF//2TMSRxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":401567},"main":"dist/index.js","_from":"file:bernierllc-chatkit-adapter-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 --watchAll=false","test:coverage":"jest --coverage --watchAll=false"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"_resolved":"/home/runner/work/tools/tools/packages/core/chatkit-adapter/bernierllc-chatkit-adapter-1.5.0.tgz","_integrity":"sha512-Fhc8FSj83+G3HakoCdqlzcl/jpfI0GqeYSDMFSfLDHortimWAUivRNmHJrtDDz0lTUmu8gP4IGFxlGVP2m1f9w==","bernierllc":{"integration":{"neverhub":"optional"}},"_npmVersion":"11.14.1","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0","openai":"^4.0.0","@bernierllc/logger":"1.7.0","@bernierllc/rate-limiter":"0.7.0","@bernierllc/retry-policy":"0.7.0","@bernierllc/config-manager":"1.4.0","@bernierllc/neverhub-adapter":"0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chatkit-adapter_1.5.0_1779303268693_0.34117880709441106","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@bernierllc/chatkit-adapter","version":"1.5.1","description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","main":"dist/index.js","types":"dist/index.d.ts","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","dependencies":{"openai":"^4.0.0","zod":"^3.22.0","@bernierllc/logger":"1.7.1","@bernierllc/config-manager":"1.4.0","@bernierllc/neverhub-adapter":"0.4.1","@bernierllc/retry-policy":"0.7.0","@bernierllc/rate-limiter":"0.7.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","eslint":"^8.0.0","jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0"},"bernierllc":{"integration":{"neverhub":"optional"}},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"tsc","test":"jest --watch","test:run":"jest --watchAll=false","test:coverage":"jest --coverage --watchAll=false","lint":"eslint src --ext .ts","clean":"rm -rf dist"},"_id":"@bernierllc/chatkit-adapter@1.5.1","_integrity":"sha512-w+JUgkjiokG8AxJyBnUlEdbixSy0bG73I0Fnxp1sXy/dNj9JIxvNLGGqBrk6Q5yrauqsbyfCZOQS0rzXsgHJIg==","_resolved":"/home/runner/work/tools/tools/packages/core/chatkit-adapter/bernierllc-chatkit-adapter-1.5.1.tgz","_from":"file:bernierllc-chatkit-adapter-1.5.1.tgz","_nodeVersion":"24.18.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-w+JUgkjiokG8AxJyBnUlEdbixSy0bG73I0Fnxp1sXy/dNj9JIxvNLGGqBrk6Q5yrauqsbyfCZOQS0rzXsgHJIg==","shasum":"4d68eab772bb2e6d124ead0155a4d8cf9cd1212d","tarball":"https://registry.npmjs.org/@bernierllc/chatkit-adapter/-/chatkit-adapter-1.5.1.tgz","fileCount":94,"unpackedSize":401663,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC2asNBLDLQbOKR0lGRp3SXxoWSTaxQOilK7tErvkCG2wIgOB9dxE9ZipsvGOylHRbshvKe05ql830fkYMZQE+HoBM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3c07258-d95b-4000-b927-df06d55bc924"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chatkit-adapter_1.5.1_1784015517401_0.43899883517849414"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-02T22:39:08.262Z","modified":"2026-07-14T07:51:57.659Z","1.0.0":"2025-11-02T22:39:08.528Z","1.0.1":"2025-12-22T21:08:40.156Z","1.0.2":"2025-12-23T01:46:17.964Z","1.2.0":"2026-01-05T19:47:11.186Z","1.2.1":"2026-03-09T17:46:06.593Z","1.2.2":"2026-03-10T17:17:19.436Z","1.2.3":"2026-05-18T19:42:37.440Z","1.2.4":"2026-05-19T02:18:32.572Z","1.2.5":"2026-05-19T20:06:50.391Z","1.2.6":"2026-05-19T23:37:24.185Z","1.3.0":"2026-05-20T01:35:52.608Z","1.4.0":"2026-05-20T04:01:27.742Z","1.5.0":"2026-05-20T18:54:28.883Z","1.5.1":"2026-07-14T07:51:57.544Z"},"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","keywords":["chatkit","openai","chat","ai","neverhub","adapter"],"description":"OpenAI ChatKit integration adapter with NeverHub and NeverAdmin support","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/chatkit-adapter\n\nOpenAI ChatKit integration adapter with NeverHub service discovery and NeverAdmin UI integration.\n\n## Installation\n\n```bash\nnpm install @bernierllc/chatkit-adapter\n```\n\n## Quick Start\n\n```typescript\nimport { ChatKitAdapter } from '@bernierllc/chatkit-adapter';\n\n// Create adapter with configuration\nconst adapter = new ChatKitAdapter({\n  openai: {\n    apiKey: process.env.OPENAI_API_KEY || '',\n    model: 'gpt-4',\n    maxTokens: 4000,\n    temperature: 0.7\n  }\n});\n\n// Initialize (auto-detects NeverHub)\nawait adapter.initialize();\n\n// Send a message\nconst result = await adapter.sendMessage({\n  content: 'Hello, how can I help you?'\n});\n\nif (result.success) {\n  console.log(result.data.content);\n}\n```\n\n## Features\n\n- **OpenAI ChatKit Integration**: Full support for OpenAI chat completions\n- **Real-time Streaming**: Server-Sent Events (SSE) streaming support\n- **File Attachments**: Upload and process file attachments\n- **Thread Management**: Conversation threading and context preservation\n- **NeverHub Integration**: Optional service discovery and event publishing\n- **Security**: Built-in rate limiting, input validation, and token management\n- **TypeScript**: Full TypeScript support with strict typing\n\n## Usage Examples\n\n### Basic Message Sending\n\n```typescript\nimport { ChatKitAdapter } from '@bernierllc/chatkit-adapter';\n\nconst adapter = new ChatKitAdapter({\n  openai: {\n    apiKey: process.env.OPENAI_API_KEY || '',\n    model: 'gpt-4'\n  }\n});\n\nawait adapter.initialize();\n\nconst result = await adapter.sendMessage({\n  content: 'What is the capital of France?'\n});\n\nif (result.success) {\n  console.log('Answer:', result.data?.content);\n}\n```\n\n### Streaming Responses\n\n```typescript\nconst adapter = new ChatKitAdapter({\n  openai: {\n    apiKey: process.env.OPENAI_API_KEY || ''\n  },\n  features: {\n    streaming: true\n  }\n});\n\nawait adapter.initialize();\n\nawait adapter.streamMessage({\n  content: 'Tell me a story',\n  onChunk: (chunk) => {\n    process.stdout.write(chunk);\n  },\n  onComplete: () => {\n    console.log('\\nStream complete!');\n  },\n  onError: (error) => {\n    console.error('Stream error:', error);\n  }\n});\n```\n\n### Thread Management\n\n```typescript\n// Create a new thread\nconst threadResult = await adapter.createThread({\n  metadata: {\n    userId: 'user123',\n    title: 'Customer Support'\n  },\n  initialMessage: 'I need help with my account'\n});\n\nconst threadId = threadResult.data?.id;\n\n// Send messages in thread\nawait adapter.sendMessage({\n  content: 'My account is locked',\n  threadId\n});\n\nawait adapter.sendMessage({\n  content: 'Can you help me unlock it?',\n  threadId\n});\n\n// Get thread history\nconst thread = adapter.getThread(threadId!);\nconsole.log('Messages:', thread.data?.messages);\n```\n\n### File Attachments\n\n```typescript\nconst file = new File(['content'], 'document.pdf', { type: 'application/pdf' });\n\nconst uploadResult = await adapter.uploadFile({\n  file,\n  purpose: 'assistants'\n});\n\nif (uploadResult.success) {\n  console.log('File uploaded:', uploadResult.data?.id);\n}\n```\n\n### NeverHub Integration\n\n```typescript\nconst adapter = new ChatKitAdapter({\n  openai: {\n    apiKey: process.env.OPENAI_API_KEY || ''\n  },\n  neverhub: {\n    enabled: true,\n    serviceName: 'chatkit-adapter',\n    capabilities: [\n      { type: 'chat', name: 'openai-chatkit', version: '1.0.0' }\n    ],\n    dependencies: ['auth', 'logging']\n  }\n});\n\nawait adapter.initialize();\n\n// NeverHub will auto-detect and register\n// Events will be published automatically\n```\n\n### Health Monitoring\n\n```typescript\nconst health = await adapter.getHealth();\n\nconsole.log('Status:', health.data?.status);\nconsole.log('Metrics:', health.data?.metrics);\nconsole.log('Checks:', health.data?.checks);\n```\n\n## API Reference\n\n### ChatKitAdapter\n\nMain adapter class for OpenAI ChatKit integration.\n\n#### Constructor\n\n```typescript\nconstructor(config?: Partial<ChatKitAdapterConfig>)\n```\n\nCreates a new ChatKit adapter instance with optional configuration.\n\n#### Methods\n\n##### `initialize(): Promise<ChatKitResult<boolean>>`\n\nInitializes the adapter with optional NeverHub detection.\n\n##### `sendMessage(params: SendMessageParams): Promise<ChatKitResult<ChatCompletionResponse>>`\n\nSends a chat message and receives a completion response.\n\n**Parameters:**\n- `content` (string): Message content\n- `threadId?` (string): Optional thread ID for context\n- `attachments?` (File[]): Optional file attachments\n- `metadata?` (Record<string, unknown>): Optional metadata\n\n##### `streamMessage(params: StreamMessageParams): Promise<ChatKitResult<void>>`\n\nStreams a chat message with real-time responses.\n\n**Parameters:**\n- `content` (string): Message content\n- `threadId?` (string): Optional thread ID\n- `onChunk?` (function): Callback for each chunk\n- `onComplete?` (function): Callback on completion\n- `onError?` (function): Callback on error\n\n##### `uploadFile(params: UploadFileParams): Promise<ChatKitResult<ChatAttachment>>`\n\nUploads a file attachment.\n\n**Parameters:**\n- `file` (File): File to upload\n- `purpose` ('assistants' | 'fine-tune' | 'vision'): Upload purpose\n- `metadata?` (Record<string, unknown>): Optional metadata\n\n##### `createThread(params?: CreateThreadParams): Promise<ChatKitResult<ChatThread>>`\n\nCreates a new conversation thread.\n\n**Parameters:**\n- `metadata?` (Record<string, unknown>): Thread metadata\n- `initialMessage?` (string): Optional initial message\n\n##### `getThread(threadId: string): ChatKitResult<ChatThread>`\n\nRetrieves a thread by ID.\n\n##### `listThreads(params?: ListThreadsParams): ChatKitResult<ChatThread[]>`\n\nLists all threads with optional filtering.\n\n**Parameters:**\n- `limit?` (number): Maximum threads to return\n- `offset?` (number): Offset for pagination\n- `userId?` (string): Filter by user ID\n- `tags?` (string[]): Filter by tags\n\n##### `getHealth(): Promise<ChatKitResult<NeverHubHealthStatus>>`\n\nGets current health status and metrics.\n\n##### `getConfig(): ChatKitAdapterConfig`\n\nGets current configuration.\n\n##### `cleanup(): Promise<void>`\n\nCleans up resources and unregisters from NeverHub.\n\n## Configuration\n\n### Environment Variables\n\n```bash\n# OpenAI Configuration\nOPENAI_API_KEY=your-api-key\nOPENAI_MODEL=gpt-4\nOPENAI_MAX_TOKENS=4000\nOPENAI_TEMPERATURE=0.7\n\n# ChatKit Features\nCHATKIT_STREAMING=true\nCHATKIT_ATTACHMENTS=true\nCHATKIT_THREADS=true\n\n# Security\nCHATKIT_RATE_LIMIT_PER_USER=100\nCHATKIT_MAX_MESSAGE_LENGTH=4000\nCHATKIT_TOKEN_EXPIRATION=900000\n\n# NeverHub Integration\nNEVERHUB_ENABLED=true\nNEVERHUB_SERVICE_NAME=chatkit-adapter\n```\n\n### Configuration Object\n\n```typescript\ninterface ChatKitAdapterConfig {\n  enabled: boolean;\n  openai: OpenAIConfig;\n  features: FeatureConfig;\n  security: SecurityConfig;\n  neverhub?: NeverHubConfig;\n  neveradmin?: NeverAdminConfig;\n  ai?: AIConfig;\n}\n```\n\nSee [types documentation](./src/types/adapter-types.ts) for complete configuration schema.\n\n## Error Handling\n\nAll methods return a `ChatKitResult<T>` type:\n\n```typescript\ninterface ChatKitResult<T> {\n  success: boolean;\n  data?: T;\n  error?: string;\n  errorDetails?: ChatKitErrorDetails;\n}\n```\n\nExample error handling:\n\n```typescript\nconst result = await adapter.sendMessage({ content: 'Hello' });\n\nif (!result.success) {\n  console.error('Error:', result.error);\n  console.error('Details:', result.errorDetails);\n\n  if (result.errorDetails?.retryable) {\n    // Retry logic\n  }\n}\n```\n\n## Integration Status\n\n- **Logger**: Not applicable - Uses console logging\n- **Docs-Suite**: Ready - Markdown documentation with TypeScript API docs\n- **NeverHub**: Integrated - Optional service discovery and event publishing\n\n## License\n\nCopyright (c) 2025 Bernier LLC\n\nThis file is licensed to the client under a limited-use license.\nThe client may use and modify this code *only within the scope of the project it was delivered for*.\nRedistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.\n\n## See Also\n\n- [@bernierllc/neverhub-adapter](../neverhub-adapter) - NeverHub integration\n- [@bernierllc/retry-policy](../retry-policy) - Retry logic\n- [@bernierllc/rate-limiter](../rate-limiter) - Rate limiting\n- [@bernierllc/logger](../logger) - Logging utilities\n","readmeFilename":"README.md"}