UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

104 lines 3.31 kB
import { i as OpenClawConfig } from "./types.openclaw-DBHlrrVj.js"; import { _ as GroupPolicy, h as DmPolicy, r as BlockStreamingCoalesceConfig, x as MarkdownConfig } from "./types.base-D238NWJT.js"; import { a as GroupToolPolicyBySenderConfig, o as GroupToolPolicyConfig } from "./types.tools-DZk2axJU.js"; import { A as DmConfig } from "./types.slack-BZcmYWK8.js"; import { t as BaseProbeResult } from "./types.core-CyK4WLl_.js"; import { t as ChannelPlugin } from "./types.plugin-BIHyhl5u.js"; //#region extensions/irc/src/types.d.ts type IrcChannelConfig = { requireMention?: boolean; tools?: GroupToolPolicyConfig; toolsBySender?: GroupToolPolicyBySenderConfig; skills?: string[]; enabled?: boolean; allowFrom?: Array<string | number>; systemPrompt?: string; }; type IrcNickServConfig = { enabled?: boolean; service?: string; password?: string; passwordFile?: string; register?: boolean; registerEmail?: string; }; type IrcAccountConfig = { name?: string; enabled?: boolean; /** * Break-glass override: allow nick-only allowlist matching. * Default behavior requires host/user-qualified identities. */ dangerouslyAllowNameMatching?: boolean; host?: string; port?: number; tls?: boolean; nick?: string; username?: string; realname?: string; password?: string; passwordFile?: string; nickserv?: IrcNickServConfig; dmPolicy?: DmPolicy; allowFrom?: Array<string | number>; defaultTo?: string; groupPolicy?: GroupPolicy; groupAllowFrom?: Array<string | number>; groups?: Record<string, IrcChannelConfig>; channels?: string[]; mentionPatterns?: string[]; markdown?: MarkdownConfig; historyLimit?: number; dmHistoryLimit?: number; dms?: Record<string, DmConfig>; textChunkLimit?: number; chunkMode?: "length" | "newline"; blockStreaming?: boolean; blockStreamingCoalesce?: BlockStreamingCoalesceConfig; responsePrefix?: string; mediaMaxMb?: number; }; type IrcConfig = IrcAccountConfig & { accounts?: Record<string, IrcAccountConfig>; defaultAccount?: string; }; type CoreConfig = OpenClawConfig & { channels?: OpenClawConfig["channels"] & { irc?: IrcConfig; }; }; type IrcProbe = BaseProbeResult<string> & { host: string; port: number; tls: boolean; nick: string; latencyMs?: number; }; //#endregion //#region extensions/irc/src/accounts.d.ts type ResolvedIrcAccount = { accountId: string; enabled: boolean; name?: string; configured: boolean; host: string; port: number; tls: boolean; nick: string; username: string; realname: string; password: string; passwordSource: "env" | "passwordFile" | "config" | "none"; config: IrcAccountConfig; }; declare const listIrcAccountIds: (cfg: OpenClawConfig) => string[], resolveDefaultIrcAccountId: (cfg: OpenClawConfig) => string; declare function resolveIrcAccount(params: { cfg: CoreConfig; accountId?: string | null; }): ResolvedIrcAccount; declare function listEnabledIrcAccounts(cfg: CoreConfig): ResolvedIrcAccount[]; //#endregion //#region extensions/irc/src/channel.d.ts declare const ircPlugin: ChannelPlugin<ResolvedIrcAccount, IrcProbe>; //#endregion export { resolveDefaultIrcAccountId as a, listIrcAccountIds as i, ResolvedIrcAccount as n, resolveIrcAccount as o, listEnabledIrcAccounts as r, ircPlugin as t };