Files
pearcord-platform/platform-index-export-manifest.js
T
Raven ScottandCursor 3c348f4fcc refactor(platform): runtime mixins and export manifest (Phase 738)
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]>
2026-06-03 10:49:34 -04:00

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
}