Extract _hyperswarmOpts/_newHyperswarm and _startupStepTimeout to platform-hyperswarm-runtime-mixin and platform-session-startup-mixin (62 manifest rows). Add platform-class-imports and platform-index-export-manifest; registries derive counts from manifest. No behavior change. Co-authored-by: Cursor <[email protected]>
121 lines
2.8 KiB
JavaScript
121 lines
2.8 KiB
JavaScript
'use strict'
|
|
|
|
const { INDEX_IMPORT_SCOPES, INDEX_IMPORT_SCOPE_COUNT } = require('./platform-index-scope-registry')
|
|
|
|
const INDEX_PREAMBLE_EXPORT_KEYS = [
|
|
'swarmScope',
|
|
'dmScope',
|
|
'appEventsScope',
|
|
'automationScope',
|
|
'deliveryScope',
|
|
'integrationScope',
|
|
'botAuthScope',
|
|
'cryptoScope',
|
|
'threadsScope',
|
|
'searchScope',
|
|
'channelMetaScope',
|
|
'localScope',
|
|
'foldersScope',
|
|
'enrichmentScope',
|
|
'sharedScope',
|
|
'permissionsScope',
|
|
'hyperdbScope',
|
|
'createLogger',
|
|
'LocalDatabase',
|
|
'PearcordIdentity',
|
|
'resolveStoragePath',
|
|
'writeOnboardedMarker',
|
|
'PearcordGuild',
|
|
'GuildReplicator',
|
|
'GuildSidecarStore',
|
|
'PearcordMessage',
|
|
'PearcordPresence',
|
|
'PearcordInvite',
|
|
'DmVideoFramePublisher',
|
|
'PearcordAttachments',
|
|
'PearcordVoiceNotes',
|
|
'canSendVoiceNote',
|
|
'PearcordModeration',
|
|
'PearcordVoice',
|
|
'VoiceMediaHub',
|
|
'PearcordDmVoice',
|
|
'VoiceCaptureFeed',
|
|
'PearcordSlashRegistry',
|
|
'parseSlashInvocation',
|
|
'PearcordEmojiRegistry',
|
|
'buildEmojiSlotSnapshot',
|
|
'BotEventFanout',
|
|
'BOT_EVENTS',
|
|
'exportBodyFromSlice',
|
|
'PearcordIntegrationWorker',
|
|
'INTENTS',
|
|
'BotRateLimits',
|
|
'PearcordStepUp',
|
|
'PearcordForum',
|
|
'PearcordStage',
|
|
'STAGE_ROLE',
|
|
'isStageChannel',
|
|
'PearcordAutomod',
|
|
'PearcordWebhooks',
|
|
'ScreenShareHub',
|
|
'broadcastScreenMedia',
|
|
'DisplayCaptureFeed',
|
|
'PearcordAnnouncements',
|
|
'formatCrosspostBody',
|
|
'PearcordBoosts',
|
|
'MAX_BOOSTS',
|
|
'MAX_SLOTS_PER_USER',
|
|
'PearcordStickerRegistry',
|
|
'PearcordSoundboardRegistry',
|
|
'decodeSoundToPcm',
|
|
'ALLOWED_MIMES',
|
|
'PearcordAnnouncementHub',
|
|
'formatRemoteHubBody',
|
|
'buildHubMirrorCard',
|
|
'formatHubMirrorFallback',
|
|
'PearcordContacts',
|
|
'PearcordNotifications',
|
|
'PearcordSettings',
|
|
'UserPrefsMirrorStore',
|
|
'DmCallHistoryStore',
|
|
'PearcordProfileCosmetics',
|
|
'enrichProfileCosmeticGossip',
|
|
'enrichGuildUpdateGossip',
|
|
'pickBannerHash',
|
|
'PearcordDeviceSync',
|
|
'PearcordDiscovery',
|
|
'collectDiscoveryTags',
|
|
'getListingTtlMs',
|
|
'getGuildDrive',
|
|
'isHexDriveKey',
|
|
'fetchFromProvider',
|
|
'PearcordEmbed',
|
|
'forumPostHaystack',
|
|
'buildActivityFeed',
|
|
'enrichActivityWithAttachments',
|
|
'IPC_CONTRACT_VERSION',
|
|
'Hyperswarm'
|
|
]
|
|
|
|
const INDEX_TOP_LEVEL_BINDING_KEYS = [
|
|
...INDEX_PREAMBLE_EXPORT_KEYS,
|
|
'id',
|
|
'now',
|
|
'guildTopic'
|
|
]
|
|
|
|
const INDEX_PREAMBLE_EXPORT_KEY_COUNT = INDEX_PREAMBLE_EXPORT_KEYS.length
|
|
const INDEX_TOP_LEVEL_BINDING_KEY_COUNT = INDEX_TOP_LEVEL_BINDING_KEYS.length
|
|
|
|
const preambleScopeCount = INDEX_PREAMBLE_EXPORT_KEYS.filter((k) => k.endsWith('Scope')).length
|
|
if (preambleScopeCount !== INDEX_IMPORT_SCOPE_COUNT) {
|
|
throw new Error(`preamble scope keys ${preambleScopeCount} !== registry ${INDEX_IMPORT_SCOPE_COUNT}`)
|
|
}
|
|
|
|
module.exports = {
|
|
INDEX_PREAMBLE_EXPORT_KEYS,
|
|
INDEX_TOP_LEVEL_BINDING_KEYS,
|
|
INDEX_PREAMBLE_EXPORT_KEY_COUNT,
|
|
INDEX_TOP_LEVEL_BINDING_KEY_COUNT
|
|
}
|