import { slackTriggerDefinitions as triggerDefinitions } from "@automate.ax/catalog/triggers/slack" import { createTrigger } from "../../../automation/create-trigger" import type { SlackTriggerOptions } from "./lib" export * from "./semantic" /** Options for subscribing to Slack app mentions. */ export interface OnSlackAppMentionOptions extends SlackTriggerOptions {} /** * Subscribes to messages that directly mention the installed Slack bot. * * @param options - Slack workspace selection. */ export const onSlackAppMention = createTrigger( triggerDefinitions.slackAppMentioned, ) /** Options for subscribing to Slack messages. */ export interface OnSlackMessagePostedOptions extends SlackTriggerOptions {} /** * Subscribes to newly posted messages visible to the installed Slack bot. * * Public channels, private channels, direct messages, and group direct messages * are included when the bot can see them. * * @param options - Slack workspace selection. */ export const onSlackMessagePosted = createTrigger( triggerDefinitions.slackMessagePosted, ) /** Options for subscribing to added Slack reactions. */ export interface OnSlackReactionAddedOptions extends SlackTriggerOptions {} /** * Subscribes to emoji reactions added to visible Slack items. * * @param options - Slack workspace selection. */ export const onSlackReactionAdded = createTrigger( triggerDefinitions.slackReactionAdded, ) /** Options for subscribing to removed Slack reactions. */ export interface OnSlackReactionRemovedOptions extends SlackTriggerOptions {} /** * Subscribes to emoji reactions removed from visible Slack items. * * @param options - Slack workspace selection. */ export const onSlackReactionRemoved = createTrigger( triggerDefinitions.slackReactionRemoved, )