@welshman/app 0.9.0-pre1 → 0.9.0-pre2

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.
Files changed (514) hide show
  1. package/dist/app/src/command.d.ts +26 -0
  2. package/dist/app/src/command.d.ts.map +1 -0
  3. package/dist/app/src/command.js +38 -0
  4. package/dist/app/src/command.js.map +1 -0
  5. package/dist/app/src/index.d.ts +12 -7
  6. package/dist/app/src/index.d.ts.map +1 -1
  7. package/dist/app/src/index.js +12 -7
  8. package/dist/app/src/index.js.map +1 -1
  9. package/dist/app/src/plugins/base.d.ts +47 -0
  10. package/dist/app/src/plugins/base.d.ts.map +1 -1
  11. package/dist/app/src/plugins/base.js +65 -3
  12. package/dist/app/src/plugins/base.js.map +1 -1
  13. package/dist/app/src/plugins/blockedRelayLists.d.ts +6 -6
  14. package/dist/app/src/plugins/blockedRelayLists.d.ts.map +1 -1
  15. package/dist/app/src/plugins/blockedRelayLists.js +9 -10
  16. package/dist/app/src/plugins/blockedRelayLists.js.map +1 -1
  17. package/dist/app/src/plugins/blossomServerLists.d.ts +18 -0
  18. package/dist/app/src/plugins/blossomServerLists.d.ts.map +1 -0
  19. package/dist/app/src/plugins/blossomServerLists.js +33 -0
  20. package/dist/app/src/plugins/blossomServerLists.js.map +1 -0
  21. package/dist/app/src/plugins/deletes.d.ts +14 -0
  22. package/dist/app/src/plugins/deletes.d.ts.map +1 -0
  23. package/dist/app/src/plugins/deletes.js +25 -0
  24. package/dist/app/src/plugins/deletes.js.map +1 -0
  25. package/dist/app/src/plugins/domain.d.ts +16 -0
  26. package/dist/app/src/plugins/domain.d.ts.map +1 -0
  27. package/dist/app/src/plugins/domain.js +37 -0
  28. package/dist/app/src/plugins/domain.js.map +1 -0
  29. package/dist/app/src/plugins/feedLists.d.ts +18 -0
  30. package/dist/app/src/plugins/feedLists.d.ts.map +1 -0
  31. package/dist/app/src/plugins/feedLists.js +33 -0
  32. package/dist/app/src/plugins/feedLists.js.map +1 -0
  33. package/dist/app/src/plugins/feeds.d.ts +19 -8
  34. package/dist/app/src/plugins/feeds.d.ts.map +1 -1
  35. package/dist/app/src/plugins/feeds.js +41 -11
  36. package/dist/app/src/plugins/feeds.js.map +1 -1
  37. package/dist/app/src/plugins/{follows.d.ts → followLists.d.ts} +6 -6
  38. package/dist/app/src/plugins/followLists.d.ts.map +1 -0
  39. package/dist/app/src/plugins/{follows.js → followLists.js} +9 -10
  40. package/dist/app/src/plugins/followLists.js.map +1 -0
  41. package/dist/app/src/plugins/handles.d.ts +0 -2
  42. package/dist/app/src/plugins/handles.d.ts.map +1 -1
  43. package/dist/app/src/plugins/handles.js +0 -3
  44. package/dist/app/src/plugins/handles.js.map +1 -1
  45. package/dist/app/src/plugins/messagingRelayLists.d.ts +6 -6
  46. package/dist/app/src/plugins/messagingRelayLists.d.ts.map +1 -1
  47. package/dist/app/src/plugins/messagingRelayLists.js +11 -10
  48. package/dist/app/src/plugins/messagingRelayLists.js.map +1 -1
  49. package/dist/app/src/plugins/muteLists.d.ts +19 -0
  50. package/dist/app/src/plugins/muteLists.d.ts.map +1 -0
  51. package/dist/app/src/plugins/muteLists.js +38 -0
  52. package/dist/app/src/plugins/muteLists.js.map +1 -0
  53. package/dist/app/src/plugins/network.d.ts +3 -9
  54. package/dist/app/src/plugins/network.d.ts.map +1 -1
  55. package/dist/app/src/plugins/network.js +16 -22
  56. package/dist/app/src/plugins/network.js.map +1 -1
  57. package/dist/app/src/plugins/pinboards.d.ts +39 -0
  58. package/dist/app/src/plugins/pinboards.d.ts.map +1 -0
  59. package/dist/app/src/plugins/pinboards.js +94 -0
  60. package/dist/app/src/plugins/pinboards.js.map +1 -0
  61. package/dist/app/src/plugins/pins.d.ts +5 -5
  62. package/dist/app/src/plugins/pins.d.ts.map +1 -1
  63. package/dist/app/src/plugins/pins.js +8 -9
  64. package/dist/app/src/plugins/pins.js.map +1 -1
  65. package/dist/app/src/plugins/profiles.d.ts +7 -4
  66. package/dist/app/src/plugins/profiles.d.ts.map +1 -1
  67. package/dist/app/src/plugins/profiles.js +52 -13
  68. package/dist/app/src/plugins/profiles.js.map +1 -1
  69. package/dist/app/src/plugins/reactions.d.ts +15 -0
  70. package/dist/app/src/plugins/reactions.d.ts.map +1 -0
  71. package/dist/app/src/plugins/reactions.js +26 -0
  72. package/dist/app/src/plugins/reactions.js.map +1 -0
  73. package/dist/app/src/plugins/relayLists.d.ts +10 -10
  74. package/dist/app/src/plugins/relayLists.d.ts.map +1 -1
  75. package/dist/app/src/plugins/relayLists.js +21 -40
  76. package/dist/app/src/plugins/relayLists.js.map +1 -1
  77. package/dist/app/src/plugins/relayManagement.d.ts +4 -4
  78. package/dist/app/src/plugins/relayManagement.d.ts.map +1 -1
  79. package/dist/app/src/plugins/relayManagement.js +5 -9
  80. package/dist/app/src/plugins/relayManagement.js.map +1 -1
  81. package/dist/app/src/plugins/relayMembers.d.ts +12 -0
  82. package/dist/app/src/plugins/relayMembers.d.ts.map +1 -0
  83. package/dist/app/src/plugins/relayMembers.js +22 -0
  84. package/dist/app/src/plugins/relayMembers.js.map +1 -0
  85. package/dist/app/src/plugins/relayRoles.d.ts +14 -0
  86. package/dist/app/src/plugins/relayRoles.d.ts.map +1 -0
  87. package/dist/app/src/plugins/relayRoles.js +33 -0
  88. package/dist/app/src/plugins/relayRoles.js.map +1 -0
  89. package/dist/app/src/plugins/relays.d.ts +24 -5
  90. package/dist/app/src/plugins/relays.d.ts.map +1 -1
  91. package/dist/app/src/plugins/relays.js +51 -26
  92. package/dist/app/src/plugins/relays.js.map +1 -1
  93. package/dist/app/src/plugins/roomLists.d.ts +22 -0
  94. package/dist/app/src/plugins/roomLists.d.ts.map +1 -0
  95. package/dist/app/src/plugins/roomLists.js +37 -0
  96. package/dist/app/src/plugins/roomLists.js.map +1 -0
  97. package/dist/app/src/plugins/rooms.d.ts +29 -14
  98. package/dist/app/src/plugins/rooms.d.ts.map +1 -1
  99. package/dist/app/src/plugins/rooms.js +69 -23
  100. package/dist/app/src/plugins/rooms.js.map +1 -1
  101. package/dist/app/src/plugins/router.d.ts +19 -7
  102. package/dist/app/src/plugins/router.d.ts.map +1 -1
  103. package/dist/app/src/plugins/router.js +86 -17
  104. package/dist/app/src/plugins/router.js.map +1 -1
  105. package/dist/app/src/plugins/searchRelayLists.d.ts +6 -6
  106. package/dist/app/src/plugins/searchRelayLists.d.ts.map +1 -1
  107. package/dist/app/src/plugins/searchRelayLists.js +9 -10
  108. package/dist/app/src/plugins/searchRelayLists.js.map +1 -1
  109. package/dist/app/src/plugins/sync.d.ts.map +1 -1
  110. package/dist/app/src/plugins/sync.js +3 -2
  111. package/dist/app/src/plugins/sync.js.map +1 -1
  112. package/dist/app/src/plugins/thunk.d.ts +0 -1
  113. package/dist/app/src/plugins/thunk.d.ts.map +1 -1
  114. package/dist/app/src/plugins/thunk.js +5 -12
  115. package/dist/app/src/plugins/thunk.js.map +1 -1
  116. package/dist/app/src/plugins/topics.d.ts +4 -2
  117. package/dist/app/src/plugins/topics.d.ts.map +1 -1
  118. package/dist/app/src/plugins/topics.js +11 -5
  119. package/dist/app/src/plugins/topics.js.map +1 -1
  120. package/dist/app/src/plugins/wot.js +2 -2
  121. package/dist/app/src/plugins/wot.js.map +1 -1
  122. package/dist/app/src/plugins/wraps.js +2 -2
  123. package/dist/app/src/plugins/wraps.js.map +1 -1
  124. package/dist/app/src/plugins/zappers.d.ts +3 -1
  125. package/dist/app/src/plugins/zappers.d.ts.map +1 -1
  126. package/dist/app/src/plugins/zappers.js +24 -11
  127. package/dist/app/src/plugins/zappers.js.map +1 -1
  128. package/dist/domain/src/behaviors/Emoji.d.ts +18 -0
  129. package/dist/domain/src/behaviors/Emoji.d.ts.map +1 -0
  130. package/dist/domain/src/behaviors/Emoji.js +9 -0
  131. package/dist/domain/src/behaviors/Emoji.js.map +1 -0
  132. package/dist/domain/src/behaviors/ZapSplits.d.ts +36 -0
  133. package/dist/domain/src/behaviors/ZapSplits.d.ts.map +1 -0
  134. package/dist/domain/src/behaviors/ZapSplits.js +54 -0
  135. package/dist/domain/src/behaviors/ZapSplits.js.map +1 -0
  136. package/dist/domain/src/core/EventReader.d.ts +24 -0
  137. package/dist/domain/src/core/EventReader.d.ts.map +1 -0
  138. package/dist/domain/src/core/EventReader.js +55 -0
  139. package/dist/domain/src/core/EventReader.js.map +1 -0
  140. package/dist/domain/src/core/EventWriter.d.ts +99 -0
  141. package/dist/domain/src/core/EventWriter.d.ts.map +1 -0
  142. package/dist/domain/src/core/EventWriter.js +233 -0
  143. package/dist/domain/src/core/EventWriter.js.map +1 -0
  144. package/dist/domain/src/core/Kind.d.ts +39 -0
  145. package/dist/domain/src/core/Kind.d.ts.map +1 -0
  146. package/dist/domain/src/core/Kind.js +43 -0
  147. package/dist/domain/src/core/Kind.js.map +1 -0
  148. package/dist/domain/src/core/ListReader.d.ts +9 -0
  149. package/dist/domain/src/core/ListReader.d.ts.map +1 -0
  150. package/dist/domain/src/{ListReader.js → core/ListReader.js} +2 -1
  151. package/dist/domain/src/core/ListReader.js.map +1 -0
  152. package/dist/domain/src/{ListBuilder.d.ts → core/ListWriter.d.ts} +8 -9
  153. package/dist/domain/src/core/ListWriter.d.ts.map +1 -0
  154. package/dist/domain/src/{ListBuilder.js → core/ListWriter.js} +12 -13
  155. package/dist/domain/src/core/ListWriter.js.map +1 -0
  156. package/dist/domain/src/index.d.ts +14 -5
  157. package/dist/domain/src/index.d.ts.map +1 -1
  158. package/dist/domain/src/index.js +14 -5
  159. package/dist/domain/src/index.js.map +1 -1
  160. package/dist/domain/src/kinds/AppData.d.ts +22 -0
  161. package/dist/domain/src/kinds/AppData.d.ts.map +1 -0
  162. package/dist/domain/src/kinds/AppData.js +84 -0
  163. package/dist/domain/src/kinds/AppData.js.map +1 -0
  164. package/dist/domain/src/kinds/BlockedRelayList.d.ts +6 -7
  165. package/dist/domain/src/kinds/BlockedRelayList.d.ts.map +1 -1
  166. package/dist/domain/src/kinds/BlockedRelayList.js +12 -11
  167. package/dist/domain/src/kinds/BlockedRelayList.js.map +1 -1
  168. package/dist/domain/src/kinds/BlossomServerList.d.ts +6 -7
  169. package/dist/domain/src/kinds/BlossomServerList.d.ts.map +1 -1
  170. package/dist/domain/src/kinds/BlossomServerList.js +12 -11
  171. package/dist/domain/src/kinds/BlossomServerList.js.map +1 -1
  172. package/dist/domain/src/kinds/BookmarkList.d.ts +6 -7
  173. package/dist/domain/src/kinds/BookmarkList.d.ts.map +1 -1
  174. package/dist/domain/src/kinds/BookmarkList.js +15 -14
  175. package/dist/domain/src/kinds/BookmarkList.js.map +1 -1
  176. package/dist/domain/src/kinds/Classified.d.ts +6 -7
  177. package/dist/domain/src/kinds/Classified.d.ts.map +1 -1
  178. package/dist/domain/src/kinds/Classified.js +17 -16
  179. package/dist/domain/src/kinds/Classified.js.map +1 -1
  180. package/dist/domain/src/kinds/Comment.d.ts +14 -10
  181. package/dist/domain/src/kinds/Comment.d.ts.map +1 -1
  182. package/dist/domain/src/kinds/Comment.js +57 -34
  183. package/dist/domain/src/kinds/Comment.js.map +1 -1
  184. package/dist/domain/src/kinds/Delete.d.ts +18 -0
  185. package/dist/domain/src/kinds/Delete.d.ts.map +1 -0
  186. package/dist/domain/src/kinds/Delete.js +70 -0
  187. package/dist/domain/src/kinds/Delete.js.map +1 -0
  188. package/dist/domain/src/kinds/EmojiList.d.ts +6 -10
  189. package/dist/domain/src/kinds/EmojiList.d.ts.map +1 -1
  190. package/dist/domain/src/kinds/EmojiList.js +12 -20
  191. package/dist/domain/src/kinds/EmojiList.js.map +1 -1
  192. package/dist/domain/src/kinds/Feed.d.ts +6 -7
  193. package/dist/domain/src/kinds/Feed.d.ts.map +1 -1
  194. package/dist/domain/src/kinds/Feed.js +14 -13
  195. package/dist/domain/src/kinds/Feed.js.map +1 -1
  196. package/dist/domain/src/kinds/FeedList.d.ts +6 -7
  197. package/dist/domain/src/kinds/FeedList.d.ts.map +1 -1
  198. package/dist/domain/src/kinds/FeedList.js +12 -11
  199. package/dist/domain/src/kinds/FeedList.js.map +1 -1
  200. package/dist/domain/src/kinds/FollowList.d.ts +7 -7
  201. package/dist/domain/src/kinds/FollowList.d.ts.map +1 -1
  202. package/dist/domain/src/kinds/FollowList.js +15 -11
  203. package/dist/domain/src/kinds/FollowList.js.map +1 -1
  204. package/dist/domain/src/kinds/GroupList.d.ts +6 -7
  205. package/dist/domain/src/kinds/GroupList.d.ts.map +1 -1
  206. package/dist/domain/src/kinds/GroupList.js +12 -11
  207. package/dist/domain/src/kinds/GroupList.js.map +1 -1
  208. package/dist/domain/src/kinds/Handler.d.ts +11 -13
  209. package/dist/domain/src/kinds/Handler.d.ts.map +1 -1
  210. package/dist/domain/src/kinds/Handler.js +20 -19
  211. package/dist/domain/src/kinds/Handler.js.map +1 -1
  212. package/dist/domain/src/kinds/HandlerRecommendation.d.ts +6 -7
  213. package/dist/domain/src/kinds/HandlerRecommendation.d.ts.map +1 -1
  214. package/dist/domain/src/kinds/HandlerRecommendation.js +13 -12
  215. package/dist/domain/src/kinds/HandlerRecommendation.js.map +1 -1
  216. package/dist/domain/src/kinds/MessagingRelayList.d.ts +6 -7
  217. package/dist/domain/src/kinds/MessagingRelayList.d.ts.map +1 -1
  218. package/dist/domain/src/kinds/MessagingRelayList.js +12 -11
  219. package/dist/domain/src/kinds/MessagingRelayList.js.map +1 -1
  220. package/dist/domain/src/kinds/MuteList.d.ts +7 -7
  221. package/dist/domain/src/kinds/MuteList.d.ts.map +1 -1
  222. package/dist/domain/src/kinds/MuteList.js +15 -11
  223. package/dist/domain/src/kinds/MuteList.js.map +1 -1
  224. package/dist/domain/src/kinds/Note.d.ts +18 -0
  225. package/dist/domain/src/kinds/Note.d.ts.map +1 -0
  226. package/dist/domain/src/kinds/Note.js +106 -0
  227. package/dist/domain/src/kinds/Note.js.map +1 -0
  228. package/dist/domain/src/kinds/Pin.d.ts +7 -8
  229. package/dist/domain/src/kinds/Pin.d.ts.map +1 -1
  230. package/dist/domain/src/kinds/Pin.js +23 -21
  231. package/dist/domain/src/kinds/Pin.js.map +1 -1
  232. package/dist/domain/src/kinds/PinList.d.ts +6 -7
  233. package/dist/domain/src/kinds/PinList.d.ts.map +1 -1
  234. package/dist/domain/src/kinds/PinList.js +13 -12
  235. package/dist/domain/src/kinds/PinList.js.map +1 -1
  236. package/dist/domain/src/kinds/Pinboard.d.ts +7 -8
  237. package/dist/domain/src/kinds/Pinboard.d.ts.map +1 -1
  238. package/dist/domain/src/kinds/Pinboard.js +16 -15
  239. package/dist/domain/src/kinds/Pinboard.js.map +1 -1
  240. package/dist/domain/src/kinds/Poll.d.ts +7 -8
  241. package/dist/domain/src/kinds/Poll.d.ts.map +1 -1
  242. package/dist/domain/src/kinds/Poll.js +16 -15
  243. package/dist/domain/src/kinds/Poll.js.map +1 -1
  244. package/dist/domain/src/kinds/PollResponse.d.ts +7 -8
  245. package/dist/domain/src/kinds/PollResponse.d.ts.map +1 -1
  246. package/dist/domain/src/kinds/PollResponse.js +13 -12
  247. package/dist/domain/src/kinds/PollResponse.js.map +1 -1
  248. package/dist/domain/src/kinds/Profile.d.ts +10 -13
  249. package/dist/domain/src/kinds/Profile.d.ts.map +1 -1
  250. package/dist/domain/src/kinds/Profile.js +15 -19
  251. package/dist/domain/src/kinds/Profile.js.map +1 -1
  252. package/dist/domain/src/kinds/Reaction.d.ts +16 -0
  253. package/dist/domain/src/kinds/Reaction.d.ts.map +1 -0
  254. package/dist/domain/src/kinds/Reaction.js +55 -0
  255. package/dist/domain/src/kinds/Reaction.js.map +1 -0
  256. package/dist/domain/src/kinds/RelayAddMember.d.ts +7 -7
  257. package/dist/domain/src/kinds/RelayAddMember.d.ts.map +1 -1
  258. package/dist/domain/src/kinds/RelayAddMember.js +13 -11
  259. package/dist/domain/src/kinds/RelayAddMember.js.map +1 -1
  260. package/dist/domain/src/kinds/RelayInvite.d.ts +7 -7
  261. package/dist/domain/src/kinds/RelayInvite.d.ts.map +1 -1
  262. package/dist/domain/src/kinds/RelayInvite.js +13 -11
  263. package/dist/domain/src/kinds/RelayInvite.js.map +1 -1
  264. package/dist/domain/src/kinds/RelayJoin.d.ts +7 -7
  265. package/dist/domain/src/kinds/RelayJoin.d.ts.map +1 -1
  266. package/dist/domain/src/kinds/RelayJoin.js +13 -11
  267. package/dist/domain/src/kinds/RelayJoin.js.map +1 -1
  268. package/dist/domain/src/kinds/RelayLeave.d.ts +7 -7
  269. package/dist/domain/src/kinds/RelayLeave.d.ts.map +1 -1
  270. package/dist/domain/src/kinds/RelayLeave.js +11 -9
  271. package/dist/domain/src/kinds/RelayLeave.js.map +1 -1
  272. package/dist/domain/src/kinds/RelayList.d.ts +7 -7
  273. package/dist/domain/src/kinds/RelayList.d.ts.map +1 -1
  274. package/dist/domain/src/kinds/RelayList.js +20 -11
  275. package/dist/domain/src/kinds/RelayList.js.map +1 -1
  276. package/dist/domain/src/kinds/RelayMembers.d.ts +9 -9
  277. package/dist/domain/src/kinds/RelayMembers.d.ts.map +1 -1
  278. package/dist/domain/src/kinds/RelayMembers.js +15 -15
  279. package/dist/domain/src/kinds/RelayMembers.js.map +1 -1
  280. package/dist/domain/src/kinds/RelayRemoveMember.d.ts +7 -7
  281. package/dist/domain/src/kinds/RelayRemoveMember.d.ts.map +1 -1
  282. package/dist/domain/src/kinds/RelayRemoveMember.js +13 -11
  283. package/dist/domain/src/kinds/RelayRemoveMember.js.map +1 -1
  284. package/dist/domain/src/kinds/RelayRole.d.ts +18 -0
  285. package/dist/domain/src/kinds/RelayRole.d.ts.map +1 -0
  286. package/dist/domain/src/kinds/RelayRole.js +46 -0
  287. package/dist/domain/src/kinds/RelayRole.js.map +1 -0
  288. package/dist/domain/src/kinds/RelaySet.d.ts +6 -7
  289. package/dist/domain/src/kinds/RelaySet.d.ts.map +1 -1
  290. package/dist/domain/src/kinds/RelaySet.js +15 -14
  291. package/dist/domain/src/kinds/RelaySet.js.map +1 -1
  292. package/dist/domain/src/kinds/Report.d.ts +9 -8
  293. package/dist/domain/src/kinds/Report.d.ts.map +1 -1
  294. package/dist/domain/src/kinds/Report.js +20 -16
  295. package/dist/domain/src/kinds/Report.js.map +1 -1
  296. package/dist/domain/src/kinds/RoomAddMember.d.ts +7 -7
  297. package/dist/domain/src/kinds/RoomAddMember.d.ts.map +1 -1
  298. package/dist/domain/src/kinds/RoomAddMember.js +13 -11
  299. package/dist/domain/src/kinds/RoomAddMember.js.map +1 -1
  300. package/dist/domain/src/kinds/RoomAdmins.d.ts +7 -7
  301. package/dist/domain/src/kinds/RoomAdmins.d.ts.map +1 -1
  302. package/dist/domain/src/kinds/RoomAdmins.js +13 -11
  303. package/dist/domain/src/kinds/RoomAdmins.js.map +1 -1
  304. package/dist/domain/src/kinds/RoomCreate.d.ts +8 -8
  305. package/dist/domain/src/kinds/RoomCreate.d.ts.map +1 -1
  306. package/dist/domain/src/kinds/RoomCreate.js +11 -9
  307. package/dist/domain/src/kinds/RoomCreate.js.map +1 -1
  308. package/dist/domain/src/kinds/RoomCreatePermission.d.ts +7 -7
  309. package/dist/domain/src/kinds/RoomCreatePermission.d.ts.map +1 -1
  310. package/dist/domain/src/kinds/RoomCreatePermission.js +13 -11
  311. package/dist/domain/src/kinds/RoomCreatePermission.js.map +1 -1
  312. package/dist/domain/src/kinds/RoomDelete.d.ts +8 -8
  313. package/dist/domain/src/kinds/RoomDelete.d.ts.map +1 -1
  314. package/dist/domain/src/kinds/RoomDelete.js +11 -9
  315. package/dist/domain/src/kinds/RoomDelete.js.map +1 -1
  316. package/dist/domain/src/kinds/RoomEdit.d.ts +8 -8
  317. package/dist/domain/src/kinds/RoomEdit.d.ts.map +1 -1
  318. package/dist/domain/src/kinds/RoomEdit.js +21 -20
  319. package/dist/domain/src/kinds/RoomEdit.js.map +1 -1
  320. package/dist/domain/src/kinds/RoomJoin.d.ts +8 -10
  321. package/dist/domain/src/kinds/RoomJoin.d.ts.map +1 -1
  322. package/dist/domain/src/kinds/RoomJoin.js +13 -17
  323. package/dist/domain/src/kinds/RoomJoin.js.map +1 -1
  324. package/dist/domain/src/kinds/RoomLeave.d.ts +8 -8
  325. package/dist/domain/src/kinds/RoomLeave.d.ts.map +1 -1
  326. package/dist/domain/src/kinds/RoomLeave.js +11 -9
  327. package/dist/domain/src/kinds/RoomLeave.js.map +1 -1
  328. package/dist/domain/src/kinds/RoomList.d.ts +13 -8
  329. package/dist/domain/src/kinds/RoomList.d.ts.map +1 -1
  330. package/dist/domain/src/kinds/RoomList.js +60 -15
  331. package/dist/domain/src/kinds/RoomList.js.map +1 -1
  332. package/dist/domain/src/kinds/RoomMembers.d.ts +7 -7
  333. package/dist/domain/src/kinds/RoomMembers.d.ts.map +1 -1
  334. package/dist/domain/src/kinds/RoomMembers.js +13 -11
  335. package/dist/domain/src/kinds/RoomMembers.js.map +1 -1
  336. package/dist/domain/src/kinds/RoomMeta.d.ts +7 -7
  337. package/dist/domain/src/kinds/RoomMeta.d.ts.map +1 -1
  338. package/dist/domain/src/kinds/RoomMeta.js +16 -14
  339. package/dist/domain/src/kinds/RoomMeta.js.map +1 -1
  340. package/dist/domain/src/kinds/RoomRemoveMember.d.ts +7 -7
  341. package/dist/domain/src/kinds/RoomRemoveMember.d.ts.map +1 -1
  342. package/dist/domain/src/kinds/RoomRemoveMember.js +13 -11
  343. package/dist/domain/src/kinds/RoomRemoveMember.js.map +1 -1
  344. package/dist/domain/src/kinds/SearchRelayList.d.ts +6 -7
  345. package/dist/domain/src/kinds/SearchRelayList.d.ts.map +1 -1
  346. package/dist/domain/src/kinds/SearchRelayList.js +12 -11
  347. package/dist/domain/src/kinds/SearchRelayList.js.map +1 -1
  348. package/dist/domain/src/kinds/Thread.d.ts +6 -7
  349. package/dist/domain/src/kinds/Thread.d.ts.map +1 -1
  350. package/dist/domain/src/kinds/Thread.js +12 -11
  351. package/dist/domain/src/kinds/Thread.js.map +1 -1
  352. package/dist/domain/src/kinds/TimeEvent.d.ts +9 -10
  353. package/dist/domain/src/kinds/TimeEvent.d.ts.map +1 -1
  354. package/dist/domain/src/kinds/TimeEvent.js +23 -22
  355. package/dist/domain/src/kinds/TimeEvent.js.map +1 -1
  356. package/dist/domain/src/kinds/TopicList.d.ts +6 -7
  357. package/dist/domain/src/kinds/TopicList.d.ts.map +1 -1
  358. package/dist/domain/src/kinds/TopicList.js +13 -12
  359. package/dist/domain/src/kinds/TopicList.js.map +1 -1
  360. package/dist/domain/src/kinds/ZapGoal.d.ts +10 -9
  361. package/dist/domain/src/kinds/ZapGoal.d.ts.map +1 -1
  362. package/dist/domain/src/kinds/ZapGoal.js +20 -16
  363. package/dist/domain/src/kinds/ZapGoal.js.map +1 -1
  364. package/dist/domain/src/kinds/ZapReceipt.d.ts +8 -11
  365. package/dist/domain/src/kinds/ZapReceipt.d.ts.map +1 -1
  366. package/dist/domain/src/kinds/ZapReceipt.js +17 -42
  367. package/dist/domain/src/kinds/ZapReceipt.js.map +1 -1
  368. package/dist/domain/src/kinds/ZapRequest.d.ts +15 -7
  369. package/dist/domain/src/kinds/ZapRequest.d.ts.map +1 -1
  370. package/dist/domain/src/kinds/ZapRequest.js +40 -15
  371. package/dist/domain/src/kinds/ZapRequest.js.map +1 -1
  372. package/dist/domain/src/other/Relay.d.ts +49 -0
  373. package/dist/domain/src/other/Relay.d.ts.map +1 -0
  374. package/dist/domain/src/other/Relay.js +50 -0
  375. package/dist/domain/src/other/Relay.js.map +1 -0
  376. package/dist/domain/src/other/Zapper.d.ts +40 -0
  377. package/dist/domain/src/other/Zapper.d.ts.map +1 -0
  378. package/dist/domain/src/other/Zapper.js +67 -0
  379. package/dist/domain/src/other/Zapper.js.map +1 -0
  380. package/dist/feeds/src/compiler.d.ts +2 -2
  381. package/dist/feeds/src/compiler.d.ts.map +1 -1
  382. package/dist/feeds/src/index.d.ts +1 -0
  383. package/dist/feeds/src/index.d.ts.map +1 -1
  384. package/dist/feeds/src/index.js +1 -0
  385. package/dist/feeds/src/index.js.map +1 -1
  386. package/dist/feeds/src/request.d.ts +4 -4
  387. package/dist/feeds/src/request.d.ts.map +1 -1
  388. package/dist/feeds/src/request.js +15 -15
  389. package/dist/feeds/src/request.js.map +1 -1
  390. package/dist/feeds/src/router.d.ts +10 -0
  391. package/dist/feeds/src/router.d.ts.map +1 -0
  392. package/dist/feeds/src/router.js +45 -0
  393. package/dist/feeds/src/router.js.map +1 -0
  394. package/dist/feeds/src/utils.js +2 -2
  395. package/dist/feeds/src/utils.js.map +1 -1
  396. package/dist/lib/src/Tools.d.ts +9 -0
  397. package/dist/lib/src/Tools.d.ts.map +1 -1
  398. package/dist/lib/src/Tools.js +26 -1
  399. package/dist/lib/src/Tools.js.map +1 -1
  400. package/dist/net/src/context.d.ts +1 -1
  401. package/dist/net/src/context.d.ts.map +1 -1
  402. package/dist/net/src/message.d.ts +1 -1
  403. package/dist/net/src/message.d.ts.map +1 -1
  404. package/dist/net/src/message.js +1 -1
  405. package/dist/net/src/message.js.map +1 -1
  406. package/dist/net/src/repository.d.ts +3 -0
  407. package/dist/net/src/repository.d.ts.map +1 -1
  408. package/dist/net/src/repository.js +49 -12
  409. package/dist/net/src/repository.js.map +1 -1
  410. package/dist/net/src/request.d.ts +2 -1
  411. package/dist/net/src/request.d.ts.map +1 -1
  412. package/dist/net/src/request.js.map +1 -1
  413. package/dist/signer/src/signers/nip46.d.ts +2 -2
  414. package/dist/signer/src/signers/nip46.d.ts.map +1 -1
  415. package/dist/signer/src/signers/nip46.js +10 -5
  416. package/dist/signer/src/signers/nip46.js.map +1 -1
  417. package/dist/store/src/repository.d.ts +17 -0
  418. package/dist/store/src/repository.d.ts.map +1 -1
  419. package/dist/store/src/repository.js +144 -0
  420. package/dist/store/src/repository.js.map +1 -1
  421. package/dist/tsconfig.build.tsbuildinfo +1 -1
  422. package/dist/util/src/Events.d.ts +0 -12
  423. package/dist/util/src/Events.d.ts.map +1 -1
  424. package/dist/util/src/Events.js +3 -25
  425. package/dist/util/src/Events.js.map +1 -1
  426. package/dist/util/src/Kinds.d.ts +3 -1
  427. package/dist/util/src/Kinds.d.ts.map +1 -1
  428. package/dist/util/src/Kinds.js +5 -2
  429. package/dist/util/src/Kinds.js.map +1 -1
  430. package/dist/util/src/Lightning.d.ts +6 -0
  431. package/dist/util/src/Lightning.d.ts.map +1 -0
  432. package/dist/util/src/Lightning.js +59 -0
  433. package/dist/util/src/Lightning.js.map +1 -0
  434. package/dist/util/src/Nip86.d.ts +74 -30
  435. package/dist/util/src/Nip86.d.ts.map +1 -1
  436. package/dist/util/src/Nip86.js +169 -30
  437. package/dist/util/src/Nip86.js.map +1 -1
  438. package/dist/util/src/Pow.js +2 -2
  439. package/dist/util/src/Pow.js.map +1 -1
  440. package/dist/util/src/Pubkey.d.ts.map +1 -1
  441. package/dist/util/src/Pubkey.js +2 -1
  442. package/dist/util/src/Pubkey.js.map +1 -1
  443. package/dist/util/src/Relay.d.ts +0 -29
  444. package/dist/util/src/Relay.d.ts.map +1 -1
  445. package/dist/util/src/Relay.js +0 -10
  446. package/dist/util/src/Relay.js.map +1 -1
  447. package/dist/util/src/RelaySelection.d.ts +101 -0
  448. package/dist/util/src/RelaySelection.d.ts.map +1 -0
  449. package/dist/util/src/RelaySelection.js +98 -0
  450. package/dist/util/src/RelaySelection.js.map +1 -0
  451. package/dist/util/src/Tags.d.ts +16 -35
  452. package/dist/util/src/Tags.d.ts.map +1 -1
  453. package/dist/util/src/Tags.js +23 -74
  454. package/dist/util/src/Tags.js.map +1 -1
  455. package/dist/util/src/Topics.d.ts +2 -0
  456. package/dist/util/src/Topics.d.ts.map +1 -0
  457. package/dist/util/src/Topics.js +2 -0
  458. package/dist/util/src/Topics.js.map +1 -0
  459. package/dist/util/src/index.d.ts +2 -1
  460. package/dist/util/src/index.d.ts.map +1 -1
  461. package/dist/util/src/index.js +2 -1
  462. package/dist/util/src/index.js.map +1 -1
  463. package/package.json +15 -17
  464. package/dist/app/src/plugins/blossom.d.ts +0 -12
  465. package/dist/app/src/plugins/blossom.d.ts.map +0 -1
  466. package/dist/app/src/plugins/blossom.js +0 -21
  467. package/dist/app/src/plugins/blossom.js.map +0 -1
  468. package/dist/app/src/plugins/follows.d.ts.map +0 -1
  469. package/dist/app/src/plugins/follows.js.map +0 -1
  470. package/dist/app/src/plugins/mutes.d.ts +0 -19
  471. package/dist/app/src/plugins/mutes.d.ts.map +0 -1
  472. package/dist/app/src/plugins/mutes.js +0 -39
  473. package/dist/app/src/plugins/mutes.js.map +0 -1
  474. package/dist/app/src/plugins/search.d.ts +0 -35
  475. package/dist/app/src/plugins/search.d.ts.map +0 -1
  476. package/dist/app/src/plugins/search.js +0 -88
  477. package/dist/app/src/plugins/search.js.map +0 -1
  478. package/dist/app/src/plugins/slashCommands.d.ts +0 -22
  479. package/dist/app/src/plugins/slashCommands.d.ts.map +0 -1
  480. package/dist/app/src/plugins/slashCommands.js +0 -70
  481. package/dist/app/src/plugins/slashCommands.js.map +0 -1
  482. package/dist/app/src/plugins/stores.d.ts +0 -22
  483. package/dist/app/src/plugins/stores.d.ts.map +0 -1
  484. package/dist/app/src/plugins/stores.js +0 -22
  485. package/dist/app/src/plugins/stores.js.map +0 -1
  486. package/dist/app/src/plugins/tags.d.ts +0 -20
  487. package/dist/app/src/plugins/tags.d.ts.map +0 -1
  488. package/dist/app/src/plugins/tags.js +0 -106
  489. package/dist/app/src/plugins/tags.js.map +0 -1
  490. package/dist/domain/src/EventBuilder.d.ts +0 -35
  491. package/dist/domain/src/EventBuilder.d.ts.map +0 -1
  492. package/dist/domain/src/EventBuilder.js +0 -111
  493. package/dist/domain/src/EventBuilder.js.map +0 -1
  494. package/dist/domain/src/EventReader.d.ts +0 -24
  495. package/dist/domain/src/EventReader.d.ts.map +0 -1
  496. package/dist/domain/src/EventReader.js +0 -57
  497. package/dist/domain/src/EventReader.js.map +0 -1
  498. package/dist/domain/src/ListBuilder.d.ts.map +0 -1
  499. package/dist/domain/src/ListBuilder.js.map +0 -1
  500. package/dist/domain/src/ListReader.d.ts +0 -12
  501. package/dist/domain/src/ListReader.d.ts.map +0 -1
  502. package/dist/domain/src/ListReader.js.map +0 -1
  503. package/dist/domain/src/kinds/SlashCommand.d.ts +0 -38
  504. package/dist/domain/src/kinds/SlashCommand.d.ts.map +0 -1
  505. package/dist/domain/src/kinds/SlashCommand.js +0 -91
  506. package/dist/domain/src/kinds/SlashCommand.js.map +0 -1
  507. package/dist/router/src/index.d.ts +0 -163
  508. package/dist/router/src/index.d.ts.map +0 -1
  509. package/dist/router/src/index.js +0 -214
  510. package/dist/router/src/index.js.map +0 -1
  511. package/dist/util/src/Zaps.d.ts +0 -86
  512. package/dist/util/src/Zaps.d.ts.map +0 -1
  513. package/dist/util/src/Zaps.js +0 -184
  514. package/dist/util/src/Zaps.js.map +0 -1
