Skip to content

Commit 8935dd1

Browse files
committed
refactor(discord): simplify gateway and component wiring
1 parent a030037 commit 8935dd1

18 files changed

Lines changed: 428 additions & 291 deletions
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
export { handleDiscordAction } from "./src/actions/runtime.js";
2+
export {
3+
isDiscordModerationAction,
4+
readDiscordModerationCommand,
5+
requiredGuildPermissionForModerationAction,
6+
type DiscordModerationAction,
7+
type DiscordModerationCommand,
8+
} from "./src/actions/runtime.moderation-shared.js";
9+
export {
10+
readDiscordChannelCreateParams,
11+
readDiscordChannelEditParams,
12+
readDiscordChannelMoveParams,
13+
readDiscordParentIdParam,
14+
} from "./src/actions/runtime.shared.js";
15+
export { discordMessageActions } from "./src/channel-actions.js";
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
export { auditDiscordChannelPermissions, collectDiscordAuditChannelIds } from "./src/audit.js";
2+
export {
3+
listDiscordDirectoryGroupsLive,
4+
listDiscordDirectoryPeersLive,
5+
} from "./src/directory-live.js";
6+
export {
7+
fetchDiscordApplicationId,
8+
fetchDiscordApplicationSummary,
9+
parseApplicationIdFromToken,
10+
probeDiscord,
11+
resolveDiscordPrivilegedIntentsFromFlags,
12+
type DiscordApplicationSummary,
13+
type DiscordPrivilegedIntentsSummary,
14+
type DiscordPrivilegedIntentStatus,
15+
type DiscordProbe,
16+
} from "./src/probe.js";
17+
export {
18+
resolveDiscordChannelAllowlist,
19+
type DiscordChannelResolution,
20+
} from "./src/resolve-channels.js";
21+
export { resolveDiscordUserAllowlist, type DiscordUserResolution } from "./src/resolve-users.js";
22+
export { setDiscordRuntime } from "./src/runtime.js";
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
export {
2+
allowListMatches,
3+
buildDiscordMediaPayload,
4+
createDiscordMessageHandler,
5+
createDiscordNativeCommand,
6+
isDiscordGroupAllowedByPolicy,
7+
monitorDiscordProvider,
8+
normalizeDiscordAllowList,
9+
normalizeDiscordSlug,
10+
registerDiscordListener,
11+
resolveDiscordChannelConfig,
12+
resolveDiscordChannelConfigWithFallback,
13+
resolveDiscordCommandAuthorized,
14+
resolveDiscordGuildEntry,
15+
resolveDiscordReplyTarget,
16+
resolveDiscordShouldRequireMention,
17+
resolveGroupDmAllow,
18+
sanitizeDiscordThreadName,
19+
shouldEmitDiscordReactionNotification,
20+
type DiscordAllowList,
21+
type DiscordChannelConfigResolved,
22+
type DiscordGuildEntryResolved,
23+
type DiscordMessageEvent,
24+
type DiscordMessageHandler,
25+
type MonitorDiscordOpts,
26+
} from "./src/monitor.js";
27+
export {
28+
createDiscordGatewayPlugin,
29+
resolveDiscordGatewayIntents,
30+
waitForDiscordGatewayPluginRegistration,
31+
} from "./src/monitor/gateway-plugin.js";
32+
export {
33+
clearGateways,
34+
getGateway,
35+
registerGateway,
36+
unregisterGateway,
37+
} from "./src/monitor/gateway-registry.js";
38+
export {
39+
clearPresences,
40+
getPresence,
41+
presenceCacheSize,
42+
setPresence,
43+
} from "./src/monitor/presence-cache.js";
44+
export {
45+
DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS,
46+
DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS,
47+
DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS,
48+
DISCORD_DEFAULT_LISTENER_TIMEOUT_MS,
49+
mergeAbortSignals,
50+
} from "./src/monitor/timeouts.js";
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
export {
2+
resolveDiscordOutboundSessionRoute,
3+
type ResolveDiscordOutboundSessionRouteParams,
4+
} from "./src/outbound-session-route.js";
5+
export {
6+
addRoleDiscord,
7+
banMemberDiscord,
8+
createChannelDiscord,
9+
createScheduledEventDiscord,
10+
createThreadDiscord,
11+
deleteChannelDiscord,
12+
deleteMessageDiscord,
13+
DiscordSendError,
14+
editChannelDiscord,
15+
editMessageDiscord,
16+
fetchChannelInfoDiscord,
17+
fetchChannelPermissionsDiscord,
18+
fetchMemberGuildPermissionsDiscord,
19+
fetchMemberInfoDiscord,
20+
fetchMessageDiscord,
21+
fetchReactionsDiscord,
22+
fetchRoleInfoDiscord,
23+
fetchVoiceStatusDiscord,
24+
hasAllGuildPermissionsDiscord,
25+
hasAnyGuildPermissionDiscord,
26+
kickMemberDiscord,
27+
listGuildChannelsDiscord,
28+
listGuildEmojisDiscord,
29+
listPinsDiscord,
30+
listScheduledEventsDiscord,
31+
listThreadsDiscord,
32+
moveChannelDiscord,
33+
pinMessageDiscord,
34+
reactMessageDiscord,
35+
readMessagesDiscord,
36+
removeChannelPermissionDiscord,
37+
removeOwnReactionsDiscord,
38+
removeReactionDiscord,
39+
removeRoleDiscord,
40+
resolveEventCoverImage,
41+
searchMessagesDiscord,
42+
sendMessageDiscord,
43+
sendPollDiscord,
44+
sendStickerDiscord,
45+
sendTypingDiscord,
46+
sendVoiceMessageDiscord,
47+
sendWebhookMessageDiscord,
48+
setChannelPermissionDiscord,
49+
timeoutMemberDiscord,
50+
unpinMessageDiscord,
51+
uploadEmojiDiscord,
52+
uploadStickerDiscord,
53+
type DiscordChannelCreate,
54+
type DiscordChannelEdit,
55+
type DiscordChannelMove,
56+
type DiscordChannelPermissionSet,
57+
type DiscordEmojiUpload,
58+
type DiscordMessageEdit,
59+
type DiscordMessageQuery,
60+
type DiscordModerationTarget,
61+
type DiscordPermissionsSummary,
62+
type DiscordReactionRuntimeContext,
63+
type DiscordReactionSummary,
64+
type DiscordReactionUser,
65+
type DiscordReactOpts,
66+
type DiscordRoleChange,
67+
type DiscordRuntimeAccountContext,
68+
type DiscordSearchQuery,
69+
type DiscordSendResult,
70+
type DiscordStickerUpload,
71+
type DiscordThreadCreate,
72+
type DiscordThreadList,
73+
type DiscordTimeoutTarget,
74+
} from "./src/send.js";
75+
export {
76+
editDiscordComponentMessage,
77+
registerBuiltDiscordComponentMessage,
78+
sendDiscordComponentMessage,
79+
} from "./src/send.components.js";
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
export {
2+
__testing,
3+
autoBindSpawnedDiscordSubagent,
4+
createNoopThreadBindingManager,
5+
createThreadBindingManager,
6+
formatThreadBindingDurationLabel,
7+
getThreadBindingManager,
8+
isRecentlyUnboundThreadWebhookMessage,
9+
listThreadBindingsBySessionKey,
10+
listThreadBindingsForAccount,
11+
reconcileAcpThreadBindingsOnStartup,
12+
resolveDiscordThreadBindingIdleTimeoutMs,
13+
resolveDiscordThreadBindingMaxAgeMs,
14+
resolveThreadBindingIdleTimeoutMs,
15+
resolveThreadBindingInactivityExpiresAt,
16+
resolveThreadBindingIntroText,
17+
resolveThreadBindingMaxAgeExpiresAt,
18+
resolveThreadBindingMaxAgeMs,
19+
resolveThreadBindingPersona,
20+
resolveThreadBindingPersonaFromRecord,
21+
resolveThreadBindingsEnabled,
22+
resolveThreadBindingThreadName,
23+
setThreadBindingIdleTimeoutBySessionKey,
24+
setThreadBindingMaxAgeBySessionKey,
25+
unbindThreadBindingsBySessionKey,
26+
type AcpThreadBindingReconciliationResult,
27+
type ThreadBindingManager,
28+
type ThreadBindingRecord,
29+
type ThreadBindingTargetKind,
30+
} from "./src/monitor/thread-bindings.js";

0 commit comments

Comments
 (0)