@welshman/app 0.9.0-pre1 → 0.9.0-pre3
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/dist/app/src/app.d.ts +6 -2
- package/dist/app/src/app.d.ts.map +1 -1
- package/dist/app/src/app.js +6 -5
- package/dist/app/src/app.js.map +1 -1
- package/dist/app/src/command.d.ts +26 -0
- package/dist/app/src/command.d.ts.map +1 -0
- package/dist/app/src/command.js +38 -0
- package/dist/app/src/command.js.map +1 -0
- package/dist/app/src/index.d.ts +14 -7
- package/dist/app/src/index.d.ts.map +1 -1
- package/dist/app/src/index.js +14 -7
- package/dist/app/src/index.js.map +1 -1
- package/dist/app/src/plugins/base.d.ts +51 -3
- package/dist/app/src/plugins/base.d.ts.map +1 -1
- package/dist/app/src/plugins/base.js +73 -4
- package/dist/app/src/plugins/base.js.map +1 -1
- package/dist/app/src/plugins/blockedRelayLists.d.ts +6 -6
- package/dist/app/src/plugins/blockedRelayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/blockedRelayLists.js +9 -10
- package/dist/app/src/plugins/blockedRelayLists.js.map +1 -1
- package/dist/app/src/plugins/blossomServerLists.d.ts +18 -0
- package/dist/app/src/plugins/blossomServerLists.d.ts.map +1 -0
- package/dist/app/src/plugins/blossomServerLists.js +33 -0
- package/dist/app/src/plugins/blossomServerLists.js.map +1 -0
- package/dist/app/src/plugins/deletes.d.ts +14 -0
- package/dist/app/src/plugins/deletes.d.ts.map +1 -0
- package/dist/app/src/plugins/deletes.js +25 -0
- package/dist/app/src/plugins/deletes.js.map +1 -0
- package/dist/app/src/plugins/domain.d.ts +17 -0
- package/dist/app/src/plugins/domain.d.ts.map +1 -0
- package/dist/app/src/plugins/domain.js +41 -0
- package/dist/app/src/plugins/domain.js.map +1 -0
- package/dist/app/src/plugins/events.d.ts +31 -0
- package/dist/app/src/plugins/events.d.ts.map +1 -0
- package/dist/app/src/plugins/events.js +64 -0
- package/dist/app/src/plugins/events.js.map +1 -0
- package/dist/app/src/plugins/feedLists.d.ts +18 -0
- package/dist/app/src/plugins/feedLists.d.ts.map +1 -0
- package/dist/app/src/plugins/feedLists.js +33 -0
- package/dist/app/src/plugins/feedLists.js.map +1 -0
- package/dist/app/src/plugins/feeds.d.ts +19 -8
- package/dist/app/src/plugins/feeds.d.ts.map +1 -1
- package/dist/app/src/plugins/feeds.js +49 -15
- package/dist/app/src/plugins/feeds.js.map +1 -1
- package/dist/app/src/plugins/{follows.d.ts → followLists.d.ts} +6 -6
- package/dist/app/src/plugins/followLists.d.ts.map +1 -0
- package/dist/app/src/plugins/{follows.js → followLists.js} +9 -10
- package/dist/app/src/plugins/followLists.js.map +1 -0
- package/dist/app/src/plugins/handles.d.ts +0 -2
- package/dist/app/src/plugins/handles.d.ts.map +1 -1
- package/dist/app/src/plugins/handles.js +0 -3
- package/dist/app/src/plugins/handles.js.map +1 -1
- package/dist/app/src/plugins/logger.d.ts +1 -4
- package/dist/app/src/plugins/logger.d.ts.map +1 -1
- package/dist/app/src/plugins/messagingRelayLists.d.ts +6 -6
- package/dist/app/src/plugins/messagingRelayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/messagingRelayLists.js +11 -10
- package/dist/app/src/plugins/messagingRelayLists.js.map +1 -1
- package/dist/app/src/plugins/muteLists.d.ts +19 -0
- package/dist/app/src/plugins/muteLists.d.ts.map +1 -0
- package/dist/app/src/plugins/muteLists.js +38 -0
- package/dist/app/src/plugins/muteLists.js.map +1 -0
- package/dist/app/src/plugins/network.d.ts +5 -9
- package/dist/app/src/plugins/network.d.ts.map +1 -1
- package/dist/app/src/plugins/network.js +30 -25
- package/dist/app/src/plugins/network.js.map +1 -1
- package/dist/app/src/plugins/pinboards.d.ts +39 -0
- package/dist/app/src/plugins/pinboards.d.ts.map +1 -0
- package/dist/app/src/plugins/pinboards.js +94 -0
- package/dist/app/src/plugins/pinboards.js.map +1 -0
- package/dist/app/src/plugins/pins.d.ts +5 -5
- package/dist/app/src/plugins/pins.d.ts.map +1 -1
- package/dist/app/src/plugins/pins.js +8 -9
- package/dist/app/src/plugins/pins.js.map +1 -1
- package/dist/app/src/plugins/profiles.d.ts +7 -4
- package/dist/app/src/plugins/profiles.d.ts.map +1 -1
- package/dist/app/src/plugins/profiles.js +52 -13
- package/dist/app/src/plugins/profiles.js.map +1 -1
- package/dist/app/src/plugins/reactions.d.ts +15 -0
- package/dist/app/src/plugins/reactions.d.ts.map +1 -0
- package/dist/app/src/plugins/reactions.js +26 -0
- package/dist/app/src/plugins/reactions.js.map +1 -0
- package/dist/app/src/plugins/relayLists.d.ts +10 -10
- package/dist/app/src/plugins/relayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/relayLists.js +21 -40
- package/dist/app/src/plugins/relayLists.js.map +1 -1
- package/dist/app/src/plugins/relayManagement.d.ts +4 -4
- package/dist/app/src/plugins/relayManagement.d.ts.map +1 -1
- package/dist/app/src/plugins/relayManagement.js +5 -9
- package/dist/app/src/plugins/relayManagement.js.map +1 -1
- package/dist/app/src/plugins/relayMembers.d.ts +12 -0
- package/dist/app/src/plugins/relayMembers.d.ts.map +1 -0
- package/dist/app/src/plugins/relayMembers.js +22 -0
- package/dist/app/src/plugins/relayMembers.js.map +1 -0
- package/dist/app/src/plugins/relayRoles.d.ts +14 -0
- package/dist/app/src/plugins/relayRoles.d.ts.map +1 -0
- package/dist/app/src/plugins/relayRoles.js +33 -0
- package/dist/app/src/plugins/relayRoles.js.map +1 -0
- package/dist/app/src/plugins/relays.d.ts +24 -5
- package/dist/app/src/plugins/relays.d.ts.map +1 -1
- package/dist/app/src/plugins/relays.js +51 -26
- package/dist/app/src/plugins/relays.js.map +1 -1
- package/dist/app/src/plugins/roomLists.d.ts +26 -0
- package/dist/app/src/plugins/roomLists.d.ts.map +1 -0
- package/dist/app/src/plugins/roomLists.js +50 -0
- package/dist/app/src/plugins/roomLists.js.map +1 -0
- package/dist/app/src/plugins/roomPins.d.ts +18 -0
- package/dist/app/src/plugins/roomPins.d.ts.map +1 -0
- package/dist/app/src/plugins/roomPins.js +34 -0
- package/dist/app/src/plugins/roomPins.js.map +1 -0
- package/dist/app/src/plugins/rooms.d.ts +40 -11
- package/dist/app/src/plugins/rooms.d.ts.map +1 -1
- package/dist/app/src/plugins/rooms.js +131 -18
- package/dist/app/src/plugins/rooms.js.map +1 -1
- package/dist/app/src/plugins/router.d.ts +19 -7
- package/dist/app/src/plugins/router.d.ts.map +1 -1
- package/dist/app/src/plugins/router.js +86 -17
- package/dist/app/src/plugins/router.js.map +1 -1
- package/dist/app/src/plugins/searchRelayLists.d.ts +6 -6
- package/dist/app/src/plugins/searchRelayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/searchRelayLists.js +9 -10
- package/dist/app/src/plugins/searchRelayLists.js.map +1 -1
- package/dist/app/src/plugins/sync.d.ts.map +1 -1
- package/dist/app/src/plugins/sync.js +3 -2
- package/dist/app/src/plugins/sync.js.map +1 -1
- package/dist/app/src/plugins/thunk.d.ts +0 -1
- package/dist/app/src/plugins/thunk.d.ts.map +1 -1
- package/dist/app/src/plugins/thunk.js +23 -14
- package/dist/app/src/plugins/thunk.js.map +1 -1
- package/dist/app/src/plugins/topics.d.ts +4 -2
- package/dist/app/src/plugins/topics.d.ts.map +1 -1
- package/dist/app/src/plugins/topics.js +11 -5
- package/dist/app/src/plugins/topics.js.map +1 -1
- package/dist/app/src/plugins/wot.d.ts +45 -19
- package/dist/app/src/plugins/wot.d.ts.map +1 -1
- package/dist/app/src/plugins/wot.js +155 -94
- package/dist/app/src/plugins/wot.js.map +1 -1
- package/dist/app/src/plugins/wraps.d.ts.map +1 -1
- package/dist/app/src/plugins/wraps.js +14 -8
- package/dist/app/src/plugins/wraps.js.map +1 -1
- package/dist/app/src/plugins/zappers.d.ts +3 -1
- package/dist/app/src/plugins/zappers.d.ts.map +1 -1
- package/dist/app/src/plugins/zappers.js +17 -8
- package/dist/app/src/plugins/zappers.js.map +1 -1
- package/dist/app/src/policy.d.ts.map +1 -1
- package/dist/app/src/policy.js +6 -5
- package/dist/app/src/policy.js.map +1 -1
- package/dist/app/src/user.d.ts +2 -2
- package/dist/app/src/user.d.ts.map +1 -1
- package/dist/app/src/user.js +1 -1
- package/dist/app/src/user.js.map +1 -1
- package/dist/domain/src/behaviors/Emoji.d.ts +18 -0
- package/dist/domain/src/behaviors/Emoji.d.ts.map +1 -0
- package/dist/domain/src/behaviors/Emoji.js +9 -0
- package/dist/domain/src/behaviors/Emoji.js.map +1 -0
- package/dist/domain/src/behaviors/ZapSplits.d.ts +36 -0
- package/dist/domain/src/behaviors/ZapSplits.d.ts.map +1 -0
- package/dist/domain/src/behaviors/ZapSplits.js +54 -0
- package/dist/domain/src/behaviors/ZapSplits.js.map +1 -0
- package/dist/domain/src/core/EventReader.d.ts +51 -0
- package/dist/domain/src/core/EventReader.d.ts.map +1 -0
- package/dist/domain/src/core/EventReader.js +76 -0
- package/dist/domain/src/core/EventReader.js.map +1 -0
- package/dist/domain/src/core/EventWriter.d.ts +99 -0
- package/dist/domain/src/core/EventWriter.d.ts.map +1 -0
- package/dist/domain/src/core/EventWriter.js +233 -0
- package/dist/domain/src/core/EventWriter.js.map +1 -0
- package/dist/domain/src/core/Kind.d.ts +39 -0
- package/dist/domain/src/core/Kind.d.ts.map +1 -0
- package/dist/domain/src/core/Kind.js +41 -0
- package/dist/domain/src/core/Kind.js.map +1 -0
- package/dist/domain/src/core/ListReader.d.ts +9 -0
- package/dist/domain/src/core/ListReader.d.ts.map +1 -0
- package/dist/domain/src/{ListReader.js → core/ListReader.js} +5 -3
- package/dist/domain/src/core/ListReader.js.map +1 -0
- package/dist/domain/src/{ListBuilder.d.ts → core/ListWriter.d.ts} +8 -9
- package/dist/domain/src/core/ListWriter.d.ts.map +1 -0
- package/dist/domain/src/{ListBuilder.js → core/ListWriter.js} +12 -13
- package/dist/domain/src/core/ListWriter.js.map +1 -0
- package/dist/domain/src/index.d.ts +17 -6
- package/dist/domain/src/index.d.ts.map +1 -1
- package/dist/domain/src/index.js +17 -6
- package/dist/domain/src/index.js.map +1 -1
- package/dist/domain/src/kinds/AppData.d.ts +22 -0
- package/dist/domain/src/kinds/AppData.d.ts.map +1 -0
- package/dist/domain/src/kinds/AppData.js +85 -0
- package/dist/domain/src/kinds/AppData.js.map +1 -0
- package/dist/domain/src/kinds/BlockedRelayList.d.ts +6 -7
- package/dist/domain/src/kinds/BlockedRelayList.d.ts.map +1 -1
- package/dist/domain/src/kinds/BlockedRelayList.js +12 -11
- package/dist/domain/src/kinds/BlockedRelayList.js.map +1 -1
- package/dist/domain/src/kinds/BlossomServerList.d.ts +6 -7
- package/dist/domain/src/kinds/BlossomServerList.d.ts.map +1 -1
- package/dist/domain/src/kinds/BlossomServerList.js +12 -11
- package/dist/domain/src/kinds/BlossomServerList.js.map +1 -1
- package/dist/domain/src/kinds/BookmarkList.d.ts +6 -7
- package/dist/domain/src/kinds/BookmarkList.d.ts.map +1 -1
- package/dist/domain/src/kinds/BookmarkList.js +15 -14
- package/dist/domain/src/kinds/BookmarkList.js.map +1 -1
- package/dist/domain/src/kinds/Classified.d.ts +6 -7
- package/dist/domain/src/kinds/Classified.d.ts.map +1 -1
- package/dist/domain/src/kinds/Classified.js +17 -16
- package/dist/domain/src/kinds/Classified.js.map +1 -1
- package/dist/domain/src/kinds/Comment.d.ts +14 -10
- package/dist/domain/src/kinds/Comment.d.ts.map +1 -1
- package/dist/domain/src/kinds/Comment.js +57 -34
- package/dist/domain/src/kinds/Comment.js.map +1 -1
- package/dist/domain/src/kinds/CommunityList.d.ts +12 -0
- package/dist/domain/src/kinds/CommunityList.d.ts.map +1 -0
- package/dist/domain/src/kinds/CommunityList.js +26 -0
- package/dist/domain/src/kinds/CommunityList.js.map +1 -0
- package/dist/domain/src/kinds/Delete.d.ts +18 -0
- package/dist/domain/src/kinds/Delete.d.ts.map +1 -0
- package/dist/domain/src/kinds/Delete.js +70 -0
- package/dist/domain/src/kinds/Delete.js.map +1 -0
- package/dist/domain/src/kinds/EmojiList.d.ts +6 -10
- package/dist/domain/src/kinds/EmojiList.d.ts.map +1 -1
- package/dist/domain/src/kinds/EmojiList.js +12 -20
- package/dist/domain/src/kinds/EmojiList.js.map +1 -1
- package/dist/domain/src/kinds/Feed.d.ts +6 -7
- package/dist/domain/src/kinds/Feed.d.ts.map +1 -1
- package/dist/domain/src/kinds/Feed.js +14 -13
- package/dist/domain/src/kinds/Feed.js.map +1 -1
- package/dist/domain/src/kinds/FeedList.d.ts +6 -7
- package/dist/domain/src/kinds/FeedList.d.ts.map +1 -1
- package/dist/domain/src/kinds/FeedList.js +12 -11
- package/dist/domain/src/kinds/FeedList.js.map +1 -1
- package/dist/domain/src/kinds/FollowList.d.ts +7 -7
- package/dist/domain/src/kinds/FollowList.d.ts.map +1 -1
- package/dist/domain/src/kinds/FollowList.js +15 -11
- package/dist/domain/src/kinds/FollowList.js.map +1 -1
- package/dist/domain/src/kinds/Handler.d.ts +11 -13
- package/dist/domain/src/kinds/Handler.d.ts.map +1 -1
- package/dist/domain/src/kinds/Handler.js +21 -19
- package/dist/domain/src/kinds/Handler.js.map +1 -1
- package/dist/domain/src/kinds/HandlerRecommendation.d.ts +6 -7
- package/dist/domain/src/kinds/HandlerRecommendation.d.ts.map +1 -1
- package/dist/domain/src/kinds/HandlerRecommendation.js +13 -12
- package/dist/domain/src/kinds/HandlerRecommendation.js.map +1 -1
- package/dist/domain/src/kinds/MessagingRelayList.d.ts +6 -7
- package/dist/domain/src/kinds/MessagingRelayList.d.ts.map +1 -1
- package/dist/domain/src/kinds/MessagingRelayList.js +12 -11
- package/dist/domain/src/kinds/MessagingRelayList.js.map +1 -1
- package/dist/domain/src/kinds/MuteList.d.ts +7 -7
- package/dist/domain/src/kinds/MuteList.d.ts.map +1 -1
- package/dist/domain/src/kinds/MuteList.js +15 -11
- package/dist/domain/src/kinds/MuteList.js.map +1 -1
- package/dist/domain/src/kinds/Note.d.ts +18 -0
- package/dist/domain/src/kinds/Note.d.ts.map +1 -0
- package/dist/domain/src/kinds/Note.js +106 -0
- package/dist/domain/src/kinds/Note.js.map +1 -0
- package/dist/domain/src/kinds/Pin.d.ts +7 -8
- package/dist/domain/src/kinds/Pin.d.ts.map +1 -1
- package/dist/domain/src/kinds/Pin.js +23 -21
- package/dist/domain/src/kinds/Pin.js.map +1 -1
- package/dist/domain/src/kinds/PinList.d.ts +6 -7
- package/dist/domain/src/kinds/PinList.d.ts.map +1 -1
- package/dist/domain/src/kinds/PinList.js +13 -12
- package/dist/domain/src/kinds/PinList.js.map +1 -1
- package/dist/domain/src/kinds/Pinboard.d.ts +7 -8
- package/dist/domain/src/kinds/Pinboard.d.ts.map +1 -1
- package/dist/domain/src/kinds/Pinboard.js +16 -15
- package/dist/domain/src/kinds/Pinboard.js.map +1 -1
- package/dist/domain/src/kinds/Poll.d.ts +7 -8
- package/dist/domain/src/kinds/Poll.d.ts.map +1 -1
- package/dist/domain/src/kinds/Poll.js +16 -15
- package/dist/domain/src/kinds/Poll.js.map +1 -1
- package/dist/domain/src/kinds/PollResponse.d.ts +7 -8
- package/dist/domain/src/kinds/PollResponse.d.ts.map +1 -1
- package/dist/domain/src/kinds/PollResponse.js +13 -12
- package/dist/domain/src/kinds/PollResponse.js.map +1 -1
- package/dist/domain/src/kinds/Profile.d.ts +10 -13
- package/dist/domain/src/kinds/Profile.d.ts.map +1 -1
- package/dist/domain/src/kinds/Profile.js +16 -19
- package/dist/domain/src/kinds/Profile.js.map +1 -1
- package/dist/domain/src/kinds/Reaction.d.ts +16 -0
- package/dist/domain/src/kinds/Reaction.d.ts.map +1 -0
- package/dist/domain/src/kinds/Reaction.js +55 -0
- package/dist/domain/src/kinds/Reaction.js.map +1 -0
- package/dist/domain/src/kinds/RelayAddMember.d.ts +7 -7
- package/dist/domain/src/kinds/RelayAddMember.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayAddMember.js +13 -11
- package/dist/domain/src/kinds/RelayAddMember.js.map +1 -1
- package/dist/domain/src/kinds/RelayInvite.d.ts +7 -7
- package/dist/domain/src/kinds/RelayInvite.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayInvite.js +13 -11
- package/dist/domain/src/kinds/RelayInvite.js.map +1 -1
- package/dist/domain/src/kinds/RelayJoin.d.ts +7 -7
- package/dist/domain/src/kinds/RelayJoin.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayJoin.js +13 -11
- package/dist/domain/src/kinds/RelayJoin.js.map +1 -1
- package/dist/domain/src/kinds/RelayLeave.d.ts +7 -7
- package/dist/domain/src/kinds/RelayLeave.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayLeave.js +11 -9
- package/dist/domain/src/kinds/RelayLeave.js.map +1 -1
- package/dist/domain/src/kinds/RelayList.d.ts +7 -7
- package/dist/domain/src/kinds/RelayList.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayList.js +20 -11
- package/dist/domain/src/kinds/RelayList.js.map +1 -1
- package/dist/domain/src/kinds/RelayMembers.d.ts +9 -9
- package/dist/domain/src/kinds/RelayMembers.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayMembers.js +15 -15
- package/dist/domain/src/kinds/RelayMembers.js.map +1 -1
- package/dist/domain/src/kinds/RelayRemoveMember.d.ts +7 -7
- package/dist/domain/src/kinds/RelayRemoveMember.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelayRemoveMember.js +13 -11
- package/dist/domain/src/kinds/RelayRemoveMember.js.map +1 -1
- package/dist/domain/src/kinds/RelayRole.d.ts +18 -0
- package/dist/domain/src/kinds/RelayRole.d.ts.map +1 -0
- package/dist/domain/src/kinds/RelayRole.js +46 -0
- package/dist/domain/src/kinds/RelayRole.js.map +1 -0
- package/dist/domain/src/kinds/RelaySet.d.ts +6 -7
- package/dist/domain/src/kinds/RelaySet.d.ts.map +1 -1
- package/dist/domain/src/kinds/RelaySet.js +15 -14
- package/dist/domain/src/kinds/RelaySet.js.map +1 -1
- package/dist/domain/src/kinds/Report.d.ts +9 -8
- package/dist/domain/src/kinds/Report.d.ts.map +1 -1
- package/dist/domain/src/kinds/Report.js +20 -16
- package/dist/domain/src/kinds/Report.js.map +1 -1
- package/dist/domain/src/kinds/RoomAddMember.d.ts +7 -7
- package/dist/domain/src/kinds/RoomAddMember.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomAddMember.js +13 -11
- package/dist/domain/src/kinds/RoomAddMember.js.map +1 -1
- package/dist/domain/src/kinds/RoomAdmins.d.ts +7 -7
- package/dist/domain/src/kinds/RoomAdmins.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomAdmins.js +13 -11
- package/dist/domain/src/kinds/RoomAdmins.js.map +1 -1
- package/dist/domain/src/kinds/RoomCreate.d.ts +8 -8
- package/dist/domain/src/kinds/RoomCreate.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomCreate.js +13 -11
- package/dist/domain/src/kinds/RoomCreate.js.map +1 -1
- package/dist/domain/src/kinds/RoomCreatePermission.d.ts +7 -7
- package/dist/domain/src/kinds/RoomCreatePermission.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomCreatePermission.js +13 -11
- package/dist/domain/src/kinds/RoomCreatePermission.js.map +1 -1
- package/dist/domain/src/kinds/RoomDelete.d.ts +8 -8
- package/dist/domain/src/kinds/RoomDelete.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomDelete.js +14 -12
- package/dist/domain/src/kinds/RoomDelete.js.map +1 -1
- package/dist/domain/src/kinds/RoomEdit.d.ts +8 -8
- package/dist/domain/src/kinds/RoomEdit.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomEdit.js +24 -23
- package/dist/domain/src/kinds/RoomEdit.js.map +1 -1
- package/dist/domain/src/kinds/RoomJoin.d.ts +8 -10
- package/dist/domain/src/kinds/RoomJoin.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomJoin.js +15 -19
- package/dist/domain/src/kinds/RoomJoin.js.map +1 -1
- package/dist/domain/src/kinds/RoomLeave.d.ts +8 -8
- package/dist/domain/src/kinds/RoomLeave.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomLeave.js +14 -12
- package/dist/domain/src/kinds/RoomLeave.js.map +1 -1
- package/dist/domain/src/kinds/RoomList.d.ts +18 -11
- package/dist/domain/src/kinds/RoomList.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomList.js +94 -21
- package/dist/domain/src/kinds/RoomList.js.map +1 -1
- package/dist/domain/src/kinds/RoomMembers.d.ts +7 -7
- package/dist/domain/src/kinds/RoomMembers.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomMembers.js +13 -11
- package/dist/domain/src/kinds/RoomMembers.js.map +1 -1
- package/dist/domain/src/kinds/RoomMeta.d.ts +7 -7
- package/dist/domain/src/kinds/RoomMeta.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomMeta.js +16 -14
- package/dist/domain/src/kinds/RoomMeta.js.map +1 -1
- package/dist/domain/src/kinds/RoomPins.d.ts +15 -0
- package/dist/domain/src/kinds/RoomPins.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomPins.js +34 -0
- package/dist/domain/src/kinds/RoomPins.js.map +1 -0
- package/dist/domain/src/kinds/RoomRemoveMember.d.ts +7 -7
- package/dist/domain/src/kinds/RoomRemoveMember.d.ts.map +1 -1
- package/dist/domain/src/kinds/RoomRemoveMember.js +13 -11
- package/dist/domain/src/kinds/RoomRemoveMember.js.map +1 -1
- package/dist/domain/src/kinds/RoomUpdatePins.d.ts +15 -0
- package/dist/domain/src/kinds/RoomUpdatePins.d.ts.map +1 -0
- package/dist/domain/src/kinds/RoomUpdatePins.js +38 -0
- package/dist/domain/src/kinds/RoomUpdatePins.js.map +1 -0
- package/dist/domain/src/kinds/SearchRelayList.d.ts +6 -7
- package/dist/domain/src/kinds/SearchRelayList.d.ts.map +1 -1
- package/dist/domain/src/kinds/SearchRelayList.js +12 -11
- package/dist/domain/src/kinds/SearchRelayList.js.map +1 -1
- package/dist/domain/src/kinds/Thread.d.ts +6 -7
- package/dist/domain/src/kinds/Thread.d.ts.map +1 -1
- package/dist/domain/src/kinds/Thread.js +12 -11
- package/dist/domain/src/kinds/Thread.js.map +1 -1
- package/dist/domain/src/kinds/TimeEvent.d.ts +9 -10
- package/dist/domain/src/kinds/TimeEvent.d.ts.map +1 -1
- package/dist/domain/src/kinds/TimeEvent.js +23 -22
- package/dist/domain/src/kinds/TimeEvent.js.map +1 -1
- package/dist/domain/src/kinds/TopicList.d.ts +6 -7
- package/dist/domain/src/kinds/TopicList.d.ts.map +1 -1
- package/dist/domain/src/kinds/TopicList.js +13 -12
- package/dist/domain/src/kinds/TopicList.js.map +1 -1
- package/dist/domain/src/kinds/ZapGoal.d.ts +15 -9
- package/dist/domain/src/kinds/ZapGoal.d.ts.map +1 -1
- package/dist/domain/src/kinds/ZapGoal.js +46 -17
- package/dist/domain/src/kinds/ZapGoal.js.map +1 -1
- package/dist/domain/src/kinds/ZapReceipt.d.ts +8 -11
- package/dist/domain/src/kinds/ZapReceipt.d.ts.map +1 -1
- package/dist/domain/src/kinds/ZapReceipt.js +18 -42
- package/dist/domain/src/kinds/ZapReceipt.js.map +1 -1
- package/dist/domain/src/kinds/ZapRequest.d.ts +15 -7
- package/dist/domain/src/kinds/ZapRequest.d.ts.map +1 -1
- package/dist/domain/src/kinds/ZapRequest.js +40 -15
- package/dist/domain/src/kinds/ZapRequest.js.map +1 -1
- package/dist/domain/src/other/Relay.d.ts +49 -0
- package/dist/domain/src/other/Relay.d.ts.map +1 -0
- package/dist/domain/src/other/Relay.js +50 -0
- package/dist/domain/src/other/Relay.js.map +1 -0
- package/dist/domain/src/other/Zapper.d.ts +40 -0
- package/dist/domain/src/other/Zapper.d.ts.map +1 -0
- package/dist/domain/src/other/Zapper.js +67 -0
- package/dist/domain/src/other/Zapper.js.map +1 -0
- package/dist/feeds/src/compiler.d.ts +2 -2
- package/dist/feeds/src/compiler.d.ts.map +1 -1
- package/dist/feeds/src/index.d.ts +1 -0
- package/dist/feeds/src/index.d.ts.map +1 -1
- package/dist/feeds/src/index.js +1 -0
- package/dist/feeds/src/index.js.map +1 -1
- package/dist/feeds/src/request.d.ts +4 -4
- package/dist/feeds/src/request.d.ts.map +1 -1
- package/dist/feeds/src/request.js +15 -15
- package/dist/feeds/src/request.js.map +1 -1
- package/dist/feeds/src/router.d.ts +10 -0
- package/dist/feeds/src/router.d.ts.map +1 -0
- package/dist/feeds/src/router.js +45 -0
- package/dist/feeds/src/router.js.map +1 -0
- package/dist/feeds/src/utils.js +2 -2
- package/dist/feeds/src/utils.js.map +1 -1
- package/dist/lib/src/Tools.d.ts +9 -0
- package/dist/lib/src/Tools.d.ts.map +1 -1
- package/dist/lib/src/Tools.js +26 -1
- package/dist/lib/src/Tools.js.map +1 -1
- package/dist/net/src/auth.d.ts.map +1 -1
- package/dist/net/src/auth.js +2 -2
- package/dist/net/src/auth.js.map +1 -1
- package/dist/net/src/context.d.ts +1 -1
- package/dist/net/src/context.d.ts.map +1 -1
- package/dist/net/src/message.d.ts +1 -1
- package/dist/net/src/message.d.ts.map +1 -1
- package/dist/net/src/message.js +1 -1
- package/dist/net/src/message.js.map +1 -1
- package/dist/net/src/publish.d.ts.map +1 -1
- package/dist/net/src/publish.js +13 -0
- package/dist/net/src/publish.js.map +1 -1
- package/dist/net/src/repository.d.ts +3 -0
- package/dist/net/src/repository.d.ts.map +1 -1
- package/dist/net/src/repository.js +49 -12
- package/dist/net/src/repository.js.map +1 -1
- package/dist/net/src/request.d.ts +3 -3
- package/dist/net/src/request.d.ts.map +1 -1
- package/dist/net/src/request.js +16 -2
- package/dist/net/src/request.js.map +1 -1
- package/dist/signer/src/nip59.d.ts +1 -1
- package/dist/signer/src/nip59.d.ts.map +1 -1
- package/dist/signer/src/nip59.js +26 -30
- package/dist/signer/src/nip59.js.map +1 -1
- package/dist/signer/src/signers/nip07.d.ts.map +1 -1
- package/dist/signer/src/signers/nip07.js +19 -5
- package/dist/signer/src/signers/nip07.js.map +1 -1
- package/dist/signer/src/signers/nip46.d.ts +2 -2
- package/dist/signer/src/signers/nip46.d.ts.map +1 -1
- package/dist/signer/src/signers/nip46.js +10 -5
- package/dist/signer/src/signers/nip46.js.map +1 -1
- package/dist/signer/src/util.d.ts +2 -2
- package/dist/signer/src/util.d.ts.map +1 -1
- package/dist/signer/src/util.js +2 -6
- package/dist/signer/src/util.js.map +1 -1
- package/dist/store/src/misc.d.ts +4 -2
- package/dist/store/src/misc.d.ts.map +1 -1
- package/dist/store/src/misc.js +2 -4
- package/dist/store/src/misc.js.map +1 -1
- package/dist/store/src/repository.d.ts +17 -0
- package/dist/store/src/repository.d.ts.map +1 -1
- package/dist/store/src/repository.js +179 -10
- package/dist/store/src/repository.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/util/src/Events.d.ts +0 -12
- package/dist/util/src/Events.d.ts.map +1 -1
- package/dist/util/src/Events.js +3 -25
- package/dist/util/src/Events.js.map +1 -1
- package/dist/util/src/Kinds.d.ts +5 -1
- package/dist/util/src/Kinds.d.ts.map +1 -1
- package/dist/util/src/Kinds.js +7 -2
- package/dist/util/src/Kinds.js.map +1 -1
- package/dist/util/src/Lightning.d.ts +6 -0
- package/dist/util/src/Lightning.d.ts.map +1 -0
- package/dist/util/src/Lightning.js +59 -0
- package/dist/util/src/Lightning.js.map +1 -0
- package/dist/util/src/Nip86.d.ts +74 -30
- package/dist/util/src/Nip86.d.ts.map +1 -1
- package/dist/util/src/Nip86.js +169 -30
- package/dist/util/src/Nip86.js.map +1 -1
- package/dist/util/src/Pow.js +2 -2
- package/dist/util/src/Pow.js.map +1 -1
- package/dist/util/src/Pubkey.d.ts.map +1 -1
- package/dist/util/src/Pubkey.js +2 -1
- package/dist/util/src/Pubkey.js.map +1 -1
- package/dist/util/src/Relay.d.ts +0 -29
- package/dist/util/src/Relay.d.ts.map +1 -1
- package/dist/util/src/Relay.js +0 -10
- package/dist/util/src/Relay.js.map +1 -1
- package/dist/util/src/RelaySelection.d.ts +101 -0
- package/dist/util/src/RelaySelection.d.ts.map +1 -0
- package/dist/util/src/RelaySelection.js +98 -0
- package/dist/util/src/RelaySelection.js.map +1 -0
- package/dist/util/src/Tags.d.ts +16 -35
- package/dist/util/src/Tags.d.ts.map +1 -1
- package/dist/util/src/Tags.js +23 -74
- package/dist/util/src/Tags.js.map +1 -1
- package/dist/util/src/Topics.d.ts +2 -0
- package/dist/util/src/Topics.d.ts.map +1 -0
- package/dist/util/src/Topics.js +2 -0
- package/dist/util/src/Topics.js.map +1 -0
- package/dist/util/src/index.d.ts +2 -1
- package/dist/util/src/index.d.ts.map +1 -1
- package/dist/util/src/index.js +2 -1
- package/dist/util/src/index.js.map +1 -1
- package/package.json +18 -20
- package/dist/app/src/plugins/blossom.d.ts +0 -12
- package/dist/app/src/plugins/blossom.d.ts.map +0 -1
- package/dist/app/src/plugins/blossom.js +0 -21
- package/dist/app/src/plugins/blossom.js.map +0 -1
- package/dist/app/src/plugins/follows.d.ts.map +0 -1
- package/dist/app/src/plugins/follows.js.map +0 -1
- package/dist/app/src/plugins/mutes.d.ts +0 -19
- package/dist/app/src/plugins/mutes.d.ts.map +0 -1
- package/dist/app/src/plugins/mutes.js +0 -39
- package/dist/app/src/plugins/mutes.js.map +0 -1
- package/dist/app/src/plugins/search.d.ts +0 -35
- package/dist/app/src/plugins/search.d.ts.map +0 -1
- package/dist/app/src/plugins/search.js +0 -88
- package/dist/app/src/plugins/search.js.map +0 -1
- package/dist/app/src/plugins/slashCommands.d.ts +0 -22
- package/dist/app/src/plugins/slashCommands.d.ts.map +0 -1
- package/dist/app/src/plugins/slashCommands.js +0 -70
- package/dist/app/src/plugins/slashCommands.js.map +0 -1
- package/dist/app/src/plugins/stores.d.ts +0 -22
- package/dist/app/src/plugins/stores.d.ts.map +0 -1
- package/dist/app/src/plugins/stores.js +0 -22
- package/dist/app/src/plugins/stores.js.map +0 -1
- package/dist/app/src/plugins/tags.d.ts +0 -20
- package/dist/app/src/plugins/tags.d.ts.map +0 -1
- package/dist/app/src/plugins/tags.js +0 -106
- package/dist/app/src/plugins/tags.js.map +0 -1
- package/dist/domain/src/EventBuilder.d.ts +0 -35
- package/dist/domain/src/EventBuilder.d.ts.map +0 -1
- package/dist/domain/src/EventBuilder.js +0 -111
- package/dist/domain/src/EventBuilder.js.map +0 -1
- package/dist/domain/src/EventReader.d.ts +0 -24
- package/dist/domain/src/EventReader.d.ts.map +0 -1
- package/dist/domain/src/EventReader.js +0 -57
- package/dist/domain/src/EventReader.js.map +0 -1
- package/dist/domain/src/ListBuilder.d.ts.map +0 -1
- package/dist/domain/src/ListBuilder.js.map +0 -1
- package/dist/domain/src/ListReader.d.ts +0 -12
- package/dist/domain/src/ListReader.d.ts.map +0 -1
- package/dist/domain/src/ListReader.js.map +0 -1
- package/dist/domain/src/kinds/GroupList.d.ts +0 -13
- package/dist/domain/src/kinds/GroupList.d.ts.map +0 -1
- package/dist/domain/src/kinds/GroupList.js +0 -24
- package/dist/domain/src/kinds/GroupList.js.map +0 -1
- package/dist/domain/src/kinds/SlashCommand.d.ts +0 -38
- package/dist/domain/src/kinds/SlashCommand.d.ts.map +0 -1
- package/dist/domain/src/kinds/SlashCommand.js +0 -91
- package/dist/domain/src/kinds/SlashCommand.js.map +0 -1
- package/dist/router/src/index.d.ts +0 -163
- package/dist/router/src/index.d.ts.map +0 -1
- package/dist/router/src/index.js +0 -214
- package/dist/router/src/index.js.map +0 -1
- package/dist/util/src/Zaps.d.ts +0 -86
- package/dist/util/src/Zaps.d.ts.map +0 -1
- package/dist/util/src/Zaps.js +0 -184
- package/dist/util/src/Zaps.js.map +0 -1
|
@@ -1,116 +1,177 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { writable } from "svelte/store";
|
|
2
|
+
import { on, inc, dec, throttle, addToMapKey } from "@welshman/lib";
|
|
3
|
+
import { FOLLOWS, MUTES, hexTags, tagValues } from "@welshman/util";
|
|
4
|
+
import { deriveDeduplicated } from "@welshman/store";
|
|
5
|
+
import { projection } from "./base.js";
|
|
6
|
+
const NO_PUBKEYS = new Set();
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
|
|
8
|
+
* How much of the graph a read counts: every list in the repository, or only the
|
|
9
|
+
* lists the current user's follows published.
|
|
10
|
+
*/
|
|
11
|
+
export var WotScope;
|
|
12
|
+
(function (WotScope) {
|
|
13
|
+
WotScope["Global"] = "global";
|
|
14
|
+
WotScope["Follows"] = "follows";
|
|
15
|
+
})(WotScope || (WotScope = {}));
|
|
16
|
+
// The pubkeys a list points at. Public tags only: a mute list's private entries are
|
|
17
|
+
// encrypted to their author, so they're no part of a graph built out of what
|
|
18
|
+
// everyone can see.
|
|
19
|
+
const listPubkeys = (event) => tagValues(hexTags("p"), event.tags);
|
|
20
|
+
// The pubkeys pointing at a target, narrowed to `trust` when there is one.
|
|
21
|
+
const trusted = (sources, trust) => {
|
|
22
|
+
const pubkeys = Array.from(sources ?? NO_PUBKEYS);
|
|
23
|
+
return trust ? pubkeys.filter(pubkey => trust.has(pubkey)) : pubkeys;
|
|
24
|
+
};
|
|
25
|
+
const countTrusted = (sources, trust) => {
|
|
26
|
+
if (!trust)
|
|
27
|
+
return sources?.size ?? 0;
|
|
28
|
+
let count = 0;
|
|
29
|
+
for (const pubkey of sources ?? NO_PUBKEYS) {
|
|
30
|
+
if (trust.has(pubkey)) {
|
|
31
|
+
count += 1;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return count;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Web of trust: who follows and mutes whom, built from the public tags on follow
|
|
38
|
+
* (NIP-02) and mute (NIP-51) lists as they land in the repository. A list rewrites
|
|
39
|
+
* its author's edges as it arrives — so an update costs the one list that changed,
|
|
40
|
+
* and every read is a lookup into the graph.
|
|
10
41
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
42
|
+
* Reads about a pubkey from the outside take a `WotScope`: `Global` counts every
|
|
43
|
+
* list in the repository, `Follows` counts only what the user's follows published —
|
|
44
|
+
* the pubkey as the user sees it. The user's follow list is part of the same graph,
|
|
45
|
+
* so a `Follows` read tracks it changing like it tracks anything else.
|
|
46
|
+
*
|
|
47
|
+
* Every read is a `Projection` — subscribe via `.$`, snapshot via `.get()`.
|
|
14
48
|
*/
|
|
15
49
|
export class Wot {
|
|
16
50
|
app;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
51
|
+
followsByPubkey = new Map();
|
|
52
|
+
followersByPubkey = new Map();
|
|
53
|
+
mutesByPubkey = new Map();
|
|
54
|
+
mutersByPubkey = new Map();
|
|
55
|
+
// Bumped once per burst of changes; reads derive from it
|
|
56
|
+
updates = writable(0);
|
|
21
57
|
constructor(app) {
|
|
22
58
|
this.app = app;
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
59
|
+
const notify = throttle(300, () => this.updates.update(inc));
|
|
60
|
+
const unsubscribe = on(app.repository, "update", ({ added, removed }) => {
|
|
61
|
+
let changed = false;
|
|
62
|
+
// Removals first: replacing a list reports the old event as removed in the same
|
|
63
|
+
// update that adds its replacement, which then puts the new edges in place. What
|
|
64
|
+
// that leaves is a list that was deleted or expired, with nothing taking over.
|
|
65
|
+
for (const id of removed) {
|
|
66
|
+
const event = app.repository.getEvent(id);
|
|
67
|
+
if (event) {
|
|
68
|
+
changed = this.setList(event, undefined) || changed;
|
|
28
69
|
}
|
|
29
70
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
for (const pubkey of list?.pubkeys() ?? []) {
|
|
36
|
-
addToMapKey($mutersByPubkey, pubkey, list.author());
|
|
37
|
-
}
|
|
71
|
+
for (const event of added) {
|
|
72
|
+
changed = this.setList(event, listPubkeys(event)) || changed;
|
|
73
|
+
}
|
|
74
|
+
if (changed) {
|
|
75
|
+
notify();
|
|
38
76
|
}
|
|
39
|
-
set($mutersByPubkey);
|
|
40
|
-
})));
|
|
41
|
-
const graphStore = readable(new Map(), set => {
|
|
42
|
-
const rebuild = throttle(1000, () => {
|
|
43
|
-
const $followLists = this.app.use(FollowLists).index.get();
|
|
44
|
-
const $muteLists = this.app.use(MuteLists).index.get();
|
|
45
|
-
const $pubkey = this.app.user?.pubkey;
|
|
46
|
-
const $graph = new Map();
|
|
47
|
-
const roots = $pubkey
|
|
48
|
-
? ($followLists.get($pubkey)?.pubkeys() ?? [])
|
|
49
|
-
: Array.from($followLists.keys());
|
|
50
|
-
for (const follow of roots) {
|
|
51
|
-
for (const pubkey of $followLists.get(follow)?.pubkeys() ?? []) {
|
|
52
|
-
$graph.set(pubkey, inc($graph.get(pubkey)));
|
|
53
|
-
}
|
|
54
|
-
for (const pubkey of $muteLists.get(follow)?.pubkeys() ?? []) {
|
|
55
|
-
$graph.set(pubkey, dec($graph.get(pubkey)));
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
set($graph);
|
|
59
|
-
});
|
|
60
|
-
const unsubscribers = [
|
|
61
|
-
this.app.use(FollowLists).index.$.subscribe(rebuild),
|
|
62
|
-
this.app.use(MuteLists).index.$.subscribe(rebuild),
|
|
63
|
-
];
|
|
64
|
-
return () => unsubscribers.forEach(unsubscribe => unsubscribe());
|
|
65
77
|
});
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
78
|
+
app.onCleanup(unsubscribe);
|
|
79
|
+
// Catch up on the lists that were already there
|
|
80
|
+
for (const event of app.repository.query([{ kinds: [FOLLOWS, MUTES] }])) {
|
|
81
|
+
this.setList(event, listPubkeys(event));
|
|
82
|
+
}
|
|
71
83
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
84
|
+
// Point an author's list of this event's kind at `targets`, or at nothing when the
|
|
85
|
+
// list is gone. Returns whether it was a kind we track.
|
|
86
|
+
setList = (event, targets) => {
|
|
87
|
+
if (event.kind === FOLLOWS) {
|
|
88
|
+
this.setEdges(event.pubkey, targets, this.followsByPubkey, this.followersByPubkey);
|
|
89
|
+
}
|
|
90
|
+
else if (event.kind === MUTES) {
|
|
91
|
+
this.setEdges(event.pubkey, targets, this.mutesByPubkey, this.mutersByPubkey);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
return true;
|
|
97
|
+
};
|
|
98
|
+
// Replace the edges from `pubkey`, keeping the reverse index in step.
|
|
99
|
+
setEdges = (pubkey, targets, forward, reverse) => {
|
|
100
|
+
for (const target of forward.get(pubkey) ?? NO_PUBKEYS) {
|
|
101
|
+
const sources = reverse.get(target);
|
|
102
|
+
sources?.delete(pubkey);
|
|
103
|
+
if (sources?.size === 0) {
|
|
104
|
+
reverse.delete(target);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
forward.delete(pubkey);
|
|
108
|
+
if (targets?.length) {
|
|
109
|
+
forward.set(pubkey, new Set(targets));
|
|
110
|
+
for (const target of targets) {
|
|
111
|
+
addToMapKey(reverse, target, pubkey);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
// Reads are lookups, re-run when the graph changes, and deduplicated so a value
|
|
116
|
+
// that came out the same doesn't wake its subscribers.
|
|
117
|
+
project = (read) => projection(deriveDeduplicated(this.updates, read), read);
|
|
118
|
+
/**
|
|
119
|
+
* What a `Follows` read counts: the pubkeys the user follows, read out of the same
|
|
120
|
+
* graph, so it's as current as the rest of a read. With no user there's nothing to
|
|
121
|
+
* narrow by, so the read stays global.
|
|
122
|
+
*/
|
|
123
|
+
trust = (scope) => {
|
|
124
|
+
const pubkey = scope === WotScope.Follows ? this.app.user?.pubkey : undefined;
|
|
125
|
+
return pubkey ? (this.followsByPubkey.get(pubkey) ?? NO_PUBKEYS) : undefined;
|
|
126
|
+
};
|
|
127
|
+
follows = (target) => this.project(() => Array.from(this.followsByPubkey.get(target) ?? NO_PUBKEYS));
|
|
128
|
+
mutes = (target) => this.project(() => Array.from(this.mutesByPubkey.get(target) ?? NO_PUBKEYS));
|
|
129
|
+
followers = (target, scope) => this.project(() => trusted(this.followersByPubkey.get(target), this.trust(scope)));
|
|
130
|
+
muters = (target, scope) => this.project(() => trusted(this.mutersByPubkey.get(target), this.trust(scope)));
|
|
131
|
+
score = (target, scope) => this.project(() => {
|
|
132
|
+
const trust = this.trust(scope);
|
|
133
|
+
return (countTrusted(this.followersByPubkey.get(target), trust) -
|
|
134
|
+
countTrusted(this.mutersByPubkey.get(target), trust));
|
|
135
|
+
});
|
|
136
|
+
network = (target) => this.project(() => {
|
|
137
|
+
const follows = this.followsByPubkey.get(target) ?? NO_PUBKEYS;
|
|
76
138
|
const network = new Set();
|
|
77
|
-
for (const
|
|
78
|
-
for (const
|
|
79
|
-
if (!
|
|
80
|
-
network.add(
|
|
139
|
+
for (const pubkey of follows) {
|
|
140
|
+
for (const other of this.followsByPubkey.get(pubkey) ?? NO_PUBKEYS) {
|
|
141
|
+
if (!follows.has(other)) {
|
|
142
|
+
network.add(other);
|
|
81
143
|
}
|
|
82
144
|
}
|
|
83
145
|
}
|
|
84
146
|
return Array.from(network);
|
|
85
147
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
148
|
+
/**
|
|
149
|
+
* Every pubkey's score at once, for the callers that need the whole picture —
|
|
150
|
+
* ranking search results, resolving a score range — rather than a projection per
|
|
151
|
+
* pubkey.
|
|
152
|
+
*/
|
|
153
|
+
scores = (scope) => this.project(() => {
|
|
154
|
+
const trust = this.trust(scope);
|
|
155
|
+
const scores = new Map();
|
|
156
|
+
if (trust) {
|
|
157
|
+
for (const pubkey of trust) {
|
|
158
|
+
for (const target of this.followsByPubkey.get(pubkey) ?? NO_PUBKEYS) {
|
|
159
|
+
scores.set(target, inc(scores.get(target)));
|
|
160
|
+
}
|
|
161
|
+
for (const target of this.mutesByPubkey.get(pubkey) ?? NO_PUBKEYS) {
|
|
162
|
+
scores.set(target, dec(scores.get(target)));
|
|
163
|
+
}
|
|
101
164
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
for (const [target, followers] of this.followersByPubkey) {
|
|
168
|
+
scores.set(target, followers.size);
|
|
105
169
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
this.mutersByPubkey.$,
|
|
113
|
-
], ([$follows, $mutes, $followers, $muters]) => read($follows, $mutes, $followers, $muters)), () => read(this.app.use(FollowLists).index.get(), this.app.use(MuteLists).index.get(), this.followersByPubkey.get(), this.mutersByPubkey.get()));
|
|
114
|
-
};
|
|
170
|
+
for (const [target, muters] of this.mutersByPubkey) {
|
|
171
|
+
scores.set(target, (scores.get(target) ?? 0) - muters.size);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return scores;
|
|
175
|
+
});
|
|
115
176
|
}
|
|
116
177
|
//# sourceMappingURL=wot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wot.js","sourceRoot":"","sources":["../../../../src/plugins/wot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"wot.js","sourceRoot":"","sources":["../../../../src/plugins/wot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wraps.d.ts","sourceRoot":"","sources":["../../../../src/plugins/wraps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAY,MAAM,eAAe,CAAA;AAElD,OAAO,KAAK,EAAC,YAAY,EAAe,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAE5E,OAAO,EAAC,WAAW,EAAS,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAA;AAG5C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,YAAY,EACZ,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAClD,GAAG;IACF,KAAK,EAAE,aAAa,CAAA;IACpB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,KAAK;IAIJ,QAAQ,CAAC,GAAG,EAAE,IAAI;IAH9B,aAAa,cAAoB;IACjC,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;gBAET,GAAG,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"wraps.d.ts","sourceRoot":"","sources":["../../../../src/plugins/wraps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAY,MAAM,eAAe,CAAA;AAElD,OAAO,KAAK,EAAC,YAAY,EAAe,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAE5E,OAAO,EAAC,WAAW,EAAS,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAA;AAG5C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,YAAY,EACZ,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAClD,GAAG;IACF,KAAK,EAAE,aAAa,CAAA;IACpB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,KAAK;IAIJ,QAAQ,CAAC,GAAG,EAAE,IAAI;IAH9B,aAAa,cAAoB;IACjC,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;gBAET,GAAG,EAAE,IAAI;IA4B9B,OAAO,GAAI,MAAM,YAAY,UAK5B;IAID,OAAO,GAAU,mCAAiC,kBAAkB,0BAenE;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TaskQueue, uniq, now } from "@welshman/lib";
|
|
2
|
-
import {
|
|
2
|
+
import { hexTags, tagValues, prep } from "@welshman/util";
|
|
3
3
|
import { Nip59 } from "@welshman/signer";
|
|
4
4
|
import { MergedThunk, Thunks } from "./thunk.js";
|
|
5
5
|
import { User } from "../user.js";
|
|
@@ -21,21 +21,27 @@ export class Wraps {
|
|
|
21
21
|
batchSize: 50,
|
|
22
22
|
batchDelay: 30,
|
|
23
23
|
processItem: async (wrap) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (!signer || !recipient || !getPubkeyTagValues(wrap.tags).includes(recipient)) {
|
|
24
|
+
if (!app.user)
|
|
25
|
+
return;
|
|
26
|
+
if (!tagValues(hexTags("p"), wrap.tags).includes(app.user.pubkey))
|
|
28
27
|
return;
|
|
29
|
-
}
|
|
30
28
|
try {
|
|
31
|
-
const
|
|
32
|
-
|
|
29
|
+
const nip59 = Nip59.fromSigner(app.user.signer);
|
|
30
|
+
const rumor = await nip59.unwrap(wrap);
|
|
31
|
+
this.app.wrapManager.add({
|
|
32
|
+
wrap: wrap,
|
|
33
|
+
rumor,
|
|
34
|
+
recipient: app.user.pubkey,
|
|
35
|
+
});
|
|
33
36
|
}
|
|
34
37
|
catch (e) {
|
|
35
38
|
this.failedUnwraps.add(wrap.id);
|
|
36
39
|
}
|
|
37
40
|
},
|
|
38
41
|
});
|
|
42
|
+
app.onCleanup(() => {
|
|
43
|
+
this.queue.clear();
|
|
44
|
+
});
|
|
39
45
|
}
|
|
40
46
|
enqueue = (wrap) => {
|
|
41
47
|
if (this.failedUnwraps.has(wrap.id))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wraps.js","sourceRoot":"","sources":["../../../../src/plugins/wraps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,eAAe,CAAA;AAClD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"wraps.js","sourceRoot":"","sources":["../../../../src/plugins/wraps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { Maybe } from "@welshman/lib";
|
|
2
|
-
import type {
|
|
2
|
+
import type { TrustedEvent } from "@welshman/util";
|
|
3
|
+
import { Zapper } from "@welshman/domain";
|
|
4
|
+
import type { Zap } from "@welshman/domain";
|
|
3
5
|
import { LoadableMapPlugin } from "./base.js";
|
|
4
6
|
import type { Projection } from "./base.js";
|
|
5
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zappers.d.ts","sourceRoot":"","sources":["../../../../src/plugins/zappers.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"zappers.d.ts","sourceRoot":"","sources":["../../../../src/plugins/zappers.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAe,MAAM,EAAa,MAAM,kBAAkB,CAAA;AACjE,OAAO,KAAK,EAAC,GAAG,EAAgB,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAC,iBAAiB,EAAa,MAAM,WAAW,CAAA;AACvD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAIzC;;;;;GAKG;AACH,qBAAa,OAAQ,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IACpD,KAAK,mDAuCH;IAEF,aAAa,GAAU,QAAQ,MAAM,EAAE,SAAQ,MAAM,EAAO,4BAM3D;IAED,SAAS,GAAI,QAAQ,MAAM,EAAE,SAAQ,MAAM,EAAO,KAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAgB7E;IAED;;;;;;;OAOG;IACH,gBAAgB,GAAU,YAAY,YAAY,EAAE,QAAQ,YAAY,4BAOvE;IAED,kBAAkB,GAAU,YAAY,YAAY,EAAE,QAAQ,YAAY,8BAQzE;IAED,mBAAmB,GAAU,aAAa,YAAY,EAAE,EAAE,QAAQ,YAAY,oBAG3E;IAEH,gBAAgB,GAAI,aAAa,YAAY,EAAE,EAAE,QAAQ,YAAY,KAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CA2CxF;CACF"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { removeUndefined, fetchJson, bech32ToHex, hexToBech32, tryCatch, batcher, postJson, } from "@welshman/lib";
|
|
2
|
-
import {
|
|
2
|
+
import { tagSpec, tagValue } from "@welshman/util";
|
|
3
|
+
import { getZapSplits, Zapper, ZapReceipt } from "@welshman/domain";
|
|
3
4
|
import { deriveDeduplicated, deriveDeduplicatedByValue } from "@welshman/store";
|
|
4
5
|
import { LoadableMapPlugin, projection } from "./base.js";
|
|
6
|
+
import { Domain } from "./domain.js";
|
|
5
7
|
import { Profiles } from "./profiles.js";
|
|
6
8
|
/**
|
|
7
9
|
* Lightning zapper info, keyed by lnurl. A "local" loadable collection: items
|
|
@@ -14,9 +16,11 @@ export class Zappers extends LoadableMapPlugin {
|
|
|
14
16
|
const result = new Map();
|
|
15
17
|
const valid = lnurls.filter(lnurl => lnurl.startsWith("lnurl1"));
|
|
16
18
|
const addZapper = (lnurl, info) => {
|
|
17
|
-
if
|
|
19
|
+
// A zapper is only usable if it carries both the recipient pubkey and the
|
|
20
|
+
// nostr pubkey its receipts are signed with; skip anything missing either.
|
|
21
|
+
if (info?.pubkey && info?.nostrPubkey) {
|
|
18
22
|
try {
|
|
19
|
-
result.set(lnurl, { ...info, lnurl });
|
|
23
|
+
result.set(lnurl, new Zapper({ ...info, lnurl }));
|
|
20
24
|
}
|
|
21
25
|
catch (_e) {
|
|
22
26
|
// pass
|
|
@@ -62,7 +66,7 @@ export class Zappers extends LoadableMapPlugin {
|
|
|
62
66
|
* other split recipients.
|
|
63
67
|
*/
|
|
64
68
|
loadZapperForZap = async (zapReceipt, parent) => {
|
|
65
|
-
const recipient =
|
|
69
|
+
const recipient = tagValue(tagSpec("p"), zapReceipt.tags);
|
|
66
70
|
const split = getZapSplits(parent).find(split => split.pubkey === recipient);
|
|
67
71
|
if (!split)
|
|
68
72
|
return;
|
|
@@ -70,16 +74,21 @@ export class Zappers extends LoadableMapPlugin {
|
|
|
70
74
|
};
|
|
71
75
|
validateZapReceipt = async (zapReceipt, parent) => {
|
|
72
76
|
const zapper = await this.loadZapperForZap(zapReceipt, parent);
|
|
73
|
-
|
|
77
|
+
if (!zapper)
|
|
78
|
+
return undefined;
|
|
79
|
+
const receipt = await this.app.use(Domain).reader(ZapReceipt)(zapReceipt);
|
|
80
|
+
return zapper.validate(receipt);
|
|
74
81
|
};
|
|
75
82
|
validateZapReceipts = async (zapReceipts, parent) => removeUndefined(await Promise.all(zapReceipts.map(zapReceipt => this.validateZapReceipt(zapReceipt, parent))));
|
|
76
83
|
validZapReceipts = (zapReceipts, parent) => {
|
|
77
84
|
const splits = getZapSplits(parent);
|
|
78
85
|
const profiles = this.app.use(Profiles);
|
|
86
|
+
const readReceipt = this.app.use(Domain).reader(ZapReceipt);
|
|
79
87
|
// Ensure each recipient's profile (-> lnurl) and zapper are being loaded.
|
|
80
88
|
for (const split of splits) {
|
|
81
89
|
this.loadForPubkey(split.pubkey, removeUndefined([split.relay]));
|
|
82
90
|
}
|
|
91
|
+
const receipts = removeUndefined(zapReceipts.map(event => tryCatch(() => readReceipt(event))));
|
|
83
92
|
const read = (values) => {
|
|
84
93
|
const $zappersByLnurl = values[0];
|
|
85
94
|
const $profiles = values.slice(1);
|
|
@@ -90,10 +99,10 @@ export class Zappers extends LoadableMapPlugin {
|
|
|
90
99
|
if (zapper)
|
|
91
100
|
zapperByPubkey.set(split.pubkey, zapper);
|
|
92
101
|
});
|
|
93
|
-
return removeUndefined(
|
|
94
|
-
const recipient =
|
|
102
|
+
return removeUndefined(receipts.map(receipt => {
|
|
103
|
+
const recipient = receipt.recipient();
|
|
95
104
|
const zapper = recipient ? zapperByPubkey.get(recipient) : undefined;
|
|
96
|
-
return zapper ?
|
|
105
|
+
return zapper ? zapper.validate(receipt) : undefined;
|
|
97
106
|
}));
|
|
98
107
|
};
|
|
99
108
|
const stores = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zappers.js","sourceRoot":"","sources":["../../../../src/plugins/zappers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,EACR,OAAO,EACP,QAAQ,GACT,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"zappers.js","sourceRoot":"","sources":["../../../../src/plugins/zappers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAA;AAK9C,OAAO,KAAK,EAAe,MAAM,EAAC,MAAM,eAAe,CAAA;AACvD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAOlC;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY,CAAA;AAEnD;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAC3B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,KAAK,OAAO,KAAG,SAoBrD,CAAA;AAEH,eAAO,MAAM,kBAAkB,WAAmC,CAAA;AAElE,eAAO,MAAM,mBAAmB,WAAkC,CAAA;AAElE,eAAO,MAAM,0BAA0B,WAMrC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAiB1B,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAEjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAc5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAcnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAA;AAK9C,OAAO,KAAK,EAAe,MAAM,EAAC,MAAM,eAAe,CAAA;AACvD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAOlC;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY,CAAA;AAEnD;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAC3B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,KAAK,OAAO,KAAG,SAoBrD,CAAA;AAEH,eAAO,MAAM,kBAAkB,WAAmC,CAAA;AAElE,eAAO,MAAM,mBAAmB,WAAkC,CAAA;AAElE,eAAO,MAAM,0BAA0B,WAMrC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAiB1B,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAEjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAc5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAcnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAsBvC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAOzC,CAAA"}
|
package/dist/app/src/policy.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { on, noop, always } from "@welshman/lib";
|
|
1
|
+
import { on, noop, always, randomId } from "@welshman/lib";
|
|
2
2
|
import { WRAP, isDVMKind, isEphemeralKind, verifyEvent } from "@welshman/util";
|
|
3
3
|
import { SocketEvent, isRelayEvent, makeSocketPolicyAuth } from "@welshman/net";
|
|
4
4
|
import { RelayStats } from "./plugins/relayStats.js";
|
|
@@ -21,7 +21,7 @@ export const makeAppPolicyAuth = (shouldAuth) => app => {
|
|
|
21
21
|
return noop;
|
|
22
22
|
}
|
|
23
23
|
const policy = makeSocketPolicyAuth({
|
|
24
|
-
sign: app.user.
|
|
24
|
+
sign: app.user.sign,
|
|
25
25
|
shouldAuth: socket => shouldAuth(socket, app),
|
|
26
26
|
});
|
|
27
27
|
app.pool.socketPolicies.push(policy);
|
|
@@ -106,14 +106,15 @@ export const appPolicyLogSignerMethods = app => {
|
|
|
106
106
|
return noop;
|
|
107
107
|
const logger = app.use(Logger);
|
|
108
108
|
return app.user.wrapSigner(async (method, thunk) => {
|
|
109
|
-
|
|
109
|
+
const id = randomId();
|
|
110
|
+
logger.log("signer", { id, method, status: "pending" });
|
|
110
111
|
try {
|
|
111
112
|
const result = await thunk();
|
|
112
|
-
logger.log("signer", { method, status: "success" });
|
|
113
|
+
logger.log("signer", { id, method, status: "success" });
|
|
113
114
|
return result;
|
|
114
115
|
}
|
|
115
116
|
catch (error) {
|
|
116
|
-
logger.log("signer", { method, status: "failure", error });
|
|
117
|
+
logger.log("signer", { id, method, status: "failure", error });
|
|
117
118
|
throw error;
|
|
118
119
|
}
|
|
119
120
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/app/src/user.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StampedEvent } from "@welshman/util";
|
|
2
|
-
import type { ISigner, SignerMethodWrapper } from "@welshman/signer";
|
|
2
|
+
import type { ISigner, SignOptions, SignerMethodWrapper } from "@welshman/signer";
|
|
3
3
|
import type { Session } from "./session.js";
|
|
4
4
|
import type { IApp } from "./app.js";
|
|
5
5
|
/**
|
|
@@ -28,7 +28,7 @@ export declare class User {
|
|
|
28
28
|
* point for actions that can only run as a user (publishing, signing).
|
|
29
29
|
*/
|
|
30
30
|
static require(app: IApp): User;
|
|
31
|
-
sign: (event: StampedEvent) => Promise<import("@welshman/util").SignedEvent>;
|
|
31
|
+
sign: (event: StampedEvent, options?: SignOptions) => Promise<import("@welshman/util").SignedEvent>;
|
|
32
32
|
nip44EncryptToSelf: (payload: string) => Promise<string>;
|
|
33
33
|
wrapSigner: (wrap: SignerMethodWrapper) => () => void;
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAC,OAAO,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAA;AAE/E,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAElC;;;;;;;;GAQG;AACH,qBAAa,IAAI;IAEb,QAAQ,CAAC,MAAM,EAAE,MAAM;IAChB,MAAM,EAAE,OAAO;gBADb,MAAM,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO;WAGX,UAAU,CAAC,MAAM,EAAE,OAAO;IAMvC;;;;;OAKG;WACU,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAMrE;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAQ/B,IAAI,GAAI,OAAO,YAAY,EAAE,UAAU,WAAW,mDAAqC;IAEvF,kBAAkB,GAAI,SAAS,MAAM,qBAAoD;IAEzF,UAAU,GAAI,MAAM,mBAAmB,gBAQtC;CACF"}
|