@jem-open/mbali-slack
v0.6.0
Published
mbali Slack drivers: Events API Ingress (signature verify, challenge, normalization) and Channel.
Readme
@jem-open/mbali-slack
Slack drivers for mbali: a SlackIngress (Events API — signature verify, URL-verification
challenge, event normalization) and a SlackChannel for posting back to a thread.
These are port adapters for mbali, not a standalone Slack SDK. SlackIngress implements the
Ingress port and SlackChannel implements the Channel port from @jem-open/mbali-core — they
only do anything wired into an mbali host/engine. The ingress verifies the x-slack-signature
HMAC, answers the URL-verification handshake, and turns event_callbacks into InboundEvents for
the engine to route.
Install
pnpm add @jem-open/mbali-slack
pnpm add @jem-open/mbali-core # peer dependencyUsage
import { SlackIngress, SlackChannel } from "@jem-open/mbali-slack";
const ingress = new SlackIngress(); // mounts at /slack/{app}/events
const channel = new SlackChannel({ botToken: process.env.SLACK_BOT_TOKEN! });
// wired into the host:
const host = createHost({ engine, buffer, planes: [{ ingress, app: slackApp, plane }] });The signing secret comes from the per-app IngressAppConfig.settings.signingSecret; requests
outside a 5-minute timestamp window are rejected. The package also exports a routing strategy, an
EventSimulator for mbali simulate, and HealthCheckable diagnostics for mbali doctor.
Part of mbali — the control plane for fleets of remote AI agent sessions.
