@gguf/claw
Version:
Multi-channel AI gateway with extensible messaging integrations
33 lines (32 loc) • 1.57 kB
TypeScript
import type { OpenClawConfig } from "../config/config.js";
import type { SlackAccountConfig } from "../config/types.js";
export type SlackTokenSource = "env" | "config" | "none";
export type ResolvedSlackAccount = {
accountId: string;
enabled: boolean;
name?: string;
botToken?: string;
appToken?: string;
botTokenSource: SlackTokenSource;
appTokenSource: SlackTokenSource;
config: SlackAccountConfig;
groupPolicy?: SlackAccountConfig["groupPolicy"];
textChunkLimit?: SlackAccountConfig["textChunkLimit"];
mediaMaxMb?: SlackAccountConfig["mediaMaxMb"];
reactionNotifications?: SlackAccountConfig["reactionNotifications"];
reactionAllowlist?: SlackAccountConfig["reactionAllowlist"];
replyToMode?: SlackAccountConfig["replyToMode"];
replyToModeByChatType?: SlackAccountConfig["replyToModeByChatType"];
actions?: SlackAccountConfig["actions"];
slashCommand?: SlackAccountConfig["slashCommand"];
dm?: SlackAccountConfig["dm"];
channels?: SlackAccountConfig["channels"];
};
export declare const listSlackAccountIds: (cfg: OpenClawConfig) => string[];
export declare const resolveDefaultSlackAccountId: (cfg: OpenClawConfig) => string;
export declare function resolveSlackAccount(params: {
cfg: OpenClawConfig;
accountId?: string | null;
}): ResolvedSlackAccount;
export declare function listEnabledSlackAccounts(cfg: OpenClawConfig): ResolvedSlackAccount[];
export declare function resolveSlackReplyToMode(account: ResolvedSlackAccount, chatType?: string | null): "off" | "first" | "all";