UNPKG

@gguf/claw

Version:

Multi-channel AI gateway with extensible messaging integrations

54 lines (53 loc) 2.1 kB
import type { GroupPolicy } from "./types.base.js"; import type { DiscordConfig } from "./types.discord.js"; import type { GoogleChatConfig } from "./types.googlechat.js"; import type { IMessageConfig } from "./types.imessage.js"; import type { IrcConfig } from "./types.irc.js"; import type { MSTeamsConfig } from "./types.msteams.js"; import type { SignalConfig } from "./types.signal.js"; import type { SlackConfig } from "./types.slack.js"; import type { TelegramConfig } from "./types.telegram.js"; import type { WhatsAppConfig } from "./types.whatsapp.js"; export type ChannelHeartbeatVisibilityConfig = { /** Show HEARTBEAT_OK acknowledgments in chat (default: false). */ showOk?: boolean; /** Show heartbeat alerts with actual content (default: true). */ showAlerts?: boolean; /** Emit indicator events for UI status display (default: true). */ useIndicator?: boolean; }; export type ChannelDefaultsConfig = { groupPolicy?: GroupPolicy; /** Default heartbeat visibility for all channels. */ heartbeat?: ChannelHeartbeatVisibilityConfig; }; export type ChannelModelByChannelConfig = Record<string, Record<string, string>>; /** * Base type for extension channel config sections. * Extensions can use this as a starting point for their channel config. */ export type ExtensionChannelConfig = { enabled?: boolean; allowFrom?: string | string[]; /** Default delivery target for CLI --deliver when no explicit --reply-to is provided. */ defaultTo?: string; dmPolicy?: string; groupPolicy?: GroupPolicy; accounts?: Record<string, unknown>; [key: string]: unknown; }; export type ChannelsConfig = { defaults?: ChannelDefaultsConfig; /** Map provider -> channel id -> model override. */ modelByChannel?: ChannelModelByChannelConfig; whatsapp?: WhatsAppConfig; telegram?: TelegramConfig; discord?: DiscordConfig; irc?: IrcConfig; googlechat?: GoogleChatConfig; slack?: SlackConfig; signal?: SignalConfig; imessage?: IMessageConfig; msteams?: MSTeamsConfig; [key: string]: any; };