import { r as KlawConfig } from "./types.klaw-xKUw_Rz7.js"; import { _ as GroupPolicy, h as DmPolicy, r as BlockStreamingCoalesceConfig, x as MarkdownConfig } from "./types.base-Dkv2492C.js"; import { a as GroupToolPolicyBySenderConfig, o as GroupToolPolicyConfig } from "./types.tools-CbDu09ip.js"; import { in as DmConfig } from "./types.channels-DdU7GqnS.js"; import { t as BaseProbeResult } from "./types.core-BSyOg0vX.js"; import { n as ChannelPlugin } from "./types.public-BSMobFik.js"; //#region extensions/irc/src/types.d.ts type IrcChannelConfig = { requireMention?: boolean; tools?: GroupToolPolicyConfig; toolsBySender?: GroupToolPolicyBySenderConfig; skills?: string[]; enabled?: boolean; allowFrom?: Array; 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; defaultTo?: string; groupPolicy?: GroupPolicy; groupAllowFrom?: Array; groups?: Record; channels?: string[]; mentionPatterns?: string[]; markdown?: MarkdownConfig; historyLimit?: number; dmHistoryLimit?: number; dms?: Record; textChunkLimit?: number; chunkMode?: "length" | "newline"; blockStreaming?: boolean; blockStreamingCoalesce?: BlockStreamingCoalesceConfig; responsePrefix?: string; mediaMaxMb?: number; }; type IrcConfig = IrcAccountConfig & { accounts?: Record; defaultAccount?: string; }; type CoreConfig = KlawConfig & { channels?: KlawConfig["channels"] & { irc?: IrcConfig; }; }; type IrcProbe = BaseProbeResult & { 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: KlawConfig) => string[], resolveDefaultIrcAccountId: (cfg: KlawConfig) => 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; //#endregion export { resolveDefaultIrcAccountId as a, listIrcAccountIds as i, ResolvedIrcAccount as n, resolveIrcAccount as o, listEnabledIrcAccounts as r, ircPlugin as t };