{"_id":"@bernierllc/chat-integration-slack","_rev":"12-66b3caf72022c09ae493e6183a6b76c6","name":"@bernierllc/chat-integration-slack","dist-tags":{"latest":"1.5.2"},"versions":{"1.0.1":{"name":"@bernierllc/chat-integration-slack","version":"1.0.1","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"author":{"name":"EarnLearn Team"},"license":"MIT","_id":"@bernierllc/chat-integration-slack@1.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"672d8f0992465de3a970be1a9831b86913f643e5","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.0.1.tgz","fileCount":25,"integrity":"sha512-Y3bmyg6fGUqjAtq+oWC43x7UeRn01dKQ96NI9V6tS7UOHAE3R2OFJdgv9TWvcB/Pb7jkxpEKYvE/C8TK/UKvvw==","signatures":[{"sig":"MEYCIQDkEoqaFD5/y7i3fHS5iNKwbazvOpeKv65YMTP+LHWfXwIhAOhtyYqArREJP6wFmrZTqRMqpCptG670cGQ17sIXWFfG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76218},"main":"src/index.ts","types":"src/index.ts","gitHead":"afab756efb744588f0ca7071f6137ee7d3e9d1b1","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.4.2","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"_nodeVersion":"24.4.1","dependencies":{"zod":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/chat-integration-slack_1.0.1_1757477073800_0.9779046589680145","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bernierllc/chat-integration-slack","version":"1.0.3","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"author":{"name":"EarnLearn Team"},"license":"MIT","_id":"@bernierllc/chat-integration-slack@1.0.3","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"2673371bbc92c535a7b7e5ce86bcdd810b0b51c7","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.0.3.tgz","fileCount":32,"integrity":"sha512-u1cz59u2sj2x39MdKd0HP0tXnf48TTPmTBbeiTqwn8daB/7a3H3ABTiEN9Jbmp4dIx6J708kK7lZkJKR9GaC6g==","signatures":[{"sig":"MEUCID29HYTu0uo/LA6dXZ2yGgKV4msDA7uQf1vgMnNBPhV2AiEAo0yMwZo4BxsyPq4ZqNlrJ4IGqECoCPh5XBhsEl4hWVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123929},"main":"src/index.ts","types":"src/index.ts","gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"dev":"tsc --watch","demo":"./run-demo.sh","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","demo:setup":"echo 'Copy and modify slack-integration.config.template.js to slack-integration.config.js'","test:watch":"jest --watch","manifest:dev":"./scripts/deploy-manifest.sh deploy-dev","manifest:prod":"./scripts/deploy-manifest.sh deploy-prod","test:coverage":"jest --coverage","manifest:deploy":"./scripts/deploy-manifest.sh","manifest:validate":"node scripts/validate-manifest.js --all"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b5b407a4-d60e-4359-be5a-d2b71515e45d"}},"repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","js-yaml":"^4.1.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/chat-integration-slack_1.0.3_1767642398753_0.780147861437728","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bernierllc/chat-integration-slack","version":"1.0.4","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"author":{"name":"EarnLearn Team"},"license":"MIT","_id":"@bernierllc/chat-integration-slack@1.0.4","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"de1a9d26928c5e65398b2ad9b9431b9373b4b14c","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.0.4.tgz","fileCount":32,"integrity":"sha512-B1+2XhwI0E0RtSkQ4c++SZlUgiB7F+628Ezvs81+5Ty3No0HcYYRlRxxlFVVzH+MyNXo4E7uNPf/F+Dls0kd7g==","signatures":[{"sig":"MEUCIQCYsZt5/icqoGXwF1ZkrXPHSjvV49d3F+Wxkhm0FOCpMwIgWWNYE9LEBpu9B0XIfRjY2QvOCvFKs8QtpdbIMGDjTeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123871},"main":"src/index.ts","_from":"file:bernierllc-chat-integration-slack-1.0.4.tgz","types":"src/index.ts","scripts":{"dev":"tsc --watch","demo":"./run-demo.sh","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","demo:setup":"echo 'Copy and modify slack-integration.config.template.js to slack-integration.config.js'","test:watch":"jest --watch","manifest:dev":"./scripts/deploy-manifest.sh deploy-dev","manifest:prod":"./scripts/deploy-manifest.sh deploy-prod","test:coverage":"jest --coverage","manifest:deploy":"./scripts/deploy-manifest.sh","manifest:validate":"node scripts/validate-manifest.js --all"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b5b407a4-d60e-4359-be5a-d2b71515e45d"}},"_resolved":"/tmp/11219bf2ab7ee36685abc90ac5824b37/bernierllc-chat-integration-slack-1.0.4.tgz","_integrity":"sha512-B1+2XhwI0E0RtSkQ4c++SZlUgiB7F+628Ezvs81+5Ty3No0HcYYRlRxxlFVVzH+MyNXo4E7uNPf/F+Dls0kd7g==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.11.0","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","js-yaml":"^4.1.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"0.1.5"},"_npmOperationalInternal":{"tmp":"tmp/chat-integration-slack_1.0.4_1773078214680_0.0254125038895181","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@bernierllc/chat-integration-slack","version":"1.0.5","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"author":{"name":"EarnLearn Team"},"license":"MIT","_id":"@bernierllc/chat-integration-slack@1.0.5","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"51fed13bc668e8a8782c4494c33241ddc7c41196","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.0.5.tgz","fileCount":32,"integrity":"sha512-tda2j71Ze+jh+b+IYAfqX9+pxvzr8eIXM1+JC3h/zcD3MHs70i/IlofY1l8602vjY0uBfZ/UTZhQHOZwXAgUdQ==","signatures":[{"sig":"MEUCIQCLvCAIUrwQuL5enwd/bOtsIMjVti1zPurYzBBA9FK/dAIgUkG/3W0U/vSQ2q2k0AOqlTzfYNRRn/XR/T1020k6Dlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123871},"main":"src/index.ts","_from":"file:bernierllc-chat-integration-slack-1.0.5.tgz","types":"src/index.ts","scripts":{"dev":"tsc --watch","demo":"./run-demo.sh","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","demo:setup":"echo 'Copy and modify slack-integration.config.template.js to slack-integration.config.js'","test:watch":"jest --watch","manifest:dev":"./scripts/deploy-manifest.sh deploy-dev","manifest:prod":"./scripts/deploy-manifest.sh deploy-prod","test:coverage":"jest --coverage","manifest:deploy":"./scripts/deploy-manifest.sh","manifest:validate":"node scripts/validate-manifest.js --all"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b5b407a4-d60e-4359-be5a-d2b71515e45d"}},"_resolved":"/home/runner/work/tools/tools/packages/service/chat-integration-slack/bernierllc-chat-integration-slack-1.0.5.tgz","_integrity":"sha512-tda2j71Ze+jh+b+IYAfqX9+pxvzr8eIXM1+JC3h/zcD3MHs70i/IlofY1l8602vjY0uBfZ/UTZhQHOZwXAgUdQ==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.11.0","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","js-yaml":"^4.1.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"0.1.6"},"_npmOperationalInternal":{"tmp":"tmp/chat-integration-slack_1.0.5_1773163465801_0.200602667851157","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bernierllc/chat-integration-slack","version":"1.1.0","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"author":{"name":"EarnLearn Team"},"license":"MIT","_id":"@bernierllc/chat-integration-slack@1.1.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"a19856f87bf04127cbd1109b672803dfd8783aa4","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.1.0.tgz","fileCount":32,"integrity":"sha512-u1es/Hr/x53/miN5i26iaX3gYdX6O9oQo1dkLDHIufV/PQHJsgcnkftitqEsL8fwCYm9OZ/uPHv6zzJLI97+UA==","signatures":[{"sig":"MEUCIB+kwX4j5YIfrkrYvaHVRo7kjGzfrtCOZkyZdnhD7tphAiEAiYBlx3tjUrwtrIJjWewO7Z1BvpFC35S6TavNU6zRRdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123871},"main":"src/index.ts","_from":"file:bernierllc-chat-integration-slack-1.1.0.tgz","types":"src/index.ts","scripts":{"dev":"tsc --watch","demo":"./run-demo.sh","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","demo:setup":"echo 'Copy and modify slack-integration.config.template.js to slack-integration.config.js'","test:watch":"jest --watch","manifest:dev":"./scripts/deploy-manifest.sh deploy-dev","manifest:prod":"./scripts/deploy-manifest.sh deploy-prod","test:coverage":"jest --coverage","manifest:deploy":"./scripts/deploy-manifest.sh","manifest:validate":"node scripts/validate-manifest.js --all"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b5b407a4-d60e-4359-be5a-d2b71515e45d"}},"_resolved":"/home/runner/work/tools/tools/packages/service/chat-integration-slack/bernierllc-chat-integration-slack-1.1.0.tgz","_integrity":"sha512-u1es/Hr/x53/miN5i26iaX3gYdX6O9oQo1dkLDHIufV/PQHJsgcnkftitqEsL8fwCYm9OZ/uPHv6zzJLI97+UA==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.14.1","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","js-yaml":"^4.1.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/chat-integration-slack_1.1.0_1779221511540_0.49532386599643763","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bernierllc/chat-integration-slack","version":"1.2.0","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"author":{"name":"EarnLearn Team"},"license":"MIT","_id":"@bernierllc/chat-integration-slack@1.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"f759c3d0e26484bafe66224d5f1fea4350c501f0","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.2.0.tgz","fileCount":32,"integrity":"sha512-JsBjRiBVqqBvZr00vQ86ZfINEaH+bX4ZmS1TLylAyK5iBj/WMAQK3IcTBbt1mp+f6G/3jS6wwfs6FbHOwwLWUQ==","signatures":[{"sig":"MEUCIQD91F7Eh+K/QnkdYURIa/p/eO+aB4YR7zjXa5d9bfQbGgIgUra0H7aVNxmqygrNyQhuQUCD5u4PNFQvGWR/z/zLWJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123871},"main":"src/index.ts","_from":"file:bernierllc-chat-integration-slack-1.2.0.tgz","types":"src/index.ts","scripts":{"dev":"tsc --watch","demo":"./run-demo.sh","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","demo:setup":"echo 'Copy and modify slack-integration.config.template.js to slack-integration.config.js'","test:watch":"jest --watch","manifest:dev":"./scripts/deploy-manifest.sh deploy-dev","manifest:prod":"./scripts/deploy-manifest.sh deploy-prod","test:coverage":"jest --coverage","manifest:deploy":"./scripts/deploy-manifest.sh","manifest:validate":"node scripts/validate-manifest.js --all"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b5b407a4-d60e-4359-be5a-d2b71515e45d"}},"_resolved":"/home/runner/work/tools/tools/packages/service/chat-integration-slack/bernierllc-chat-integration-slack-1.2.0.tgz","_integrity":"sha512-JsBjRiBVqqBvZr00vQ86ZfINEaH+bX4ZmS1TLylAyK5iBj/WMAQK3IcTBbt1mp+f6G/3jS6wwfs6FbHOwwLWUQ==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.14.1","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","js-yaml":"^4.1.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/chat-integration-slack_1.2.0_1779241560859_0.04703921683605938","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bernierllc/chat-integration-slack","version":"1.3.0","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"author":{"name":"EarnLearn Team"},"license":"MIT","_id":"@bernierllc/chat-integration-slack@1.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"e1d8829342b7bdc3f8a13e7817424457320ab468","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.3.0.tgz","fileCount":23,"integrity":"sha512-Gtz0+0Ye6Qyx9i6Z3wYf1Gyf9rZgwQAApJ5cLKtN3XKZT+tdUrOgAnhRE/oYNpV+txh9hmJ6HgETFLc4VcXXBg==","signatures":[{"sig":"MEYCIQDLU9HEGInt707nSdASMlAU9Eqg5pOC0Y03He2DZHJVbAIhAIyzzJfUZJ8WxaG1IPWcoAXnA1P4VE8IfWQrjuA0RbGb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55810},"main":"src/index.ts","_from":"file:bernierllc-chat-integration-slack-1.3.0.tgz","types":"src/index.ts","scripts":{"dev":"tsc --watch","demo":"./run-demo.sh","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","demo:setup":"echo 'Copy and modify slack-integration.config.template.js to slack-integration.config.js'","test:watch":"jest --watch","manifest:dev":"./scripts/deploy-manifest.sh deploy-dev","manifest:prod":"./scripts/deploy-manifest.sh deploy-prod","test:coverage":"jest --coverage","manifest:deploy":"./scripts/deploy-manifest.sh","manifest:validate":"node scripts/validate-manifest.js --all"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b5b407a4-d60e-4359-be5a-d2b71515e45d"}},"_resolved":"/home/runner/work/tools/tools/packages/service/chat-integration-slack/bernierllc-chat-integration-slack-1.3.0.tgz","_integrity":"sha512-Gtz0+0Ye6Qyx9i6Z3wYf1Gyf9rZgwQAApJ5cLKtN3XKZT+tdUrOgAnhRE/oYNpV+txh9hmJ6HgETFLc4VcXXBg==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.14.1","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","js-yaml":"^4.1.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/chat-integration-slack_1.3.0_1779244781518_0.5564947263493454","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bernierllc/chat-integration-slack","version":"1.4.0","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"author":{"name":"EarnLearn Team"},"license":"MIT","_id":"@bernierllc/chat-integration-slack@1.4.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"eab4f5c240ad1686b5379e8c07e2146470350fac","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.4.0.tgz","fileCount":23,"integrity":"sha512-jevNCL72nNn44+rSWZtCYhBBzo3CqE8PR8KQh3e1tV4YWCxjSlcL6tp+KvKKv/dF3JaFQndzncJuA+MmIyYl/A==","signatures":[{"sig":"MEUCID5VClDw9JasBBc4W3KQCCGKmWopXrXkgMzy7b3y03iwAiEAqiPwHf8UUvivWX+iWkNBkm6gRsVrSZtHYSEgfs7yj5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55810},"main":"src/index.ts","_from":"file:bernierllc-chat-integration-slack-1.4.0.tgz","types":"src/index.ts","scripts":{"dev":"tsc --watch","demo":"./run-demo.sh","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","demo:setup":"echo 'Copy and modify slack-integration.config.template.js to slack-integration.config.js'","test:watch":"jest --watch","manifest:dev":"./scripts/deploy-manifest.sh deploy-dev","manifest:prod":"./scripts/deploy-manifest.sh deploy-prod","test:coverage":"jest --coverage","manifest:deploy":"./scripts/deploy-manifest.sh","manifest:validate":"node scripts/validate-manifest.js --all"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b5b407a4-d60e-4359-be5a-d2b71515e45d"}},"_resolved":"/home/runner/work/tools/tools/packages/service/chat-integration-slack/bernierllc-chat-integration-slack-1.4.0.tgz","_integrity":"sha512-jevNCL72nNn44+rSWZtCYhBBzo3CqE8PR8KQh3e1tV4YWCxjSlcL6tp+KvKKv/dF3JaFQndzncJuA+MmIyYl/A==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.14.1","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","js-yaml":"^4.1.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/chat-integration-slack_1.4.0_1779245908574_0.10111536129961274","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@bernierllc/chat-integration-slack","version":"1.5.0","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"author":{"name":"EarnLearn Team"},"license":"MIT","_id":"@bernierllc/chat-integration-slack@1.5.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"5f6e35855a29b0a7b50366a7de77e5efa6b02c00","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.5.0.tgz","fileCount":23,"integrity":"sha512-fCHQBMFsv6ngDkNs0DzeQ5CEiPLyxrnuoOpvE3fbYUcd9NaOEhVAZg41iCJP/sp0OmIbhEPh+GfhF+cGG5gBJQ==","signatures":[{"sig":"MEUCIFIH5MFKxF/7nt3AutCgEzCpQPDpEdWJ3b0Jt6VcAQy6AiEA6jDm5mm2Io1gObOAb/TGqNGYcTaJXcH+ylZzHTzWR6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55810},"main":"src/index.ts","_from":"file:bernierllc-chat-integration-slack-1.5.0.tgz","types":"src/index.ts","scripts":{"dev":"tsc --watch","demo":"./run-demo.sh","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","demo:setup":"echo 'Copy and modify slack-integration.config.template.js to slack-integration.config.js'","test:watch":"jest --watch","manifest:dev":"./scripts/deploy-manifest.sh deploy-dev","manifest:prod":"./scripts/deploy-manifest.sh deploy-prod","test:coverage":"jest --coverage","manifest:deploy":"./scripts/deploy-manifest.sh","manifest:validate":"node scripts/validate-manifest.js --all"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b5b407a4-d60e-4359-be5a-d2b71515e45d"}},"_resolved":"/home/runner/work/tools/tools/packages/service/chat-integration-slack/bernierllc-chat-integration-slack-1.5.0.tgz","_integrity":"sha512-fCHQBMFsv6ngDkNs0DzeQ5CEiPLyxrnuoOpvE3fbYUcd9NaOEhVAZg41iCJP/sp0OmIbhEPh+GfhF+cGG5gBJQ==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.14.1","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","js-yaml":"^4.1.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/chat-integration-slack_1.5.0_1779250307194_0.6635705325772072","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@bernierllc/chat-integration-slack","version":"1.5.1","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"author":{"name":"EarnLearn Team"},"license":"MIT","_id":"@bernierllc/chat-integration-slack@1.5.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"ab170e426feb3f9ba481a933965cccc588fbcdae","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.5.1.tgz","fileCount":23,"integrity":"sha512-SzGUI8jydJ0aVFkPS8a/ZCGFn2hnGPTqLLuKzA5dntj1T9Awbk6v05MFPzasHflLXulFHrDWmtQw9dFxfIRNsQ==","signatures":[{"sig":"MEYCIQDTc3AV9MG9EgRgdpZ7qI1UV7O2xAWUdtfMg9n6/iiVmAIhAPvMrEc5L0w9MfV3XgvAVWPKNqe5C8m5T25uyJgXMcDM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55810},"main":"src/index.ts","_from":"file:bernierllc-chat-integration-slack-1.5.1.tgz","types":"src/index.ts","scripts":{"dev":"tsc --watch","demo":"./run-demo.sh","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","demo:setup":"echo 'Copy and modify slack-integration.config.template.js to slack-integration.config.js'","test:watch":"jest --watch","manifest:dev":"./scripts/deploy-manifest.sh deploy-dev","manifest:prod":"./scripts/deploy-manifest.sh deploy-prod","test:coverage":"jest --coverage","manifest:deploy":"./scripts/deploy-manifest.sh","manifest:validate":"node scripts/validate-manifest.js --all"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b5b407a4-d60e-4359-be5a-d2b71515e45d"}},"_resolved":"/home/runner/work/tools/tools/packages/service/chat-integration-slack/bernierllc-chat-integration-slack-1.5.1.tgz","_integrity":"sha512-SzGUI8jydJ0aVFkPS8a/ZCGFn2hnGPTqLLuKzA5dntj1T9Awbk6v05MFPzasHflLXulFHrDWmtQw9dFxfIRNsQ==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"12.0.1","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","js-yaml":"^4.1.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/chat-integration-slack_1.5.1_1784015779483_0.1218130640331545","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"_id":"@bernierllc/chat-integration-slack@1.5.2","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"c03854663d1c7877187b69bcc6bf595e4e364f23","tarball":"https://registry.npmjs.org/@bernierllc/chat-integration-slack/-/chat-integration-slack-1.5.2.tgz","fileCount":23,"integrity":"sha512-zcAKy7b+wDWTISfaqqYBkUEcAOEbMsk79dAoYCpgZYuuKYyMjrEsMRFZNvBTwoeAkYoeI3Vz+u64Qdjw/Wjwqw==","signatures":[{"sig":"MEYCIQDZscsPPbE1S0+FTyTtcvYOQ25VS4TaIeaXqetrBkE6uQIhAMxvmSpq+p58O2wmkSdFf4TPhPCoxyz7KsqgHHgNTVl2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCVQQOgRE/7vG+4AFOKw36V+lqzpDhDsUDPecZCl4diYQIgN+ZkduIdivHo9HQaMJJTzxjPbyHA2yKmMoIxW/y2uK0="}],"unpackedSize":55811},"main":"src/index.ts","name":"@bernierllc/chat-integration-slack","_from":"file:bernierllc-chat-integration-slack-1.5.2.tgz","types":"src/index.ts","author":{"name":"EarnLearn Team"},"license":"MIT","scripts":{"dev":"tsc --watch","demo":"./run-demo.sh","lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","demo:setup":"echo 'Copy and modify slack-integration.config.template.js to slack-integration.config.js'","test:watch":"jest --watch","manifest:dev":"./scripts/deploy-manifest.sh deploy-dev","manifest:prod":"./scripts/deploy-manifest.sh deploy-prod","test:coverage":"jest --coverage","manifest:deploy":"./scripts/deploy-manifest.sh","manifest:validate":"node scripts/validate-manifest.js --all"},"version":"1.5.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"b5b407a4-d60e-4359-be5a-d2b71515e45d"}},"homepage":"https://github.com/bernier-llc/tools#readme","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"_resolved":"/home/runner/work/tools/tools/packages/service/chat-integration-slack/bernierllc-chat-integration-slack-1.5.2.tgz","_integrity":"sha512-zcAKy7b+wDWTISfaqqYBkUEcAOEbMsk79dAoYCpgZYuuKYyMjrEsMRFZNvBTwoeAkYoeI3Vz+u64Qdjw/Wjwqw==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"12.2.0","description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","js-yaml":"^4.1.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@slack/bolt":"^3.17.1","@slack/web-api":"^7.0.2"},"optionalDependencies":{"@bernierllc/neverhub-adapter":"^0.4.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chat-integration-slack_1.5.2_1790884250749_0.08612905359056011"}}},"time":{"created":"2025-09-10T04:04:33.350Z","modified":"2026-10-01T19:50:50.986Z","1.0.1":"2025-09-10T04:04:34.016Z","1.0.3":"2026-01-05T19:46:38.931Z","1.0.4":"2026-03-09T17:43:34.845Z","1.0.5":"2026-03-10T17:24:25.965Z","1.1.0":"2026-05-19T20:11:51.688Z","1.2.0":"2026-05-20T01:46:01.012Z","1.3.0":"2026-05-20T02:39:41.671Z","1.4.0":"2026-05-20T02:58:28.717Z","1.5.0":"2026-05-20T04:11:47.355Z","1.5.1":"2026-07-14T07:56:19.634Z","1.5.2":"2026-10-01T19:50:50.851Z"},"bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"author":{"name":"EarnLearn Team"},"license":"MIT","homepage":"https://github.com/bernier-llc/tools#readme","keywords":["slack","chat-integration","messaging","slash-commands","neverhub","typescript"],"repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"description":"Slack workspace integration for in-app chat with bidirectional messaging and slash commands","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/chat-integration-slack\n\nSlack workspace integration for in-app chat with bidirectional messaging and slash commands. Provides comprehensive integration between Slack workspaces and in-app chat systems with NeverHub service discovery.\n\n## 🚀 Quick Testing\n\nReady to test with your Slack workspace? **[See TESTING.md](./TESTING.md)** for step-by-step instructions.\n\n```bash\n# Set environment variables and run demo\nexport SLACK_BOT_TOKEN=xoxb-your-token\nexport SLACK_SIGNING_SECRET=your-secret\nnpm run demo\n```\n\n## Installation\n\n```bash\nnpm install @bernierllc/chat-integration-slack\n```\n\n### Peer Dependencies\n\nThis package requires the following peer dependencies for full functionality:\n\n```bash\nnpm install @slack/bolt @slack/web-api\n```\n\n## 📚 Documentation\n\n- **[SLACK_SETUP.md](./SLACK_SETUP.md)** - Complete Slack app setup guide\n- **[TESTING.md](./TESTING.md)** - Testing instructions and demo guide  \n- **[.env.example](./.env.example)** - Environment variables reference\n\n## Usage\n\n### Basic Setup\n\n```typescript\nimport { SlackIntegration, createSlackConfig } from '@bernierllc/chat-integration-slack';\n\n// Create configuration\nconst config = await createSlackConfig();\n\n// Initialize Slack integration\nconst slack = new SlackIntegration(config);\nawait slack.initialize();\n\n// Check status\nconst status = slack.getStatus();\nconsole.log('Slack integration enabled:', status.enabled);\nconsole.log('NeverHub connected:', status.neverhubConnected);\n```\n\n### Configuration\n\nConfigure via environment variables or configuration file:\n\n```typescript\nimport { defaultSlackConfig } from '@bernierllc/chat-integration-slack';\n\nconst customConfig = {\n  ...defaultSlackConfig,\n  slack: {\n    botToken: 'xoxb-your-bot-token',\n    signingSecret: 'your-signing-secret',\n    appToken: 'xapp-your-app-token' // For Socket Mode\n  },\n  messaging: {\n    bidirectional: true,\n    formatMessages: true,\n    bridgeReactions: true,\n    bridgeThreads: true,\n    maxMessageLength: 4000\n  }\n};\n\nconst slack = new SlackIntegration(customConfig);\n```\n\n### Environment Variables\n\n```bash\n# Required\nSLACK_BOT_TOKEN=xoxb-your-bot-token\nSLACK_SIGNING_SECRET=your-signing-secret\n\n# Optional\nSLACK_APP_TOKEN=xapp-your-app-token\nSLACK_CLIENT_ID=your-client-id\nSLACK_CLIENT_SECRET=your-client-secret\nSLACK_SOCKET_MODE=true\nSLACK_CHANNELS=#general,#dev\nSLACK_COMMANDS_ENABLED=true\nNEVERHUB_ENABLED=true\n```\n\n## API Reference\n\n### SlackIntegration\n\nMain integration class for Slack workspace connectivity.\n\n#### Constructor\n\n```typescript\nnew SlackIntegration(config: SlackIntegrationConfig)\n```\n\n#### Methods\n\n```typescript\n// Initialize the integration\nawait slack.initialize(): Promise<void>\n\n// Check if integration is enabled\nslack.isEnabled(): boolean\n\n// Get integration status\nslack.getStatus(): { enabled: boolean; neverhubConnected: boolean }\n\n// Get current configuration\nslack.getConfig(): SlackIntegrationConfig\n```\n\n### Configuration Types\n\n```typescript\ninterface SlackIntegrationConfig {\n  enabled: boolean;\n  slack: {\n    botToken: string;\n    signingSecret: string;\n    appToken?: string;\n    clientId?: string;\n    clientSecret?: string;\n  };\n  connection: {\n    socketMode: boolean;\n    port?: number;\n    endpoint?: string;\n  };\n  messaging: {\n    bidirectional: boolean;\n    formatMessages: boolean;\n    bridgeReactions: boolean;\n    bridgeThreads: boolean;\n    maxMessageLength: number;\n  };\n  // ... additional configuration options\n}\n```\n\n## Integration Status\n\n### Logger Integration\n- **Status**: Optional\n- **Implementation**: Uses custom logger with environment-based conditional logging\n- **Pattern**: Graceful degradation when logger not available\n- **Configuration**: Controlled via `NODE_ENV` environment variable\n\n### NeverHub Integration\n- **Status**: Planned \n- **Implementation**: Dynamic import with graceful degradation\n- **Pattern**: Service discovery for slash command routing and message bridging\n- **Graceful Degradation**: Works without NeverHub, logs warning when unavailable\n- **Configuration**: Controlled via `NEVERHUB_ENABLED` environment variable\n\n### Integration Documentation\n- **Logger Integration**: Uses custom logger that respects test environment\n- **NeverHub Integration**: Dynamic loading with error handling and fallback behavior\n- **Graceful Degradation**: All integrations are optional and fail gracefully\n\n## Configuration\n\n### Slack Workspace Setup\n\n1. Create a Slack App in your workspace\n2. Add required OAuth scopes: `chat:write`, `channels:read`, `users:read`, `commands`\n3. Install the app to your workspace\n4. Copy the Bot User OAuth Token and Signing Secret\n\n### Socket Mode Setup (Recommended)\n\n```typescript\nconst config = {\n  slack: {\n    botToken: process.env.SLACK_BOT_TOKEN,\n    signingSecret: process.env.SLACK_SIGNING_SECRET,\n    appToken: process.env.SLACK_APP_TOKEN // Required for Socket Mode\n  },\n  connection: {\n    socketMode: true // Enables real-time events\n  }\n};\n```\n\n### HTTP Mode Setup\n\n```typescript\nconst config = {\n  connection: {\n    socketMode: false,\n    port: 3000,\n    endpoint: '/slack/events'\n  }\n};\n```\n\n## Examples\n\n### Basic Integration\n\n```typescript\nimport { SlackIntegration, createSlackConfig } from '@bernierllc/chat-integration-slack';\n\nasync function setupSlackIntegration() {\n  try {\n    // Load configuration from environment\n    const config = await createSlackConfig();\n    \n    // Create integration instance\n    const slack = new SlackIntegration(config);\n    \n    // Initialize (sets up NeverHub if available)\n    await slack.initialize();\n    \n    console.log('✅ Slack integration ready!');\n    console.log('Status:', slack.getStatus());\n    \n  } catch (error) {\n    console.error('❌ Failed to initialize Slack integration:', error);\n  }\n}\n\nsetupSlackIntegration();\n```\n\n### Custom Configuration\n\n```typescript\nimport { SlackIntegration, SlackConfigSchema } from '@bernierllc/chat-integration-slack';\n\nconst customConfig = {\n  enabled: true,\n  slack: {\n    botToken: 'xoxb-your-token',\n    signingSecret: 'your-secret',\n  },\n  messaging: {\n    bidirectional: true,\n    formatMessages: true,\n    bridgeReactions: false, // Disable reaction bridging\n    bridgeThreads: true,\n    maxMessageLength: 2000 // Shorter messages\n  },\n  slashCommands: {\n    enabled: true,\n    autoRegister: true,\n    responseStyle: 'ephemeral',\n    timeout: 30000\n  },\n  neverhub: {\n    enabled: true,\n    serviceName: 'my-slack-integration'\n  }\n};\n\n// Validate configuration\nconst validatedConfig = SlackConfigSchema.parse(customConfig);\nconst slack = new SlackIntegration(validatedConfig);\n```\n\n## Development\n\n### Building\n\n```bash\nnpm run build\n```\n\n### Testing\n\n```bash\nnpm test\nnpm run test:coverage\n```\n\n### Linting\n\n```bash\nnpm run lint\n```\n\n## License\n\nCopyright (c) 2025 Bernier LLC. All rights reserved.","readmeFilename":"README.md"}