import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js"; import { At as FasedAgentConfig, F as ChannelAccountSnapshot, J as ChannelMessageActionAdapter, it as ChannelStatusIssue, n as ChannelPlugin, on as DiscordAccountConfig, r as ChannelOnboardingAdapter, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-BcSBq42x.js"; import { $t as listWhatsAppDirectoryGroupsFromConfig, Cn as createActionGate, Dn as readStringParam, Gt as resolveOpenProviderRuntimeGroupPolicy, Jt as listDiscordDirectoryPeersFromConfig, Qt as listTelegramDirectoryPeersFromConfig, Ut as resolveAllowlistProviderRuntimeGroupPolicy, Wt as resolveDefaultGroupPolicy, Xt as listSlackDirectoryPeersFromConfig, Yt as listSlackDirectoryGroupsFromConfig, Zt as listTelegramDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, en as listWhatsAppDirectoryPeersFromConfig, qt as listDiscordDirectoryGroupsFromConfig, t as PluginRuntime, tn as collectDiscordAuditChannelIds } from "./types-CHm_inlK.js"; import { D as normalizeE164 } from "./types-jHuiH7-5.js"; import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-CQJ3plrh.js"; import { _ as buildTokenChannelStatusSummary, i as resolveDiscordGroupToolPolicy, r as resolveDiscordGroupRequireMention } from "./group-mentions-q3hUTCt7.js"; import { t as DiscordConfigSchema } from "./zod-schema.providers-core-DVdlSg2z.js"; //#region src/discord/accounts.d.ts type ResolvedDiscordAccount = { accountId: string; enabled: boolean; name?: string; token: string; tokenSource: "env" | "config" | "none"; config: DiscordAccountConfig; }; declare const listDiscordAccountIds: (cfg: FasedAgentConfig) => string[]; declare const resolveDefaultDiscordAccountId: (cfg: FasedAgentConfig) => string; declare function resolveDiscordAccount(params: { cfg: FasedAgentConfig; accountId?: string | null; }): ResolvedDiscordAccount; //#endregion //#region src/discord/monitor/thread-bindings.types.d.ts type ThreadBindingTargetKind = "subagent" | "acp"; type ThreadBindingRecord = { accountId: string; channelId: string; threadId: string; targetKind: ThreadBindingTargetKind; targetSessionKey: string; agentId: string; label?: string; webhookId?: string; webhookToken?: string; boundBy: string; boundAt: number; lastActivityAt: number; /** Inactivity timeout window in milliseconds (0 disables inactivity auto-unfocus). */ idleTimeoutMs?: number; /** Hard max-age window in milliseconds from bind time (0 disables hard cap). */ maxAgeMs?: number; }; //#endregion //#region src/discord/monitor/thread-bindings.lifecycle.d.ts declare function listThreadBindingsBySessionKey(params: { targetSessionKey: string; accountId?: string; targetKind?: ThreadBindingTargetKind; }): ThreadBindingRecord[]; declare function autoBindSpawnedDiscordSubagent(params: { accountId?: string; channel?: string; to?: string; threadId?: string | number; childSessionKey: string; agentId: string; label?: string; boundBy?: string; }): Promise; declare function unbindThreadBindingsBySessionKey(params: { targetSessionKey: string; accountId?: string; targetKind?: ThreadBindingTargetKind; reason?: string; sendFarewell?: boolean; farewellText?: string; }): ThreadBindingRecord[]; //#endregion //#region src/channels/plugins/normalize/discord.d.ts declare function normalizeDiscordMessagingTarget(raw: string): string | undefined; /** * Normalize a Discord outbound target for delivery. Bare numeric IDs are * prefixed with "channel:" to avoid the ambiguous-target error in * parseDiscordTarget. All other formats pass through unchanged. */ declare function normalizeDiscordOutboundTarget(to?: string): { ok: true; to: string; } | { ok: false; error: Error; }; declare function looksLikeDiscordTargetId(raw: string): boolean; //#endregion //#region src/channels/plugins/onboarding/discord.d.ts declare const discordOnboardingAdapter: ChannelOnboardingAdapter; //#endregion //#region src/channels/plugins/status-issues/discord.d.ts declare function collectDiscordStatusIssues(accounts: ChannelAccountSnapshot[]): ChannelStatusIssue[]; //#endregion export { ChannelMessageActionAdapter, ChannelMessageActionName, ChannelPlugin, DEFAULT_ACCOUNT_ID, DiscordConfigSchema, FasedAgentConfig, FasedAgentPluginApi, PAIRING_APPROVED_MESSAGE, PluginRuntime, type ResolvedDiscordAccount, applyAccountNameToChannelSection, autoBindSpawnedDiscordSubagent, buildChannelConfigSchema, buildTokenChannelStatusSummary, collectDiscordAuditChannelIds, collectDiscordStatusIssues, createActionGate, deleteAccountFromConfigSection, discordOnboardingAdapter, emptyPluginConfigSchema, formatPairingApproveHint, getChatChannelMeta, listDiscordAccountIds, listDiscordDirectoryGroupsFromConfig, listDiscordDirectoryPeersFromConfig, listSlackDirectoryGroupsFromConfig, listSlackDirectoryPeersFromConfig, listTelegramDirectoryGroupsFromConfig, listTelegramDirectoryPeersFromConfig, listThreadBindingsBySessionKey, listWhatsAppDirectoryGroupsFromConfig, listWhatsAppDirectoryPeersFromConfig, looksLikeDiscordTargetId, migrateBaseNameToDefaultAccount, normalizeAccountId, normalizeDiscordMessagingTarget, normalizeDiscordOutboundTarget, normalizeE164, readStringParam, resolveAllowlistProviderRuntimeGroupPolicy, resolveDefaultDiscordAccountId, resolveDefaultGroupPolicy, resolveDiscordAccount, resolveDiscordGroupRequireMention, resolveDiscordGroupToolPolicy, resolveOpenProviderRuntimeGroupPolicy, setAccountEnabledInConfigSection, unbindThreadBindingsBySessionKey };