@towns-protocol/sdk 0.0.191
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/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.d.ts +333 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1767 -0
- package/dist/client.js.map +1 -0
- package/dist/clientDecryptionExtensions.d.ts +44 -0
- package/dist/clientDecryptionExtensions.d.ts.map +1 -0
- package/dist/clientDecryptionExtensions.js +256 -0
- package/dist/clientDecryptionExtensions.js.map +1 -0
- package/dist/crypto_utils.d.ts +15 -0
- package/dist/crypto_utils.d.ts.map +1 -0
- package/dist/crypto_utils.js +99 -0
- package/dist/crypto_utils.js.map +1 -0
- package/dist/encryptedContentTypes.d.ts +31 -0
- package/dist/encryptedContentTypes.d.ts.map +1 -0
- package/dist/encryptedContentTypes.js +73 -0
- package/dist/encryptedContentTypes.js.map +1 -0
- package/dist/id.d.ts +54 -0
- package/dist/id.d.ts.map +1 -0
- package/dist/id.js +190 -0
- package/dist/id.js.map +1 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +101 -0
- package/dist/index.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 +20 -0
- package/dist/makeStreamRpcClient.d.ts.map +1 -0
- package/dist/makeStreamRpcClient.js +91 -0
- package/dist/makeStreamRpcClient.js.map +1 -0
- package/dist/memberMetadata_DisplayNames.d.ts +27 -0
- package/dist/memberMetadata_DisplayNames.d.ts.map +1 -0
- package/dist/memberMetadata_DisplayNames.js +96 -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 +33 -0
- package/dist/memberMetadata_Usernames.d.ts.map +1 -0
- package/dist/memberMetadata_Usernames.js +152 -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 +17 -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/notificationService.d.ts +17 -0
- package/dist/notificationService.d.ts.map +1 -0
- package/dist/notificationService.js +48 -0
- package/dist/notificationService.js.map +1 -0
- package/dist/observable/observable.d.ts +28 -0
- package/dist/observable/observable.d.ts.map +1 -0
- package/dist/observable/observable.js +57 -0
- package/dist/observable/observable.js.map +1 -0
- package/dist/observable/persistedObservable.d.ts +37 -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/persistenceStore.d.ts +71 -0
- package/dist/persistenceStore.d.ts.map +1 -0
- package/dist/persistenceStore.js +366 -0
- package/dist/persistenceStore.js.map +1 -0
- package/dist/riverConfig.d.ts +23 -0
- package/dist/riverConfig.d.ts.map +1 -0
- package/dist/riverConfig.js +111 -0
- package/dist/riverConfig.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 +9 -0
- package/dist/rpcCommon.d.ts.map +1 -0
- package/dist/rpcCommon.js +14 -0
- package/dist/rpcCommon.js.map +1 -0
- package/dist/rpcInterceptors.d.ts +20 -0
- package/dist/rpcInterceptors.d.ts.map +1 -0
- package/dist/rpcInterceptors.js +369 -0
- package/dist/rpcInterceptors.js.map +1 -0
- package/dist/sign.d.ts +41 -0
- package/dist/sign.d.ts.map +1 -0
- package/dist/sign.js +268 -0
- package/dist/sign.js.map +1 -0
- package/dist/signerContext.d.ts +60 -0
- package/dist/signerContext.d.ts.map +1 -0
- package/dist/signerContext.js +101 -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 +47 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +111 -0
- package/dist/stream.js.map +1 -0
- package/dist/streamEvents.d.ts +86 -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 +119 -0
- package/dist/streamStateView.d.ts.map +1 -0
- package/dist/streamStateView.js +527 -0
- package/dist/streamStateView.js.map +1 -0
- package/dist/streamStateView_AbstractContent.d.ts +20 -0
- package/dist/streamStateView_AbstractContent.d.ts.map +1 -0
- package/dist/streamStateView_AbstractContent.js +41 -0
- package/dist/streamStateView_AbstractContent.js.map +1 -0
- package/dist/streamStateView_Channel.d.ts +20 -0
- package/dist/streamStateView_Channel.d.ts.map +1 -0
- package/dist/streamStateView_Channel.js +65 -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 +57 -0
- package/dist/streamStateView_ChannelMetadata.js.map +1 -0
- package/dist/streamStateView_DMChannel.d.ts +22 -0
- package/dist/streamStateView_DMChannel.d.ts.map +1 -0
- package/dist/streamStateView_DMChannel.js +78 -0
- package/dist/streamStateView_DMChannel.js.map +1 -0
- package/dist/streamStateView_GDMChannel.d.ts +22 -0
- package/dist/streamStateView_GDMChannel.d.ts.map +1 -0
- package/dist/streamStateView_GDMChannel.js +82 -0
- package/dist/streamStateView_GDMChannel.js.map +1 -0
- package/dist/streamStateView_Media.d.ts +20 -0
- package/dist/streamStateView_Media.d.ts.map +1 -0
- package/dist/streamStateView_Media.js +54 -0
- package/dist/streamStateView_Media.js.map +1 -0
- package/dist/streamStateView_MemberMetadata.d.ts +51 -0
- package/dist/streamStateView_MemberMetadata.d.ts.map +1 -0
- package/dist/streamStateView_MemberMetadata.js +97 -0
- package/dist/streamStateView_MemberMetadata.js.map +1 -0
- package/dist/streamStateView_Members.d.ts +70 -0
- package/dist/streamStateView_Members.d.ts.map +1 -0
- package/dist/streamStateView_Members.js +409 -0
- package/dist/streamStateView_Members.js.map +1 -0
- package/dist/streamStateView_Members_Membership.d.ts +29 -0
- package/dist/streamStateView_Members_Membership.d.ts.map +1 -0
- package/dist/streamStateView_Members_Membership.js +117 -0
- package/dist/streamStateView_Members_Membership.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 +49 -0
- package/dist/streamStateView_Members_Solicitations.js.map +1 -0
- package/dist/streamStateView_Space.d.ts +34 -0
- package/dist/streamStateView_Space.d.ts.map +1 -0
- package/dist/streamStateView_Space.js +190 -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 +26 -0
- package/dist/streamStateView_User.d.ts.map +1 -0
- package/dist/streamStateView_User.js +154 -0
- package/dist/streamStateView_User.js.map +1 -0
- package/dist/streamStateView_UserInbox.d.ts +17 -0
- package/dist/streamStateView_UserInbox.d.ts.map +1 -0
- package/dist/streamStateView_UserInbox.js +70 -0
- package/dist/streamStateView_UserInbox.js.map +1 -0
- package/dist/streamStateView_UserMetadata.d.ts +27 -0
- package/dist/streamStateView_UserMetadata.d.ts.map +1 -0
- package/dist/streamStateView_UserMetadata.js +146 -0
- package/dist/streamStateView_UserMetadata.js.map +1 -0
- package/dist/streamStateView_UserSettings.d.ts +32 -0
- package/dist/streamStateView_UserSettings.d.ts.map +1 -0
- package/dist/streamStateView_UserSettings.js +112 -0
- package/dist/streamStateView_UserSettings.js.map +1 -0
- package/dist/streamUtils.d.ts +15 -0
- package/dist/streamUtils.d.ts.map +1 -0
- package/dist/streamUtils.js +112 -0
- package/dist/streamUtils.js.map +1 -0
- package/dist/sync-agent/db.d.ts +19 -0
- package/dist/sync-agent/db.d.ts.map +1 -0
- package/dist/sync-agent/db.js +36 -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 +59 -0
- package/dist/sync-agent/dms/models/dm.d.ts.map +1 -0
- package/dist/sync-agent/dms/models/dm.js +140 -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 +23 -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 +59 -0
- package/dist/sync-agent/gdms/models/gdm.d.ts.map +1 -0
- package/dist/sync-agent/gdms/models/gdm.js +138 -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 +66 -0
- package/dist/sync-agent/members/models/member.d.ts.map +1 -0
- package/dist/sync-agent/members/models/member.js +131 -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 +30 -0
- package/dist/sync-agent/river-connection/models/riverChain.d.ts.map +1 -0
- package/dist/sync-agent/river-connection/models/riverChain.js +93 -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 +61 -0
- package/dist/sync-agent/river-connection/riverConnection.d.ts.map +1 -0
- package/dist/sync-agent/river-connection/riverConnection.js +229 -0
- package/dist/sync-agent/river-connection/riverConnection.js.map +1 -0
- package/dist/sync-agent/spaces/models/channel.d.ts +84 -0
- package/dist/sync-agent/spaces/models/channel.d.ts.map +1 -0
- package/dist/sync-agent/spaces/models/channel.js +173 -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 +68 -0
- package/dist/sync-agent/syncAgent.d.ts.map +1 -0
- package/dist/sync-agent/syncAgent.js +108 -0
- package/dist/sync-agent/syncAgent.js.map +1 -0
- package/dist/sync-agent/timeline/models/pendingReplacedEvents.d.ts +12 -0
- package/dist/sync-agent/timeline/models/pendingReplacedEvents.d.ts.map +1 -0
- package/dist/sync-agent/timeline/models/pendingReplacedEvents.js +20 -0
- package/dist/sync-agent/timeline/models/pendingReplacedEvents.js.map +1 -0
- package/dist/sync-agent/timeline/models/reactions.d.ts +13 -0
- package/dist/sync-agent/timeline/models/reactions.d.ts.map +1 -0
- package/dist/sync-agent/timeline/models/reactions.js +67 -0
- package/dist/sync-agent/timeline/models/reactions.js.map +1 -0
- package/dist/sync-agent/timeline/models/replacedEvents.d.ts +18 -0
- package/dist/sync-agent/timeline/models/replacedEvents.d.ts.map +1 -0
- package/dist/sync-agent/timeline/models/replacedEvents.js +19 -0
- package/dist/sync-agent/timeline/models/replacedEvents.js.map +1 -0
- package/dist/sync-agent/timeline/models/threadStats.d.ts +13 -0
- package/dist/sync-agent/timeline/models/threadStats.d.ts.map +1 -0
- package/dist/sync-agent/timeline/models/threadStats.js +99 -0
- package/dist/sync-agent/timeline/models/threadStats.js.map +1 -0
- package/dist/sync-agent/timeline/models/threads.d.ts +14 -0
- package/dist/sync-agent/timeline/models/threads.d.ts.map +1 -0
- package/dist/sync-agent/timeline/models/threads.js +57 -0
- package/dist/sync-agent/timeline/models/threads.js.map +1 -0
- package/dist/sync-agent/timeline/models/timeline-types.d.ts +364 -0
- package/dist/sync-agent/timeline/models/timeline-types.d.ts.map +1 -0
- package/dist/sync-agent/timeline/models/timeline-types.js +66 -0
- package/dist/sync-agent/timeline/models/timeline-types.js.map +1 -0
- package/dist/sync-agent/timeline/models/timelineEvent.d.ts +14 -0
- package/dist/sync-agent/timeline/models/timelineEvent.d.ts.map +1 -0
- package/dist/sync-agent/timeline/models/timelineEvent.js +1080 -0
- package/dist/sync-agent/timeline/models/timelineEvent.js.map +1 -0
- package/dist/sync-agent/timeline/models/timelineEvents.d.ts +13 -0
- package/dist/sync-agent/timeline/models/timelineEvents.d.ts.map +1 -0
- package/dist/sync-agent/timeline/models/timelineEvents.js +37 -0
- package/dist/sync-agent/timeline/models/timelineEvents.js.map +1 -0
- package/dist/sync-agent/timeline/timeline.d.ts +43 -0
- package/dist/sync-agent/timeline/timeline.d.ts.map +1 -0
- package/dist/sync-agent/timeline/timeline.js +246 -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 +29 -0
- package/dist/sync-agent/user/models/userMemberships.d.ts.map +1 -0
- package/dist/sync-agent/user/models/userMemberships.js +84 -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 +22 -0
- package/dist/sync-agent/utils/spaceUtils.d.ts.map +1 -0
- package/dist/sync-agent/utils/spaceUtils.js +27 -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 +22 -0
- package/dist/syncedStream.d.ts.map +1 -0
- package/dist/syncedStream.js +108 -0
- package/dist/syncedStream.js.map +1 -0
- package/dist/syncedStreams.d.ts +46 -0
- package/dist/syncedStreams.d.ts.map +1 -0
- package/dist/syncedStreams.js +116 -0
- package/dist/syncedStreams.js.map +1 -0
- package/dist/syncedStreamsExtension.d.ts +50 -0
- package/dist/syncedStreamsExtension.d.ts.map +1 -0
- package/dist/syncedStreamsExtension.js +285 -0
- package/dist/syncedStreamsExtension.js.map +1 -0
- package/dist/syncedStreamsLoop.d.ts +121 -0
- package/dist/syncedStreamsLoop.d.ts.map +1 -0
- package/dist/syncedStreamsLoop.js +781 -0
- package/dist/syncedStreamsLoop.js.map +1 -0
- package/dist/tags.d.ts +7 -0
- package/dist/tags.d.ts.map +1 -0
- package/dist/tags.js +144 -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 +159 -0
- package/dist/tests/bob_testUtils.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 +33 -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 +206 -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 +145 -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 +51 -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/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 +151 -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 +101 -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 +59 -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 +61 -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 +46 -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 +49 -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 +65 -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 +160 -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 +220 -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 +280 -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 +235 -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 +47 -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 +786 -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 +64 -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 +174 -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 +154 -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/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 +274 -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 +77 -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 +218 -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 +545 -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 +113 -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 +161 -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 +190 -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 +559 -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 +105 -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 +199 -0
- package/dist/tests/multi_ne/streamRpcClientSync.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 +155 -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 +62 -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 +504 -0
- package/dist/tests/multi_ne/syncedStreams.test.js.map +1 -0
- package/dist/tests/multi_ne/tags.test.d.ts +2 -0
- package/dist/tests/multi_ne/tags.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/tags.test.js +186 -0
- package/dist/tests/multi_ne/tags.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 +56 -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 +88 -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 +10 -0
- package/dist/tests/syncAgent_testUtils.d.ts.map +1 -0
- package/dist/tests/syncAgent_testUtils.js +41 -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 +157 -0
- package/dist/tests/testDriver_testUtils.js.map +1 -0
- package/dist/tests/testUtils.d.ts +188 -0
- package/dist/tests/testUtils.d.ts.map +1 -0
- package/dist/tests/testUtils.js +1026 -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 +109 -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 +35 -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/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/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/testUtils.test.d.ts +5 -0
- package/dist/tests/unit/testUtils.test.d.ts.map +1 -0
- package/dist/tests/unit/testUtils.test.js +65 -0
- package/dist/tests/unit/testUtils.test.js.map +1 -0
- package/dist/types.d.ts +168 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +659 -0
- package/dist/types.js.map +1 -0
- package/dist/unauthenticatedClient.d.ts +26 -0
- package/dist/unauthenticatedClient.d.ts.map +1 -0
- package/dist/unauthenticatedClient.js +156 -0
- package/dist/unauthenticatedClient.js.map +1 -0
- package/dist/utils.d.ts +28 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +99 -0
- package/dist/utils.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import TypedEmitter from 'typed-emitter';
|
|
2
|
+
import { RemoteTimelineEvent } from './types';
|
|
3
|
+
import { ChannelPayload_Snapshot, Snapshot } from '@towns-protocol/proto';
|
|
4
|
+
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
|
|
5
|
+
import { StreamEncryptionEvents, StreamStateEvents } from './streamEvents';
|
|
6
|
+
export declare class StreamStateView_Channel extends StreamStateView_AbstractContent {
|
|
7
|
+
readonly streamId: string;
|
|
8
|
+
spaceId: string;
|
|
9
|
+
readonlytips: {
|
|
10
|
+
[key: string]: bigint;
|
|
11
|
+
};
|
|
12
|
+
private reachedRenderableContent;
|
|
13
|
+
constructor(streamId: string);
|
|
14
|
+
getStreamParentId(): string | undefined;
|
|
15
|
+
needsScrollback(): boolean;
|
|
16
|
+
applySnapshot(snapshot: Snapshot, content: ChannelPayload_Snapshot, _cleartexts: Record<string, Uint8Array | string> | undefined, _encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
|
|
17
|
+
prependEvent(event: RemoteTimelineEvent, cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, _stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
18
|
+
appendEvent(event: RemoteTimelineEvent, cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, _stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=streamStateView_Channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_Channel.d.ts","sourceRoot":"","sources":["../src/streamStateView_Channel.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAkB,uBAAuB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACzF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AAGnF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAG1E,qBAAa,uBAAwB,SAAQ,+BAA+B;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,CAAK;IACpB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAK;IAC5C,OAAO,CAAC,wBAAwB,CAAQ;gBAE5B,QAAQ,EAAE,MAAM;IAK5B,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAIvC,eAAe,IAAI,OAAO;IAI1B,aAAa,CACT,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,uBAAuB,EAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,SAAS,EAC5D,kBAAkB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,GACrE,IAAI;IAIP,YAAY,CACR,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC1C,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,EACnE,aAAa,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC3D,IAAI;IA4BP,WAAW,CACP,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC1C,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,EACnE,aAAa,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC3D,IAAI;CA0BV"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
|
|
2
|
+
import { check } from '@towns-protocol/dlog';
|
|
3
|
+
import { logNever } from './check';
|
|
4
|
+
import { streamIdFromBytes } from './id';
|
|
5
|
+
export class StreamStateView_Channel extends StreamStateView_AbstractContent {
|
|
6
|
+
streamId;
|
|
7
|
+
spaceId = '';
|
|
8
|
+
readonlytips = {};
|
|
9
|
+
reachedRenderableContent = false;
|
|
10
|
+
constructor(streamId) {
|
|
11
|
+
super();
|
|
12
|
+
this.streamId = streamId;
|
|
13
|
+
}
|
|
14
|
+
getStreamParentId() {
|
|
15
|
+
return this.spaceId;
|
|
16
|
+
}
|
|
17
|
+
needsScrollback() {
|
|
18
|
+
return !this.reachedRenderableContent;
|
|
19
|
+
}
|
|
20
|
+
applySnapshot(snapshot, content, _cleartexts, _encryptionEmitter) {
|
|
21
|
+
this.spaceId = streamIdFromBytes(content.inception?.spaceId ?? Uint8Array.from([]));
|
|
22
|
+
}
|
|
23
|
+
prependEvent(event, cleartext, encryptionEmitter, _stateEmitter) {
|
|
24
|
+
check(event.remoteEvent.event.payload.case === 'channelPayload');
|
|
25
|
+
const payload = event.remoteEvent.event.payload.value;
|
|
26
|
+
switch (payload.content.case) {
|
|
27
|
+
case 'inception':
|
|
28
|
+
break;
|
|
29
|
+
case 'message':
|
|
30
|
+
// if we have a refEventId it means we're a reaction or thread message
|
|
31
|
+
if (!payload.content.value.refEventId) {
|
|
32
|
+
this.reachedRenderableContent = true;
|
|
33
|
+
}
|
|
34
|
+
this.decryptEvent('channelMessage', event, payload.content.value, cleartext, encryptionEmitter);
|
|
35
|
+
break;
|
|
36
|
+
case 'redaction':
|
|
37
|
+
break;
|
|
38
|
+
case undefined:
|
|
39
|
+
break;
|
|
40
|
+
default:
|
|
41
|
+
logNever(payload.content);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
appendEvent(event, cleartext, encryptionEmitter, _stateEmitter) {
|
|
45
|
+
check(event.remoteEvent.event.payload.case === 'channelPayload');
|
|
46
|
+
const payload = event.remoteEvent.event.payload.value;
|
|
47
|
+
switch (payload.content.case) {
|
|
48
|
+
case 'inception':
|
|
49
|
+
break;
|
|
50
|
+
case 'message':
|
|
51
|
+
if (!payload.content.value.refEventId) {
|
|
52
|
+
this.reachedRenderableContent = true;
|
|
53
|
+
}
|
|
54
|
+
this.decryptEvent('channelMessage', event, payload.content.value, cleartext, encryptionEmitter);
|
|
55
|
+
break;
|
|
56
|
+
case 'redaction':
|
|
57
|
+
break;
|
|
58
|
+
case undefined:
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
logNever(payload.content);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=streamStateView_Channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_Channel.js","sourceRoot":"","sources":["../src/streamStateView_Channel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAExC,MAAM,OAAO,uBAAwB,SAAQ,+BAA+B;IAC/D,QAAQ,CAAQ;IACzB,OAAO,GAAW,EAAE,CAAA;IACpB,YAAY,GAA8B,EAAE,CAAA;IACpC,wBAAwB,GAAG,KAAK,CAAA;IAExC,YAAY,QAAgB;QACxB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAED,eAAe;QACX,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAA;IACzC,CAAC;IAED,aAAa,CACT,QAAkB,EAClB,OAAgC,EAChC,WAA4D,EAC5D,kBAAoE;QAEpE,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IACvF,CAAC;IAED,YAAY,CACR,KAA0B,EAC1B,SAA0C,EAC1C,iBAAmE,EACnE,aAA0D;QAE1D,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAA;QAChE,MAAM,OAAO,GAAmB,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAA;QACrE,QAAQ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3B,KAAK,WAAW;gBACZ,MAAK;YACT,KAAK,SAAS;gBACV,sEAAsE;gBACtE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACpC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAA;gBACxC,CAAC;gBACD,IAAI,CAAC,YAAY,CACb,gBAAgB,EAChB,KAAK,EACL,OAAO,CAAC,OAAO,CAAC,KAAK,EACrB,SAAS,EACT,iBAAiB,CACpB,CAAA;gBACD,MAAK;YACT,KAAK,WAAW;gBACZ,MAAK;YACT,KAAK,SAAS;gBACV,MAAK;YACT;gBACI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;IACL,CAAC;IAED,WAAW,CACP,KAA0B,EAC1B,SAA0C,EAC1C,iBAAmE,EACnE,aAA0D;QAE1D,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAA;QAChE,MAAM,OAAO,GAAmB,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAA;QACrE,QAAQ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3B,KAAK,WAAW;gBACZ,MAAK;YACT,KAAK,SAAS;gBACV,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACpC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAA;gBACxC,CAAC;gBACD,IAAI,CAAC,YAAY,CACb,gBAAgB,EAChB,KAAK,EACL,OAAO,CAAC,OAAO,CAAC,KAAK,EACrB,SAAS,EACT,iBAAiB,CACpB,CAAA;gBACD,MAAK;YACT,KAAK,WAAW;gBACZ,MAAK;YACT,KAAK,SAAS;gBACV,MAAK;YACT;gBACI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import TypedEmitter from 'typed-emitter';
|
|
2
|
+
import { ChannelProperties, EncryptedData, WrappedEncryptedData } from '@towns-protocol/proto';
|
|
3
|
+
import { DecryptedContent } from './encryptedContentTypes';
|
|
4
|
+
import { StreamEncryptionEvents, StreamEvents, StreamStateEvents } from './streamEvents';
|
|
5
|
+
import { RemoteTimelineEvent } from './types';
|
|
6
|
+
export declare class StreamStateView_ChannelMetadata {
|
|
7
|
+
log: import("@towns-protocol/dlog").DLogger;
|
|
8
|
+
readonly streamId: string;
|
|
9
|
+
channelProperties: ChannelProperties | undefined;
|
|
10
|
+
latestEncryptedChannelProperties?: {
|
|
11
|
+
eventId: string;
|
|
12
|
+
data: EncryptedData;
|
|
13
|
+
};
|
|
14
|
+
constructor(streamId: string);
|
|
15
|
+
applySnapshot(encryptedChannelProperties: WrappedEncryptedData, cleartexts: Record<string, Uint8Array | string> | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
|
|
16
|
+
private decryptPayload;
|
|
17
|
+
private handleDecryptedContent;
|
|
18
|
+
appendEvent(event: RemoteTimelineEvent, cleartext: Uint8Array | string | undefined, emitter: TypedEmitter<StreamEvents> | undefined): void;
|
|
19
|
+
prependEvent(_event: RemoteTimelineEvent, _cleartext: Uint8Array | string | undefined, _emitter: TypedEmitter<StreamEvents> | undefined): void;
|
|
20
|
+
onDecryptedContent(_eventId: string, content: DecryptedContent, stateEmitter: TypedEmitter<StreamStateEvents>): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=streamStateView_ChannelMetadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_ChannelMetadata.d.ts","sourceRoot":"","sources":["../src/streamStateView_ChannelMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE9F,OAAO,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAA;AAC9E,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,qBAAa,+BAA+B;IACxC,GAAG,yCAAuC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAChD,gCAAgC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,aAAa,CAAA;KAAE,CAAA;gBAE/D,QAAQ,EAAE,MAAM;IAI5B,aAAa,CACT,0BAA0B,EAAE,oBAAoB,EAChD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,SAAS,EAC3D,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,GACpE,IAAI;IAeP,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,sBAAsB;IAY9B,WAAW,CACP,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC1C,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,SAAS,GAChD,IAAI;IAOP,YAAY,CACR,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC3C,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,SAAS,GACjD,IAAI;IAIP,kBAAkB,CACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC9C,IAAI;CAGV"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { bin_toHexString, dlog, check } from '@towns-protocol/dlog';
|
|
2
|
+
import { toDecryptedContent } from './encryptedContentTypes';
|
|
3
|
+
export class StreamStateView_ChannelMetadata {
|
|
4
|
+
log = dlog('csb:streams:channel_metadata');
|
|
5
|
+
streamId;
|
|
6
|
+
channelProperties;
|
|
7
|
+
latestEncryptedChannelProperties;
|
|
8
|
+
constructor(streamId) {
|
|
9
|
+
this.streamId = streamId;
|
|
10
|
+
}
|
|
11
|
+
applySnapshot(encryptedChannelProperties, cleartexts, encryptionEmitter) {
|
|
12
|
+
if (!encryptedChannelProperties.data) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const eventId = bin_toHexString(encryptedChannelProperties.eventHash);
|
|
16
|
+
this.latestEncryptedChannelProperties = {
|
|
17
|
+
eventId: eventId,
|
|
18
|
+
data: encryptedChannelProperties.data,
|
|
19
|
+
};
|
|
20
|
+
const cleartext = cleartexts?.[eventId];
|
|
21
|
+
this.decryptPayload(encryptedChannelProperties.data, eventId, cleartext, encryptionEmitter);
|
|
22
|
+
}
|
|
23
|
+
decryptPayload(payload, eventId, cleartext, encryptionEmitter) {
|
|
24
|
+
if (cleartext) {
|
|
25
|
+
const decryptedContent = toDecryptedContent('channelProperties', payload.version, cleartext);
|
|
26
|
+
this.handleDecryptedContent(decryptedContent, encryptionEmitter);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
encryptionEmitter?.emit('newEncryptedContent', this.streamId, eventId, {
|
|
30
|
+
kind: 'channelProperties',
|
|
31
|
+
content: payload,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
handleDecryptedContent(content, emitter) {
|
|
36
|
+
if (content.kind === 'channelProperties') {
|
|
37
|
+
this.channelProperties = content.content;
|
|
38
|
+
emitter?.emit('streamChannelPropertiesUpdated', this.streamId);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
check(false);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
appendEvent(event, cleartext, emitter) {
|
|
45
|
+
check(event.remoteEvent.event.payload.case === 'gdmChannelPayload');
|
|
46
|
+
check(event.remoteEvent.event.payload.value.content.case === 'channelProperties');
|
|
47
|
+
const payload = event.remoteEvent.event.payload.value.content.value;
|
|
48
|
+
this.decryptPayload(payload, event.hashStr, cleartext, emitter);
|
|
49
|
+
}
|
|
50
|
+
prependEvent(_event, _cleartext, _emitter) {
|
|
51
|
+
// conveyed in snapshot
|
|
52
|
+
}
|
|
53
|
+
onDecryptedContent(_eventId, content, stateEmitter) {
|
|
54
|
+
this.handleDecryptedContent(content, stateEmitter);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=streamStateView_ChannelMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_ChannelMetadata.js","sourceRoot":"","sources":["../src/streamStateView_ChannelMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAoB,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAI9E,MAAM,OAAO,+BAA+B;IACxC,GAAG,GAAG,IAAI,CAAC,8BAA8B,CAAC,CAAA;IACjC,QAAQ,CAAQ;IACzB,iBAAiB,CAA+B;IAChD,gCAAgC,CAA2C;IAE3E,YAAY,QAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAED,aAAa,CACT,0BAAgD,EAChD,UAA2D,EAC3D,iBAAmE;QAEnE,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;YACnC,OAAM;QACV,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAA;QACrE,IAAI,CAAC,gCAAgC,GAAG;YACpC,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,0BAA0B,CAAC,IAAI;SACxC,CAAA;QAED,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAC/F,CAAC;IAEO,cAAc,CAClB,OAAsB,EACtB,OAAe,EACf,SAA0C,EAC1C,iBAAmE;QAEnE,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,kBAAkB,CACvC,mBAAmB,EACnB,OAAO,CAAC,OAAO,EACf,SAAS,CACZ,CAAA;YACD,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAA;QACpE,CAAC;aAAM,CAAC;YACJ,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;gBACnE,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,OAAO;aACnB,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAEO,sBAAsB,CAC1B,OAAyB,EACzB,OAA+C;QAE/C,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACvC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAA;YACxC,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClE,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC;IACL,CAAC;IAED,WAAW,CACP,KAA0B,EAC1B,SAA0C,EAC1C,OAA+C;QAE/C,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAA;QACnE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAA;QACjF,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAA;QACnE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAED,YAAY,CACR,MAA2B,EAC3B,UAA2C,EAC3C,QAAgD;QAEhD,uBAAuB;IAC3B,CAAC;IAED,kBAAkB,CACd,QAAgB,EAChB,OAAyB,EACzB,YAA6C;QAE7C,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IACtD,CAAC;CACJ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import TypedEmitter from 'typed-emitter';
|
|
2
|
+
import { DmChannelPayload_Snapshot, Snapshot } from '@towns-protocol/proto';
|
|
3
|
+
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
|
|
4
|
+
import { ConfirmedTimelineEvent, RemoteTimelineEvent, StreamTimelineEvent } from './types';
|
|
5
|
+
import { DecryptedContent } from './encryptedContentTypes';
|
|
6
|
+
import { StreamEncryptionEvents, StreamStateEvents } from './streamEvents';
|
|
7
|
+
export declare class StreamStateView_DMChannel extends StreamStateView_AbstractContent {
|
|
8
|
+
readonly streamId: string;
|
|
9
|
+
firstPartyId?: string;
|
|
10
|
+
secondPartyId?: string;
|
|
11
|
+
lastEventCreatedAtEpochMs: bigint;
|
|
12
|
+
constructor(streamId: string);
|
|
13
|
+
applySnapshot(snapshot: Snapshot, content: DmChannelPayload_Snapshot, _cleartexts: Record<string, Uint8Array | string> | undefined, _encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
|
|
14
|
+
appendEvent(event: RemoteTimelineEvent, cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
15
|
+
prependEvent(event: RemoteTimelineEvent, cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, _stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
16
|
+
onDecryptedContent(_eventId: string, _content: DecryptedContent, _stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
17
|
+
onConfirmedEvent(event: ConfirmedTimelineEvent, stateEmitter: TypedEmitter<StreamStateEvents> | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
|
|
18
|
+
onAppendLocalEvent(event: StreamTimelineEvent, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
19
|
+
private updateLastEvent;
|
|
20
|
+
participants(): Set<string>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=streamStateView_DMChannel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_DMChannel.d.ts","sourceRoot":"","sources":["../src/streamStateView_DMChannel.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAA;AAC7F,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,EACH,sBAAsB,EAEtB,mBAAmB,EACnB,mBAAmB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAK1E,qBAAa,yBAA0B,SAAQ,+BAA+B;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yBAAyB,SAAK;gBAElB,QAAQ,EAAE,MAAM;IAK5B,aAAa,CACT,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,yBAAyB,EAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,SAAS,EAC5D,kBAAkB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,GACrE,IAAI;IAOP,WAAW,CACP,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC1C,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,EACnE,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC1D,IAAI;IA0BP,YAAY,CACR,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC1C,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,EACnE,aAAa,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC3D,IAAI;IAwBP,kBAAkB,CACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC3D,IAAI;IAIP,gBAAgB,CACZ,KAAK,EAAE,sBAAsB,EAC7B,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,EACzD,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,GACpE,IAAI;IAGP,kBAAkB,CACd,KAAK,EAAE,mBAAmB,EAC1B,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC1D,IAAI;IAKP,OAAO,CAAC,eAAe;IAWvB,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC;CAM9B"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
|
|
2
|
+
import { check } from '@towns-protocol/dlog';
|
|
3
|
+
import { logNever } from './check';
|
|
4
|
+
import { userIdFromAddress } from './id';
|
|
5
|
+
export class StreamStateView_DMChannel extends StreamStateView_AbstractContent {
|
|
6
|
+
streamId;
|
|
7
|
+
firstPartyId;
|
|
8
|
+
secondPartyId;
|
|
9
|
+
lastEventCreatedAtEpochMs = 0n;
|
|
10
|
+
constructor(streamId) {
|
|
11
|
+
super();
|
|
12
|
+
this.streamId = streamId;
|
|
13
|
+
}
|
|
14
|
+
applySnapshot(snapshot, content, _cleartexts, _encryptionEmitter) {
|
|
15
|
+
if (content.inception) {
|
|
16
|
+
this.firstPartyId = userIdFromAddress(content.inception.firstPartyAddress);
|
|
17
|
+
this.secondPartyId = userIdFromAddress(content.inception.secondPartyAddress);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
appendEvent(event, cleartext, encryptionEmitter, stateEmitter) {
|
|
21
|
+
check(event.remoteEvent.event.payload.case === 'dmChannelPayload');
|
|
22
|
+
const payload = event.remoteEvent.event.payload.value;
|
|
23
|
+
switch (payload.content.case) {
|
|
24
|
+
case 'inception':
|
|
25
|
+
this.updateLastEvent(event.remoteEvent, stateEmitter);
|
|
26
|
+
break;
|
|
27
|
+
case 'message':
|
|
28
|
+
this.decryptEvent('channelMessage', event, payload.content.value, cleartext, encryptionEmitter);
|
|
29
|
+
this.updateLastEvent(event.remoteEvent, stateEmitter);
|
|
30
|
+
break;
|
|
31
|
+
case undefined:
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
logNever(payload.content);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
prependEvent(event, cleartext, encryptionEmitter, _stateEmitter) {
|
|
38
|
+
check(event.remoteEvent.event.payload.case === 'dmChannelPayload');
|
|
39
|
+
const payload = event.remoteEvent.event.payload.value;
|
|
40
|
+
switch (payload.content.case) {
|
|
41
|
+
case 'inception':
|
|
42
|
+
this.updateLastEvent(event.remoteEvent, undefined);
|
|
43
|
+
break;
|
|
44
|
+
case 'message':
|
|
45
|
+
this.updateLastEvent(event.remoteEvent, undefined);
|
|
46
|
+
this.decryptEvent('channelMessage', event, payload.content.value, cleartext, encryptionEmitter);
|
|
47
|
+
break;
|
|
48
|
+
case undefined:
|
|
49
|
+
break;
|
|
50
|
+
default:
|
|
51
|
+
logNever(payload.content);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
onDecryptedContent(_eventId, _content, _stateEmitter) {
|
|
55
|
+
// pass
|
|
56
|
+
}
|
|
57
|
+
onConfirmedEvent(event, stateEmitter, encryptionEmitter) {
|
|
58
|
+
super.onConfirmedEvent(event, stateEmitter, encryptionEmitter);
|
|
59
|
+
}
|
|
60
|
+
onAppendLocalEvent(event, stateEmitter) {
|
|
61
|
+
this.lastEventCreatedAtEpochMs = event.createdAtEpochMs;
|
|
62
|
+
stateEmitter?.emit('streamLatestTimestampUpdated', this.streamId);
|
|
63
|
+
}
|
|
64
|
+
updateLastEvent(event, stateEmitter) {
|
|
65
|
+
const createdAtEpochMs = event.event.createdAtEpochMs;
|
|
66
|
+
if (createdAtEpochMs > this.lastEventCreatedAtEpochMs) {
|
|
67
|
+
this.lastEventCreatedAtEpochMs = createdAtEpochMs;
|
|
68
|
+
stateEmitter?.emit('streamLatestTimestampUpdated', this.streamId);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
participants() {
|
|
72
|
+
if (!this.firstPartyId || !this.secondPartyId) {
|
|
73
|
+
return new Set();
|
|
74
|
+
}
|
|
75
|
+
return new Set([this.firstPartyId, this.secondPartyId]);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=streamStateView_DMChannel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_DMChannel.js","sourceRoot":"","sources":["../src/streamStateView_DMChannel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import TypedEmitter from 'typed-emitter';
|
|
2
|
+
import { GdmChannelPayload_Snapshot, Snapshot } from '@towns-protocol/proto';
|
|
3
|
+
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
|
|
4
|
+
import { ConfirmedTimelineEvent, RemoteTimelineEvent, StreamTimelineEvent } from './types';
|
|
5
|
+
import { DecryptedContent } from './encryptedContentTypes';
|
|
6
|
+
import { StreamEncryptionEvents, StreamEvents, StreamStateEvents } from './streamEvents';
|
|
7
|
+
import { StreamStateView_ChannelMetadata } from './streamStateView_ChannelMetadata';
|
|
8
|
+
export declare class StreamStateView_GDMChannel extends StreamStateView_AbstractContent {
|
|
9
|
+
readonly streamId: string;
|
|
10
|
+
readonly channelMetadata: StreamStateView_ChannelMetadata;
|
|
11
|
+
lastEventCreatedAtEpochMs: bigint;
|
|
12
|
+
constructor(streamId: string);
|
|
13
|
+
applySnapshot(snapshot: Snapshot, content: GdmChannelPayload_Snapshot, cleartexts: Record<string, Uint8Array | string> | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
|
|
14
|
+
prependEvent(event: RemoteTimelineEvent, cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, _stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
15
|
+
appendEvent(event: RemoteTimelineEvent, cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
16
|
+
onDecryptedContent(eventId: string, content: DecryptedContent, emitter: TypedEmitter<StreamEvents>): void;
|
|
17
|
+
onConfirmedEvent(event: ConfirmedTimelineEvent, emitter: TypedEmitter<StreamEvents> | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
|
|
18
|
+
onAppendLocalEvent(event: StreamTimelineEvent, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
19
|
+
getChannelMetadata(): StreamStateView_ChannelMetadata | undefined;
|
|
20
|
+
private updateLastEvent;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=streamStateView_GDMChannel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_GDMChannel.d.ts","sourceRoot":"","sources":["../src/streamStateView_GDMChannel.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAqB,0BAA0B,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,EACH,sBAAsB,EAEtB,mBAAmB,EACnB,mBAAmB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACxF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AAInF,qBAAa,0BAA2B,SAAQ,+BAA+B;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,eAAe,EAAE,+BAA+B,CAAA;IAEzD,yBAAyB,SAAK;gBAElB,QAAQ,EAAE,MAAM;IAM5B,aAAa,CACT,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,0BAA0B,EACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,SAAS,EAC3D,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,GACpE,IAAI;IAUP,YAAY,CACR,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC1C,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,EACnE,aAAa,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC3D,IAAI;IA2BP,WAAW,CACP,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC1C,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,EACnE,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC1D,IAAI;IA2BP,kBAAkB,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,GACpC,IAAI;IAMP,gBAAgB,CACZ,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,SAAS,EAC/C,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,GACpE,IAAI;IAIP,kBAAkB,CACd,KAAK,EAAE,mBAAmB,EAC1B,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC1D,IAAI;IAKP,kBAAkB,IAAI,+BAA+B,GAAG,SAAS;IAIjE,OAAO,CAAC,eAAe;CAU1B"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
|
|
2
|
+
import { StreamStateView_ChannelMetadata } from './streamStateView_ChannelMetadata';
|
|
3
|
+
import { check } from '@towns-protocol/dlog';
|
|
4
|
+
import { logNever } from './check';
|
|
5
|
+
export class StreamStateView_GDMChannel extends StreamStateView_AbstractContent {
|
|
6
|
+
streamId;
|
|
7
|
+
channelMetadata;
|
|
8
|
+
lastEventCreatedAtEpochMs = 0n;
|
|
9
|
+
constructor(streamId) {
|
|
10
|
+
super();
|
|
11
|
+
this.channelMetadata = new StreamStateView_ChannelMetadata(streamId);
|
|
12
|
+
this.streamId = streamId;
|
|
13
|
+
}
|
|
14
|
+
applySnapshot(snapshot, content, cleartexts, encryptionEmitter) {
|
|
15
|
+
if (content.channelProperties) {
|
|
16
|
+
this.channelMetadata.applySnapshot(content.channelProperties, cleartexts, encryptionEmitter);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
prependEvent(event, cleartext, encryptionEmitter, _stateEmitter) {
|
|
20
|
+
check(event.remoteEvent.event.payload.case === 'gdmChannelPayload');
|
|
21
|
+
const payload = event.remoteEvent.event.payload.value;
|
|
22
|
+
switch (payload.content.case) {
|
|
23
|
+
case 'inception':
|
|
24
|
+
this.updateLastEvent(event.remoteEvent, undefined);
|
|
25
|
+
break;
|
|
26
|
+
case 'message':
|
|
27
|
+
this.updateLastEvent(event.remoteEvent, undefined);
|
|
28
|
+
this.decryptEvent('channelMessage', event, payload.content.value, cleartext, encryptionEmitter);
|
|
29
|
+
break;
|
|
30
|
+
case 'channelProperties':
|
|
31
|
+
// nothing to do, conveyed in the snapshot
|
|
32
|
+
break;
|
|
33
|
+
case undefined:
|
|
34
|
+
break;
|
|
35
|
+
default:
|
|
36
|
+
logNever(payload.content);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
appendEvent(event, cleartext, encryptionEmitter, stateEmitter) {
|
|
40
|
+
check(event.remoteEvent.event.payload.case === 'gdmChannelPayload');
|
|
41
|
+
const payload = event.remoteEvent.event.payload.value;
|
|
42
|
+
switch (payload.content.case) {
|
|
43
|
+
case 'inception':
|
|
44
|
+
this.updateLastEvent(event.remoteEvent, stateEmitter);
|
|
45
|
+
break;
|
|
46
|
+
case 'message':
|
|
47
|
+
this.decryptEvent('channelMessage', event, payload.content.value, cleartext, encryptionEmitter);
|
|
48
|
+
this.updateLastEvent(event.remoteEvent, stateEmitter);
|
|
49
|
+
break;
|
|
50
|
+
case 'channelProperties':
|
|
51
|
+
this.channelMetadata.appendEvent(event, cleartext, encryptionEmitter);
|
|
52
|
+
break;
|
|
53
|
+
case undefined:
|
|
54
|
+
break;
|
|
55
|
+
default:
|
|
56
|
+
logNever(payload.content);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
onDecryptedContent(eventId, content, emitter) {
|
|
60
|
+
if (content.kind === 'channelProperties') {
|
|
61
|
+
this.channelMetadata.onDecryptedContent(eventId, content, emitter);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
onConfirmedEvent(event, emitter, encryptionEmitter) {
|
|
65
|
+
super.onConfirmedEvent(event, emitter, encryptionEmitter);
|
|
66
|
+
}
|
|
67
|
+
onAppendLocalEvent(event, stateEmitter) {
|
|
68
|
+
this.lastEventCreatedAtEpochMs = event.createdAtEpochMs;
|
|
69
|
+
stateEmitter?.emit('streamLatestTimestampUpdated', this.streamId);
|
|
70
|
+
}
|
|
71
|
+
getChannelMetadata() {
|
|
72
|
+
return this.channelMetadata;
|
|
73
|
+
}
|
|
74
|
+
updateLastEvent(event, stateEmitter) {
|
|
75
|
+
const createdAtEpochMs = event.event.createdAtEpochMs;
|
|
76
|
+
if (createdAtEpochMs > this.lastEventCreatedAtEpochMs) {
|
|
77
|
+
this.lastEventCreatedAtEpochMs = createdAtEpochMs;
|
|
78
|
+
stateEmitter?.emit('streamLatestTimestampUpdated', this.streamId);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=streamStateView_GDMChannel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_GDMChannel.js","sourceRoot":"","sources":["../src/streamStateView_GDMChannel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import TypedEmitter from 'typed-emitter';
|
|
2
|
+
import { Snapshot, MediaPayload_Snapshot } from '@towns-protocol/proto';
|
|
3
|
+
import { RemoteTimelineEvent } from './types';
|
|
4
|
+
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
|
|
5
|
+
import { StreamEncryptionEvents, StreamStateEvents } from './streamEvents';
|
|
6
|
+
export declare class StreamStateView_Media extends StreamStateView_AbstractContent {
|
|
7
|
+
readonly streamId: string;
|
|
8
|
+
info: {
|
|
9
|
+
spaceId: string;
|
|
10
|
+
channelId: string;
|
|
11
|
+
userId: string;
|
|
12
|
+
chunkCount: number;
|
|
13
|
+
chunks: Uint8Array[];
|
|
14
|
+
} | undefined;
|
|
15
|
+
constructor(streamId: string);
|
|
16
|
+
applySnapshot(_snapshot: Snapshot, content: MediaPayload_Snapshot, _emitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
|
|
17
|
+
appendEvent(event: RemoteTimelineEvent, _cleartext: Uint8Array | string | undefined, _encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, _stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
18
|
+
prependEvent(event: RemoteTimelineEvent, cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=streamStateView_Media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_Media.d.ts","sourceRoot":"","sources":["../src/streamStateView_Media.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAgB,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AAGnF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAG1E,qBAAa,qBAAsB,SAAQ,+BAA+B;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,IAAI,EACE;QACI,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,UAAU,EAAE,CAAA;KACvB,GACD,SAAS,CAAA;gBAEH,QAAQ,EAAE,MAAM;IAK5B,aAAa,CACT,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,GAC3D,IAAI;IAkBP,WAAW,CACP,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC3C,kBAAkB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,EACpE,aAAa,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC3D,IAAI;IAyBP,YAAY,CACR,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EAC1C,iBAAiB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,EACnE,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC1D,IAAI;CAIV"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
|
|
2
|
+
import { check } from '@towns-protocol/dlog';
|
|
3
|
+
import { logNever } from './check';
|
|
4
|
+
import { streamIdFromBytes, userIdFromAddress } from './id';
|
|
5
|
+
export class StreamStateView_Media extends StreamStateView_AbstractContent {
|
|
6
|
+
streamId;
|
|
7
|
+
info;
|
|
8
|
+
constructor(streamId) {
|
|
9
|
+
super();
|
|
10
|
+
this.streamId = streamId;
|
|
11
|
+
}
|
|
12
|
+
applySnapshot(_snapshot, content, _emitter) {
|
|
13
|
+
const inception = content.inception;
|
|
14
|
+
if (!inception?.chunkCount ||
|
|
15
|
+
(!inception.channelId && !inception.spaceId && !inception.userId) ||
|
|
16
|
+
!inception.chunkCount) {
|
|
17
|
+
throw new Error('invalid media snapshot');
|
|
18
|
+
}
|
|
19
|
+
this.info = {
|
|
20
|
+
spaceId: inception.spaceId ? streamIdFromBytes(inception.spaceId) : '',
|
|
21
|
+
channelId: inception.channelId ? streamIdFromBytes(inception.channelId) : '',
|
|
22
|
+
userId: inception.userId ? userIdFromAddress(inception.userId) : '',
|
|
23
|
+
chunkCount: inception.chunkCount,
|
|
24
|
+
chunks: Array(inception.chunkCount),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
appendEvent(event, _cleartext, _encryptionEmitter, _stateEmitter) {
|
|
28
|
+
check(event.remoteEvent.event.payload.case === 'mediaPayload');
|
|
29
|
+
if (!this.info) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const payload = event.remoteEvent.event.payload.value;
|
|
33
|
+
switch (payload.content.case) {
|
|
34
|
+
case 'inception':
|
|
35
|
+
break;
|
|
36
|
+
case 'chunk':
|
|
37
|
+
if (payload.content.value.chunkIndex < 0 ||
|
|
38
|
+
payload.content.value.chunkIndex >= this.info.chunkCount) {
|
|
39
|
+
throw new Error(`chunkIndex out of bounds: ${payload.content.value.chunkIndex}`);
|
|
40
|
+
}
|
|
41
|
+
this.info.chunks[payload.content.value.chunkIndex] = payload.content.value.data;
|
|
42
|
+
break;
|
|
43
|
+
case undefined:
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
logNever(payload.content);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
prependEvent(event, cleartext, encryptionEmitter, stateEmitter) {
|
|
50
|
+
// append / prepend are identical for media content
|
|
51
|
+
this.appendEvent(event, cleartext, encryptionEmitter, stateEmitter);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=streamStateView_Media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_Media.js","sourceRoot":"","sources":["../src/streamStateView_Media.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { WrappedEncryptedData as WrappedEncryptedData, EncryptedData, MemberPayload_Nft } from '@towns-protocol/proto';
|
|
2
|
+
import TypedEmitter from 'typed-emitter';
|
|
3
|
+
import { ConfirmedTimelineEvent, RemoteTimelineEvent } from './types';
|
|
4
|
+
import { StreamEncryptionEvents, StreamStateEvents } from './streamEvents';
|
|
5
|
+
import { MemberMetadata_Usernames } from './memberMetadata_Usernames';
|
|
6
|
+
import { MemberMetadata_DisplayNames } from './memberMetadata_DisplayNames';
|
|
7
|
+
import { MemberMetadata_EnsAddresses } from './memberMetadata_EnsAddresses';
|
|
8
|
+
import { MemberMetadata_Nft } from './memberMetadata_Nft';
|
|
9
|
+
export interface Nft {
|
|
10
|
+
chainId: number;
|
|
11
|
+
tokenId: string;
|
|
12
|
+
contractAddress: string;
|
|
13
|
+
}
|
|
14
|
+
export type UserInfo = {
|
|
15
|
+
username: string;
|
|
16
|
+
usernameConfirmed: boolean;
|
|
17
|
+
usernameEncrypted: boolean;
|
|
18
|
+
displayName: string;
|
|
19
|
+
displayNameEncrypted: boolean;
|
|
20
|
+
ensAddress?: string;
|
|
21
|
+
nft?: Nft;
|
|
22
|
+
};
|
|
23
|
+
export declare class StreamStateView_MemberMetadata {
|
|
24
|
+
readonly usernames: MemberMetadata_Usernames;
|
|
25
|
+
readonly displayNames: MemberMetadata_DisplayNames;
|
|
26
|
+
readonly ensAddresses: MemberMetadata_EnsAddresses;
|
|
27
|
+
readonly nfts: MemberMetadata_Nft;
|
|
28
|
+
constructor(streamId: string);
|
|
29
|
+
applySnapshot(usernames: {
|
|
30
|
+
userId: string;
|
|
31
|
+
wrappedEncryptedData: WrappedEncryptedData;
|
|
32
|
+
}[], displayNames: {
|
|
33
|
+
userId: string;
|
|
34
|
+
wrappedEncryptedData: WrappedEncryptedData;
|
|
35
|
+
}[], ensAddresses: {
|
|
36
|
+
userId: string;
|
|
37
|
+
ensAddress: Uint8Array;
|
|
38
|
+
}[], nfts: {
|
|
39
|
+
userId: string;
|
|
40
|
+
nft: MemberPayload_Nft;
|
|
41
|
+
}[], cleartexts: Record<string, Uint8Array | string> | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
|
|
42
|
+
onConfirmedEvent(confirmedEvent: ConfirmedTimelineEvent, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
43
|
+
prependEvent(_event: RemoteTimelineEvent, _cleartext: Uint8Array | string | undefined, _encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, _stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
44
|
+
appendDisplayName(eventId: string, data: EncryptedData, userId: string, cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
45
|
+
appendUsername(eventId: string, data: EncryptedData, userId: string, cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
46
|
+
appendEnsAddress(eventId: string, EnsAddress: Uint8Array, userId: string, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
47
|
+
appendNft(eventId: string, nft: MemberPayload_Nft, userId: string, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
|
|
48
|
+
onDecryptedContent(eventId: string, content: string, emitter?: TypedEmitter<StreamStateEvents>): void;
|
|
49
|
+
userInfo(userId: string): UserInfo;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=streamStateView_MemberMetadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamStateView_MemberMetadata.d.ts","sourceRoot":"","sources":["../src/streamStateView_MemberMetadata.ts"],"names":[],"mappings":"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"}
|