refactor(platform): Phase 731 index import bundles and bootstrap

Extract platform-pearcord-shared-imports, platform-index-local-imports,
platform-bootstrap, and explicit delivery-receipts named exports (173).
Add ALL_GOSSIP_ALIGNMENT_ROWS and PLATFORM_MIXIN_ASSIGNMENT_COUNT guard.
No behavior or mesh semantics changes.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-03 10:10:58 -04:00
co-authored by Cursor
parent 59314420af
commit 584d1a1565
8 changed files with 313 additions and 24 deletions
+2
View File
@@ -54,6 +54,8 @@ Application facade: one `PearcordPlatform` class that wires identity, database,
**Phase 723 (v0.8.699):** Dedicated slash registry & invoke audit export JSON — `slash-registry-json-mixin.js`, `slash-invoke-audit-json-mixin.js`, spans `slash-registry.json` / `slash-invoke-audit.json`, `getSlashInvokeAuditExportJsonExport`, `clearSlashInvokeAuditExportJsonExports`, deep links `openSlashRegistryJson` / `openSlashInvokeAuditJson`. Bundle: `npm run test:ci-phase723`.
**Phase 731 (v0.8.707):** `platform-pearcord-shared-imports.js`, `platform-index-local-imports.js`, named `platform-delivery-receipts-imports.js`, `platform-bootstrap.js`; gossip registry `ALL_GOSSIP_ALIGNMENT_ROWS`. Bundle: `npm run test:ci-phase731`.
**Phase 730 (v0.8.706):** `platform-mixin-assign-manifest.js` drives 59 prototype mixin assigns; `json-export-gossip-alignment-validate.js` + registry-backed smokes; `platform-ipc-contract.js`; digest-json per-entry gossip keys. Bundle: `npm run test:ci-phase730`.
**Phase 729 (v0.8.705):** Dual-heal legacy json mixins repaired (voice/stage/screen gossip keys + heal contexts); per-entry `keysField`/`initMethod` on 14 dual-heal files; `json-export-gossip-registry.js` alignment tables; `platform-hyperdb-sync.js` extracted from index. Bundle: `npm run test:ci-phase729`.
+17 -20
View File
@@ -346,23 +346,20 @@ const {
const {
meshRejoinJitterMs,
computeMeshPeerQualityScore,
rankMeshPeersByQuality
} = require('./mesh-peer-quality')
const { deriveSyncBundleId, guildSyncReplay } = require('./guild-sync-replay')
const { MarkReadFanoutQueue } = require('./mark-read-fanout')
const { computeAdaptiveStatePollMs } = require('./state-poll-adaptive')
const { createDiscoveryListFrameDedupe } = require('./discovery-frame-dedupe')
const { createPollDbReadBudget } = require('./poll-db-read-budget')
const {
rankMeshPeersByQuality,
deriveSyncBundleId,
guildSyncReplay,
MarkReadFanoutQueue,
computeAdaptiveStatePollMs,
createDiscoveryListFrameDedupe,
createPollDbReadBudget,
shouldUseMeshQuietMode,
meshQuietModePollMultiplier
} = require('./mesh-guild-backoff')
const {
meshQuietModePollMultiplier,
checksumSettingsSnapshot,
pruneStaleComposeDrafts,
auditMessageReactionCrossRefs,
pinWithMessageFallback
} = require('./view-integrity-phase409')
} = require('./platform-index-local-imports')
const { createTopicMergeCounters } = require('pearcord-channel-meta/topic-merge-counters')
const { sanitizeAutomationEventPayload } = require('pearcord-automation-export')
const { IPC_CONTRACT_VERSION } = require('./platform-ipc-contract')
@@ -412,11 +409,11 @@ const {
validatePastedNavigationInput,
pasteValidationToast,
formatPearcordDeepLink,
formatGuildDeepLink: buildGuildDeepLink,
formatInviteDeepLink: buildInviteDeepLink,
formatDevicePairDeepLink: buildDevicePairDeepLink,
formatExploreBaselineDeepLink: buildExploreBaselineDeepLink,
formatSettingsDeepLink: buildSettingsDeepLink,
buildGuildDeepLink,
buildInviteDeepLink,
buildDevicePairDeepLink,
buildExploreBaselineDeepLink,
buildSettingsDeepLink,
parseDmPollCreateCommand,
parseDmScheduleCreateCommand,
normalizeDmScheduledMessagePayload,
@@ -437,7 +434,7 @@ const {
guildTopic,
id,
now
} = require('pearcord-shared')
} = require('./platform-pearcord-shared-imports')
const { PearcordGuildRoles, PERMISSION_META } = require('pearcord-guild-roles')
const {
PearcordChannelPermissions,
@@ -34666,5 +34663,5 @@ class PearcordPlatform extends EventEmitter {
module.exports = { PearcordPlatform, USER_STATUS }
const { applyPlatformMixins } = require('./apply-platform-mixins')
applyPlatformMixins(PearcordPlatform)
const { bootstrapPearcordPlatform } = require('./platform-bootstrap')
bootstrapPearcordPlatform(PearcordPlatform)
+6 -1
View File
@@ -107,7 +107,12 @@ const DUAL_HEAL_DEDICATED_ALIGNMENT = [
}
]
const ALL_GOSSIP_ALIGNMENT_ROWS = DELEGATE_DEDICATED_ALIGNMENT.concat(
DUAL_HEAL_DEDICATED_ALIGNMENT
)
module.exports = {
DELEGATE_DEDICATED_ALIGNMENT,
DUAL_HEAL_DEDICATED_ALIGNMENT
DUAL_HEAL_DEDICATED_ALIGNMENT,
ALL_GOSSIP_ALIGNMENT_ROWS
}
+10
View File
@@ -0,0 +1,10 @@
'use strict'
const { applyPlatformMixins } = require('./apply-platform-mixins')
/** Apply all prototype mixins after PearcordPlatform class definition (Phase 731). */
function bootstrapPearcordPlatform (PearcordPlatform) {
applyPlatformMixins(PearcordPlatform)
}
module.exports = { bootstrapPearcordPlatform }
+178 -2
View File
@@ -1,4 +1,180 @@
'use strict'
/** Re-export subset of pearcord-delivery-receipts used by PearcordPlatform (keeps index.js lean). */
module.exports = require('pearcord-delivery-receipts')
/** Named pearcord-delivery-receipts surface for PearcordPlatform (Phase 731). */
const dr = require('pearcord-delivery-receipts')
module.exports = {
DeliveryReceiptStore: dr.DeliveryReceiptStore,
AutomationHookDispatcher: dr.AutomationHookDispatcher,
summarizeReceipts: dr.summarizeReceipts,
DEFAULT_MAX_AGE_MS: dr.DEFAULT_MAX_AGE_MS,
buildSampleAppEvent: dr.buildSampleAppEvent,
dryRunHook: dr.dryRunHook,
dryRunHooks: dr.dryRunHooks,
buildDeliveryMetrics: dr.buildDeliveryMetrics,
buildHookFailureDigest: dr.buildHookFailureDigest,
buildHookFailureAlert: dr.buildHookFailureAlert,
AUDIT_FILTER: dr.AUDIT_FILTER,
filterAuditEntries: dr.filterAuditEntries,
formatAuditExport: dr.formatAuditExport,
formatHookFailureDigestExport: dr.formatHookFailureDigestExport,
signHookFailureDigestJson: dr.signHookFailureDigestJson,
verifyHookFailureDigestJson: dr.verifyHookFailureDigestJson,
signAuditExportJson: dr.signAuditExportJson,
verifyAuditExportJson: dr.verifyAuditExportJson,
buildDigestRelayHandoffJsonBody: dr.buildDigestRelayHandoffJsonBody,
signDigestRelayHandoffJson: dr.signDigestRelayHandoffJson,
verifyDigestRelayHandoffJson: dr.verifyDigestRelayHandoffJson,
buildArchivePeerExportJsonBody: dr.buildArchivePeerExportJsonBody,
signArchivePeerExportJson: dr.signArchivePeerExportJson,
verifyArchivePeerExportJson: dr.verifyArchivePeerExportJson,
buildWorkerReleaseJsonBody: dr.buildWorkerReleaseJsonBody,
signWorkerReleaseJson: dr.signWorkerReleaseJson,
verifyWorkerReleaseJson: dr.verifyWorkerReleaseJson,
buildIntegrationManifestExportJsonBody: dr.buildIntegrationManifestExportJsonBody,
signIntegrationManifestExportJson: dr.signIntegrationManifestExportJson,
verifyIntegrationManifestExportJson: dr.verifyIntegrationManifestExportJson,
buildBotRegistryJsonBody: dr.buildBotRegistryJsonBody,
signBotRegistryJson: dr.signBotRegistryJson,
verifyBotRegistryJson: dr.verifyBotRegistryJson,
buildWebhookExecuteExportJsonBody: dr.buildWebhookExecuteExportJsonBody,
signWebhookExecuteExportJson: dr.signWebhookExecuteExportJson,
verifyWebhookExecuteExportJson: dr.verifyWebhookExecuteExportJson,
buildSlashRegistryJsonBody: dr.buildSlashRegistryJsonBody,
signSlashRegistryJson: dr.signSlashRegistryJson,
verifySlashRegistryJson: dr.verifySlashRegistryJson,
buildSlashInvokeAuditExportJsonBody: dr.buildSlashInvokeAuditExportJsonBody,
signSlashInvokeAuditExportJson: dr.signSlashInvokeAuditExportJson,
verifySlashInvokeAuditExportJson: dr.verifySlashInvokeAuditExportJson,
buildOAuthGrantJsonBody: dr.buildOAuthGrantJsonBody,
signOAuthGrantJson: dr.signOAuthGrantJson,
verifyOAuthGrantJson: dr.verifyOAuthGrantJson,
buildOAuthInstallTokenExportJsonBody: dr.buildOAuthInstallTokenExportJsonBody,
signOAuthInstallTokenExportJson: dr.signOAuthInstallTokenExportJson,
verifyOAuthInstallTokenExportJson: dr.verifyOAuthInstallTokenExportJson,
buildInviteLinkJsonBody: dr.buildInviteLinkJsonBody,
signInviteLinkJson: dr.signInviteLinkJson,
verifyInviteLinkJson: dr.verifyInviteLinkJson,
buildVanityUrlExportJsonBody: dr.buildVanityUrlExportJsonBody,
signVanityUrlExportJson: dr.signVanityUrlExportJson,
verifyVanityUrlExportJson: dr.verifyVanityUrlExportJson,
buildRoleOverrideJsonBody: dr.buildRoleOverrideJsonBody,
signRoleOverrideJson: dr.signRoleOverrideJson,
verifyRoleOverrideJson: dr.verifyRoleOverrideJson,
buildEffectivePermissionExportJsonBody: dr.buildEffectivePermissionExportJsonBody,
signEffectivePermissionExportJson: dr.signEffectivePermissionExportJson,
verifyEffectivePermissionExportJson: dr.verifyEffectivePermissionExportJson,
buildEmojiRegistryJsonBody: dr.buildEmojiRegistryJsonBody,
signEmojiRegistryJson: dr.signEmojiRegistryJson,
verifyEmojiRegistryJson: dr.verifyEmojiRegistryJson,
buildStickerPackExportJsonBody: dr.buildStickerPackExportJsonBody,
signStickerPackExportJson: dr.signStickerPackExportJson,
verifyStickerPackExportJson: dr.verifyStickerPackExportJson,
buildMemberRosterJsonBody: dr.buildMemberRosterJsonBody,
signMemberRosterJson: dr.signMemberRosterJson,
verifyMemberRosterJson: dr.verifyMemberRosterJson,
buildModerationTimeoutExportJsonBody: dr.buildModerationTimeoutExportJsonBody,
signModerationTimeoutExportJson: dr.signModerationTimeoutExportJson,
verifyModerationTimeoutExportJson: dr.verifyModerationTimeoutExportJson,
buildBanRegistryJsonBody: dr.buildBanRegistryJsonBody,
signBanRegistryJson: dr.signBanRegistryJson,
verifyBanRegistryJson: dr.verifyBanRegistryJson,
buildAutomodRuleExportJsonBody: dr.buildAutomodRuleExportJsonBody,
signAutomodRuleExportJson: dr.signAutomodRuleExportJson,
verifyAutomodRuleExportJson: dr.verifyAutomodRuleExportJson,
buildPollRegistryJsonBody: dr.buildPollRegistryJsonBody,
signPollRegistryJson: dr.signPollRegistryJson,
verifyPollRegistryJson: dr.verifyPollRegistryJson,
buildScheduledMessageExportJsonBody: dr.buildScheduledMessageExportJsonBody,
signScheduledMessageExportJson: dr.signScheduledMessageExportJson,
verifyScheduledMessageExportJson: dr.verifyScheduledMessageExportJson,
buildPinRegistryJsonBody: dr.buildPinRegistryJsonBody,
signPinRegistryJson: dr.signPinRegistryJson,
verifyPinRegistryJson: dr.verifyPinRegistryJson,
buildReactionSummaryExportJsonBody: dr.buildReactionSummaryExportJsonBody,
signReactionSummaryExportJson: dr.signReactionSummaryExportJson,
verifyReactionSummaryExportJson: dr.verifyReactionSummaryExportJson,
buildThreadArchiveJsonBody: dr.buildThreadArchiveJsonBody,
signThreadArchiveJson: dr.signThreadArchiveJson,
verifyThreadArchiveJson: dr.verifyThreadArchiveJson,
buildForumTagExportJsonBody: dr.buildForumTagExportJsonBody,
signForumTagExportJson: dr.signForumTagExportJson,
verifyForumTagExportJson: dr.verifyForumTagExportJson,
buildStageInstanceJsonBody: dr.buildStageInstanceJsonBody,
signStageInstanceJson: dr.signStageInstanceJson,
verifyStageInstanceJson: dr.verifyStageInstanceJson,
buildGuildEventExportJsonBody: dr.buildGuildEventExportJsonBody,
signGuildEventExportJson: dr.signGuildEventExportJson,
verifyGuildEventExportJson: dr.verifyGuildEventExportJson,
buildVoiceStateJsonBody: dr.buildVoiceStateJsonBody,
signVoiceStateJson: dr.signVoiceStateJson,
verifyVoiceStateJson: dr.verifyVoiceStateJson,
buildBoostLedgerExportJsonBody: dr.buildBoostLedgerExportJsonBody,
signBoostLedgerExportJson: dr.signBoostLedgerExportJson,
verifyBoostLedgerExportJson: dr.verifyBoostLedgerExportJson,
buildScreenShareJsonBody: dr.buildScreenShareJsonBody,
signScreenShareJson: dr.signScreenShareJson,
verifyScreenShareJson: dr.verifyScreenShareJson,
buildSoundboardRegistryExportJsonBody: dr.buildSoundboardRegistryExportJsonBody,
signSoundboardRegistryExportJson: dr.signSoundboardRegistryExportJson,
verifySoundboardRegistryExportJson: dr.verifySoundboardRegistryExportJson,
buildPresenceActivityJsonBody: dr.buildPresenceActivityJsonBody,
signPresenceActivityJson: dr.signPresenceActivityJson,
verifyPresenceActivityJson: dr.verifyPresenceActivityJson,
buildReadStateExportJsonBody: dr.buildReadStateExportJsonBody,
signReadStateExportJson: dr.signReadStateExportJson,
verifyReadStateExportJson: dr.verifyReadStateExportJson,
buildNotificationOverrideJsonBody: dr.buildNotificationOverrideJsonBody,
signNotificationOverrideJson: dr.signNotificationOverrideJson,
verifyNotificationOverrideJson: dr.verifyNotificationOverrideJson,
buildChannelFollowExportJsonBody: dr.buildChannelFollowExportJsonBody,
signChannelFollowExportJson: dr.signChannelFollowExportJson,
verifyChannelFollowExportJson: dr.verifyChannelFollowExportJson,
buildCustomStatusJsonBody: dr.buildCustomStatusJsonBody,
signCustomStatusJson: dr.signCustomStatusJson,
verifyCustomStatusJson: dr.verifyCustomStatusJson,
buildGuildWidgetExportJsonBody: dr.buildGuildWidgetExportJsonBody,
signGuildWidgetExportJson: dr.signGuildWidgetExportJson,
verifyGuildWidgetExportJson: dr.verifyGuildWidgetExportJson,
buildActivityInviteJsonBody: dr.buildActivityInviteJsonBody,
signActivityInviteJson: dr.signActivityInviteJson,
verifyActivityInviteJson: dr.verifyActivityInviteJson,
buildProfileBannerExportJsonBody: dr.buildProfileBannerExportJsonBody,
signProfileBannerExportJson: dr.signProfileBannerExportJson,
verifyProfileBannerExportJson: dr.verifyProfileBannerExportJson,
buildSessionActivityJsonBody: dr.buildSessionActivityJsonBody,
signSessionActivityJson: dr.signSessionActivityJson,
verifySessionActivityJson: dr.verifySessionActivityJson,
buildAvatarDecorationExportJsonBody: dr.buildAvatarDecorationExportJsonBody,
signAvatarDecorationExportJson: dr.signAvatarDecorationExportJson,
verifyAvatarDecorationExportJson: dr.verifyAvatarDecorationExportJson,
buildDeviceSyncJsonBody: dr.buildDeviceSyncJsonBody,
signDeviceSyncJson: dr.signDeviceSyncJson,
verifyDeviceSyncJson: dr.verifyDeviceSyncJson,
buildDiscoveryListingExportJsonBody: dr.buildDiscoveryListingExportJsonBody,
signDiscoveryListingExportJson: dr.signDiscoveryListingExportJson,
verifyDiscoveryListingExportJson: dr.verifyDiscoveryListingExportJson,
buildFederationSyncJsonBody: dr.buildFederationSyncJsonBody,
signFederationSyncJson: dr.signFederationSyncJson,
verifyFederationSyncJson: dr.verifyFederationSyncJson,
buildMeshReplicationDiagnosticsJsonBody: dr.buildMeshReplicationDiagnosticsJsonBody,
signMeshReplicationDiagnosticsJson: dr.signMeshReplicationDiagnosticsJson,
verifyMeshReplicationDiagnosticsJson: dr.verifyMeshReplicationDiagnosticsJson,
buildMultiGuildSyncJsonBody: dr.buildMultiGuildSyncJsonBody,
signMultiGuildSyncJson: dr.signMultiGuildSyncJson,
verifyMultiGuildSyncJson: dr.verifyMultiGuildSyncJson,
buildPartitionHealDiagnosticsJsonBody: dr.buildPartitionHealDiagnosticsJsonBody,
signPartitionHealDiagnosticsJson: dr.signPartitionHealDiagnosticsJson,
verifyPartitionHealDiagnosticsJson: dr.verifyPartitionHealDiagnosticsJson,
formatAutomationScheduleDigestExport: dr.formatAutomationScheduleDigestExport,
mergeHookFailureDigests: dr.mergeHookFailureDigests,
buildAutomationScheduleDashboard: dr.buildAutomationScheduleDashboard,
buildAutomationHealthDashboard: dr.buildAutomationHealthDashboard,
buildDigestRelayHandoff: dr.buildDigestRelayHandoff,
formatHookFailureDigestDmSummary: dr.formatHookFailureDigestDmSummary,
computeArchivePeerHealthScore: dr.computeArchivePeerHealthScore,
applyArchivePeerHealthDecay: dr.applyArchivePeerHealthDecay,
computeArchiveFetchBackoffMs: dr.computeArchiveFetchBackoffMs,
HookFailureAlertStore: dr.HookFailureAlertStore,
RECEIPTS_COLLECTION: dr.RECEIPTS_COLLECTION
}
+29
View File
@@ -0,0 +1,29 @@
'use strict'
/** Local platform modules used by PearcordPlatform index (Phase 731). */
const meshPeerQuality = require('./mesh-peer-quality')
const guildSyncReplay = require('./guild-sync-replay')
const markReadFanout = require('./mark-read-fanout')
const statePollAdaptive = require('./state-poll-adaptive')
const discoveryFrameDedupe = require('./discovery-frame-dedupe')
const pollDbReadBudget = require('./poll-db-read-budget')
const meshGuildBackoff = require('./mesh-guild-backoff')
const viewIntegrity = require('./view-integrity-phase409')
module.exports = {
meshRejoinJitterMs: meshPeerQuality.meshRejoinJitterMs,
computeMeshPeerQualityScore: meshPeerQuality.computeMeshPeerQualityScore,
rankMeshPeersByQuality: meshPeerQuality.rankMeshPeersByQuality,
deriveSyncBundleId: guildSyncReplay.deriveSyncBundleId,
guildSyncReplay: guildSyncReplay.guildSyncReplay,
MarkReadFanoutQueue: markReadFanout.MarkReadFanoutQueue,
computeAdaptiveStatePollMs: statePollAdaptive.computeAdaptiveStatePollMs,
createDiscoveryListFrameDedupe: discoveryFrameDedupe.createDiscoveryListFrameDedupe,
createPollDbReadBudget: pollDbReadBudget.createPollDbReadBudget,
shouldUseMeshQuietMode: meshGuildBackoff.shouldUseMeshQuietMode,
meshQuietModePollMultiplier: meshGuildBackoff.meshQuietModePollMultiplier,
checksumSettingsSnapshot: viewIntegrity.checksumSettingsSnapshot,
pruneStaleComposeDrafts: viewIntegrity.pruneStaleComposeDrafts,
auditMessageReactionCrossRefs: viewIntegrity.auditMessageReactionCrossRefs,
pinWithMessageFallback: viewIntegrity.pinWithMessageFallback
}
+12 -1
View File
@@ -4,6 +4,8 @@
* Ordered PearcordPlatform prototype mixin registration (Phase 730).
* Preserves assign order from index.js / apply-platform-mixins (Phase 727).
*/
const PLATFORM_MIXIN_ASSIGNMENT_COUNT = 59
const PLATFORM_MIXIN_ASSIGNMENTS = [
{ module: './polls-scheduling', export: 'pollSchedulingMixin' },
{ module: './notifications-activity', export: 'notificationsActivityMixin' },
@@ -66,4 +68,13 @@ const PLATFORM_MIXIN_ASSIGNMENTS = [
{ module: './integration-manifest-json-mixin', export: 'integrationManifestJsonMixin' }
]
module.exports = { PLATFORM_MIXIN_ASSIGNMENTS }
if (PLATFORM_MIXIN_ASSIGNMENTS.length !== PLATFORM_MIXIN_ASSIGNMENT_COUNT) {
throw new Error(
`PLATFORM_MIXIN_ASSIGNMENT_COUNT mismatch: ${PLATFORM_MIXIN_ASSIGNMENTS.length} !== ${PLATFORM_MIXIN_ASSIGNMENT_COUNT}`
)
}
module.exports = {
PLATFORM_MIXIN_ASSIGNMENT_COUNT,
PLATFORM_MIXIN_ASSIGNMENTS
}
+59
View File
@@ -0,0 +1,59 @@
'use strict'
/** pearcord-shared bindings used by PearcordPlatform (Phase 731 extract). */
const shared = require('pearcord-shared')
module.exports = {
COLLECTIONS: shared.COLLECTIONS,
CHANNEL_TYPES: shared.CHANNEL_TYPES,
USER_STATUS: shared.USER_STATUS,
PERMISSION: shared.PERMISSION,
roleHasPermission: shared.roleHasPermission,
memberCanParticipate: shared.memberCanParticipate,
memberCanViewChannel: shared.memberCanViewChannel,
memberCanConnectVoice: shared.memberCanConnectVoice,
memberCanSpeakInVoice: shared.memberCanSpeakInVoice,
memberCanJoinVoiceListenOnly: shared.memberCanJoinVoiceListenOnly,
MEMBER_ROLES: shared.MEMBER_ROLES,
memberHasPermission: shared.memberHasPermission,
canModifyMessage: shared.canModifyMessage,
resolveMentionedUserIds: shared.resolveMentionedUserIds,
contentHasEveryoneMention: shared.contentHasEveryoneMention,
contentHasHereMention: shared.contentHasHereMention,
contentHasEveryoneOrHereMention: shared.contentHasEveryoneOrHereMention,
contentHasChannelMention: shared.contentHasChannelMention,
extractFirstUrl: shared.extractFirstUrl,
extractUrls: shared.extractUrls,
shouldUnfurlMessageLayout: shared.shouldUnfurlMessageLayout,
isEmbedDomainBlocked: shared.isEmbedDomainBlocked,
parsePearcordDeepLink: shared.parsePearcordDeepLink,
ALLOWED_DEEP_LINK_KINDS: shared.ALLOWED_DEEP_LINK_KINDS,
validatePastedNavigationInput: shared.validatePastedNavigationInput,
pasteValidationToast: shared.pasteValidationToast,
formatPearcordDeepLink: shared.formatPearcordDeepLink,
buildGuildDeepLink: shared.formatGuildDeepLink,
buildInviteDeepLink: shared.formatInviteDeepLink,
buildDevicePairDeepLink: shared.formatDevicePairDeepLink,
buildExploreBaselineDeepLink: shared.formatExploreBaselineDeepLink,
buildSettingsDeepLink: shared.formatSettingsDeepLink,
parseDmPollCreateCommand: shared.parseDmPollCreateCommand,
parseDmScheduleCreateCommand: shared.parseDmScheduleCreateCommand,
normalizeDmScheduledMessagePayload: shared.normalizeDmScheduledMessagePayload,
DM_SCHEDULE_MAX_QUEUED_PER_CHANNEL: shared.DM_SCHEDULE_MAX_QUEUED_PER_CHANNEL,
DM_SCHEDULE_MAX_SEND_ATTEMPTS: shared.DM_SCHEDULE_MAX_SEND_ATTEMPTS,
DM_SCHEDULE_STALE_RETENTION_MS: shared.DM_SCHEDULE_STALE_RETENTION_MS,
computeDmScheduleRetryDelayMs: shared.computeDmScheduleRetryDelayMs,
computeNextRecurrenceSendAt: shared.computeNextRecurrenceSendAt,
buildDmPollMessageContent: shared.buildDmPollMessageContent,
parseDmPollMessageContent: shared.parseDmPollMessageContent,
pollVoteEmoji: shared.pollVoteEmoji,
DM_POLL_DEFAULT_EXPIRES_MS: shared.DM_POLL_DEFAULT_EXPIRES_MS,
VOICE_NOTE_MAX_BYTES: shared.VOICE_NOTE_MAX_BYTES,
groupDmVoiceNoteMaxBytes: shared.groupDmVoiceNoteMaxBytes,
buildVoiceNoteCreatePayload: shared.buildVoiceNoteCreatePayload,
groupDmAttachmentMaxBytes: shared.groupDmAttachmentMaxBytes,
DEFAULT_ATTACHMENT_MAX_BYTES: shared.DEFAULT_ATTACHMENT_MAX_BYTES,
guildTopic: shared.guildTopic,
id: shared.id,
now: shared.now
}