@@ -1,7 +1,8 @@
1
- import { readable } from "svelte/store";
1
+ import { readable, derived } from "svelte/store";
2
2
  import { on } from "@welshman/lib";
3
- import { getTopicTagValues } from "@welshman/util";
3
+ import { tagValues, topicTags } from "@welshman/util";
4
4
  import { deriveItems } from "@welshman/store";
5
+ import { projection, createSearch } from "./base.js";
5
6
  /**
6
7
  * Hashtag topics with occurrence counts, derived live from the app's
7
8
  * repository tag index.
@@ -10,6 +11,7 @@ export class Topics {
10
11
  app;
11
12
  byName;
12
13
  all;
14
+ topicSearch;
13
15
  constructor(app) {
14
16
  this.app = app;
15
17
  const topicsByName = new Map();
@@ -27,10 +29,10 @@ export class Topics {
27
29
  addTopic(tagString.slice(2).toLowerCase());
28
30
  }
29
31
  }
30
- this.byName = readable(topicsByName, set => on(app.repository, "update", ({ added }) => {
32
+ this.byName = projection(readable(topicsByName, set => on(app.repository, "update", ({ added }) => {
31
33
  let dirty = false;
32
34
  for (const event of added) {
33
- for (const name of getTopicTagValues(event.tags)) {
35
+ for (const name of tagValues(topicTags("t"), event.tags)) {
34
36
  addTopic(name);
35
37
  dirty = true;
36
38
  }
@@ -38,8 +40,12 @@ export class Topics {
38
40
  if (dirty) {
39
41
  set(topicsByName);
40
42
  }
43
+ })), () => topicsByName);
44
+ this.all = projection(deriveItems(this.byName.$));
45
+ this.topicSearch = derived(this.all.$, $topics => createSearch($topics, {
46
+ getValue: (topic) => topic.name,
47
+ fuseOptions: { keys: ["name"] },
41
48
  }));
42
- this.all = deriveItems(this.byName);
43
49
  }
44
50
  }
45
51
  //# sourceMappingURL=topics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../../src/plugins/topics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AAErC,OAAO,EAAC,EAAE,EAAC,MAAM,eAAe,CAAA;AAChC,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAQ3C;;;GAGG;AACH,MAAM,OAAO,MAAM;IAII;IAHrB,MAAM,CAA8B;IACpC,GAAG,CAAmB;IAEtB,YAAqB,GAAS;QAAT,QAAG,GAAH,GAAG,CAAM;QAC5B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiB,CAAA;QAE7C,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAEpC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,EAAE,CAAA;YACf,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC,CAAA;QAED,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1D,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CACzC,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAC,KAAK,EAAmB,EAAE,EAAE;YACzD,IAAI,KAAK,GAAG,KAAK,CAAA;YAEjB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACd,KAAK,GAAG,IAAI,CAAA;gBACd,CAAC;YACH,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,YAAY,CAAC,CAAA;YACnB,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QAED,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../../src/plugins/topics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAC,EAAE,EAAC,MAAM,eAAe,CAAA;AAChC,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,WAAW,CAAA;AASlD;;;GAGG;AACH,MAAM,OAAO,MAAM;IAKI;IAJrB,MAAM,CAAgC;IACtC,GAAG,CAAqB;IACxB,WAAW,CAAiC;IAE5C,YAAqB,GAAS;QAAT,QAAG,GAAH,GAAG,CAAM;QAC5B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiB,CAAA;QAE7C,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAEpC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,EAAE,CAAA;YACf,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC,CAAA;QAED,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1D,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,UAAU,CACtB,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAC3B,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAC,KAAK,EAAmB,EAAE,EAAE;YACzD,IAAI,KAAK,GAAG,KAAK,CAAA;YAEjB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzD,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACd,KAAK,GAAG,IAAI,CAAA;gBACd,CAAC;YACH,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,YAAY,CAAC,CAAA;YACnB,CAAC;QACH,CAAC,CAAC,CACH,EACD,GAAG,EAAE,CAAC,YAAY,CACnB,CAAA;QAED,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAEjD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAC/C,YAAY,CAAC,OAAO,EAAE;YACpB,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI;YACtC,WAAW,EAAE,EAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAC;SAC9B,CAAC,CACH,CAAA;IACH,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
1
  import { readable, derived } from "svelte/store";
2
2
  import { max, throttle, addToMapKey, inc, dec } from "@welshman/lib";
3
3
  import { projection, projectFrom } from "./base.js";
4
- import { FollowLists } from "./follows.js";
5
- import { MuteLists } from "./mutes.js";
4
+ import { FollowLists } from "./followLists.js";
5
+ import { MuteLists } from "./muteLists.js";
6
6
  /**
7
7
  * Web-of-trust scoring derived from follow and mute lists. The trust graph is
8
8
  * built from the perspective of the app's user (or, with no user, the union
@@ -1 +1 @@
1
- {"version":3,"file":"wot.js","sourceRoot":"","sources":["../../../../src/plugins/wot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wot.js","sourceRoot":"","sources":["../../../../src/plugins/wot.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { TaskQueue, uniq, now } from "@welshman/lib";
2
- import { getPubkeyTagValues, prep } from "@welshman/util";
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";
@@ -24,7 +24,7 @@ export class Wraps {
24
24
  const signer = this.app.user?.signer;
25
25
  const recipient = this.app.user?.pubkey;
26
26
  // Only unwrap messages addressed to our user
27
- if (!signer || !recipient || !getPubkeyTagValues(wrap.tags).includes(recipient)) {
27
+ if (!signer || !recipient || !tagValues(hexTags("p"), wrap.tags).includes(recipient)) {
28
28
  return;
29
29
  }
30
30
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"wraps.js","sourceRoot":"","sources":["../../../../src/plugins/wraps.ts"],"names":[],"mappings":"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"}
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 { Zapper, Zap, TrustedEvent } from "@welshman/util";
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,EAAE,GAAG,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAG7D,OAAO,EAAC,iBAAiB,EAAa,MAAM,WAAW,CAAA;AACvD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAGzC;;;;;GAKG;AACH,qBAAa,OAAQ,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IACpD,KAAK,mDAqCH;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,CAa7E;IAED;;;;;;;OAOG;IACH,gBAAgB,GAAU,YAAY,YAAY,EAAE,QAAQ,YAAY,4BAOvE;IAED,kBAAkB,GAAU,YAAY,YAAY,EAAE,QAAQ,YAAY,8BAIzE;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,CAwCxF;CACF"}
1
+ {"version":3,"file":"zappers.d.ts","sourceRoot":"","sources":["../../../../src/plugins/zappers.ts"],"names":[],"mappings":"AAWA,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,EAAkC,MAAM,kBAAkB,CAAA;AAE1E,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,CAiDxF;CACF"}
@@ -1,7 +1,10 @@
1
+ import { writable, get } from "svelte/store";
1
2
  import { removeUndefined, fetchJson, bech32ToHex, hexToBech32, tryCatch, batcher, postJson, } from "@welshman/lib";
2
- import { getTagValue, getZapSplits, zapFromEvent } from "@welshman/util";
3
+ import { tagSpec, tagValue } from "@welshman/util";
4
+ import { getZapSplits, Zapper, ZapReceipt } from "@welshman/domain";
3
5
  import { deriveDeduplicated, deriveDeduplicatedByValue } from "@welshman/store";
4
6
  import { LoadableMapPlugin, projection } from "./base.js";
7
+ import { Domain } from "./domain.js";
5
8
  import { Profiles } from "./profiles.js";
6
9
  /**
7
10
  * Lightning zapper info, keyed by lnurl. A "local" loadable collection: items
@@ -14,9 +17,11 @@ export class Zappers extends LoadableMapPlugin {
14
17
  const result = new Map();
15
18
  const valid = lnurls.filter(lnurl => lnurl.startsWith("lnurl1"));
16
19
  const addZapper = (lnurl, info) => {
17
- if (info) {
20
+ // A zapper is only usable if it carries both the recipient pubkey and the
21
+ // nostr pubkey its receipts are signed with; skip anything missing either.
22
+ if (info?.pubkey && info?.nostrPubkey) {
18
23
  try {
19
- result.set(lnurl, { ...info, lnurl });
24
+ result.set(lnurl, new Zapper({ ...info, lnurl }));
20
25
  }
21
26
  catch (_e) {
22
27
  // pass
@@ -62,7 +67,7 @@ export class Zappers extends LoadableMapPlugin {
62
67
  * other split recipients.
63
68
  */
