eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
40 lines (39 loc) • 2.25 kB
TypeScript
import type { SessionAuthContext } from "#channel/types.js";
import type { SlackMessage } from "#public/channels/slack/inbound.js";
import type { SlackChannelEvents, SlackChannelInternalEvents, SlackContext, SlackMentionResult } from "#public/channels/slack/slackChannel.js";
/**
* Workspace-scoped projection of the Slack actor that produced
* `message`, derived into a {@link SessionAuthContext}. Used by both
* {@link defaultOnAppMention} and {@link defaultOnDirectMessage} when
* the customer hasn't supplied their own `onAppMention` /
* `onDirectMessage`. Returns `null` when the message has no author.
*/
export declare function defaultSlackAuth(message: SlackMessage, ctx: SlackContext): SessionAuthContext | null;
/**
* Default `onAppMention` — derives auth from the Slack actor and posts
* a `"Thinking…"` typing indicator before the workflow runtime starts.
*/
export declare function defaultOnAppMention(ctx: SlackContext, message: SlackMessage): Promise<SlackMentionResult>;
/**
* Default `onDirectMessage` — derives auth from the Slack actor and
* posts a `"Thinking…"` typing indicator before the workflow runtime
* starts. Matches the default mention behavior; replace the option to
* customize gating, auth derivation, or pre-dispatch side effects.
*/
export declare function defaultOnDirectMessage(ctx: SlackContext, message: SlackMessage): Promise<SlackMentionResult>;
/**
* Default `input.requested` handler — renders each pending HITL
* request as Slack `block_actions`. Buttons by default; radio for
* ≤6-option select requests; static_select for >6-option select
* requests. Override by declaring `events["input.requested"]`.
*/
export declare function defaultInputRequestedHandler(): NonNullable<SlackChannelEvents["input.requested"]>;
/**
* Built-in Slack event handlers — typing indicators, error replies,
* and the connection-authorization status flow. Each is overridable
* per-event by passing the same key under `slackChannel({ events })`.
* Typed as the internal full-context map because the default
* `authorization.required` handler owns the public link-free status,
* which user overrides cannot express.
*/
export declare const defaultEvents: SlackChannelInternalEvents;