Files
Peter SteinbergerandGitHub 6e19c36d41 feat(channels): batch 2 producers drop media placeholder bodies (#111665)
* feat(channels): batch 2 producers drop media placeholder bodies

Media-placeholder program batch 2: Discord, Feishu, and MSTeams stop
minting <media:kind> placeholder bodies. Primary bodies carry captions
only; native resources produce ordered structured facts with type-only
facts for failures/rejections (batch-1 alignment contract). Discord
stickers travel as native kind "sticker" (not MIME-derivable); text
carriers (forwarded snapshots, room history, thread starters, pending
text) render via formatMediaPlaceholderText. Feishu audio preflight and
MSTeams unavailable selection move from body-string equality to
structured facts; dead placeholder payload builders deleted.

* test(discord): make allowlist policy explicit
2026-07-19 22:48:32 -07:00

54 lines
1.5 KiB
TypeScript

// Discord plugin module implements runtime api.monitor behavior.
export {
allowListMatches,
createDiscordMessageHandler,
createDiscordNativeCommand,
isDiscordGroupAllowedByPolicy,
monitorDiscordProvider,
normalizeDiscordAllowList,
normalizeDiscordSlug,
registerDiscordListener,
resolveDiscordChannelConfig,
resolveDiscordChannelConfigWithFallback,
resolveDiscordCommandAuthorized,
resolveDiscordGuildEntry,
resolveDiscordReplyTarget,
resolveDiscordShouldRequireMention,
resolveGroupDmAllow,
sanitizeDiscordThreadName,
shouldEmitDiscordReactionNotification,
type DiscordAllowList,
type DiscordChannelConfigResolved,
type DiscordGuildEntryResolved,
type DiscordMessageEvent,
type DiscordMessageHandler,
type MonitorDiscordOpts,
} from "./src/monitor.js";
export {
createDiscordGatewayPlugin,
resolveDiscordGatewayIntents,
waitForDiscordGatewayPluginRegistration,
} from "./src/monitor/gateway-plugin.js";
export {
clearGateways,
getGateway,
registerGateway,
unregisterGateway,
} from "./src/monitor/gateway-registry.js";
export {
clearPresences,
getPresence,
presenceCacheSize,
setPresence,
} from "./src/monitor/presence-cache.js";
export {
DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS,
DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS,
DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS,
DISCORD_DEFAULT_LISTENER_TIMEOUT_MS,
isAbortError,
normalizeDiscordInboundWorkerTimeoutMs,
normalizeDiscordListenerTimeoutMs,
runDiscordTaskWithTimeout,
} from "./src/monitor/timeouts.js";