{"_id":"@coopah/bentley-gateway","_rev":"4-30127630b557334f8c1c2436428b62bf","name":"@coopah/bentley-gateway","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.0":{"name":"@coopah/bentley-gateway","version":"0.2.0","keywords":["ai","agent","llm","bentley"],"license":"MIT","_id":"@coopah/bentley-gateway@0.2.0","maintainers":[{"name":"coopah","email":"tibo6c04@gmail.com"}],"homepage":"https://github.com/CoopahG/bentley#readme","bugs":{"url":"https://github.com/CoopahG/bentley/issues"},"dist":{"shasum":"be042afaadfe6a6f740dd3926c026327e2aba207","tarball":"https://registry.npmjs.org/@coopah/bentley-gateway/-/bentley-gateway-0.2.0.tgz","fileCount":38,"integrity":"sha512-DDTJDm4b3wE6/1NAjgpg/aTMpBJdsvwy1UzNVbbCDxE5oHEClOZGngWwhgjWuk+wFOCULLjdKm8/JdWfVNL89A==","signatures":[{"sig":"MEYCIQDUYkU+YBi9Th86DQw4urE3TUM3Il3mXFizc2Rxn/eWPgIhAK6GywBcu8vgiRqtu04i9r3j30f4fV+/QKzP2aGj3XW5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44366},"main":"dist/index.js","type":"module","_from":"file:coopah-bentley-gateway-0.2.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"coopah","email":"tibo6c04@gmail.com"},"_resolved":"/private/var/folders/k4/9fdyr38j4gv59whg5k3w4fgm0000gn/T/005d2052de100a9154b4cc0d40246b85/coopah-bentley-gateway-0.2.0.tgz","_integrity":"sha512-DDTJDm4b3wE6/1NAjgpg/aTMpBJdsvwy1UzNVbbCDxE5oHEClOZGngWwhgjWuk+wFOCULLjdKm8/JdWfVNL89A==","repository":{"url":"git+https://github.com/CoopahG/bentley.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"Multi-channel message router (WhatsApp, Slack, Telegram, Discord, Email, WebChat)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@coopah/bentley-core":"0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/nodemailer":"^6.4.17"},"peerDependencies":{"ws":">=8.0.0","imapflow":">=1.0.0","telegraf":">=4.0.0","discord.js":">=14.0.0","nodemailer":">=6.0.0","@slack/bolt":">=3.0.0","@whiskeysockets/baileys":">=6.0.0"},"peerDependenciesMeta":{"ws":{"optional":true},"imapflow":{"optional":true},"telegraf":{"optional":true},"discord.js":{"optional":true},"nodemailer":{"optional":true},"@slack/bolt":{"optional":true},"@whiskeysockets/baileys":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bentley-gateway_0.2.0_1773093158127_0.44112049851333723","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@coopah/bentley-gateway","version":"0.2.1","keywords":["ai","agent","llm","bentley"],"license":"MIT","_id":"@coopah/bentley-gateway@0.2.1","maintainers":[{"name":"coopah","email":"tibo6c04@gmail.com"}],"homepage":"https://github.com/CoopahG/bentley#readme","bugs":{"url":"https://github.com/CoopahG/bentley/issues"},"dist":{"shasum":"dc34b3dc9dc6735f7464e6c0ec6df49fea9456de","tarball":"https://registry.npmjs.org/@coopah/bentley-gateway/-/bentley-gateway-0.2.1.tgz","fileCount":39,"integrity":"sha512-NjZbIVtJ3XPdDb0s40j6cPSk/7qVhdgp7uW3kdtZFA2es9bFoyzUn6asNHw/TzHpwgSQ57PhSoGdM0O24s5vZA==","signatures":[{"sig":"MEQCIQD3RMpDXszkLWuL3aB9Kqj0MLMyrH4pW3SH1FFIZymKSAIfVIUhp3vyj878tz4nakNJjYOnxzxPYs9rWlQfcaSKSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45600},"main":"dist/index.js","type":"module","_from":"file:coopah-bentley-gateway-0.2.1.tgz","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"coopah","email":"tibo6c04@gmail.com"},"_resolved":"/private/var/folders/k4/9fdyr38j4gv59whg5k3w4fgm0000gn/T/a5d5f044644f646832fc8029a3fd07da/coopah-bentley-gateway-0.2.1.tgz","_integrity":"sha512-NjZbIVtJ3XPdDb0s40j6cPSk/7qVhdgp7uW3kdtZFA2es9bFoyzUn6asNHw/TzHpwgSQ57PhSoGdM0O24s5vZA==","repository":{"url":"git+https://github.com/CoopahG/bentley.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"Multi-channel message router (WhatsApp, Slack, Telegram, Discord, Email, WebChat)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@coopah/bentley-core":"0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/nodemailer":"^6.4.17"},"peerDependencies":{"ws":">=8.0.0","imapflow":">=1.0.0","telegraf":">=4.0.0","discord.js":">=14.0.0","nodemailer":">=6.0.0","@slack/bolt":">=3.0.0","@whiskeysockets/baileys":">=6.0.0"},"peerDependenciesMeta":{"ws":{"optional":true},"imapflow":{"optional":true},"telegraf":{"optional":true},"discord.js":{"optional":true},"nodemailer":{"optional":true},"@slack/bolt":{"optional":true},"@whiskeysockets/baileys":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bentley-gateway_0.2.1_1773093585097_0.3598429840356365","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@coopah/bentley-gateway","version":"0.2.2","keywords":["ai","agent","llm","bentley"],"license":"MIT","_id":"@coopah/bentley-gateway@0.2.2","maintainers":[{"name":"coopah","email":"tibo6c04@gmail.com"}],"homepage":"https://github.com/CoopahG/bentley#readme","bugs":{"url":"https://github.com/CoopahG/bentley/issues"},"dist":{"shasum":"a550b2eb00f1d82902ae2d9fdfd83f1f19357519","tarball":"https://registry.npmjs.org/@coopah/bentley-gateway/-/bentley-gateway-0.2.2.tgz","fileCount":39,"integrity":"sha512-Kbbp93dNCEBVTBx+B/33OmKP8Sl1UWNWHrLiLbuGypDMfa7oGj1OSKJ97igKev7Jmcv5uQIJrkGGOnAOuC+uJA==","signatures":[{"sig":"MEYCIQDGzXZVdDhQOdnnp6wPnSKduMKeYbZWeh3gulY00MR96QIhAMqxsvIJDtzjhY4+0fYPUMr50CwVK9kz5/2vudTE4K+R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47566},"main":"dist/index.js","type":"module","_from":"file:coopah-bentley-gateway-0.2.2.tgz","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"coopah","email":"tibo6c04@gmail.com"},"_resolved":"/private/var/folders/k4/9fdyr38j4gv59whg5k3w4fgm0000gn/T/df8c26a562f04271c0bd8164dd5243e8/coopah-bentley-gateway-0.2.2.tgz","_integrity":"sha512-Kbbp93dNCEBVTBx+B/33OmKP8Sl1UWNWHrLiLbuGypDMfa7oGj1OSKJ97igKev7Jmcv5uQIJrkGGOnAOuC+uJA==","repository":{"url":"git+https://github.com/CoopahG/bentley.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"Multi-channel message router (WhatsApp, Slack, Telegram, Discord, Email, WebChat)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@coopah/bentley-core":"0.2.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/nodemailer":"^6.4.17"},"peerDependencies":{"ws":">=8.0.0","imapflow":">=1.0.0","telegraf":">=4.0.0","discord.js":">=14.0.0","nodemailer":">=6.0.0","@slack/bolt":">=3.0.0","@whiskeysockets/baileys":">=6.0.0"},"peerDependenciesMeta":{"ws":{"optional":true},"imapflow":{"optional":true},"telegraf":{"optional":true},"discord.js":{"optional":true},"nodemailer":{"optional":true},"@slack/bolt":{"optional":true},"@whiskeysockets/baileys":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bentley-gateway_0.2.2_1773093909543_0.12113489014082335","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@coopah/bentley-gateway","version":"0.3.0","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{"@coopah/bentley-core":"0.3.0"},"peerDependencies":{"@slack/bolt":">=3.0.0","@whiskeysockets/baileys":">=6.0.0","discord.js":">=14.0.0","imapflow":">=1.0.0","nodemailer":">=6.0.0","telegraf":">=4.0.0","ws":">=8.0.0"},"peerDependenciesMeta":{"@whiskeysockets/baileys":{"optional":true},"telegraf":{"optional":true},"@slack/bolt":{"optional":true},"imapflow":{"optional":true},"nodemailer":{"optional":true},"ws":{"optional":true},"discord.js":{"optional":true}},"devDependencies":{"@types/node":"^25.4.0","@types/nodemailer":"^7.0.11","@types/ws":"^8.18.1","typescript":"^5.9.3"},"description":"Multi-channel message router (WhatsApp, Slack, Telegram, Discord, Email, WebChat)","license":"MIT","repository":{"type":"git","url":"git+https://github.com/CoopahG/bentley.git","directory":"packages/gateway"},"engines":{"node":">=20.0.0"},"keywords":["ai","agent","llm","bentley"],"scripts":{"build":"tsc","dev":"tsc --watch","lint":"eslint src","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"_id":"@coopah/bentley-gateway@0.3.0","bugs":{"url":"https://github.com/CoopahG/bentley/issues"},"homepage":"https://github.com/CoopahG/bentley#readme","_integrity":"sha512-1rWbrdBmnFYXQ9pSauezRiERLCtiejvPif9qOY59xcNxYTjcfvMWFmpqWvwiJLLk9ikE5iNOyBsrmI90dnjRVg==","_resolved":"/private/var/folders/k4/9fdyr38j4gv59whg5k3w4fgm0000gn/T/cc2ca1feadaf95bea6a035a8f53d1598/coopah-bentley-gateway-0.3.0.tgz","_from":"file:coopah-bentley-gateway-0.3.0.tgz","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-1rWbrdBmnFYXQ9pSauezRiERLCtiejvPif9qOY59xcNxYTjcfvMWFmpqWvwiJLLk9ikE5iNOyBsrmI90dnjRVg==","shasum":"9816a75b4adcdea34d226d3a5d0e2c16169bf50b","tarball":"https://registry.npmjs.org/@coopah/bentley-gateway/-/bentley-gateway-0.3.0.tgz","fileCount":39,"unpackedSize":47488,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCwkIWioIJjIM0S9Ucz1DQjZ8xJmfdzfmdsbN+DayKTYgIgfKtqgCxuRVvNGbqecmzKPBFcfWg6Sk1q4hk80a18K4Y="}]},"_npmUser":{"name":"coopah","email":"tibo6c04@gmail.com"},"directories":{},"maintainers":[{"name":"coopah","email":"tibo6c04@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bentley-gateway_0.3.0_1773178076255_0.23724960144290463"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-09T21:52:37.797Z","modified":"2026-03-10T21:27:56.529Z","0.2.0":"2026-03-09T21:52:38.274Z","0.2.1":"2026-03-09T21:59:45.237Z","0.2.2":"2026-03-09T22:05:09.685Z","0.3.0":"2026-03-10T21:27:56.412Z"},"bugs":{"url":"https://github.com/CoopahG/bentley/issues"},"license":"MIT","homepage":"https://github.com/CoopahG/bentley#readme","keywords":["ai","agent","llm","bentley"],"repository":{"type":"git","url":"git+https://github.com/CoopahG/bentley.git","directory":"packages/gateway"},"description":"Multi-channel message router (WhatsApp, Slack, Telegram, Discord, Email, WebChat)","maintainers":[{"name":"coopah","email":"tibo6c04@gmail.com"}],"readme":"# @coopah/bentley-gateway\n\nMulti-channel message router for [Bentley](https://github.com/CoopahG/bentley) agents. Routes incoming messages from WhatsApp, Telegram, Slack, Discord, Email, and WebChat to the appropriate shell.\n\n## Install\n\n```bash\npnpm add @coopah/bentley-gateway\n```\n\nThen install the adapter(s) you need:\n\n```bash\npnpm add @whiskeysockets/baileys    # WhatsApp\npnpm add telegraf                    # Telegram\npnpm add @slack/bolt                 # Slack\npnpm add discord.js                  # Discord\npnpm add imapflow nodemailer         # Email (IMAP + SMTP)\npnpm add ws                          # WebChat (WebSocket)\n```\n\n## Dependencies\n\n- [`@coopah/bentley-core`](https://www.npmjs.com/package/@coopah/bentley-core) (required)\n\n### Peer Dependencies (all optional — install only what you use)\n\n| Peer | Version | Channel |\n|------|---------|---------|\n| `@whiskeysockets/baileys` | >=6.0.0 | WhatsApp |\n| `telegraf` | >=4.0.0 | Telegram |\n| `@slack/bolt` | >=3.0.0 | Slack |\n| `discord.js` | >=14.0.0 | Discord |\n| `imapflow` | >=1.0.0 | Email (receive) |\n| `nodemailer` | >=6.0.0 | Email (send) |\n| `ws` | >=8.0.0 | WebChat |\n\n## Usage\n\n```ts\nimport { createBentley } from \"@coopah/bentley-core\";\nimport { BentleyGateway, WhatsAppAdapter, TelegramAdapter } from \"@coopah/bentley-gateway\";\n\nconst bentley = createBentley({ plugins: [/* ... */] });\nconst gateway = new BentleyGateway();\n\n// Add channels\ngateway.addAdapter(new WhatsAppAdapter({ /* WhatsAppAdapterConfig */ }));\ngateway.addAdapter(new TelegramAdapter({ botToken: process.env.TELEGRAM_BOT_TOKEN! }));\n\n// Route messages to shells\nconst router = gateway.getRouter();\nrouter.addRoute({ channelPattern: \"whatsapp:*\", shellId: \"support-agent\" });\nrouter.addRoute({ channelPattern: \"telegram:*\", shellId: \"telegram-bot\" });\n\n// Set the message handler (connects gateway → bentley)\ngateway.setMessageHandler(async (channelId, senderId, text, shellId) => {\n  const result = await bentley.invoke(shellId, { input: text, threadId: senderId });\n  return result;\n});\n\nawait gateway.start();\n```\n\n## API\n\n### BentleyGateway\n\n- `addAdapter(adapter)` — Register a channel adapter\n- `getRouter()` — Access the `ShellRouter` for message routing rules\n- `setMessageHandler(handler)` — Connect incoming messages to your Bentley instance\n- `start()` — Connect all adapters and begin listening\n- `stop()` — Disconnect all adapters\n\n### Adapters\n\nEach adapter implements the channel-specific connection logic:\n\n- `WhatsAppAdapter(config: WhatsAppAdapterConfig)`\n- `TelegramAdapter(config: TelegramAdapterConfig)`\n- `SlackAdapter(config: SlackAdapterConfig)`\n- `DiscordAdapter(config: DiscordAdapterConfig)`\n- `EmailAdapter(config: EmailAdapterConfig)`\n- `WebChatAdapter(config: WebChatAdapterConfig)`\n\n### Routing\n\n- `ShellRouter` — Maps channel patterns to shell IDs\n- `ShellRoute` — `{ channelPattern: string, shellId: string }`\n\n## Related Packages\n\n| Package | Role |\n|---------|------|\n| [`@coopah/bentley-core`](https://www.npmjs.com/package/@coopah/bentley-core) | Core runtime (required) |\n| [`@coopah/bentley-server`](https://www.npmjs.com/package/@coopah/bentley-server) | HTTP/SSE server |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}