@cuylabs/channel-slack-agent-core
v0.5.1
Published
Slack adapter for @cuylabs/agent-core built on @cuylabs/channel-slack
Maintainers
Readme
@cuylabs/channel-slack-agent-core
Slack adapter for @cuylabs/agent-core, built on @cuylabs/channel-slack
primitives.
Use this package when your agent runtime is @cuylabs/agent-core and you want
ready-to-mount Slack surfaces for Bolt, Express, Socket Mode, Slack Assistant,
classic app mentions, DMs, and in-channel interactive approval or human-input
requests.
Use @cuylabs/channel-slack directly when you want Slack parsing, policy,
history, setup, auth, or formatting primitives for another agent runtime.
Install
npm install @cuylabs/channel-slack-agent-core @cuylabs/channel-slack @cuylabs/agent-coreInstall Slack peer dependencies for the surfaces you use:
npm install @slack/bolt @slack/web-api expressImport Map
Use feature-specific imports when you only need one adapter surface.
| Import | Use for |
| --- | --- |
| @cuylabs/channel-slack-agent-core/adapter | Classic app mention, DM, and passive channel-message adapter |
| @cuylabs/channel-slack-agent-core/assistant | Slack Assistant bridge and lifecycle handlers |
| @cuylabs/channel-slack-agent-core/express | Express Events API mounting for classic Slack surfaces |
| @cuylabs/channel-slack-agent-core/express-assistant | Express Events API mounting for Slack Assistant |
| @cuylabs/channel-slack-agent-core/socket | Socket Mode mounting helpers |
| @cuylabs/channel-slack-agent-core/interactive | Agent-core approval and human-input binding for Slack |
| @cuylabs/channel-slack-agent-core/shared | Agent-core context fragments and event bridge plus Slack core primitives |
| @cuylabs/channel-slack-agent-core/bolt | Re-exported Bolt helpers from @cuylabs/channel-slack/bolt |
| @cuylabs/channel-slack-agent-core/history | Re-exported history helpers from @cuylabs/channel-slack/history |
| @cuylabs/channel-slack-agent-core/policy | Re-exported message policy helpers from @cuylabs/channel-slack/policy |
The package root re-exports the full adapter surface for compatibility and
convenience. Reusable Slack mechanics continue to live in
@cuylabs/channel-slack; this package only adds the @cuylabs/agent-core
binding.
Socket Mode
import { mountSlackAssistantAgentSocket } from "@cuylabs/channel-slack-agent-core";
await mountSlackAssistantAgentSocket({
source: agent,
appToken: process.env.SLACK_APP_TOKEN,
botToken: process.env.SLACK_BOT_TOKEN,
});Express Events API
import { mountSlackAgent } from "@cuylabs/channel-slack-agent-core";
await mountSlackAgent(agent, {
botToken: process.env.SLACK_BOT_TOKEN,
signingSecret: process.env.SLACK_SIGNING_SECRET,
});Boundary
This package owns only the @cuylabs/agent-core binding:
- mapping Slack turns to
AgentTurnSource.chat(...) - creating agent-core scopes and context fragments
- converting
AgentEventstreams to Slack messages or chat streams - handling agent-core approval and human-input requests in Slack
Reusable Slack mechanics live in @cuylabs/channel-slack.