64
69
  loadZapperForZap = async (zapReceipt, parent) => {
65
- const recipient = getTagValue("p", zapReceipt.tags);
70
+ const recipient = tagValue(tagSpec("p"), zapReceipt.tags);
66
71
  const split = getZapSplits(parent).find(split => split.pubkey === recipient);
67
72
  if (!split)
68
73
  return;
@@ -70,19 +75,26 @@ export class Zappers extends LoadableMapPlugin {
70
75
  };
71
76
  validateZapReceipt = async (zapReceipt, parent) => {
72
77
  const zapper = await this.loadZapperForZap(zapReceipt, parent);
73
- return zapper ? zapFromEvent(zapReceipt, zapper) : undefined;
78
+ if (!zapper)
79
+ return undefined;
80
+ const receipt = await this.app.use(Domain).reader(ZapReceipt)(zapReceipt);
81
+ return zapper.validate(receipt);
74
82
  };
75
83
  validateZapReceipts = async (zapReceipts, parent) => removeUndefined(await Promise.all(zapReceipts.map(zapReceipt => this.validateZapReceipt(zapReceipt, parent))));
76
84
  validZapReceipts = (zapReceipts, parent) => {
77
85
  const splits = getZapSplits(parent);
78
86
  const profiles = this.app.use(Profiles);
87
+ const readReceipt = this.app.use(Domain).reader(ZapReceipt);
79
88
  // Ensure each recipient's profile (-> lnurl) and zapper are being loaded.
80
89
  for (const split of splits) {
81
90
  this.loadForPubkey(split.pubkey, removeUndefined([split.relay]));
82
91
  }
92
+ const receipts = writable([]);
93
+ void Promise.all(zapReceipts.map(event => readReceipt(event).catch(() => undefined))).then($readers => receipts.set(removeUndefined($readers)));
83
94
  const read = (values) => {
84
- const $zappersByLnurl = values[0];
85
- const $profiles = values.slice(1);
95
+ const $receipts = values[0];
96
+ const $zappersByLnurl = values[1];
97
+ const $profiles = values.slice(2);
86
98
  const zapperByPubkey = new Map();
87
99
  splits.forEach((split, i) => {
88
100
  const lnurl = $profiles[i]?.lnurl();
@@ -90,17 +102,18 @@ export class Zappers extends LoadableMapPlugin {
90
102
  if (zapper)
91
103
  zapperByPubkey.set(split.pubkey, zapper);
92
104
  });
93
- return removeUndefined(zapReceipts.map(zapReceipt => {
94
- const recipient = getTagValue("p", zapReceipt.tags);
105
+ return removeUndefined($receipts.map(receipt => {
106
+ const recipient = receipt.recipient();
95
107
  const zapper = recipient ? zapperByPubkey.get(recipient) : undefined;
96
- return zapper ? zapFromEvent(zapReceipt, zapper) : undefined;
108
+ return zapper ? zapper.validate(receipt) : undefined;
97
109
  }));
98
110
  };
99
111
  const stores = [
112
+ receipts,
100
113
  this.index.$,
101
114
  ...splits.map(split => profiles.one(split.pubkey)),
102
115
  ];
103
- return projection(deriveDeduplicatedByValue(stores, read), () => read([this.index.get(), ...splits.map(split => profiles.get(split.pubkey))]));
116
+ return projection(deriveDeduplicatedByValue(stores, read), () => read([get(receipts), this.index.get(), ...splits.map(split => profiles.get(split.pubkey))]));
104
117
  };
105
118
  }
106
119
  //# sourceMappingURL=zappers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zappers.js","sourceRoot":"","sources":["../../../../src/plugins/zappers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zappers.js","sourceRoot":"","sources":["../../../../src/plugins/zappers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { TrustedEvent } from "@welshman/util";
2
+ /**
3
+ * A NIP-30 custom emoji, parsed from an `["emoji", <shortcode>, <url>, <address>]`
4
+ * tag. `address` is an optional `kind:pubkey:d-tag` pointer to the kind-30030
5
+ * emoji set (NIP-51) the emoji belongs to.
6
+ */
7
+ export type Emoji = {
8
+ shortcode: string;
9
+ url: string;
10
+ address?: string;
11
+ };
12
+ /**
13
+ * Parse an event's NIP-30 `emoji` tags. Tags missing a shortcode or url are
14
+ * skipped. A plain function so it can read emojis off any event, regardless of
15
+ * kind, without a kind-specific reader.
16
+ */
17
+ export declare const getEmojis: (event: TrustedEvent) => Emoji[];
18
+ //# sourceMappingURL=Emoji.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emoji.d.ts","sourceRoot":"","sources":["../../../../../domain/src/behaviors/Emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,YAAY,KAAG,KAAK,EAGiB,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Parse an event's NIP-30 `emoji` tags. Tags missing a shortcode or url are
3
+ * skipped. A plain function so it can read emojis off any event, regardless of
4
+ * kind, without a kind-specific reader.
5
+ */
6
+ export const getEmojis = (event) => event.tags
7
+ .filter(tag => tag[0] === "emoji" && tag[1] && tag[2])
8
+ .map(([, shortcode, url, address]) => ({ shortcode, url, address }));
9
+ //# sourceMappingURL=Emoji.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emoji.js","sourceRoot":"","sources":["../../../../../domain/src/behaviors/Emoji.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAW,EAAE,CACxD,KAAK,CAAC,IAAI;KACP,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;KACrD,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,36 @@
1
+ import type { TrustedEvent } from "@welshman/util";
2
+ /**
3
+ * A single recipient of an event's zaps, parsed from a NIP-57 Appendix G `zap`
4
+ * tag of the form `["zap", <pubkey>, <relay hint>, <weight>]`.
5
+ */
6
+ export type ZapSplit = {
7
+ pubkey: string;
8
+ relay?: string;
9
+ weight: number;
10
+ };
11
+ export type ZapSplitAmount = ZapSplit & {
12
+ amount: number;
13
+ };
14
+ /**
15
+ * Resolve an event's zap-split recipients per NIP-57 Appendix G:
16
+ *
17
+ * - With no `zap` tags the whole zap goes to the event's author.
18
+ * - If no recipient carries a weight, the zap is split equally (weight 1 each).
19
+ * - If weights are only partially present, unweighted recipients drop to weight
20
+ * 0 (i.e. they should not be zapped).
21
+ *
22
+ * Weight-0 recipients are still returned so callers have the full recipient set;
23
+ * they simply receive 0 from `splitZapAmount`.
24
+ *
25
+ * A plain function so it can read splits off any event, regardless of kind,
26
+ * without a kind-specific reader.
27
+ */
28
+ export declare const getZapSplits: (event: TrustedEvent) => ZapSplit[];
29
+ /**
30
+ * Divide `total` (in any integer unit, e.g. millisats) across an event's
31
+ * zap-split recipients proportionally to their weights. Any rounding remainder
32
+ * is handed to the highest-weighted recipient so the parts sum back to exactly
33
+ * `total`. If every weight is 0, nobody is zapped.
34
+ */
35
+ export declare const splitZapAmount: (event: TrustedEvent, total: number) => ZapSplitAmount[];
36
+ //# sourceMappingURL=ZapSplits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZapSplits.d.ts","sourceRoot":"","sources":["../../../../../domain/src/behaviors/ZapSplits.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAEhD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAA;AAQxD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,YAAY,KAAG,QAAQ,EAc1D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,YAAY,EAAE,OAAO,MAAM,KAAG,cAAc,EAoBjF,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { sum, allPass, nthEq, nth } from "@welshman/lib";
2
+ const parseWeight = (weight) => {
3
+ const n = weight === undefined ? NaN : parseFloat(weight);
4
+ return Number.isFinite(n) && n > 0 ? n : 0;
5
+ };
6
+ /**
7
+ * Resolve an event's zap-split recipients per NIP-57 Appendix G:
8
+ *
9
+ * - With no `zap` tags the whole zap goes to the event's author.
10
+ * - If no recipient carries a weight, the zap is split equally (weight 1 each).
11
+ * - If weights are only partially present, unweighted recipients drop to weight
12
+ * 0 (i.e. they should not be zapped).
13
+ *
14
+ * Weight-0 recipients are still returned so callers have the full recipient set;
15
+ * they simply receive 0 from `splitZapAmount`.
16
+ *
17
+ * A plain function so it can read splits off any event, regardless of kind,
18
+ * without a kind-specific reader.
19
+ */
20
+ export const getZapSplits = (event) => {
21
+ const zapTags = event.tags.filter(allPass(nthEq(0, "zap"), nth(1)));
22
+ if (zapTags.length === 0) {
23
+ return [{ pubkey: event.pubkey, weight: 1 }];
24
+ }
25
+ const anyWeighted = zapTags.some(nth(3));
26
+ return zapTags.map(([, pubkey, relay, weight]) => ({
27
+ pubkey,
28
+ relay: relay || undefined,
29
+ weight: anyWeighted ? parseWeight(weight) : 1,
30
+ }));
31
+ };
32
+ /**
33
+ * Divide `total` (in any integer unit, e.g. millisats) across an event's
34
+ * zap-split recipients proportionally to their weights. Any rounding remainder
35
+ * is handed to the highest-weighted recipient so the parts sum back to exactly
36
+ * `total`. If every weight is 0, nobody is zapped.
37
+ */
38
+ export const splitZapAmount = (event, total) => {
39
+ const splits = getZapSplits(event);
40
+ const totalWeight = sum(splits.map(split => split.weight));
41
+ if (totalWeight === 0) {
42
+ return splits.map(split => ({ ...split, amount: 0 }));
43
+ }
44
+ const amounts = splits.map(split => Math.floor((total * split.weight) / totalWeight));
45
+ let maxIndex = 0;
46
+ splits.forEach((split, i) => {
47
+ if (split.weight > splits[maxIndex].weight) {
48
+ maxIndex = i;
49
+ }
50
+ });
51
+ amounts[maxIndex] += total - sum(amounts);
52
+ return splits.map((split, i) => ({ ...split, amount: amounts[i] }));
53
+ };
54
+ //# sourceMappingURL=ZapSplits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZapSplits.js","sourceRoot":"","sources":["../../../../../domain/src/behaviors/ZapSplits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAC,MAAM,eAAe,CAAA;AAetD,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,EAAE;IACjD,MAAM,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAEzD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAc,EAAE;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAExC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM;QACN,KAAK,EAAE,KAAK,IAAI,SAAS;QACzB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9C,CAAC,CAAC,CAAA;AACL,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAmB,EAAE,KAAa,EAAoB,EAAE;IACrF,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAE1D,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAA;IAErF,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3C,QAAQ,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;IAEzC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAA;AACnE,CAAC,CAAA"}
@@ -0,0 +1,24 @@
1
+ import type { TrustedEvent } from "@welshman/util";
2
+ import type { KindContext } from "./Kind.js";
3
+ import type { Emoji } from "../behaviors/Emoji.js";
4
+ import type { ZapSplit } from "../behaviors/ZapSplits.js";
5
+ export declare abstract class EventReader {
6
+ readonly kind: number;
7
+ readonly context: KindContext;
8
+ readonly event: TrustedEvent;
9
+ constructor(kind: number, context: KindContext, event: TrustedEvent);
10
+ parse(): Promise<void>;
11
+ id(): string;
12
+ author(): string;
13
+ content(): string;
14
+ tags(): string[][];
15
+ createdAt(): number;
16
+ identifier(): string | undefined;
17
+ address(): string;
18
+ group(): string | undefined;
19
+ protect(): boolean;
20
+ expiration(): number | undefined;
21
+ emojis(): Emoji[];
22
+ zapSplits(): ZapSplit[];
23
+ }
24
+ //# sourceMappingURL=EventReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventReader.d.ts","sourceRoot":"","sources":["../../../../../domain/src/core/EventReader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAE1C,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAA;AAEhD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAA;AAEvD,8BAAsB,WAAW;IAE7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY;gBAFnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,YAAY;IAOxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE5B,EAAE;IAIF,MAAM;IAIN,OAAO;IAIP,IAAI;IAIJ,SAAS;IAIT,UAAU;IAIV,OAAO;IAIP,KAAK;IAIL,OAAO;IAIP,UAAU;IAIV,MAAM,IAAI,KAAK,EAAE;IAIjB,SAAS,IAAI,QAAQ,EAAE;CAGxB"}
@@ -0,0 +1,55 @@
1
+ import { spec, toInt } from "@welshman/lib";
2
+ import { tagSpec, tagValue, getAddress } from "@welshman/util";
3
+ import { getEmojis } from "../behaviors/Emoji.js";
4
+ import { getZapSplits } from "../behaviors/ZapSplits.js";
5
+ export class EventReader {
6
+ kind;
7
+ context;
8
+ event;
9
+ constructor(kind, context, event) {
10
+ this.kind = kind;
11
+ this.context = context;
12
+ this.event = event;
13
+ if (event.kind !== kind) {
14
+ throw new Error(`Expected a kind ${kind} event, got kind ${event.kind}`);
15
+ }
16
+ }
17
+ async parse() { }
18
+ id() {
19
+ return this.event.id;
20
+ }
21
+ author() {
22
+ return this.event.pubkey;
23
+ }
24
+ content() {
25
+ return this.event.content;
26
+ }
27
+ tags() {
28
+ return this.event.tags;
29
+ }
30
+ createdAt() {
31
+ return this.event.created_at;
32
+ }
33
+ identifier() {
34
+ return tagValue(tagSpec("d"), this.event.tags);
35
+ }
36
+ address() {
37
+ return getAddress(this.event);
38
+ }
39
+ group() {
40
+ return tagValue(tagSpec("h"), this.event.tags);
41
+ }
42
+ protect() {
43
+ return this.event.tags.some(spec(["-"]));
44
+ }
45
+ expiration() {
46
+ return toInt(tagValue(tagSpec("expiration"), this.event.tags) ?? "");
47
+ }
48
+ emojis() {
49
+ return getEmojis(this.event);
50
+ }
51
+ zapSplits() {
52
+ return getZapSplits(this.event);
53
+ }
54
+ }
55
+ //# sourceMappingURL=EventReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventReader.js","sourceRoot":"","sources":["../../../../../domain/src/core/EventReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAA;AAG5D,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAA;AAGtD,MAAM,OAAgB,WAAW;IAEpB;IACA;IACA;IAHX,YACW,IAAY,EACZ,OAAoB,EACpB,KAAmB;QAFnB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAa;QACpB,UAAK,GAAL,KAAK,CAAc;QAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,KAAmB,CAAC;IAE/B,EAAE;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;IAC9B,CAAC;IAED,UAAU;QACR,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK;QACH,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU;QACR,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,MAAM;QACJ,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;CACF"}
@@ -0,0 +1,99 @@
1
+ import type { MaybeAsync } from "@welshman/lib";
2
+ import type { EventTemplate, TrustedEvent, RelaySelection, RelayScenario } from "@welshman/util";
3
+ import type { EventReader } from "./EventReader.js";
4
+ import type { KindContext } from "./Kind.js";
5
+ export declare class TagParser {
6
+ tags: string[][];
7
+ constructor(tags: string[][]);
8
+ consume(key: string): string[][];
9
+ }
10
+ export declare abstract class EventWriter<Reader extends EventReader> {
11
+ readonly kind: number;
12
+ readonly context: KindContext;
13
+ readonly reader?: Reader | undefined;
14
+ content: string;
15
+ groupTag?: string[];
16
+ protectTag?: string[];
17
+ expirationTag?: string[];
18
+ identifierTag?: string[];
19
+ extraTags: string[][];
20
+ forcedRelays?: string[];
21
+ pendingResolves: Promise<unknown>[];
22
+ readonly requiresRelays: boolean;
23
+ constructor(kind: number, context: KindContext, reader?: Reader | undefined);
24
+ setContent(content: string): this;
25
+ setGroup(url: string, group: string): this;
26
+ clearGroup(): this;
27
+ forceRelays(...urls: string[]): this;
28
+ clearForcedRelays(): this;
29
+ setProtected(protect: boolean): this;
30
+ setExpiration(expiration: number): this;
31
+ clearExpiration(): this;
32
+ setIdentifier(identifier?: string): this;
33
+ clearIdentifier(): this;
34
+ addTags(...tags: string[][]): this;
35
+ keepTags(pred: (tag: string[]) => boolean): this;
36
+ dropTags(pred: (tag: string[]) => boolean): this;
37
+ addMention(pubkey: string): this;
38
+ addQuote(event: TrustedEvent): this;
39
+ addZapSplit(pubkey: string, split?: number): this;
40
+ removeZapSplit(pubkey: string): this;
41
+ addEmoji(shortcode: string, url: string, address?: string): this;
42
+ removeEmoji(shortcode: string): this;
43
+ /**
44
+ * Validates a domain object, throwing an error if invalid.
45
+ */
46
+ validate(): void;
47
+ /**
48
+ * Tracks a promise that must resolve before the event is rendered.
49
+ */
50
+ private trackPending;
51
+ /**
52
+ * Resolves one or more relay selections to a single hint url, tracking the
53
+ * in-flight promise so `renderTags` can wait for it. Callers backfill the
54
+ * resolved url into a tag's hint slot.
55
+ */
56
+ protected hint(...routes: RelaySelection[]): Promise<string>;
57
+ /**
58
+ * Returns a list of tags that may be attached to any kind.
59
+ */
60
+ protected renderBehaviorTags(): MaybeAsync<string[][]>;
61
+ /**
62
+ * Returns a list of tags related to the kind.
63
+ */
64
+ protected renderDomainTags(): MaybeAsync<string[][]>;
65
+ /**
66
+ * Returns the complete tag list for publishing.
67
+ */
68
+ renderTags(): Promise<string[][]>;
69
+ /**
70
+ * Returns the content string as defined by the kind.
71
+ */
72
+ renderContent(): MaybeAsync<string>;
73
+ /**
74
+ * Validates and renders an event template.
75
+ */
76
+ renderTemplate(): Promise<EventTemplate>;
77
+ /**
78
+ * Returns the list of routes this event should be published to. Defaults to
79
+ * the outbox model. Override to implement custom behavior.
80
+ */
81
+ protected renderRoutes(): Promise<RelaySelection[]>;
82
+ /**
83
+ * Returns a router scenario for this event. Publishes to forced relays (e.g. a
84
+ * NIP-29 group) when set, otherwise to the rendered routes.
85
+ */
86
+ scenario(): Promise<RelayScenario>;
87
+ /**
88
+ * Shortcut for getting relays from the router scenario.
89
+ */
90
+ relays(): Promise<string[]>;
91
+ /**
92
+ * Returns a rendered event template along with its relays.
93
+ */
94
+ render(): Promise<{
95
+ event: EventTemplate;
96
+ relays: string[];
97
+ }>;
98
+ }
99
+ //# sourceMappingURL=EventWriter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventWriter.d.ts","sourceRoot":"","sources":["../../../../../domain/src/core/EventWriter.ts"],"names":[],"mappings":"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"}