{"_id":"@agentforge-io/connectors-slack","_rev":"12-5923f1492b6d5e523425abec338fae22","name":"@agentforge-io/connectors-slack","dist-tags":{"latest":"4.1.0"},"versions":{"1.0.0":{"name":"@agentforge-io/connectors-slack","version":"1.0.0","license":"MIT","_id":"@agentforge-io/connectors-slack@1.0.0","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"814b8edccf439a0a4da6616048363d267597d43b","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-1.0.0.tgz","fileCount":20,"integrity":"sha512-FYfzzm5Lmw7mB7A4S+kIWPXguWRSiXkxhI4LUqpLnLoaUBOIMPgzhcPfdVP2AHjRJ3AKNrw/R488eXKt7kq8IQ==","signatures":[{"sig":"MEQCIEbE5oXOSy4tVvTbWxm86XmOTb/9AH0ZKOV0FFfySwsIAiBaR5roxvPxBU9hNOkdTXVXV2mndVMy+48wal7UeT+Sew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47698},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"15fec4202132cc5bdc1b299f4ff666c4d7dc446e","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^2.0.9"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_1.0.0_1779985283654_0.6609194671899743","host":"s3://npm-registry-packages-npm-production"}},"2.0.10":{"name":"@agentforge-io/connectors-slack","version":"2.0.10","license":"MIT","_id":"@agentforge-io/connectors-slack@2.0.10","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"6bca2504a3d6377e5e09cd53cc83b95325e7cd28","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-2.0.10.tgz","fileCount":20,"integrity":"sha512-dPg18Dcrfh3iSvlXQO4OIxNle43CNFj60RA9QxVehqr081Bpmo+olw6XyofY4iDy5QKfrrykQpGXJMRpipa82g==","signatures":[{"sig":"MEYCIQD+oiH5Z8Y9BYdXRCph9oeI3bYSwEBE63cRLjRr9KTALAIhAKm1GN8K2Kz/YhrF6tfLyJF1oM4XUmiSJJLzb9RsQ/AQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47701},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"8ba6cc5f641c131b9b526fd43f0384123dd44663","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^2.0.10"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_2.0.10_1779992161885_0.6409668451515251","host":"s3://npm-registry-packages-npm-production"}},"2.0.11":{"name":"@agentforge-io/connectors-slack","version":"2.0.11","license":"MIT","_id":"@agentforge-io/connectors-slack@2.0.11","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"f33e23fa757ccbbf2d3e83cb2c8367e38b30b670","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-2.0.11.tgz","fileCount":20,"integrity":"sha512-9tQB8fhpi9+L4kdPbL1bgNv0qDvqLp2PqPosH472s820uVZ+o4C/l9abhSyuPGsrrV/QK7vuhrrwErO+qxCMDw==","signatures":[{"sig":"MEUCIQClohe35e5zbedw3KVmZHjUGTKDxDmFBnxfdcoyb5/sZgIgQ0vC89IiET/Te6z6Ucb7WxF1Pb+Djd1emU9dqXL5wIk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49411},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1a341dfff3e06418d68ac80ba0d4fbf38754f91b","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^2.0.10"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_2.0.11_1780022665410_0.4569307334038786","host":"s3://npm-registry-packages-npm-production"}},"2.0.12":{"name":"@agentforge-io/connectors-slack","version":"2.0.12","license":"MIT","_id":"@agentforge-io/connectors-slack@2.0.12","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"658a1103f5422ca0c82d9bd1d86703647cc2c0ab","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-2.0.12.tgz","fileCount":20,"integrity":"sha512-q6tC8JDGjgp069meIUBKVFDanA2JlV73NSI8CNQCsuqqNfsitgcvfda+C9hKuQI0CpxLmvw1HrTjtmFZ86Cb2Q==","signatures":[{"sig":"MEUCIGcgl3bLXDFd0VXYHzK5QM7a+iziYBytnYugHDi1uTDOAiEA2uKbObtgNUB7wFbDi7Q2w5T6FSDdPEQjK18aGTrh7Sk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51429},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1a341dfff3e06418d68ac80ba0d4fbf38754f91b","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^2.0.11"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_2.0.12_1780024478964_0.5911628626272054","host":"s3://npm-registry-packages-npm-production"}},"2.0.13":{"name":"@agentforge-io/connectors-slack","version":"2.0.13","license":"MIT","_id":"@agentforge-io/connectors-slack@2.0.13","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"a75ce4470a72e8dde8aa320ec7b5a73881767272","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-2.0.13.tgz","fileCount":22,"integrity":"sha512-LecTuAUxYOY+sLnCngqkTZn9QK4IV3Z1bSoH1XiknxN1rJK4dmem/SPY/A77BpUC5JP7Cz2I/0r/z4cLdhMCLg==","signatures":[{"sig":"MEUCIQDbnH97DU0C6Wc31Qh8kGNtA/EMYD+bnKdKTtgcV3pJ1gIgM6oaLoZbHg1Bp+tnW021k00+RAQbcT+4wpeuCt8MXDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56730},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1a341dfff3e06418d68ac80ba0d4fbf38754f91b","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^2.0.11"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_2.0.13_1780025736202_0.1659338629131728","host":"s3://npm-registry-packages-npm-production"}},"2.0.14":{"name":"@agentforge-io/connectors-slack","version":"2.0.14","license":"MIT","_id":"@agentforge-io/connectors-slack@2.0.14","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"5ad57a71730bab3f3c2a80903af930c5716730d6","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-2.0.14.tgz","fileCount":22,"integrity":"sha512-yYhO6sLfGPqoOpl7ci0+FIdg+xKdFXMs2QenJlJXBNLl32tLio1wQyHk/XLAhCdrqbcCjNqBDgilu9bqZmk2eA==","signatures":[{"sig":"MEYCIQDlHCay/BoNzEWD6aSvJPeju9WfogfyQBDjmkDl0+3Z0wIhAJpxLPZvyTnpSSP+i0EXiuJBPt+vFcGPfZ1RSvh+120m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56730},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7e307742ec7a1720bf5fbc05164dad2c98348f2d","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^2.0.14"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_2.0.14_1780053941901_0.5002475317341106","host":"s3://npm-registry-packages-npm-production"}},"2.0.15":{"name":"@agentforge-io/connectors-slack","version":"2.0.15","license":"MIT","_id":"@agentforge-io/connectors-slack@2.0.15","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"aa4e087fdc7a37713f0fcf4519732778195d695c","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-2.0.15.tgz","fileCount":22,"integrity":"sha512-py7+5iQmdNF+ChPkWNsSge7vEkWESqT2hZ6lcTzhGlWbWREa9Mt2IjkG5Q7kDu3iWUensouNo7B6MXURXMZztA==","signatures":[{"sig":"MEUCIQCfjR/iOz+7QMpdgamzp096FNEA0xaFmzv+Nh6qmJJ/TwIgUMdD1+NzJ6+MgCd2K5rd40xLrsdcYF+aoPVhiS6iFCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56730},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c33af4c0d48f27df76a02600df2b6c55e662a7d7","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^2.0.15"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_2.0.15_1780092516071_0.5929261768993066","host":"s3://npm-registry-packages-npm-production"}},"2.0.16":{"name":"@agentforge-io/connectors-slack","version":"2.0.16","license":"MIT","_id":"@agentforge-io/connectors-slack@2.0.16","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"d9e87e0fa8cb7942dfa543c12487bd9241f0499c","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-2.0.16.tgz","fileCount":22,"integrity":"sha512-F2LA5STk+FahXGwOMYxYxZBEDYPSx5gTmUfylKVcx7niG1O33O38qAvNHP/3Q5Gr6tTUT9OGTvWNPsyPV50PAw==","signatures":[{"sig":"MEUCIQCcLHB5LMZH5t8h4r2eQhPWHwtzih5bUHNWQcv493P1twIgJ4j5B/A8HIxnwajGAkpUChHy64Nu1IKpZWryzyTaBH0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56730},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c33af4c0d48f27df76a02600df2b6c55e662a7d7","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_2.0.16_1780093293443_0.5643840876794253","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@agentforge-io/connectors-slack","version":"3.0.0","license":"MIT","_id":"@agentforge-io/connectors-slack@3.0.0","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"5fcfa224f39ff2273e82906fcf645d99eaec552f","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-3.0.0.tgz","fileCount":22,"integrity":"sha512-5urfTkE7HRz850HeNX/kt+vWTmxLt4qTsxkRj1vJbivbU9DhqNW8akqJ2Ac5bUZoPo7uuSzftwYxVsWsmX6w3Q==","signatures":[{"sig":"MEUCIHRilLneWhOYGfhnd2WPUNGMlOZZlTnrxFfJTEoRF+7rAiEAmOEFZARs+eJbfct9q8vwJZCTP+FlHbQQ6zIIxEIyNxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56730},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7986a6d41934228605fefece3e362e58fdf6da24","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_3.0.0_1780877823317_0.09199716080978826","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@agentforge-io/connectors-slack","version":"4.0.1","license":"MIT","_id":"@agentforge-io/connectors-slack@4.0.1","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"559f8aef34d403a88b2ec8be842df721f8d47ae5","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-4.0.1.tgz","fileCount":22,"integrity":"sha512-chu9BOxa80OeHkie6HHlpkCEm6JtZW/aTEB/XCk8T7hQTRWY8pAzaM2zVVnprWJyfLsXCdV4MasSrgMwWmYTIQ==","signatures":[{"sig":"MEUCICwJf3eks52xyakMmf6jF+vIqYTXGQEx7/hrv1on+00cAiEAgoyqS19k4zOaQsSzxXhwrcthOIhcRedqM9BoZxhjUN8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56727},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2812194b7dceba20d7e6adc1dca4f1ec3008ea0e","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_4.0.1_1782089971899_0.7570885529826807","host":"s3://npm-registry-packages-npm-production"}},"4.0.18":{"name":"@agentforge-io/connectors-slack","version":"4.0.18","license":"MIT","_id":"@agentforge-io/connectors-slack@4.0.18","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"dist":{"shasum":"510bda50c974a4a32f02f9c78ec36dbb838b896c","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-4.0.18.tgz","fileCount":22,"integrity":"sha512-WphWAkU6FLso61IzYhut8+yXzQSRaRLYmDDZQD2koShTUXG+jsCGO0tgBjkJM5X/Uwge7HKhxs1flyKbZOaLLg==","signatures":[{"sig":"MEUCIQDRVnWnbVq0G2/ddhuH2bHGux0k8tA3Bgwxe7UAtK0NIQIgNyoTP+LnbqB7ykEV9jcpl68XRIQwhqfQuO+4GXnwK2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56729},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"260a6598b7563a6d279624080b3120a79e55dd5c","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist *.tgz","build:watch":"tsc -p tsconfig.build.json --watch"},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"_npmVersion":"10.8.2","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@agentforge-io/core":"*"},"peerDependencies":{"@agentforge-io/core":"^4.0.18"},"_npmOperationalInternal":{"tmp":"tmp/connectors-slack_4.0.18_1783710603118_0.5363636313402476","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@agentforge-io/connectors-slack","version":"4.1.0","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","build:watch":"tsc -p tsconfig.build.json --watch","clean":"rm -rf dist *.tgz"},"peerDependencies":{"@agentforge-io/core":"^4.0.18"},"devDependencies":{"@agentforge-io/core":"*","@types/node":"^20.0.0","typescript":"^5.0.0"},"_id":"@agentforge-io/connectors-slack@4.1.0","gitHead":"c0ffb76a466c0d9583ed826e22fc4991bfa58634","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-gs/Av+GpPPSSrxmTQI+sB3jBGSfKhKtFehzNI19KDAD1RoOmgAmRvcpwqgbDur1Iu2tmTDSTvMwEwONPx4yE4Q==","shasum":"95625895fd0d31b71cac8a3e73d1110bd70465a9","tarball":"https://registry.npmjs.org/@agentforge-io/connectors-slack/-/connectors-slack-4.1.0.tgz","fileCount":22,"unpackedSize":58516,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD0IX72yxN/d+LFOxudPQQGKB8kwxsdkwux4UBTQPNcogIgbvRW/mub+MBEed5Jf8WraOuFfL36w+wAefcp1ENWKRM="}]},"_npmUser":{"name":"stupidmvp","email":"stupidmvp@gmail.com"},"directories":{},"maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/connectors-slack_4.1.0_1784903407086_0.9317739413365735"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-28T16:21:23.431Z","modified":"2026-07-24T14:30:07.401Z","1.0.0":"2026-05-28T16:21:23.799Z","2.0.10":"2026-05-28T18:16:02.029Z","2.0.11":"2026-05-29T02:44:25.558Z","2.0.12":"2026-05-29T03:14:39.110Z","2.0.13":"2026-05-29T03:35:36.351Z","2.0.14":"2026-05-29T11:25:42.079Z","2.0.15":"2026-05-29T22:08:36.204Z","2.0.16":"2026-05-29T22:21:33.578Z","3.0.0":"2026-06-08T00:17:03.450Z","4.0.1":"2026-06-22T00:59:32.029Z","4.0.18":"2026-07-10T19:10:03.312Z","4.1.0":"2026-07-24T14:30:07.247Z"},"license":"MIT","description":"Slack connector for AgentForge — post messages, read channels, search, DM, react, and upload files on behalf of the authorized user. Wired to the core ConnectorRegistryService for per-user OAuth.","maintainers":[{"name":"stupidmvp","email":"stupidmvp@gmail.com"}],"readme":"# @agentforge-io/connectors-slack\n\nSlack connector for AgentForge. Wires Slack's user-OAuth grant into the\nhost's `ConnectorRegistryService` so agents and automations can act on\nbehalf of the authorized user — post messages, read channels, search\nhistory, send DMs, react, and upload files.\n\n## Install\n\n```bash\nnpm install @agentforge-io/connectors-slack\n```\n\nPeer dep: `@agentforge-io/core ^2.0.10`.\n\n## Bootstrap\n\n```ts\nimport { slackConnector } from '@agentforge-io/connectors-slack';\n\nregistry.register(\n  slackConnector({\n    clientId: process.env.SLACK_CLIENT_ID!,\n    clientSecret: process.env.SLACK_CLIENT_SECRET!,\n  }),\n);\n```\n\nIn the AgentForge platform host, these credentials live in the vault\n(`SLACK_CLIENT_ID` + `SLACK_CLIENT_SECRET`) and the wiring happens\ninside `HostConnectorsModule.onApplicationBootstrap`. End-users never\nsee them.\n\n## OAuth scopes\n\nThe connector requests the following scopes at authorize time. Adding\na tool that needs a new scope is a breaking change — every existing\nconnection has to re-authorize.\n\n| Scope | Used by |\n|---|---|\n| `chat:write` | `slack_post_message`, `slack_send_dm` |\n| `channels:read` | `slack_post_message` (channel-name resolution) |\n| `channels:history` | `slack_read_channel` (public channels) |\n| `groups:history` | `slack_read_channel` (private channels) |\n| `im:history` | `slack_read_channel` (DMs) |\n| `im:write` | `slack_send_dm` |\n| `users:read` | `slack_send_dm` (email lookup) |\n| `reactions:write` | `slack_add_reaction` |\n| `files:write` | `slack_upload_file` |\n| `search:read` | `slack_search_messages` |\n\n## Tools\n\n### `slack_post_message`\n\nPost a message to a channel, group, or DM.\n\n```text\n@slack_post_message  channel=\"#general\"  text=\"ship is in 5 minutes\"\n```\n\n### `slack_read_channel`\n\nRead recent messages. Cursor-paginated; the LLM decides whether to\niterate.\n\n```text\n@slack_read_channel  channel=\"C0123ABC\"  limit=20\n```\n\n### `slack_search_messages`\n\nFull-text search across everything the user can see. Accepts the same\nDSL as Slack's in-app search.\n\n```text\n@slack_search_messages  query='from:@alice in:#engineering after:2026-05-01'\n```\n\n### `slack_send_dm`\n\nDM another user. Resolves email → user id when needed.\n\n```text\n@slack_send_dm  email=\"bob@acme.com\"  text=\"check pinned messages in #q3-planning\"\n```\n\n### `slack_add_reaction`\n\nReact to a message.\n\n```text\n@slack_add_reaction  channel=\"C0123ABC\"  timestamp=\"1690000000.000100\"  name=\"white_check_mark\"\n```\n\n### `slack_upload_file`\n\nUpload + share a file. Accepts UTF-8 text or base64-encoded bytes.\n\n```text\n@slack_upload_file  filename=\"report.csv\"  content=\"...\"  channels=\"C0123ABC\"\n```\n\n## Auth model\n\nUser token (`xoxp-*`) only. The connector acts as the user who\nauthorized — posts are visible as them, reads are limited to channels\nthey belong to, etc. Bot-token mode is not supported in v1; raise an\nissue if you need it.\n\nTokens are long-lived: Slack's classic user grant does not expire\ntokens automatically. They invalidate only when the user revokes\naccess or a workspace admin rotates them. There is no refresh-token\nflow — `ConnectorAuth.refreshTokenEncrypted` stays null.\n\n## Multi-workspace\n\nv1 limits each AgentForge user to ONE active Slack workspace\nconnection. Reconnecting to a different workspace soft-revokes the\nprevious one (`isActive=false`). v1.1 will open the unique key to\nallow concurrent workspaces; the `team.id` is already persisted in\n`ConnectorAuth.metadata` to make that migration straightforward.\n\n## Errors\n\n| Slack error | When it happens | Suggested LLM behavior |\n|---|---|---|\n| `invalid_auth` / `token_revoked` | User revoked or admin rotated | UI prompts re-authorize |\n| `missing_scope` | Tool needs a scope the user didn't grant | Surface `needed` from `SlackApiError`; ask user to reconnect |\n| `channel_not_found` | Bad ID or user not a member of a private channel | LLM tells the user / picks another channel |\n| `not_in_channel` | User isn't a member of a public channel | LLM suggests joining first |\n| `ratelimited` | Slack rate cap hit | Wrapper retries once with `Retry-After`, then throws |\n| `users_not_found` | DM target email isn't in the workspace | LLM falls back to channel post or asks user |\n\n## Out of scope\n\n- Events API (incoming webhooks) — separate SDD.\n- Slash commands.\n- Workflow Builder integration.\n- Slack Canvas.\n- Block Kit visual builder in the UI.\n- Bot token (`xoxb-*`) mode.\n- Enterprise Grid org-level install flow.\n\n## License\n\nMIT.\n","readmeFilename":"README.md"}