@towns-labs/sdk 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/dist/appRegistryService.d.ts +17 -0
- package/dist/appRegistryService.d.ts.map +1 -0
- package/dist/appRegistryService.js +48 -0
- package/dist/appRegistryService.js.map +1 -0
- package/dist/check.d.ts +31 -0
- package/dist/check.d.ts.map +1 -0
- package/dist/check.js +44 -0
- package/dist/check.js.map +1 -0
- package/dist/client-v2.d.ts +89 -0
- package/dist/client-v2.d.ts.map +1 -0
- package/dist/client-v2.js +293 -0
- package/dist/client-v2.js.map +1 -0
- package/dist/client.d.ts +390 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +2135 -0
- package/dist/client.js.map +1 -0
- package/dist/clientDecryptionExtensions.d.ts +50 -0
- package/dist/clientDecryptionExtensions.d.ts.map +1 -0
- package/dist/clientDecryptionExtensions.js +319 -0
- package/dist/clientDecryptionExtensions.js.map +1 -0
- package/dist/createApp.d.ts +31 -0
- package/dist/createApp.d.ts.map +1 -0
- package/dist/createApp.js +77 -0
- package/dist/createApp.js.map +1 -0
- package/dist/createBot.d.ts +159 -0
- package/dist/createBot.d.ts.map +1 -0
- package/dist/createBot.js +206 -0
- package/dist/createBot.js.map +1 -0
- package/dist/decryptionExtensions.d.ts +214 -0
- package/dist/decryptionExtensions.d.ts.map +1 -0
- package/dist/decryptionExtensions.js +883 -0
- package/dist/decryptionExtensions.js.map +1 -0
- package/dist/encryptedContentTypes.d.ts +35 -0
- package/dist/encryptedContentTypes.d.ts.map +1 -0
- package/dist/encryptedContentTypes.js +86 -0
- package/dist/encryptedContentTypes.js.map +1 -0
- package/dist/id.d.ts +77 -0
- package/dist/id.d.ts.map +1 -0
- package/dist/id.js +224 -0
- package/dist/id.js.map +1 -0
- package/dist/index.d.ts +131 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +131 -0
- package/dist/index.js.map +1 -0
- package/dist/makeAppRegistryRpcClient.d.ts +8 -0
- package/dist/makeAppRegistryRpcClient.d.ts.map +1 -0
- package/dist/makeAppRegistryRpcClient.js +40 -0
- package/dist/makeAppRegistryRpcClient.js.map +1 -0
- package/dist/makeAuthenticationRpcClient.d.ts +8 -0
- package/dist/makeAuthenticationRpcClient.d.ts.map +1 -0
- package/dist/makeAuthenticationRpcClient.js +39 -0
- package/dist/makeAuthenticationRpcClient.js.map +1 -0
- package/dist/makeNotificationRpcClient.d.ts +8 -0
- package/dist/makeNotificationRpcClient.d.ts.map +1 -0
- package/dist/makeNotificationRpcClient.js +40 -0
- package/dist/makeNotificationRpcClient.js.map +1 -0
- package/dist/makeRiverRpcClient.d.ts +6 -0
- package/dist/makeRiverRpcClient.d.ts.map +1 -0
- package/dist/makeRiverRpcClient.js +9 -0
- package/dist/makeRiverRpcClient.js.map +1 -0
- package/dist/makeStreamRpcClient.d.ts +21 -0
- package/dist/makeStreamRpcClient.d.ts.map +1 -0
- package/dist/makeStreamRpcClient.js +110 -0
- package/dist/makeStreamRpcClient.js.map +1 -0
- package/dist/memberMetadata_DisplayNames.d.ts +26 -0
- package/dist/memberMetadata_DisplayNames.d.ts.map +1 -0
- package/dist/memberMetadata_DisplayNames.js +95 -0
- package/dist/memberMetadata_DisplayNames.js.map +1 -0
- package/dist/memberMetadata_EnsAddresses.d.ts +25 -0
- package/dist/memberMetadata_EnsAddresses.d.ts.map +1 -0
- package/dist/memberMetadata_EnsAddresses.js +86 -0
- package/dist/memberMetadata_EnsAddresses.js.map +1 -0
- package/dist/memberMetadata_Nft.d.ts +31 -0
- package/dist/memberMetadata_Nft.d.ts.map +1 -0
- package/dist/memberMetadata_Nft.js +95 -0
- package/dist/memberMetadata_Nft.js.map +1 -0
- package/dist/memberMetadata_Usernames.d.ts +35 -0
- package/dist/memberMetadata_Usernames.d.ts.map +1 -0
- package/dist/memberMetadata_Usernames.js +162 -0
- package/dist/memberMetadata_Usernames.js.map +1 -0
- package/dist/migrations/migrateSnapshot.d.ts +3 -0
- package/dist/migrations/migrateSnapshot.d.ts.map +1 -0
- package/dist/migrations/migrateSnapshot.js +29 -0
- package/dist/migrations/migrateSnapshot.js.map +1 -0
- package/dist/migrations/snapshotMigration0000.d.ts +3 -0
- package/dist/migrations/snapshotMigration0000.d.ts.map +1 -0
- package/dist/migrations/snapshotMigration0000.js +5 -0
- package/dist/migrations/snapshotMigration0000.js.map +1 -0
- package/dist/migrations/snapshotMigration0001.d.ts +3 -0
- package/dist/migrations/snapshotMigration0001.d.ts.map +1 -0
- package/dist/migrations/snapshotMigration0001.js +40 -0
- package/dist/migrations/snapshotMigration0001.js.map +1 -0
- package/dist/migrations/snapshotMigration0002.d.ts +3 -0
- package/dist/migrations/snapshotMigration0002.d.ts.map +1 -0
- package/dist/migrations/snapshotMigration0002.js +23 -0
- package/dist/migrations/snapshotMigration0002.js.map +1 -0
- package/dist/migrations/snapshotMigration0003.d.ts +6 -0
- package/dist/migrations/snapshotMigration0003.d.ts.map +1 -0
- package/dist/migrations/snapshotMigration0003.js +15 -0
- package/dist/migrations/snapshotMigration0003.js.map +1 -0
- package/dist/migrations/snapshotMigration0004.d.ts +9 -0
- package/dist/migrations/snapshotMigration0004.d.ts.map +1 -0
- package/dist/migrations/snapshotMigration0004.js +93 -0
- package/dist/migrations/snapshotMigration0004.js.map +1 -0
- package/dist/migrations/snapshotMigration0005.d.ts +9 -0
- package/dist/migrations/snapshotMigration0005.d.ts.map +1 -0
- package/dist/migrations/snapshotMigration0005.js +89 -0
- package/dist/migrations/snapshotMigration0005.js.map +1 -0
- package/dist/migrations/snapshotMigration0006.d.ts +9 -0
- package/dist/migrations/snapshotMigration0006.d.ts.map +1 -0
- package/dist/migrations/snapshotMigration0006.js +33 -0
- package/dist/migrations/snapshotMigration0006.js.map +1 -0
- package/dist/notificationService.d.ts +17 -0
- package/dist/notificationService.d.ts.map +1 -0
- package/dist/notificationService.js +49 -0
- package/dist/notificationService.js.map +1 -0
- package/dist/notificationsClient.d.ts +48 -0
- package/dist/notificationsClient.d.ts.map +1 -0
- package/dist/notificationsClient.js +302 -0
- package/dist/notificationsClient.js.map +1 -0
- package/dist/observable/combine.d.ts +44 -0
- package/dist/observable/combine.d.ts.map +1 -0
- package/dist/observable/combine.js +67 -0
- package/dist/observable/combine.js.map +1 -0
- package/dist/observable/constant.d.ts +7 -0
- package/dist/observable/constant.d.ts.map +1 -0
- package/dist/observable/constant.js +13 -0
- package/dist/observable/constant.js.map +1 -0
- package/dist/observable/observable.d.ts +33 -0
- package/dist/observable/observable.d.ts.map +1 -0
- package/dist/observable/observable.js +109 -0
- package/dist/observable/observable.js.map +1 -0
- package/dist/observable/observableRecord.d.ts +18 -0
- package/dist/observable/observableRecord.d.ts.map +1 -0
- package/dist/observable/observableRecord.js +71 -0
- package/dist/observable/observableRecord.js.map +1 -0
- package/dist/observable/persistedObservable.d.ts +39 -0
- package/dist/observable/persistedObservable.d.ts.map +1 -0
- package/dist/observable/persistedObservable.js +77 -0
- package/dist/observable/persistedObservable.js.map +1 -0
- package/dist/observable/utils.d.ts +2 -0
- package/dist/observable/utils.d.ts.map +1 -0
- package/dist/observable/utils.js +12 -0
- package/dist/observable/utils.js.map +1 -0
- package/dist/persistenceStore.d.ts +112 -0
- package/dist/persistenceStore.d.ts.map +1 -0
- package/dist/persistenceStore.js +465 -0
- package/dist/persistenceStore.js.map +1 -0
- package/dist/riverDbManager.d.ts +5 -0
- package/dist/riverDbManager.d.ts.map +1 -0
- package/dist/riverDbManager.js +7 -0
- package/dist/riverDbManager.js.map +1 -0
- package/dist/rpcCommon.d.ts +7 -0
- package/dist/rpcCommon.d.ts.map +1 -0
- package/dist/rpcCommon.js +2 -0
- package/dist/rpcCommon.js.map +1 -0
- package/dist/rpcInterceptors.d.ts +21 -0
- package/dist/rpcInterceptors.d.ts.map +1 -0
- package/dist/rpcInterceptors.js +376 -0
- package/dist/rpcInterceptors.js.map +1 -0
- package/dist/sign.d.ts +59 -0
- package/dist/sign.d.ts.map +1 -0
- package/dist/sign.js +363 -0
- package/dist/sign.js.map +1 -0
- package/dist/signerContext.d.ts +62 -0
- package/dist/signerContext.d.ts.map +1 -0
- package/dist/signerContext.js +103 -0
- package/dist/signerContext.js.map +1 -0
- package/dist/store/store.d.ts +22 -0
- package/dist/store/store.d.ts.map +1 -0
- package/dist/store/store.js +165 -0
- package/dist/store/store.js.map +1 -0
- package/dist/stream.d.ts +49 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +112 -0
- package/dist/stream.js.map +1 -0
- package/dist/streamEvents.d.ts +96 -0
- package/dist/streamEvents.d.ts.map +1 -0
- package/dist/streamEvents.js +2 -0
- package/dist/streamEvents.js.map +1 -0
- package/dist/streamStateView.d.ts +87 -0
- package/dist/streamStateView.d.ts.map +1 -0
- package/dist/streamStateView.js +596 -0
- package/dist/streamStateView.js.map +1 -0
- package/dist/streamStateView_AbstractContent.d.ts +15 -0
- package/dist/streamStateView_AbstractContent.d.ts.map +1 -0
- package/dist/streamStateView_AbstractContent.js +24 -0
- package/dist/streamStateView_AbstractContent.js.map +1 -0
- package/dist/streamStateView_Channel.d.ts +16 -0
- package/dist/streamStateView_Channel.d.ts.map +1 -0
- package/dist/streamStateView_Channel.js +76 -0
- package/dist/streamStateView_Channel.js.map +1 -0
- package/dist/streamStateView_ChannelMetadata.d.ts +22 -0
- package/dist/streamStateView_ChannelMetadata.d.ts.map +1 -0
- package/dist/streamStateView_ChannelMetadata.js +77 -0
- package/dist/streamStateView_ChannelMetadata.js.map +1 -0
- package/dist/streamStateView_DMChannel.d.ts +25 -0
- package/dist/streamStateView_DMChannel.d.ts.map +1 -0
- package/dist/streamStateView_DMChannel.js +114 -0
- package/dist/streamStateView_DMChannel.js.map +1 -0
- package/dist/streamStateView_GDMChannel.d.ts +27 -0
- package/dist/streamStateView_GDMChannel.d.ts.map +1 -0
- package/dist/streamStateView_GDMChannel.js +160 -0
- package/dist/streamStateView_GDMChannel.js.map +1 -0
- package/dist/streamStateView_Media.d.ts +22 -0
- package/dist/streamStateView_Media.d.ts.map +1 -0
- package/dist/streamStateView_Media.js +60 -0
- package/dist/streamStateView_Media.js.map +1 -0
- package/dist/streamStateView_MemberMetadata.d.ts +59 -0
- package/dist/streamStateView_MemberMetadata.d.ts.map +1 -0
- package/dist/streamStateView_MemberMetadata.js +113 -0
- package/dist/streamStateView_MemberMetadata.js.map +1 -0
- package/dist/streamStateView_Members.d.ts +101 -0
- package/dist/streamStateView_Members.d.ts.map +1 -0
- package/dist/streamStateView_Members.js +582 -0
- package/dist/streamStateView_Members.js.map +1 -0
- package/dist/streamStateView_Members_Solicitations.d.ts +15 -0
- package/dist/streamStateView_Members_Solicitations.d.ts.map +1 -0
- package/dist/streamStateView_Members_Solicitations.js +48 -0
- package/dist/streamStateView_Members_Solicitations.js.map +1 -0
- package/dist/streamStateView_Space.d.ts +31 -0
- package/dist/streamStateView_Space.d.ts.map +1 -0
- package/dist/streamStateView_Space.js +193 -0
- package/dist/streamStateView_Space.js.map +1 -0
- package/dist/streamStateView_UnknownContent.d.ts +11 -0
- package/dist/streamStateView_UnknownContent.d.ts.map +1 -0
- package/dist/streamStateView_UnknownContent.js +15 -0
- package/dist/streamStateView_UnknownContent.js.map +1 -0
- package/dist/streamStateView_User.d.ts +27 -0
- package/dist/streamStateView_User.d.ts.map +1 -0
- package/dist/streamStateView_User.js +200 -0
- package/dist/streamStateView_User.js.map +1 -0
- package/dist/streamStateView_UserInbox.d.ts +21 -0
- package/dist/streamStateView_UserInbox.d.ts.map +1 -0
- package/dist/streamStateView_UserInbox.js +85 -0
- package/dist/streamStateView_UserInbox.js.map +1 -0
- package/dist/streamStateView_UserMetadata.d.ts +31 -0
- package/dist/streamStateView_UserMetadata.d.ts.map +1 -0
- package/dist/streamStateView_UserMetadata.js +160 -0
- package/dist/streamStateView_UserMetadata.js.map +1 -0
- package/dist/streamStateView_UserSettings.d.ts +24 -0
- package/dist/streamStateView_UserSettings.d.ts.map +1 -0
- package/dist/streamStateView_UserSettings.js +125 -0
- package/dist/streamStateView_UserSettings.js.map +1 -0
- package/dist/streamUtils.d.ts +49 -0
- package/dist/streamUtils.d.ts.map +1 -0
- package/dist/streamUtils.js +220 -0
- package/dist/streamUtils.js.map +1 -0
- package/dist/sync/ISyncedStreamsController.d.ts +17 -0
- package/dist/sync/ISyncedStreamsController.d.ts.map +1 -0
- package/dist/sync/ISyncedStreamsController.js +2 -0
- package/dist/sync/ISyncedStreamsController.js.map +1 -0
- package/dist/sync/SyncedStreamsControllerLite.d.ts +32 -0
- package/dist/sync/SyncedStreamsControllerLite.d.ts.map +1 -0
- package/dist/sync/SyncedStreamsControllerLite.js +183 -0
- package/dist/sync/SyncedStreamsControllerLite.js.map +1 -0
- package/dist/sync-agent/constants.d.ts +2 -0
- package/dist/sync-agent/constants.d.ts.map +1 -0
- package/dist/sync-agent/constants.js +2 -0
- package/dist/sync-agent/constants.js.map +1 -0
- package/dist/sync-agent/db.d.ts +18 -0
- package/dist/sync-agent/db.d.ts.map +1 -0
- package/dist/sync-agent/db.js +34 -0
- package/dist/sync-agent/db.js.map +1 -0
- package/dist/sync-agent/dms/dms.d.ts +24 -0
- package/dist/sync-agent/dms/dms.d.ts.map +1 -0
- package/dist/sync-agent/dms/dms.js +60 -0
- package/dist/sync-agent/dms/dms.js.map +1 -0
- package/dist/sync-agent/dms/models/dm.d.ts +76 -0
- package/dist/sync-agent/dms/models/dm.d.ts.map +1 -0
- package/dist/sync-agent/dms/models/dm.js +177 -0
- package/dist/sync-agent/dms/models/dm.js.map +1 -0
- package/dist/sync-agent/entitlements/entitlements.d.ts +10 -0
- package/dist/sync-agent/entitlements/entitlements.d.ts.map +1 -0
- package/dist/sync-agent/entitlements/entitlements.js +20 -0
- package/dist/sync-agent/entitlements/entitlements.js.map +1 -0
- package/dist/sync-agent/gdms/gdms.d.ts +23 -0
- package/dist/sync-agent/gdms/gdms.d.ts.map +1 -0
- package/dist/sync-agent/gdms/gdms.js +56 -0
- package/dist/sync-agent/gdms/gdms.js.map +1 -0
- package/dist/sync-agent/gdms/models/gdm.d.ts +76 -0
- package/dist/sync-agent/gdms/models/gdm.d.ts.map +1 -0
- package/dist/sync-agent/gdms/models/gdm.js +176 -0
- package/dist/sync-agent/gdms/models/gdm.js.map +1 -0
- package/dist/sync-agent/members/members.d.ts +32 -0
- package/dist/sync-agent/members/members.d.ts.map +1 -0
- package/dist/sync-agent/members/members.js +143 -0
- package/dist/sync-agent/members/members.js.map +1 -0
- package/dist/sync-agent/members/models/member.d.ts +68 -0
- package/dist/sync-agent/members/models/member.d.ts.map +1 -0
- package/dist/sync-agent/members/models/member.js +134 -0
- package/dist/sync-agent/members/models/member.js.map +1 -0
- package/dist/sync-agent/members/models/myself.d.ts +20 -0
- package/dist/sync-agent/members/models/myself.d.ts.map +1 -0
- package/dist/sync-agent/members/models/myself.js +97 -0
- package/dist/sync-agent/members/models/myself.js.map +1 -0
- package/dist/sync-agent/river-connection/models/authStatus.d.ts +18 -0
- package/dist/sync-agent/river-connection/models/authStatus.d.ts.map +1 -0
- package/dist/sync-agent/river-connection/models/authStatus.js +19 -0
- package/dist/sync-agent/river-connection/models/authStatus.js.map +1 -0
- package/dist/sync-agent/river-connection/models/riverChain.d.ts +24 -0
- package/dist/sync-agent/river-connection/models/riverChain.d.ts.map +1 -0
- package/dist/sync-agent/river-connection/models/riverChain.js +66 -0
- package/dist/sync-agent/river-connection/models/riverChain.js.map +1 -0
- package/dist/sync-agent/river-connection/models/transactionalClient.d.ts +11 -0
- package/dist/sync-agent/river-connection/models/transactionalClient.d.ts.map +1 -0
- package/dist/sync-agent/river-connection/models/transactionalClient.js +14 -0
- package/dist/sync-agent/river-connection/models/transactionalClient.js.map +1 -0
- package/dist/sync-agent/river-connection/riverConnection.d.ts +66 -0
- package/dist/sync-agent/river-connection/riverConnection.d.ts.map +1 -0
- package/dist/sync-agent/river-connection/riverConnection.js +222 -0
- package/dist/sync-agent/river-connection/riverConnection.js.map +1 -0
- package/dist/sync-agent/spaces/models/channel.d.ts +124 -0
- package/dist/sync-agent/spaces/models/channel.d.ts.map +1 -0
- package/dist/sync-agent/spaces/models/channel.js +254 -0
- package/dist/sync-agent/spaces/models/channel.js.map +1 -0
- package/dist/sync-agent/spaces/models/space.d.ts +57 -0
- package/dist/sync-agent/spaces/models/space.d.ts.map +1 -0
- package/dist/sync-agent/spaces/models/space.js +147 -0
- package/dist/sync-agent/spaces/models/space.js.map +1 -0
- package/dist/sync-agent/spaces/spaces.d.ts +29 -0
- package/dist/sync-agent/spaces/spaces.d.ts.map +1 -0
- package/dist/sync-agent/spaces/spaces.js +90 -0
- package/dist/sync-agent/spaces/spaces.js.map +1 -0
- package/dist/sync-agent/syncAgent.d.ts +66 -0
- package/dist/sync-agent/syncAgent.d.ts.map +1 -0
- package/dist/sync-agent/syncAgent.js +102 -0
- package/dist/sync-agent/syncAgent.js.map +1 -0
- package/dist/sync-agent/timeline/timeline.d.ts +26 -0
- package/dist/sync-agent/timeline/timeline.d.ts.map +1 -0
- package/dist/sync-agent/timeline/timeline.js +56 -0
- package/dist/sync-agent/timeline/timeline.js.map +1 -0
- package/dist/sync-agent/user/models/userInbox.d.ts +21 -0
- package/dist/sync-agent/user/models/userInbox.d.ts.map +1 -0
- package/dist/sync-agent/user/models/userInbox.js +68 -0
- package/dist/sync-agent/user/models/userInbox.js.map +1 -0
- package/dist/sync-agent/user/models/userMemberships.d.ts +28 -0
- package/dist/sync-agent/user/models/userMemberships.d.ts.map +1 -0
- package/dist/sync-agent/user/models/userMemberships.js +83 -0
- package/dist/sync-agent/user/models/userMemberships.js.map +1 -0
- package/dist/sync-agent/user/models/userMetadata.d.ts +21 -0
- package/dist/sync-agent/user/models/userMetadata.d.ts.map +1 -0
- package/dist/sync-agent/user/models/userMetadata.js +68 -0
- package/dist/sync-agent/user/models/userMetadata.js.map +1 -0
- package/dist/sync-agent/user/models/userSettings.d.ts +17 -0
- package/dist/sync-agent/user/models/userSettings.d.ts.map +1 -0
- package/dist/sync-agent/user/models/userSettings.js +48 -0
- package/dist/sync-agent/user/models/userSettings.js.map +1 -0
- package/dist/sync-agent/user/user.d.ts +18 -0
- package/dist/sync-agent/user/user.d.ts.map +1 -0
- package/dist/sync-agent/user/user.js +30 -0
- package/dist/sync-agent/user/user.js.map +1 -0
- package/dist/sync-agent/utils/bot.d.ts +16 -0
- package/dist/sync-agent/utils/bot.d.ts.map +1 -0
- package/dist/sync-agent/utils/bot.js +39 -0
- package/dist/sync-agent/utils/bot.js.map +1 -0
- package/dist/sync-agent/utils/promiseQueue.d.ts +6 -0
- package/dist/sync-agent/utils/promiseQueue.d.ts.map +1 -0
- package/dist/sync-agent/utils/promiseQueue.js +20 -0
- package/dist/sync-agent/utils/promiseQueue.js.map +1 -0
- package/dist/sync-agent/utils/providers.d.ts +5 -0
- package/dist/sync-agent/utils/providers.d.ts.map +1 -0
- package/dist/sync-agent/utils/providers.js +16 -0
- package/dist/sync-agent/utils/providers.js.map +1 -0
- package/dist/sync-agent/utils/spaceUtils.d.ts +3 -0
- package/dist/sync-agent/utils/spaceUtils.d.ts.map +1 -0
- package/dist/sync-agent/utils/spaceUtils.js +31 -0
- package/dist/sync-agent/utils/spaceUtils.js.map +1 -0
- package/dist/syncEvents.d.ts +9 -0
- package/dist/syncEvents.d.ts.map +1 -0
- package/dist/syncEvents.js +2 -0
- package/dist/syncEvents.js.map +1 -0
- package/dist/syncedStream.d.ts +24 -0
- package/dist/syncedStream.d.ts.map +1 -0
- package/dist/syncedStream.js +119 -0
- package/dist/syncedStream.js.map +1 -0
- package/dist/syncedStreams.d.ts +43 -0
- package/dist/syncedStreams.d.ts.map +1 -0
- package/dist/syncedStreams.js +115 -0
- package/dist/syncedStreams.js.map +1 -0
- package/dist/syncedStreamsExtension.d.ts +45 -0
- package/dist/syncedStreamsExtension.d.ts.map +1 -0
- package/dist/syncedStreamsExtension.js +295 -0
- package/dist/syncedStreamsExtension.js.map +1 -0
- package/dist/syncedStreamsLoop.d.ts +132 -0
- package/dist/syncedStreamsLoop.d.ts.map +1 -0
- package/dist/syncedStreamsLoop.js +922 -0
- package/dist/syncedStreamsLoop.js.map +1 -0
- package/dist/tags.d.ts +12 -0
- package/dist/tags.d.ts.map +1 -0
- package/dist/tags.js +160 -0
- package/dist/tags.js.map +1 -0
- package/dist/tests/bob_testUtils.d.ts +4 -0
- package/dist/tests/bob_testUtils.d.ts.map +1 -0
- package/dist/tests/bob_testUtils.js +161 -0
- package/dist/tests/bob_testUtils.js.map +1 -0
- package/dist/tests/multi/appRegistryService.test.d.ts +2 -0
- package/dist/tests/multi/appRegistryService.test.d.ts.map +1 -0
- package/dist/tests/multi/appRegistryService.test.js +41 -0
- package/dist/tests/multi/appRegistryService.test.js.map +1 -0
- package/dist/tests/multi/botEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/botEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/botEntitlements.test.js +178 -0
- package/dist/tests/multi/botEntitlements.test.js.map +1 -0
- package/dist/tests/multi/botMembership.test.d.ts +5 -0
- package/dist/tests/multi/botMembership.test.d.ts.map +1 -0
- package/dist/tests/multi/botMembership.test.js +295 -0
- package/dist/tests/multi/botMembership.test.js.map +1 -0
- package/dist/tests/multi/botStreamCreation.test.d.ts +5 -0
- package/dist/tests/multi/botStreamCreation.test.d.ts.map +1 -0
- package/dist/tests/multi/botStreamCreation.test.js +60 -0
- package/dist/tests/multi/botStreamCreation.test.js.map +1 -0
- package/dist/tests/multi/channelScrubbing.test.d.ts +5 -0
- package/dist/tests/multi/channelScrubbing.test.d.ts.map +1 -0
- package/dist/tests/multi/channelScrubbing.test.js +102 -0
- package/dist/tests/multi/channelScrubbing.test.js.map +1 -0
- package/dist/tests/multi/channelSpaceSettings.test.d.ts +5 -0
- package/dist/tests/multi/channelSpaceSettings.test.d.ts.map +1 -0
- package/dist/tests/multi/channelSpaceSettings.test.js +204 -0
- package/dist/tests/multi/channelSpaceSettings.test.js.map +1 -0
- package/dist/tests/multi/disableChannel.test.d.ts +5 -0
- package/dist/tests/multi/disableChannel.test.d.ts.map +1 -0
- package/dist/tests/multi/disableChannel.test.js +30 -0
- package/dist/tests/multi/disableChannel.test.js.map +1 -0
- package/dist/tests/multi/disableSpace.test.d.ts +5 -0
- package/dist/tests/multi/disableSpace.test.d.ts.map +1 -0
- package/dist/tests/multi/disableSpace.test.js +37 -0
- package/dist/tests/multi/disableSpace.test.js.map +1 -0
- package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.js +129 -0
- package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.js.map +1 -0
- package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.js +44 -0
- package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.js.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.js +125 -0
- package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.js +72 -0
- package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.js.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js +57 -0
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.js +86 -0
- package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.js +69 -0
- package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.js +145 -0
- package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.js +53 -0
- package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/membershipRenewals.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/membershipRenewals.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/membershipRenewals.test.js +150 -0
- package/dist/tests/multi/entitlements/membershipRenewals.test.js.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.js +131 -0
- package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/spaceWithEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithEntitlements.test.js +109 -0
- package/dist/tests/multi/entitlements/spaceWithEntitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.js +103 -0
- package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.js +84 -0
- package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.js +168 -0
- package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.js.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.js +45 -0
- package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.js.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.js +79 -0
- package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.js.map +1 -0
- package/dist/tests/multi/legacySpace.test.d.ts +5 -0
- package/dist/tests/multi/legacySpace.test.d.ts.map +1 -0
- package/dist/tests/multi/legacySpace.test.js +48 -0
- package/dist/tests/multi/legacySpace.test.js.map +1 -0
- package/dist/tests/multi/mediaWithEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/mediaWithEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/mediaWithEntitlements.test.js +152 -0
- package/dist/tests/multi/mediaWithEntitlements.test.js.map +1 -0
- package/dist/tests/multi/membershipManagement.test.d.ts +5 -0
- package/dist/tests/multi/membershipManagement.test.d.ts.map +1 -0
- package/dist/tests/multi/membershipManagement.test.js +76 -0
- package/dist/tests/multi/membershipManagement.test.js.map +1 -0
- package/dist/tests/multi/notificationService.test.d.ts +2 -0
- package/dist/tests/multi/notificationService.test.d.ts.map +1 -0
- package/dist/tests/multi/notificationService.test.js +51 -0
- package/dist/tests/multi/notificationService.test.js.map +1 -0
- package/dist/tests/multi/riverAirdropDapp.test.d.ts +5 -0
- package/dist/tests/multi/riverAirdropDapp.test.d.ts.map +1 -0
- package/dist/tests/multi/riverAirdropDapp.test.js +43 -0
- package/dist/tests/multi/riverAirdropDapp.test.js.map +1 -0
- package/dist/tests/multi/spaceDapp.test.d.ts +5 -0
- package/dist/tests/multi/spaceDapp.test.d.ts.map +1 -0
- package/dist/tests/multi/spaceDapp.test.js +61 -0
- package/dist/tests/multi/spaceDapp.test.js.map +1 -0
- package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.d.ts +2 -0
- package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.d.ts.map +1 -0
- package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.js +63 -0
- package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.js.map +1 -0
- package/dist/tests/multi/sync-agent/member-queue.test.d.ts +2 -0
- package/dist/tests/multi/sync-agent/member-queue.test.d.ts.map +1 -0
- package/dist/tests/multi/sync-agent/member-queue.test.js +54 -0
- package/dist/tests/multi/sync-agent/member-queue.test.js.map +1 -0
- package/dist/tests/multi/sync-agent/member.test.d.ts +2 -0
- package/dist/tests/multi/sync-agent/member.test.d.ts.map +1 -0
- package/dist/tests/multi/sync-agent/member.test.js +45 -0
- package/dist/tests/multi/sync-agent/member.test.js.map +1 -0
- package/dist/tests/multi/sync-agent/members.test.d.ts +2 -0
- package/dist/tests/multi/sync-agent/members.test.d.ts.map +1 -0
- package/dist/tests/multi/sync-agent/members.test.js +35 -0
- package/dist/tests/multi/sync-agent/members.test.js.map +1 -0
- package/dist/tests/multi/sync-agent/riverConnection.test.d.ts +5 -0
- package/dist/tests/multi/sync-agent/riverConnection.test.d.ts.map +1 -0
- package/dist/tests/multi/sync-agent/riverConnection.test.js +39 -0
- package/dist/tests/multi/sync-agent/riverConnection.test.js.map +1 -0
- package/dist/tests/multi/sync-agent/spaces.test.d.ts +2 -0
- package/dist/tests/multi/sync-agent/spaces.test.d.ts.map +1 -0
- package/dist/tests/multi/sync-agent/spaces.test.js +33 -0
- package/dist/tests/multi/sync-agent/spaces.test.js.map +1 -0
- package/dist/tests/multi/sync-agent/streams.test.d.ts +2 -0
- package/dist/tests/multi/sync-agent/streams.test.d.ts.map +1 -0
- package/dist/tests/multi/sync-agent/streams.test.js +27 -0
- package/dist/tests/multi/sync-agent/streams.test.js.map +1 -0
- package/dist/tests/multi/sync-agent/syncAgent.test.d.ts +2 -0
- package/dist/tests/multi/sync-agent/syncAgent.test.d.ts.map +1 -0
- package/dist/tests/multi/sync-agent/syncAgent.test.js +68 -0
- package/dist/tests/multi/sync-agent/syncAgent.test.js.map +1 -0
- package/dist/tests/multi/sync-agent/syncAgents.test.d.ts +2 -0
- package/dist/tests/multi/sync-agent/syncAgents.test.d.ts.map +1 -0
- package/dist/tests/multi/sync-agent/syncAgents.test.js +163 -0
- package/dist/tests/multi/sync-agent/syncAgents.test.js.map +1 -0
- package/dist/tests/multi/sync-agent/timeline.test.d.ts +2 -0
- package/dist/tests/multi/sync-agent/timeline.test.d.ts.map +1 -0
- package/dist/tests/multi/sync-agent/timeline.test.js +232 -0
- package/dist/tests/multi/sync-agent/timeline.test.js.map +1 -0
- package/dist/tests/multi/sync-agent/user.test.d.ts +5 -0
- package/dist/tests/multi/sync-agent/user.test.d.ts.map +1 -0
- package/dist/tests/multi/sync-agent/user.test.js +55 -0
- package/dist/tests/multi/sync-agent/user.test.js.map +1 -0
- package/dist/tests/multi/transactions.test.d.ts +5 -0
- package/dist/tests/multi/transactions.test.d.ts.map +1 -0
- package/dist/tests/multi/transactions.test.js +153 -0
- package/dist/tests/multi/transactions.test.js.map +1 -0
- package/dist/tests/multi/transactions_SpaceReview.test.d.ts +2 -0
- package/dist/tests/multi/transactions_SpaceReview.test.d.ts.map +1 -0
- package/dist/tests/multi/transactions_SpaceReview.test.js +278 -0
- package/dist/tests/multi/transactions_SpaceReview.test.js.map +1 -0
- package/dist/tests/multi/transactions_Tip.test.d.ts +5 -0
- package/dist/tests/multi/transactions_Tip.test.d.ts.map +1 -0
- package/dist/tests/multi/transactions_Tip.test.js +379 -0
- package/dist/tests/multi/transactions_Tip.test.js.map +1 -0
- package/dist/tests/multi/withEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/withEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/withEntitlements.test.js +125 -0
- package/dist/tests/multi/withEntitlements.test.js.map +1 -0
- package/dist/tests/multi_ne/aliceAndFriends.test.d.ts +5 -0
- package/dist/tests/multi_ne/aliceAndFriends.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/aliceAndFriends.test.js +20 -0
- package/dist/tests/multi_ne/aliceAndFriends.test.js.map +1 -0
- package/dist/tests/multi_ne/aliceAndFriends10for10.test.d.ts +5 -0
- package/dist/tests/multi_ne/aliceAndFriends10for10.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/aliceAndFriends10for10.test.js +23 -0
- package/dist/tests/multi_ne/aliceAndFriends10for10.test.js.map +1 -0
- package/dist/tests/multi_ne/aliceAndFriends3for8.test.d.ts +5 -0
- package/dist/tests/multi_ne/aliceAndFriends3for8.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/aliceAndFriends3for8.test.js +22 -0
- package/dist/tests/multi_ne/aliceAndFriends3for8.test.js.map +1 -0
- package/dist/tests/multi_ne/aliceAndFriendslongAndRandom.test.d.ts +5 -0
- package/dist/tests/multi_ne/aliceAndFriendslongAndRandom.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/aliceAndFriendslongAndRandom.test.js +28 -0
- package/dist/tests/multi_ne/aliceAndFriendslongAndRandom.test.js.map +1 -0
- package/dist/tests/multi_ne/bobFlushes.test.d.ts +5 -0
- package/dist/tests/multi_ne/bobFlushes.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/bobFlushes.test.js +20 -0
- package/dist/tests/multi_ne/bobFlushes.test.js.map +1 -0
- package/dist/tests/multi_ne/channels.test.d.ts +5 -0
- package/dist/tests/multi_ne/channels.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/channels.test.js +45 -0
- package/dist/tests/multi_ne/channels.test.js.map +1 -0
- package/dist/tests/multi_ne/client.test.d.ts +5 -0
- package/dist/tests/multi_ne/client.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/client.test.js +821 -0
- package/dist/tests/multi_ne/client.test.js.map +1 -0
- package/dist/tests/multi_ne/clientCrypto.test.d.ts +5 -0
- package/dist/tests/multi_ne/clientCrypto.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/clientCrypto.test.js +78 -0
- package/dist/tests/multi_ne/clientCrypto.test.js.map +1 -0
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.d.ts +5 -0
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.js +176 -0
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.js.map +1 -0
- package/dist/tests/multi_ne/deviceKeyMessage.test.d.ts +5 -0
- package/dist/tests/multi_ne/deviceKeyMessage.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/deviceKeyMessage.test.js +156 -0
- package/dist/tests/multi_ne/deviceKeyMessage.test.js.map +1 -0
- package/dist/tests/multi_ne/dms.test.d.ts +5 -0
- package/dist/tests/multi_ne/dms.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/dms.test.js +131 -0
- package/dist/tests/multi_ne/dms.test.js.map +1 -0
- package/dist/tests/multi_ne/ephemeralEvents.test.d.ts +5 -0
- package/dist/tests/multi_ne/ephemeralEvents.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/ephemeralEvents.test.js +125 -0
- package/dist/tests/multi_ne/ephemeralEvents.test.js.map +1 -0
- package/dist/tests/multi_ne/gdms.test.d.ts +5 -0
- package/dist/tests/multi_ne/gdms.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/gdms.test.js +302 -0
- package/dist/tests/multi_ne/gdms.test.js.map +1 -0
- package/dist/tests/multi_ne/id.test.d.ts +5 -0
- package/dist/tests/multi_ne/id.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/id.test.js +70 -0
- package/dist/tests/multi_ne/id.test.js.map +1 -0
- package/dist/tests/multi_ne/makeStreamRpcClient.test.d.ts +5 -0
- package/dist/tests/multi_ne/makeStreamRpcClient.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/makeStreamRpcClient.test.js +80 -0
- package/dist/tests/multi_ne/makeStreamRpcClient.test.js.map +1 -0
- package/dist/tests/multi_ne/media.test.d.ts +5 -0
- package/dist/tests/multi_ne/media.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/media.test.js +220 -0
- package/dist/tests/multi_ne/media.test.js.map +1 -0
- package/dist/tests/multi_ne/memberMetadata.test.d.ts +5 -0
- package/dist/tests/multi_ne/memberMetadata.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/memberMetadata.test.js +622 -0
- package/dist/tests/multi_ne/memberMetadata.test.js.map +1 -0
- package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.d.ts +5 -0
- package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.js +54 -0
- package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.js.map +1 -0
- package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.d.ts +5 -0
- package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.js +37 -0
- package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.js.map +1 -0
- package/dist/tests/multi_ne/memberMetadata_Nft.test.d.ts +5 -0
- package/dist/tests/multi_ne/memberMetadata_Nft.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/memberMetadata_Nft.test.js +49 -0
- package/dist/tests/multi_ne/memberMetadata_Nft.test.js.map +1 -0
- package/dist/tests/multi_ne/memberMetadata_Usernames.test.d.ts +5 -0
- package/dist/tests/multi_ne/memberMetadata_Usernames.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/memberMetadata_Usernames.test.js +126 -0
- package/dist/tests/multi_ne/memberMetadata_Usernames.test.js.map +1 -0
- package/dist/tests/multi_ne/nodeSelection.test.d.ts +5 -0
- package/dist/tests/multi_ne/nodeSelection.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/nodeSelection.test.js +41 -0
- package/dist/tests/multi_ne/nodeSelection.test.js.map +1 -0
- package/dist/tests/multi_ne/outboundGroupSession.test.d.ts +5 -0
- package/dist/tests/multi_ne/outboundGroupSession.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/outboundGroupSession.test.js +107 -0
- package/dist/tests/multi_ne/outboundGroupSession.test.js.map +1 -0
- package/dist/tests/multi_ne/persistenceStore.test.d.ts +5 -0
- package/dist/tests/multi_ne/persistenceStore.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/persistenceStore.test.js +27 -0
- package/dist/tests/multi_ne/persistenceStore.test.js.map +1 -0
- package/dist/tests/multi_ne/restart.test.d.ts +4 -0
- package/dist/tests/multi_ne/restart.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/restart.test.js +160 -0
- package/dist/tests/multi_ne/restart.test.js.map +1 -0
- package/dist/tests/multi_ne/sign.test.d.ts +5 -0
- package/dist/tests/multi_ne/sign.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sign.test.js +218 -0
- package/dist/tests/multi_ne/sign.test.js.map +1 -0
- package/dist/tests/multi_ne/space.test.d.ts +5 -0
- package/dist/tests/multi_ne/space.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/space.test.js +284 -0
- package/dist/tests/multi_ne/space.test.js.map +1 -0
- package/dist/tests/multi_ne/streamMembershipHardening.test.d.ts +5 -0
- package/dist/tests/multi_ne/streamMembershipHardening.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/streamMembershipHardening.test.js +30 -0
- package/dist/tests/multi_ne/streamMembershipHardening.test.js.map +1 -0
- package/dist/tests/multi_ne/streamRpcClient.test.d.ts +5 -0
- package/dist/tests/multi_ne/streamRpcClient.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/streamRpcClient.test.js +554 -0
- package/dist/tests/multi_ne/streamRpcClient.test.js.map +1 -0
- package/dist/tests/multi_ne/streamRpcClientGetSince.test.d.ts +2 -0
- package/dist/tests/multi_ne/streamRpcClientGetSince.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/streamRpcClientGetSince.test.js +120 -0
- package/dist/tests/multi_ne/streamRpcClientGetSince.test.js.map +1 -0
- package/dist/tests/multi_ne/streamRpcClientSync.test.d.ts +5 -0
- package/dist/tests/multi_ne/streamRpcClientSync.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/streamRpcClientSync.test.js +201 -0
- package/dist/tests/multi_ne/streamRpcClientSync.test.js.map +1 -0
- package/dist/tests/multi_ne/streamRpcClientSyncSnapshots.test.d.ts +2 -0
- package/dist/tests/multi_ne/streamRpcClientSyncSnapshots.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/streamRpcClientSyncSnapshots.test.js +96 -0
- package/dist/tests/multi_ne/streamRpcClientSyncSnapshots.test.js.map +1 -0
- package/dist/tests/multi_ne/streamStateView_User.test.d.ts +5 -0
- package/dist/tests/multi_ne/streamStateView_User.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/streamStateView_User.test.js +31 -0
- package/dist/tests/multi_ne/streamStateView_User.test.js.map +1 -0
- package/dist/tests/multi_ne/syncWithBlocks.test.d.ts +2 -0
- package/dist/tests/multi_ne/syncWithBlocks.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/syncWithBlocks.test.js +157 -0
- package/dist/tests/multi_ne/syncWithBlocks.test.js.map +1 -0
- package/dist/tests/multi_ne/syncedStream.test.d.ts +5 -0
- package/dist/tests/multi_ne/syncedStream.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/syncedStream.test.js +98 -0
- package/dist/tests/multi_ne/syncedStream.test.js.map +1 -0
- package/dist/tests/multi_ne/syncedStreams.test.d.ts +5 -0
- package/dist/tests/multi_ne/syncedStreams.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/syncedStreams.test.js +158 -0
- package/dist/tests/multi_ne/syncedStreams.test.js.map +1 -0
- package/dist/tests/multi_ne/trading.solana.test.d.ts +2 -0
- package/dist/tests/multi_ne/trading.solana.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/trading.solana.test.js +229 -0
- package/dist/tests/multi_ne/trading.solana.test.js.map +1 -0
- package/dist/tests/multi_ne/trading.test.d.ts +2 -0
- package/dist/tests/multi_ne/trading.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/trading.test.js +243 -0
- package/dist/tests/multi_ne/trading.test.js.map +1 -0
- package/dist/tests/multi_ne/userInboxMessage.test.d.ts +5 -0
- package/dist/tests/multi_ne/userInboxMessage.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/userInboxMessage.test.js +201 -0
- package/dist/tests/multi_ne/userInboxMessage.test.js.map +1 -0
- package/dist/tests/multi_ne/userSettings.test.d.ts +5 -0
- package/dist/tests/multi_ne/userSettings.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/userSettings.test.js +116 -0
- package/dist/tests/multi_ne/userSettings.test.js.map +1 -0
- package/dist/tests/multi_ne/workflows.test.d.ts +5 -0
- package/dist/tests/multi_ne/workflows.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/workflows.test.js +87 -0
- package/dist/tests/multi_ne/workflows.test.js.map +1 -0
- package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.d.ts +6 -0
- package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.js +78 -0
- package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.js.map +1 -0
- package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.d.ts +6 -0
- package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.d.ts.map +1 -0
- package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.js +89 -0
- package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.js.map +1 -0
- package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.d.ts +6 -0
- package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.js +88 -0
- package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.js.map +1 -0
- package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.d.ts +6 -0
- package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.d.ts.map +1 -0
- package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.js +105 -0
- package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.js.map +1 -0
- package/dist/tests/multi_v2/updateRole.test.d.ts +5 -0
- package/dist/tests/multi_v2/updateRole.test.d.ts.map +1 -0
- package/dist/tests/multi_v2/updateRole.test.js +25 -0
- package/dist/tests/multi_v2/updateRole.test.js.map +1 -0
- package/dist/tests/syncAgent_testUtils.d.ts +9 -0
- package/dist/tests/syncAgent_testUtils.d.ts.map +1 -0
- package/dist/tests/syncAgent_testUtils.js +39 -0
- package/dist/tests/syncAgent_testUtils.js.map +1 -0
- package/dist/tests/testDriver_testUtils.d.ts +2 -0
- package/dist/tests/testDriver_testUtils.d.ts.map +1 -0
- package/dist/tests/testDriver_testUtils.js +154 -0
- package/dist/tests/testDriver_testUtils.js.map +1 -0
- package/dist/tests/testUtils.d.ts +197 -0
- package/dist/tests/testUtils.d.ts.map +1 -0
- package/dist/tests/testUtils.js +1086 -0
- package/dist/tests/testUtils.js.map +1 -0
- package/dist/tests/unit/crypto.test.d.ts +5 -0
- package/dist/tests/unit/crypto.test.d.ts.map +1 -0
- package/dist/tests/unit/crypto.test.js +116 -0
- package/dist/tests/unit/crypto.test.js.map +1 -0
- package/dist/tests/unit/crypto_utils.test.d.ts +5 -0
- package/dist/tests/unit/crypto_utils.test.d.ts.map +1 -0
- package/dist/tests/unit/crypto_utils.test.js +36 -0
- package/dist/tests/unit/crypto_utils.test.js.map +1 -0
- package/dist/tests/unit/decorators.test.d.ts +2 -0
- package/dist/tests/unit/decorators.test.d.ts.map +1 -0
- package/dist/tests/unit/decorators.test.js +76 -0
- package/dist/tests/unit/decorators.test.js.map +1 -0
- package/dist/tests/unit/decryptionExtensions.test.d.ts +2 -0
- package/dist/tests/unit/decryptionExtensions.test.d.ts.map +1 -0
- package/dist/tests/unit/decryptionExtensions.test.js +341 -0
- package/dist/tests/unit/decryptionExtensions.test.js.map +1 -0
- package/dist/tests/unit/helpers/ConversationBuilder.d.ts +39 -0
- package/dist/tests/unit/helpers/ConversationBuilder.d.ts.map +1 -0
- package/dist/tests/unit/helpers/ConversationBuilder.js +171 -0
- package/dist/tests/unit/helpers/ConversationBuilder.js.map +1 -0
- package/dist/tests/unit/observable/combine.test.d.ts +2 -0
- package/dist/tests/unit/observable/combine.test.d.ts.map +1 -0
- package/dist/tests/unit/observable/combine.test.js +282 -0
- package/dist/tests/unit/observable/combine.test.js.map +1 -0
- package/dist/tests/unit/observable/observable.test.d.ts +2 -0
- package/dist/tests/unit/observable/observable.test.d.ts.map +1 -0
- package/dist/tests/unit/observable/observable.test.js +321 -0
- package/dist/tests/unit/observable/observable.test.js.map +1 -0
- package/dist/tests/unit/snapshotMigration0000.test.d.ts +2 -0
- package/dist/tests/unit/snapshotMigration0000.test.d.ts.map +1 -0
- package/dist/tests/unit/snapshotMigration0000.test.js +12 -0
- package/dist/tests/unit/snapshotMigration0000.test.js.map +1 -0
- package/dist/tests/unit/snapshotMigration0001.test.d.ts +2 -0
- package/dist/tests/unit/snapshotMigration0001.test.d.ts.map +1 -0
- package/dist/tests/unit/snapshotMigration0001.test.js +63 -0
- package/dist/tests/unit/snapshotMigration0001.test.js.map +1 -0
- package/dist/tests/unit/snapshotMigration0002.test.d.ts +2 -0
- package/dist/tests/unit/snapshotMigration0002.test.d.ts.map +1 -0
- package/dist/tests/unit/snapshotMigration0002.test.js +31 -0
- package/dist/tests/unit/snapshotMigration0002.test.js.map +1 -0
- package/dist/tests/unit/snapshotMigration0003.test.d.ts +2 -0
- package/dist/tests/unit/snapshotMigration0003.test.d.ts.map +1 -0
- package/dist/tests/unit/snapshotMigration0003.test.js +28 -0
- package/dist/tests/unit/snapshotMigration0003.test.js.map +1 -0
- package/dist/tests/unit/snapshotMigration0004.test.d.ts +2 -0
- package/dist/tests/unit/snapshotMigration0004.test.d.ts.map +1 -0
- package/dist/tests/unit/snapshotMigration0004.test.js +112 -0
- package/dist/tests/unit/snapshotMigration0004.test.js.map +1 -0
- package/dist/tests/unit/snapshotMigration0005.test.d.ts +2 -0
- package/dist/tests/unit/snapshotMigration0005.test.d.ts.map +1 -0
- package/dist/tests/unit/snapshotMigration0005.test.js +124 -0
- package/dist/tests/unit/snapshotMigration0005.test.js.map +1 -0
- package/dist/tests/unit/store.test.d.ts +2 -0
- package/dist/tests/unit/store.test.d.ts.map +1 -0
- package/dist/tests/unit/store.test.js +47 -0
- package/dist/tests/unit/store.test.js.map +1 -0
- package/dist/tests/unit/streamUtils.test.d.ts +2 -0
- package/dist/tests/unit/streamUtils.test.d.ts.map +1 -0
- package/dist/tests/unit/streamUtils.test.js +383 -0
- package/dist/tests/unit/streamUtils.test.js.map +1 -0
- package/dist/tests/unit/tags.test.d.ts +2 -0
- package/dist/tests/unit/tags.test.d.ts.map +1 -0
- package/dist/tests/unit/tags.test.js +154 -0
- package/dist/tests/unit/tags.test.js.map +1 -0
- package/dist/tests/unit/testUtils.test.d.ts +5 -0
- package/dist/tests/unit/testUtils.test.d.ts.map +1 -0
- package/dist/tests/unit/testUtils.test.js +86 -0
- package/dist/tests/unit/testUtils.test.js.map +1 -0
- package/dist/tests/unit/timelineStoreInterface.test.d.ts +5 -0
- package/dist/tests/unit/timelineStoreInterface.test.d.ts.map +1 -0
- package/dist/tests/unit/timelineStoreInterface.test.js +343 -0
- package/dist/tests/unit/timelineStoreInterface.test.js.map +1 -0
- package/dist/townsEnv.d.ts +47 -0
- package/dist/townsEnv.d.ts.map +1 -0
- package/dist/townsEnv.js +248 -0
- package/dist/townsEnv.js.map +1 -0
- package/dist/types.d.ts +200 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +765 -0
- package/dist/types.js.map +1 -0
- package/dist/unauthenticatedClient.d.ts +25 -0
- package/dist/unauthenticatedClient.d.ts.map +1 -0
- package/dist/unauthenticatedClient.js +133 -0
- package/dist/unauthenticatedClient.js.map +1 -0
- package/dist/utils.d.ts +33 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +119 -0
- package/dist/utils.js.map +1 -0
- package/dist/views/models/timelineEvent.d.ts +11 -0
- package/dist/views/models/timelineEvent.d.ts.map +1 -0
- package/dist/views/models/timelineEvent.js +1063 -0
- package/dist/views/models/timelineEvent.js.map +1 -0
- package/dist/views/models/timelineTypes.d.ts +412 -0
- package/dist/views/models/timelineTypes.d.ts.map +1 -0
- package/dist/views/models/timelineTypes.js +224 -0
- package/dist/views/models/timelineTypes.js.map +1 -0
- package/dist/views/streams/channelStreams.d.ts +8 -0
- package/dist/views/streams/channelStreams.d.ts.map +1 -0
- package/dist/views/streams/channelStreams.js +9 -0
- package/dist/views/streams/channelStreams.js.map +1 -0
- package/dist/views/streams/dmStreams.d.ts +13 -0
- package/dist/views/streams/dmStreams.d.ts.map +1 -0
- package/dist/views/streams/dmStreams.js +33 -0
- package/dist/views/streams/dmStreams.js.map +1 -0
- package/dist/views/streams/gdmStreams.d.ts +16 -0
- package/dist/views/streams/gdmStreams.d.ts.map +1 -0
- package/dist/views/streams/gdmStreams.js +40 -0
- package/dist/views/streams/gdmStreams.js.map +1 -0
- package/dist/views/streams/notificationSettings.d.ts +14 -0
- package/dist/views/streams/notificationSettings.d.ts.map +1 -0
- package/dist/views/streams/notificationSettings.js +32 -0
- package/dist/views/streams/notificationSettings.js.map +1 -0
- package/dist/views/streams/spaceStreams.d.ts +17 -0
- package/dist/views/streams/spaceStreams.d.ts.map +1 -0
- package/dist/views/streams/spaceStreams.js +52 -0
- package/dist/views/streams/spaceStreams.js.map +1 -0
- package/dist/views/streams/streamMemberIds.d.ts +8 -0
- package/dist/views/streams/streamMemberIds.d.ts.map +1 -0
- package/dist/views/streams/streamMemberIds.js +34 -0
- package/dist/views/streams/streamMemberIds.js.map +1 -0
- package/dist/views/streams/streamStatus.d.ts +12 -0
- package/dist/views/streams/streamStatus.d.ts.map +1 -0
- package/dist/views/streams/streamStatus.js +25 -0
- package/dist/views/streams/streamStatus.js.map +1 -0
- package/dist/views/streams/timelines.d.ts +25 -0
- package/dist/views/streams/timelines.d.ts.map +1 -0
- package/dist/views/streams/timelines.js +108 -0
- package/dist/views/streams/timelines.js.map +1 -0
- package/dist/views/streams/timelinesModel.d.ts +32 -0
- package/dist/views/streams/timelinesModel.d.ts.map +1 -0
- package/dist/views/streams/timelinesModel.js +656 -0
- package/dist/views/streams/timelinesModel.js.map +1 -0
- package/dist/views/streams/userInboxStreams.d.ts +10 -0
- package/dist/views/streams/userInboxStreams.d.ts.map +1 -0
- package/dist/views/streams/userInboxStreams.js +24 -0
- package/dist/views/streams/userInboxStreams.js.map +1 -0
- package/dist/views/streams/userMetadataStreams.d.ts +10 -0
- package/dist/views/streams/userMetadataStreams.d.ts.map +1 -0
- package/dist/views/streams/userMetadataStreams.js +25 -0
- package/dist/views/streams/userMetadataStreams.js.map +1 -0
- package/dist/views/streams/userSettingsStreams.d.ts +16 -0
- package/dist/views/streams/userSettingsStreams.d.ts.map +1 -0
- package/dist/views/streams/userSettingsStreams.js +74 -0
- package/dist/views/streams/userSettingsStreams.js.map +1 -0
- package/dist/views/streams/userStreamsView.d.ts +28 -0
- package/dist/views/streams/userStreamsView.d.ts.map +1 -0
- package/dist/views/streams/userStreamsView.js +119 -0
- package/dist/views/streams/userStreamsView.js.map +1 -0
- package/dist/views/streamsView.d.ts +58 -0
- package/dist/views/streamsView.d.ts.map +1 -0
- package/dist/views/streamsView.js +172 -0
- package/dist/views/streamsView.js.map +1 -0
- package/dist/views/transforms/blockedUserIdsTransform.d.ts +5 -0
- package/dist/views/transforms/blockedUserIdsTransform.d.ts.map +1 -0
- package/dist/views/transforms/blockedUserIdsTransform.js +12 -0
- package/dist/views/transforms/blockedUserIdsTransform.js.map +1 -0
- package/dist/views/transforms/dmsAndGdmsTransform.d.ts +23 -0
- package/dist/views/transforms/dmsAndGdmsTransform.d.ts.map +1 -0
- package/dist/views/transforms/dmsAndGdmsTransform.js +73 -0
- package/dist/views/transforms/dmsAndGdmsTransform.js.map +1 -0
- package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.d.ts +13 -0
- package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.d.ts.map +1 -0
- package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.js +22 -0
- package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.js.map +1 -0
- package/dist/views/transforms/logObservable.d.ts +2 -0
- package/dist/views/transforms/logObservable.d.ts.map +1 -0
- package/dist/views/transforms/logObservable.js +10 -0
- package/dist/views/transforms/logObservable.js.map +1 -0
- package/dist/views/transforms/membersNotInDmsTransform.d.ts +17 -0
- package/dist/views/transforms/membersNotInDmsTransform.d.ts.map +1 -0
- package/dist/views/transforms/membersNotInDmsTransform.js +39 -0
- package/dist/views/transforms/membersNotInDmsTransform.js.map +1 -0
- package/dist/views/transforms/membershipsTransform.d.ts +4 -0
- package/dist/views/transforms/membershipsTransform.d.ts.map +1 -0
- package/dist/views/transforms/membershipsTransform.js +16 -0
- package/dist/views/transforms/membershipsTransform.js.map +1 -0
- package/dist/views/transforms/mutedStreamIdsTransform.d.ts +5 -0
- package/dist/views/transforms/mutedStreamIdsTransform.d.ts.map +1 -0
- package/dist/views/transforms/mutedStreamIdsTransform.js +11 -0
- package/dist/views/transforms/mutedStreamIdsTransform.js.map +1 -0
- package/dist/views/transforms/spaceIdsTransform.d.ts +3 -0
- package/dist/views/transforms/spaceIdsTransform.d.ts.map +1 -0
- package/dist/views/transforms/spaceIdsTransform.js +14 -0
- package/dist/views/transforms/spaceIdsTransform.js.map +1 -0
- package/dist/views/transforms/spaceMentionsTransform.d.ts +17 -0
- package/dist/views/transforms/spaceMentionsTransform.d.ts.map +1 -0
- package/dist/views/transforms/spaceMentionsTransform.js +79 -0
- package/dist/views/transforms/spaceMentionsTransform.js.map +1 -0
- package/dist/views/transforms/spaceUnreadsTransform.d.ts +15 -0
- package/dist/views/transforms/spaceUnreadsTransform.d.ts.map +1 -0
- package/dist/views/transforms/spaceUnreadsTransform.js +83 -0
- package/dist/views/transforms/spaceUnreadsTransform.js.map +1 -0
- package/dist/views/transforms/streamMemberIdsSansUserTransform.d.ts +7 -0
- package/dist/views/transforms/streamMemberIdsSansUserTransform.d.ts.map +1 -0
- package/dist/views/transforms/streamMemberIdsSansUserTransform.js +23 -0
- package/dist/views/transforms/streamMemberIdsSansUserTransform.js.map +1 -0
- package/dist/views/transforms/unreadMarkersTransform.d.ts +13 -0
- package/dist/views/transforms/unreadMarkersTransform.d.ts.map +1 -0
- package/dist/views/transforms/unreadMarkersTransform.js +246 -0
- package/dist/views/transforms/unreadMarkersTransform.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { snapshotMigration0000 } from './snapshotMigration0000';
|
|
2
|
+
import { snapshotMigration0001 } from './snapshotMigration0001';
|
|
3
|
+
import { snapshotMigration0002 } from './snapshotMigration0002';
|
|
4
|
+
import { snapshotMigration0003 } from './snapshotMigration0003';
|
|
5
|
+
import { snapshotMigration0004 } from './snapshotMigration0004';
|
|
6
|
+
import { snapshotMigration0005 } from './snapshotMigration0005';
|
|
7
|
+
import { snapshotMigration0006 } from './snapshotMigration0006';
|
|
8
|
+
const SNAPSHOT_MIGRATIONS = [
|
|
9
|
+
snapshotMigration0000,
|
|
10
|
+
snapshotMigration0001,
|
|
11
|
+
snapshotMigration0002,
|
|
12
|
+
snapshotMigration0003,
|
|
13
|
+
snapshotMigration0004,
|
|
14
|
+
snapshotMigration0005,
|
|
15
|
+
snapshotMigration0006,
|
|
16
|
+
];
|
|
17
|
+
export function migrateSnapshot(snapshot) {
|
|
18
|
+
const currentVersion = SNAPSHOT_MIGRATIONS.length;
|
|
19
|
+
if (snapshot.snapshotVersion >= currentVersion) {
|
|
20
|
+
return snapshot;
|
|
21
|
+
}
|
|
22
|
+
let result = snapshot;
|
|
23
|
+
for (let i = snapshot.snapshotVersion; i < currentVersion; i++) {
|
|
24
|
+
result = SNAPSHOT_MIGRATIONS[i](result);
|
|
25
|
+
}
|
|
26
|
+
result.snapshotVersion = currentVersion;
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=migrateSnapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrateSnapshot.js","sourceRoot":"","sources":["../../src/migrations/migrateSnapshot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,MAAM,mBAAmB,GAAG;IACxB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;CACxB,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,QAAkB;IAC9C,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAA;IACjD,IAAI,QAAQ,CAAC,eAAe,IAAI,cAAc,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAA;IACnB,CAAC;IACD,IAAI,MAAM,GAAG,QAAQ,CAAA;IACrB,KAAK,IAAI,CAAC,GAAW,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;QACrE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IACD,MAAM,CAAC,eAAe,GAAG,cAAc,CAAA;IACvC,OAAO,MAAM,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0000.d.ts","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0000.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAElE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0000.js","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0000.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACpD,OAAO,QAAQ,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0001.d.ts","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0001.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAwB5C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CA6BlE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { bin_equal } from '@towns-labs/utils';
|
|
2
|
+
// Generic compactFunc function
|
|
3
|
+
function compactFunc(elements, keyFn) {
|
|
4
|
+
if (elements.length === 0) {
|
|
5
|
+
return elements;
|
|
6
|
+
}
|
|
7
|
+
let j = 1;
|
|
8
|
+
for (let i = 1; i < elements.length; i++) {
|
|
9
|
+
const key2 = keyFn(elements[i]);
|
|
10
|
+
const key1 = keyFn(elements[i - 1]);
|
|
11
|
+
if (!bin_equal(key2, key1)) {
|
|
12
|
+
elements[j] = elements[i];
|
|
13
|
+
j++;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return elements.slice(0, j);
|
|
17
|
+
}
|
|
18
|
+
// / nasty bug with the insert_sorted function, it was inserting an extra element at the end
|
|
19
|
+
// / every insert, we need to remove duplicates
|
|
20
|
+
export function snapshotMigration0001(snapshot) {
|
|
21
|
+
if (snapshot.members) {
|
|
22
|
+
snapshot.members.joined = compactFunc(snapshot.members.joined, (m) => m.userAddress);
|
|
23
|
+
}
|
|
24
|
+
switch (snapshot.content?.case) {
|
|
25
|
+
case 'spaceContent': {
|
|
26
|
+
snapshot.content.value.channels = compactFunc(snapshot.content.value.channels, (c) => c.channelId);
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
case 'userContent': {
|
|
30
|
+
snapshot.content.value.memberships = compactFunc(snapshot.content.value.memberships, (c) => c.streamId);
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
case 'userSettingsContent': {
|
|
34
|
+
snapshot.content.value.fullyReadMarkers = compactFunc(snapshot.content.value.fullyReadMarkers, (c) => c.streamId);
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return snapshot;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=snapshotMigration0001.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0001.js","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0001.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,+BAA+B;AAC/B,SAAS,WAAW,CAAI,QAAa,EAAE,KAAiC;IACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAA;IACnB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAEnC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC,EAAE,CAAA;QACP,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED,4FAA4F;AAC5F,+CAA+C;AAC/C,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACpD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IACxF,CAAC;IAED,QAAQ,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,KAAK,cAAc,CAAC,CAAC,CAAC;YAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,WAAW,CACzC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACrB,CAAA;YACD,MAAK;QACT,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAC5C,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CACpB,CAAA;YACD,MAAK;QACT,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YACzB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,WAAW,CACjD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CACpB,CAAA;YACD,MAAK;QACT,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0002.d.ts","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0002.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsC,MAAM,mBAAmB,CAAA;AAIhF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAkBlE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SpacePayload_ChannelSettingsSchema } from '@towns-labs/proto';
|
|
2
|
+
import { isDefaultChannelId, streamIdFromBytes } from '../id';
|
|
3
|
+
import { create } from '@bufbuild/protobuf';
|
|
4
|
+
export function snapshotMigration0002(snapshot) {
|
|
5
|
+
switch (snapshot.content?.case) {
|
|
6
|
+
case 'spaceContent': {
|
|
7
|
+
snapshot.content.value.channels = snapshot.content.value.channels.map((c) => {
|
|
8
|
+
if (c.settings === undefined) {
|
|
9
|
+
c.settings = create(SpacePayload_ChannelSettingsSchema, {
|
|
10
|
+
autojoin: false,
|
|
11
|
+
hideUserJoinLeaveEvents: false,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
if (isDefaultChannelId(streamIdFromBytes(c.channelId))) {
|
|
15
|
+
c.settings.autojoin = true;
|
|
16
|
+
}
|
|
17
|
+
return c;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return snapshot;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=snapshotMigration0002.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0002.js","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0002.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,kCAAkC,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACpD,QAAQ,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,KAAK,cAAc,CAAC,CAAC,CAAC;YAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxE,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,kCAAkC,EAAE;wBACpD,QAAQ,EAAE,KAAK;wBACf,uBAAuB,EAAE,KAAK;qBACjC,CAAC,CAAA;gBACN,CAAC;gBACD,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBACrD,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;gBAC9B,CAAC;gBACD,OAAO,CAAC,CAAA;YACZ,CAAC,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Snapshot } from '@towns-labs/proto';
|
|
2
|
+
/**
|
|
3
|
+
* Zero out the tips sent and received since we're adding counts and we want them to match
|
|
4
|
+
*/
|
|
5
|
+
export declare function snapshotMigration0003(snapshot: Snapshot): Snapshot;
|
|
6
|
+
//# sourceMappingURL=snapshotMigration0003.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0003.d.ts","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0003.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAUlE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zero out the tips sent and received since we're adding counts and we want them to match
|
|
3
|
+
*/
|
|
4
|
+
export function snapshotMigration0003(snapshot) {
|
|
5
|
+
switch (snapshot.content?.case) {
|
|
6
|
+
case 'userContent': {
|
|
7
|
+
snapshot.content.value.tipsSent = {};
|
|
8
|
+
snapshot.content.value.tipsReceived = {};
|
|
9
|
+
snapshot.content.value.tipsSentCount = {};
|
|
10
|
+
snapshot.content.value.tipsReceivedCount = {};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return snapshot;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=snapshotMigration0003.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0003.js","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0003.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACpD,QAAQ,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAA;YACpC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAA;YACxC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAA;YACzC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAA;QACjD,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Snapshot } from '@towns-labs/proto';
|
|
2
|
+
/**
|
|
3
|
+
* One time fix migration to remove lost sessionIds from key solicitations
|
|
4
|
+
* Loop over all Member objects, count sessionIds across solicitations
|
|
5
|
+
* and log those appearing in get 25% of members, checking if they map to
|
|
6
|
+
* username or display_name encrypted payloads
|
|
7
|
+
*/
|
|
8
|
+
export declare function snapshotMigration0004(snapshot: Snapshot, force?: boolean): Snapshot;
|
|
9
|
+
//# sourceMappingURL=snapshotMigration0004.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0004.d.ts","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0004.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAkB,MAAM,mBAAmB,CAAA;AAO5D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAE,OAAe,GAAG,QAAQ,CAkG1F"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { bin_toHexString, dlogger } from '@towns-labs/utils';
|
|
2
|
+
import { SnapshotSchema } from '@towns-labs/proto';
|
|
3
|
+
import { SpaceIdFromSpaceAddress } from '@towns-labs/web3';
|
|
4
|
+
import { removeCommon } from '../utils';
|
|
5
|
+
import { toBinary } from '@bufbuild/protobuf';
|
|
6
|
+
const logger = dlogger('csb:snapshotMigration0004');
|
|
7
|
+
const LOG_SIZE_REDUCTION = false;
|
|
8
|
+
/**
|
|
9
|
+
* One time fix migration to remove lost sessionIds from key solicitations
|
|
10
|
+
* Loop over all Member objects, count sessionIds across solicitations
|
|
11
|
+
* and log those appearing in get 25% of members, checking if they map to
|
|
12
|
+
* username or display_name encrypted payloads
|
|
13
|
+
*/
|
|
14
|
+
export function snapshotMigration0004(snapshot, force = false) {
|
|
15
|
+
if (!snapshot.members?.joined?.length || (snapshot.members.joined.length < 500 && !force)) {
|
|
16
|
+
return snapshot;
|
|
17
|
+
}
|
|
18
|
+
const members = snapshot.members.joined;
|
|
19
|
+
const sessionIdCounts = new Map();
|
|
20
|
+
const memberCount = members.length;
|
|
21
|
+
const threshold = Math.max(memberCount / 4, 2); // 25% threshold, minimum 2 for testing
|
|
22
|
+
for (const member of members) {
|
|
23
|
+
const processedIds = new Set(); // Track IDs processed for this member
|
|
24
|
+
if (!member.solicitations?.length) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
for (const solicitation of member.solicitations) {
|
|
28
|
+
if (!solicitation.sessionIds?.length) {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
for (const sessionId of solicitation.sessionIds) {
|
|
32
|
+
if (!processedIds.has(sessionId)) {
|
|
33
|
+
processedIds.add(sessionId);
|
|
34
|
+
sessionIdCounts.set(sessionId, (sessionIdCounts.get(sessionId) || 0) + 1);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const lostSessionIds = Array.from(sessionIdCounts.entries())
|
|
40
|
+
.filter(([_, count]) => count > threshold)
|
|
41
|
+
.map(([id]) => id)
|
|
42
|
+
.toSorted();
|
|
43
|
+
if (lostSessionIds.length) {
|
|
44
|
+
const lostSessionIdsSet = new Set(lostSessionIds);
|
|
45
|
+
const before = LOG_SIZE_REDUCTION ? toBinary(SnapshotSchema, snapshot).length : undefined;
|
|
46
|
+
let numRemove = 0;
|
|
47
|
+
let usernamesCleared = 0;
|
|
48
|
+
let displayNamesCleared = 0;
|
|
49
|
+
for (const member of members) {
|
|
50
|
+
// remove all lost sessionIds from members
|
|
51
|
+
for (const solicitation of member.solicitations) {
|
|
52
|
+
const before = solicitation.sessionIds.length;
|
|
53
|
+
solicitation.sessionIds = removeCommon(solicitation.sessionIds, lostSessionIds);
|
|
54
|
+
const after = solicitation.sessionIds.length;
|
|
55
|
+
numRemove += before - after;
|
|
56
|
+
}
|
|
57
|
+
// clear lost user and display names
|
|
58
|
+
if (member.displayName?.data?.sessionId &&
|
|
59
|
+
lostSessionIdsSet.has(member.displayName.data.sessionId)) {
|
|
60
|
+
member.displayName = undefined;
|
|
61
|
+
displayNamesCleared++;
|
|
62
|
+
}
|
|
63
|
+
if (member.displayName?.data?.sessionIdBytes &&
|
|
64
|
+
member.displayName.data.sessionIdBytes.length > 0 &&
|
|
65
|
+
lostSessionIdsSet.has(bin_toHexString(member.displayName.data.sessionIdBytes))) {
|
|
66
|
+
member.displayName = undefined;
|
|
67
|
+
displayNamesCleared++;
|
|
68
|
+
}
|
|
69
|
+
if (member.username?.data?.sessionId &&
|
|
70
|
+
lostSessionIdsSet.has(member.username.data.sessionId)) {
|
|
71
|
+
member.username = undefined;
|
|
72
|
+
usernamesCleared++;
|
|
73
|
+
}
|
|
74
|
+
if (member.username?.data?.sessionIdBytes &&
|
|
75
|
+
member.username.data.sessionIdBytes.length > 0 &&
|
|
76
|
+
lostSessionIdsSet.has(bin_toHexString(member.username.data.sessionIdBytes))) {
|
|
77
|
+
member.username = undefined;
|
|
78
|
+
usernamesCleared++;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const streamIdBytes = snapshot.content.value?.inception?.streamId;
|
|
82
|
+
const streamId = streamIdBytes ? bin_toHexString(streamIdBytes) : '';
|
|
83
|
+
const spaceAddress = SpaceIdFromSpaceAddress(streamId);
|
|
84
|
+
const after = LOG_SIZE_REDUCTION ? toBinary(SnapshotSchema, snapshot).length : undefined;
|
|
85
|
+
const mbSaved = before && after ? (before - after) / 1024 / 1024 : undefined;
|
|
86
|
+
const sizeLog = before && after && mbSaved
|
|
87
|
+
? `Snapshot size reduced from ${before} to ${after}, ${mbSaved.toFixed(2)} MB saved`
|
|
88
|
+
: '';
|
|
89
|
+
logger.info(`${spaceAddress} ${sizeLog} ${numRemove} sessionIds ${usernamesCleared} usernames and ${displayNamesCleared} display names removed`);
|
|
90
|
+
}
|
|
91
|
+
return snapshot;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=snapshotMigration0004.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0004.js","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0004.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Snapshot } from '@towns-labs/proto';
|
|
2
|
+
/**
|
|
3
|
+
* One time fix migration to remove lost sessionIds from key solicitations
|
|
4
|
+
* Loop over all Member objects, count sessionIds across solicitations
|
|
5
|
+
* and log those appearing in get 5% of members, checking if they map to
|
|
6
|
+
* username or display_name encrypted payloads
|
|
7
|
+
*/
|
|
8
|
+
export declare function snapshotMigration0005(snapshot: Snapshot, force?: boolean): Snapshot;
|
|
9
|
+
//# sourceMappingURL=snapshotMigration0005.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0005.d.ts","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0005.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAkB,MAAM,mBAAmB,CAAA;AAM5D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAE,OAAe,GAAG,QAAQ,CAgG1F"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { bin_toHexString, dlogger } from '@towns-labs/utils';
|
|
2
|
+
import { SnapshotSchema } from '@towns-labs/proto';
|
|
3
|
+
import { SpaceIdFromSpaceAddress } from '@towns-labs/web3';
|
|
4
|
+
import { toBinary } from '@bufbuild/protobuf';
|
|
5
|
+
const logger = dlogger('csb:snapshotMigration0005');
|
|
6
|
+
const LOG_SIZE_REDUCTION = false;
|
|
7
|
+
/**
|
|
8
|
+
* One time fix migration to remove lost sessionIds from key solicitations
|
|
9
|
+
* Loop over all Member objects, count sessionIds across solicitations
|
|
10
|
+
* and log those appearing in get 5% of members, checking if they map to
|
|
11
|
+
* username or display_name encrypted payloads
|
|
12
|
+
*/
|
|
13
|
+
export function snapshotMigration0005(snapshot, force = false) {
|
|
14
|
+
if (!snapshot.members?.joined?.length || (snapshot.members.joined.length < 500 && !force)) {
|
|
15
|
+
return snapshot;
|
|
16
|
+
}
|
|
17
|
+
const members = snapshot.members.joined;
|
|
18
|
+
const sessionIdCounts = new Map();
|
|
19
|
+
const memberCount = members.length;
|
|
20
|
+
const threshold = Math.max(memberCount / 20, 2); // 5% threshold, minimum 2 for testing
|
|
21
|
+
for (const member of members) {
|
|
22
|
+
if (!member.solicitations?.length) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
for (const solicitation of member.solicitations) {
|
|
26
|
+
if (!solicitation.sessionIds?.length) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
for (const sessionId of solicitation.sessionIds) {
|
|
30
|
+
sessionIdCounts.set(sessionId, (sessionIdCounts.get(sessionId) || 0) + 1);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const lostSessionIds = Array.from(sessionIdCounts.entries())
|
|
35
|
+
.filter(([_, count]) => count > threshold)
|
|
36
|
+
.map(([id]) => id);
|
|
37
|
+
if (lostSessionIds.length) {
|
|
38
|
+
const lostSessionIdsSet = new Set(lostSessionIds);
|
|
39
|
+
const before = LOG_SIZE_REDUCTION ? toBinary(SnapshotSchema, snapshot).length : undefined;
|
|
40
|
+
let numRemove = 0;
|
|
41
|
+
let usernamesCleared = 0;
|
|
42
|
+
let displayNamesCleared = 0;
|
|
43
|
+
for (const member of members) {
|
|
44
|
+
// Remove all lost sessionIds from member's solicitations
|
|
45
|
+
for (const solicitation of member.solicitations) {
|
|
46
|
+
const before = solicitation.sessionIds.length;
|
|
47
|
+
solicitation.sessionIds = solicitation.sessionIds.filter((id) => !lostSessionIdsSet.has(id));
|
|
48
|
+
const after = solicitation.sessionIds.length;
|
|
49
|
+
numRemove += before - after;
|
|
50
|
+
}
|
|
51
|
+
// Remove empty solicitations
|
|
52
|
+
member.solicitations = member.solicitations.filter((solicitation) => solicitation.sessionIds.length > 0);
|
|
53
|
+
// Clear lost user and display names
|
|
54
|
+
if (member.displayName?.data?.sessionId &&
|
|
55
|
+
lostSessionIdsSet.has(member.displayName.data.sessionId)) {
|
|
56
|
+
member.displayName = undefined;
|
|
57
|
+
displayNamesCleared++;
|
|
58
|
+
}
|
|
59
|
+
if (member.displayName?.data?.sessionIdBytes &&
|
|
60
|
+
member.displayName.data.sessionIdBytes.length > 0 &&
|
|
61
|
+
lostSessionIdsSet.has(bin_toHexString(member.displayName.data.sessionIdBytes))) {
|
|
62
|
+
member.displayName = undefined;
|
|
63
|
+
displayNamesCleared++;
|
|
64
|
+
}
|
|
65
|
+
if (member.username?.data?.sessionId &&
|
|
66
|
+
lostSessionIdsSet.has(member.username.data.sessionId)) {
|
|
67
|
+
member.username = undefined;
|
|
68
|
+
usernamesCleared++;
|
|
69
|
+
}
|
|
70
|
+
if (member.username?.data?.sessionIdBytes &&
|
|
71
|
+
member.username.data.sessionIdBytes.length > 0 &&
|
|
72
|
+
lostSessionIdsSet.has(bin_toHexString(member.username.data.sessionIdBytes))) {
|
|
73
|
+
member.username = undefined;
|
|
74
|
+
usernamesCleared++;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const streamIdBytes = snapshot.content.value?.inception?.streamId;
|
|
78
|
+
const streamId = streamIdBytes ? bin_toHexString(streamIdBytes) : '';
|
|
79
|
+
const spaceAddress = SpaceIdFromSpaceAddress(streamId);
|
|
80
|
+
const after = LOG_SIZE_REDUCTION ? toBinary(SnapshotSchema, snapshot).length : undefined;
|
|
81
|
+
const mbSaved = before && after ? (before - after) / 1024 / 1024 : undefined;
|
|
82
|
+
const sizeLog = before && after && mbSaved
|
|
83
|
+
? `Snapshot size reduced from ${before} to ${after}, ${mbSaved.toFixed(2)} MB saved`
|
|
84
|
+
: '';
|
|
85
|
+
logger.info(`${spaceAddress} ${sizeLog} ${numRemove} sessionIds ${usernamesCleared} usernames and ${displayNamesCleared} display names removed`);
|
|
86
|
+
}
|
|
87
|
+
return snapshot;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=snapshotMigration0005.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0005.js","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0005.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Snapshot } from '@towns-labs/proto';
|
|
2
|
+
/**
|
|
3
|
+
* Copies the app address from user stream inception to the stream owner's appAddress field.
|
|
4
|
+
* This enables bot/app identification in member snapshots for DM validation without additional
|
|
5
|
+
* blockchain lookups. When a bot creates its user streams, the appAddress is stored in inception.
|
|
6
|
+
* This migration makes it accessible via the owner's member entry for efficient validation.
|
|
7
|
+
*/
|
|
8
|
+
export declare function snapshotMigration0006(snapshot: Snapshot): Snapshot;
|
|
9
|
+
//# sourceMappingURL=snapshotMigration0006.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0006.d.ts","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0006.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CA6BlE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copies the app address from user stream inception to the stream owner's appAddress field.
|
|
3
|
+
* This enables bot/app identification in member snapshots for DM validation without additional
|
|
4
|
+
* blockchain lookups. When a bot creates its user streams, the appAddress is stored in inception.
|
|
5
|
+
* This migration makes it accessible via the owner's member entry for efficient validation.
|
|
6
|
+
*/
|
|
7
|
+
export function snapshotMigration0006(snapshot) {
|
|
8
|
+
let appAddress;
|
|
9
|
+
switch (snapshot.content?.case) {
|
|
10
|
+
case 'userContent':
|
|
11
|
+
appAddress = snapshot.content.value.inception?.appAddress;
|
|
12
|
+
break;
|
|
13
|
+
case 'userSettingsContent':
|
|
14
|
+
appAddress = snapshot.content.value.inception?.appAddress;
|
|
15
|
+
break;
|
|
16
|
+
case 'userInboxContent':
|
|
17
|
+
appAddress = snapshot.content.value.inception?.appAddress;
|
|
18
|
+
break;
|
|
19
|
+
case 'userMetadataContent':
|
|
20
|
+
appAddress = snapshot.content.value.inception?.appAddress;
|
|
21
|
+
break;
|
|
22
|
+
default:
|
|
23
|
+
return snapshot;
|
|
24
|
+
}
|
|
25
|
+
if (!appAddress || appAddress.length === 0) {
|
|
26
|
+
return snapshot;
|
|
27
|
+
}
|
|
28
|
+
if (snapshot.members && snapshot.members.joined.length > 0) {
|
|
29
|
+
snapshot.members.joined[0].appAddress = appAddress;
|
|
30
|
+
}
|
|
31
|
+
return snapshot;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=snapshotMigration0006.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotMigration0006.js","sourceRoot":"","sources":["../../src/migrations/snapshotMigration0006.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACpD,IAAI,UAAkC,CAAA;IAEtC,QAAQ,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,KAAK,aAAa;YACd,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAA;YACzD,MAAK;QACT,KAAK,qBAAqB;YACtB,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAA;YACzD,MAAK;QACT,KAAK,kBAAkB;YACnB,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAA;YACzD,MAAK;QACT,KAAK,qBAAqB;YACtB,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAA;YACzD,MAAK;QACT;YACI,OAAO,QAAQ,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAA;IACtD,CAAC;IAED,OAAO,QAAQ,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Signer } from 'ethers';
|
|
2
|
+
import { RpcOptions } from './rpcCommon';
|
|
3
|
+
import { SignerContext } from './signerContext';
|
|
4
|
+
export declare class NotificationService {
|
|
5
|
+
private static _authenticateCommon;
|
|
6
|
+
static authenticate(signerContext: SignerContext, serviceUrl: string, opts?: RpcOptions): Promise<{
|
|
7
|
+
startResponse: import("@towns-labs/proto").StartAuthenticationResponse;
|
|
8
|
+
finishResponse: import("@towns-labs/proto").FinishAuthenticationResponse;
|
|
9
|
+
notificationRpcClient: import("./makeNotificationRpcClient").NotificationRpcClient;
|
|
10
|
+
}>;
|
|
11
|
+
static authenticateWithSigner(userId: string | Uint8Array, signer: Signer, serviceUrl: string, opts?: RpcOptions): Promise<{
|
|
12
|
+
startResponse: import("@towns-labs/proto").StartAuthenticationResponse;
|
|
13
|
+
finishResponse: import("@towns-labs/proto").FinishAuthenticationResponse;
|
|
14
|
+
notificationRpcClient: import("./makeNotificationRpcClient").NotificationRpcClient;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=notificationService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notificationService.d.ts","sourceRoot":"","sources":["../src/notificationService.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAI/C,qBAAa,mBAAmB;mBACP,mBAAmB;WAsC3B,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU;;;;;WAkBhF,sBAAsB,CAC/B,MAAM,EAAE,MAAM,GAAG,UAAU,EAC3B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,UAAU;;;;;CAiBxB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { makeAuthenticationRpcClient } from './makeAuthenticationRpcClient';
|
|
2
|
+
import { makeNotificationRpcClient } from './makeNotificationRpcClient';
|
|
3
|
+
import { bin_fromHexString, check } from '@towns-labs/utils';
|
|
4
|
+
import { riverSign, meganodeAuthHash } from './sign';
|
|
5
|
+
import { isDefined } from './check';
|
|
6
|
+
import { hashPersonalMessage } from '@ethereumjs/util';
|
|
7
|
+
// TODO: redo this to use the new auth service
|
|
8
|
+
export class NotificationService {
|
|
9
|
+
static async _authenticateCommon(userId, serviceUrl, opts, getSignature, extraFinishAuthParams) {
|
|
10
|
+
const authenticationRpcClient = makeAuthenticationRpcClient(serviceUrl, opts);
|
|
11
|
+
const startResponse = await authenticationRpcClient.startAuthentication({ userId });
|
|
12
|
+
check(startResponse.challenge.length >= 16, 'challenge must be 16 bytes');
|
|
13
|
+
check(isDefined(startResponse.expiration), 'expiration must be defined');
|
|
14
|
+
const hash = meganodeAuthHash(userId, startResponse.expiration.seconds, startResponse.challenge);
|
|
15
|
+
const signature = await getSignature(hash);
|
|
16
|
+
const finishResponse = await authenticationRpcClient.finishAuthentication({
|
|
17
|
+
userId,
|
|
18
|
+
challenge: startResponse.challenge,
|
|
19
|
+
signature,
|
|
20
|
+
...extraFinishAuthParams,
|
|
21
|
+
});
|
|
22
|
+
const notificationRpcClient = makeNotificationRpcClient(serviceUrl, finishResponse.sessionToken, opts);
|
|
23
|
+
return {
|
|
24
|
+
startResponse,
|
|
25
|
+
finishResponse,
|
|
26
|
+
notificationRpcClient,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
static async authenticate(signerContext, serviceUrl, opts) {
|
|
30
|
+
const userId = signerContext.creatorAddress;
|
|
31
|
+
return this._authenticateCommon(userId, serviceUrl, opts, async (hashSrc) => {
|
|
32
|
+
const hash = hashPersonalMessage(hashSrc);
|
|
33
|
+
return await riverSign(hash, signerContext.signerPrivateKey());
|
|
34
|
+
}, {
|
|
35
|
+
delegateSig: signerContext.delegateSig,
|
|
36
|
+
delegateExpiryEpochMs: signerContext.delegateExpiryEpochMs,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
static async authenticateWithSigner(userId, signer, serviceUrl, opts) {
|
|
40
|
+
if (typeof userId === 'string') {
|
|
41
|
+
userId = bin_fromHexString(userId);
|
|
42
|
+
}
|
|
43
|
+
return this._authenticateCommon(userId, serviceUrl, opts, async (hash) => {
|
|
44
|
+
const sigHex = await signer.signMessage(hash);
|
|
45
|
+
return bin_fromHexString(sigHex);
|
|
46
|
+
}, {});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=notificationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notificationService.js","sourceRoot":"","sources":["../src/notificationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAInC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,8CAA8C;AAC9C,MAAM,OAAO,mBAAmB;IACpB,MAAM,CAAC,KAAK,CAAC,mBAAmB,CACpC,MAAkB,EAClB,UAAkB,EAClB,IAA4B,EAC5B,YAAuD,EACvD,qBAA0C;QAE1C,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAE7E,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACnF,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,4BAA4B,CAAC,CAAA;QACzE,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,4BAA4B,CAAC,CAAA;QAExE,MAAM,IAAI,GAAG,gBAAgB,CACzB,MAAM,EACN,aAAa,CAAC,UAAU,CAAC,OAAO,EAChC,aAAa,CAAC,SAAS,CAC1B,CAAA;QAED,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,oBAAoB,CAAC;YACtE,MAAM;YACN,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,SAAS;YACT,GAAG,qBAAqB;SAC3B,CAAC,CAAA;QACF,MAAM,qBAAqB,GAAG,yBAAyB,CACnD,UAAU,EACV,cAAc,CAAC,YAAY,EAC3B,IAAI,CACP,CAAA;QACD,OAAO;YACH,aAAa;YACb,cAAc;YACd,qBAAqB;SACxB,CAAA;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAA4B,EAAE,UAAkB,EAAE,IAAiB;QACzF,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAA;QAE3C,OAAO,IAAI,CAAC,mBAAmB,CAC3B,MAAM,EACN,UAAU,EACV,IAAI,EACJ,KAAK,EAAE,OAAO,EAAE,EAAE;YACd,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;YACzC,OAAO,MAAM,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAClE,CAAC,EACD;YACI,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;SAC7D,CACJ,CAAA;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAC/B,MAA2B,EAC3B,MAAc,EACd,UAAkB,EAClB,IAAiB;QAEjB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QACtC,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAC3B,MAAM,EACN,UAAU,EACV,IAAI,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;YACX,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YAC7C,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,EACD,EAAE,CACL,CAAA;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { DmChannelSettingValue, GdmChannelSettingValue, GetSettingsResponse, SpaceChannelSettingValue, WebPushSubscriptionObject, PlainMessage } from '@towns-labs/proto';
|
|
2
|
+
import { DescMessage, MessageShape } from '@bufbuild/protobuf';
|
|
3
|
+
import { SignerContext } from './signerContext';
|
|
4
|
+
import { RpcOptions } from './rpcCommon';
|
|
5
|
+
import { StreamsView } from './views/streamsView';
|
|
6
|
+
import { NotificationSettingsModel } from './views/streams/notificationSettings';
|
|
7
|
+
export interface INotificationStore {
|
|
8
|
+
getItem<Desc extends DescMessage>(schema: Desc, key: string): MessageShape<Desc> | undefined;
|
|
9
|
+
setItem<Desc extends DescMessage>(schema: Desc, key: string, value: MessageShape<Desc>): void;
|
|
10
|
+
}
|
|
11
|
+
export declare class NotificationsClient {
|
|
12
|
+
private readonly signerContext;
|
|
13
|
+
private readonly url;
|
|
14
|
+
private readonly store;
|
|
15
|
+
private readonly opts;
|
|
16
|
+
readonly streamsView: StreamsView;
|
|
17
|
+
get notificationSettings(): NotificationSettingsModel;
|
|
18
|
+
private _client?;
|
|
19
|
+
private startResponseKey;
|
|
20
|
+
private finishResponseKey;
|
|
21
|
+
private settingsKey;
|
|
22
|
+
private getClientPromise;
|
|
23
|
+
private getSettingsPromise;
|
|
24
|
+
constructor(signerContext: SignerContext, url: string, store: INotificationStore | undefined, opts: RpcOptions | undefined, streamsView: StreamsView);
|
|
25
|
+
get userId(): string;
|
|
26
|
+
private getLocalStartResponse;
|
|
27
|
+
private setLocalStartResponse;
|
|
28
|
+
private getLocalFinishResponse;
|
|
29
|
+
private setLocalFinishResponse;
|
|
30
|
+
private getLocalSettings;
|
|
31
|
+
private setLocalSettings;
|
|
32
|
+
private updateLocalSettings;
|
|
33
|
+
private getClient;
|
|
34
|
+
private _getClient;
|
|
35
|
+
private withClient;
|
|
36
|
+
getSettings(): Promise<GetSettingsResponse | undefined>;
|
|
37
|
+
private _getSettings;
|
|
38
|
+
subscribeWebPush(subscription: PlainMessage<WebPushSubscriptionObject>, app: string): Promise<import("@bufbuild/protobuf").Message<"river.SubscribeWebPushResponse"> | undefined>;
|
|
39
|
+
unsubscribeWebPush(subscription: PlainMessage<WebPushSubscriptionObject>): Promise<import("@bufbuild/protobuf").Message<"river.UnsubscribeWebPushResponse"> | undefined>;
|
|
40
|
+
setDmGlobalSetting(value: DmChannelSettingValue): Promise<void | undefined>;
|
|
41
|
+
setGdmGlobalSetting(value: GdmChannelSettingValue): Promise<void | undefined>;
|
|
42
|
+
setDmChannelSetting(channelId: string, value: DmChannelSettingValue): Promise<void | undefined>;
|
|
43
|
+
setGdmChannelSetting(channelId: string, value: GdmChannelSettingValue): Promise<void | undefined>;
|
|
44
|
+
setSpaceSetting(spaceId: string, value: SpaceChannelSettingValue): Promise<void | undefined>;
|
|
45
|
+
setChannelSetting(channelId: string, value: SpaceChannelSettingValue): Promise<void | undefined>;
|
|
46
|
+
}
|
|
47
|
+
export declare function getMutedChannelIds(settings?: PlainMessage<GetSettingsResponse>): Set<string> | undefined;
|
|
48
|
+
//# sourceMappingURL=notificationsClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notificationsClient.d.ts","sourceRoot":"","sources":["../src/notificationsClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EAErB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,YAAY,EAQf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAU,WAAW,EAAc,YAAY,EAAoB,MAAM,oBAAoB,CAAA;AAIpG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AAIhF,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,IAAI,SAAS,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;IAC5F,OAAO,CAAC,IAAI,SAAS,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAChG;AAaD,qBAAa,mBAAmB;IAYxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,QAAQ,CAAC,WAAW,EAAE,WAAW;IAfrC,IAAI,oBAAoB,IAAI,yBAAyB,CAEpD;IACD,OAAO,CAAC,OAAO,CAAC,CAAuB;IACvC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,gBAAgB,CAAwD;IAChF,OAAO,CAAC,kBAAkB,CAAsD;gBAG3D,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,kBAAkB,YAAkC,EAC3D,IAAI,EAAE,UAAU,GAAG,SAAqB,EAChD,WAAW,EAAE,WAAW;IAQrC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,mBAAmB;YAUb,SAAS;YAgBT,UAAU;YA2CV,UAAU;IAgBlB,WAAW,IAAI,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;YAQ/C,YAAY;IAmBpB,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,yBAAyB,CAAC,EAAE,GAAG,EAAE,MAAM;IAOnF,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC,yBAAyB,CAAC;IAOxE,kBAAkB,CAAC,KAAK,EAAE,qBAAqB;IAc/C,mBAAmB,CAAC,KAAK,EAAE,sBAAsB;IAejD,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAoBnE,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB;IAoBrE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB;IAsBhE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB;CAsC7E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,mBAAmB,CAAC,2BAgC9E"}
|