@welshman/app 0.12.5 → 0.13.0

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 (198) hide show
  1. package/dist/app/src/index.d.ts +1 -0
  2. package/dist/app/src/index.d.ts.map +1 -1
  3. package/dist/app/src/index.js +1 -0
  4. package/dist/app/src/index.js.map +1 -1
  5. package/dist/app/src/plugins/base.d.ts +18 -41
  6. package/dist/app/src/plugins/base.d.ts.map +1 -1
  7. package/dist/app/src/plugins/base.js +25 -51
  8. package/dist/app/src/plugins/base.js.map +1 -1
  9. package/dist/app/src/plugins/blockedRelayLists.d.ts +1 -1
  10. package/dist/app/src/plugins/blockedRelayLists.d.ts.map +1 -1
  11. package/dist/app/src/plugins/blossomServerLists.d.ts +1 -1
  12. package/dist/app/src/plugins/blossomServerLists.d.ts.map +1 -1
  13. package/dist/app/src/plugins/events.d.ts +5 -6
  14. package/dist/app/src/plugins/events.d.ts.map +1 -1
  15. package/dist/app/src/plugins/events.js +24 -38
  16. package/dist/app/src/plugins/events.js.map +1 -1
  17. package/dist/app/src/plugins/feedLists.d.ts +1 -1
  18. package/dist/app/src/plugins/feedLists.d.ts.map +1 -1
  19. package/dist/app/src/plugins/feeds.d.ts +1 -1
  20. package/dist/app/src/plugins/feeds.d.ts.map +1 -1
  21. package/dist/app/src/plugins/feeds.js +2 -1
  22. package/dist/app/src/plugins/feeds.js.map +1 -1
  23. package/dist/app/src/plugins/handles.d.ts +1 -1
  24. package/dist/app/src/plugins/handles.d.ts.map +1 -1
  25. package/dist/app/src/plugins/handles.js +2 -2
  26. package/dist/app/src/plugins/handles.js.map +1 -1
  27. package/dist/app/src/plugins/logger.d.ts +1 -1
  28. package/dist/app/src/plugins/logger.d.ts.map +1 -1
  29. package/dist/app/src/plugins/logger.js +1 -1
  30. package/dist/app/src/plugins/logger.js.map +1 -1
  31. package/dist/app/src/plugins/messagingRelayLists.d.ts +1 -1
  32. package/dist/app/src/plugins/messagingRelayLists.d.ts.map +1 -1
  33. package/dist/app/src/plugins/notify.d.ts +23 -0
  34. package/dist/app/src/plugins/notify.d.ts.map +1 -0
  35. package/dist/app/src/plugins/notify.js +28 -0
  36. package/dist/app/src/plugins/notify.js.map +1 -0
  37. package/dist/app/src/plugins/pinboards.d.ts +1 -1
  38. package/dist/app/src/plugins/pinboards.d.ts.map +1 -1
  39. package/dist/app/src/plugins/pinboards.js +2 -1
  40. package/dist/app/src/plugins/pinboards.js.map +1 -1
  41. package/dist/app/src/plugins/plaintext.d.ts +6 -2
  42. package/dist/app/src/plugins/plaintext.d.ts.map +1 -1
  43. package/dist/app/src/plugins/plaintext.js +34 -14
  44. package/dist/app/src/plugins/plaintext.js.map +1 -1
  45. package/dist/app/src/plugins/profiles.d.ts +2 -1
  46. package/dist/app/src/plugins/profiles.d.ts.map +1 -1
  47. package/dist/app/src/plugins/profiles.js +2 -2
  48. package/dist/app/src/plugins/profiles.js.map +1 -1
  49. package/dist/app/src/plugins/publisher.d.ts +9 -5
  50. package/dist/app/src/plugins/publisher.d.ts.map +1 -1
  51. package/dist/app/src/plugins/publisher.js +108 -75
  52. package/dist/app/src/plugins/publisher.js.map +1 -1
  53. package/dist/app/src/plugins/relayLists.d.ts +1 -1
  54. package/dist/app/src/plugins/relayLists.d.ts.map +1 -1
  55. package/dist/app/src/plugins/relayLists.js +1 -1
  56. package/dist/app/src/plugins/relayLists.js.map +1 -1
  57. package/dist/app/src/plugins/relayRoles.d.ts +1 -1
  58. package/dist/app/src/plugins/relayRoles.d.ts.map +1 -1
  59. package/dist/app/src/plugins/relayRoles.js +1 -1
  60. package/dist/app/src/plugins/relayRoles.js.map +1 -1
  61. package/dist/app/src/plugins/relays.d.ts +2 -1
  62. package/dist/app/src/plugins/relays.d.ts.map +1 -1
  63. package/dist/app/src/plugins/relays.js.map +1 -1
  64. package/dist/app/src/plugins/roomLists.d.ts +1 -1
  65. package/dist/app/src/plugins/roomLists.d.ts.map +1 -1
  66. package/dist/app/src/plugins/roomLists.js +2 -1
  67. package/dist/app/src/plugins/roomLists.js.map +1 -1
  68. package/dist/app/src/plugins/roomPins.d.ts +1 -1
  69. package/dist/app/src/plugins/roomPins.d.ts.map +1 -1
  70. package/dist/app/src/plugins/roomPins.js +1 -1
  71. package/dist/app/src/plugins/roomPins.js.map +1 -1
  72. package/dist/app/src/plugins/rooms.d.ts +1 -2
  73. package/dist/app/src/plugins/rooms.d.ts.map +1 -1
  74. package/dist/app/src/plugins/rooms.js +1 -2
  75. package/dist/app/src/plugins/rooms.js.map +1 -1
  76. package/dist/app/src/plugins/searchRelayLists.d.ts +1 -1
  77. package/dist/app/src/plugins/searchRelayLists.d.ts.map +1 -1
  78. package/dist/app/src/plugins/topics.d.ts +2 -1
  79. package/dist/app/src/plugins/topics.d.ts.map +1 -1
  80. package/dist/app/src/plugins/topics.js +2 -2
  81. package/dist/app/src/plugins/topics.js.map +1 -1
  82. package/dist/app/src/plugins/wot.d.ts +1 -1
  83. package/dist/app/src/plugins/wot.d.ts.map +1 -1
  84. package/dist/app/src/plugins/wot.js +1 -2
  85. package/dist/app/src/plugins/wot.js.map +1 -1
  86. package/dist/app/src/plugins/wraps.d.ts +5 -1
  87. package/dist/app/src/plugins/wraps.d.ts.map +1 -1
  88. package/dist/app/src/plugins/wraps.js +6 -10
  89. package/dist/app/src/plugins/wraps.js.map +1 -1
  90. package/dist/app/src/plugins/zapGoals.d.ts +1 -1
  91. package/dist/app/src/plugins/zapGoals.d.ts.map +1 -1
  92. package/dist/app/src/plugins/zapGoals.js +1 -1
  93. package/dist/app/src/plugins/zapGoals.js.map +1 -1
  94. package/dist/app/src/plugins/zappers.d.ts +1 -1
  95. package/dist/app/src/plugins/zappers.d.ts.map +1 -1
  96. package/dist/app/src/plugins/zappers.js +2 -2
  97. package/dist/app/src/plugins/zappers.js.map +1 -1
  98. package/dist/app/src/policy.d.ts +4 -0
  99. package/dist/app/src/policy.d.ts.map +1 -1
  100. package/dist/app/src/policy.js +12 -1
  101. package/dist/app/src/policy.js.map +1 -1
  102. package/dist/app/src/user.d.ts +2 -2
  103. package/dist/app/src/user.d.ts.map +1 -1
  104. package/dist/app/src/user.js.map +1 -1
  105. package/dist/domain/src/core/ListWriter.d.ts +6 -6
  106. package/dist/domain/src/kinds/Bolt12Offer.d.ts.map +1 -1
  107. package/dist/domain/src/kinds/Bolt12Offer.js +10 -9
  108. package/dist/domain/src/kinds/Bolt12Offer.js.map +1 -1
  109. package/dist/domain/src/kinds/Bolt12Zap.d.ts +6 -11
  110. package/dist/domain/src/kinds/Bolt12Zap.d.ts.map +1 -1
  111. package/dist/domain/src/kinds/Bolt12Zap.js +77 -105
  112. package/dist/domain/src/kinds/Bolt12Zap.js.map +1 -1
  113. package/dist/domain/src/kinds/Bolt12ZapIntent.d.ts +2 -0
  114. package/dist/domain/src/kinds/Bolt12ZapIntent.d.ts.map +1 -1
  115. package/dist/domain/src/kinds/Bolt12ZapIntent.js +31 -20
  116. package/dist/domain/src/kinds/Bolt12ZapIntent.js.map +1 -1
  117. package/dist/domain/src/other/Relay.d.ts +21 -0
  118. package/dist/domain/src/other/Relay.d.ts.map +1 -1
  119. package/dist/domain/src/other/Relay.js +6 -0
  120. package/dist/domain/src/other/Relay.js.map +1 -1
  121. package/dist/feeds/src/request.d.ts.map +1 -1
  122. package/dist/feeds/src/request.js +14 -5
  123. package/dist/feeds/src/request.js.map +1 -1
  124. package/dist/lib/src/TaskQueue.d.ts.map +1 -1
  125. package/dist/lib/src/TaskQueue.js +8 -2
  126. package/dist/lib/src/TaskQueue.js.map +1 -1
  127. package/dist/net/src/message.d.ts +4 -0
  128. package/dist/net/src/message.d.ts.map +1 -1
  129. package/dist/net/src/message.js +2 -0
  130. package/dist/net/src/message.js.map +1 -1
  131. package/dist/net/src/policy.d.ts.map +1 -1
  132. package/dist/net/src/policy.js +11 -3
  133. package/dist/net/src/policy.js.map +1 -1
  134. package/dist/net/src/repository.d.ts +24 -12
  135. package/dist/net/src/repository.d.ts.map +1 -1
  136. package/dist/net/src/repository.js +79 -70
  137. package/dist/net/src/repository.js.map +1 -1
  138. package/dist/net/src/util.d.ts +2 -1
  139. package/dist/net/src/util.d.ts.map +1 -1
  140. package/dist/net/src/util.js +6 -5
  141. package/dist/net/src/util.js.map +1 -1
  142. package/dist/net/src/wrapManager.d.ts +0 -2
  143. package/dist/net/src/wrapManager.d.ts.map +1 -1
  144. package/dist/net/src/wrapManager.js +8 -23
  145. package/dist/net/src/wrapManager.js.map +1 -1
  146. package/dist/signer/src/index.d.ts +1 -0
  147. package/dist/signer/src/index.d.ts.map +1 -1
  148. package/dist/signer/src/index.js +1 -0
  149. package/dist/signer/src/index.js.map +1 -1
  150. package/dist/signer/src/nip59.d.ts +13 -6
  151. package/dist/signer/src/nip59.d.ts.map +1 -1
  152. package/dist/signer/src/nip59.js +38 -19
  153. package/dist/signer/src/nip59.js.map +1 -1
  154. package/dist/signer/src/queue.d.ts +21 -0
  155. package/dist/signer/src/queue.d.ts.map +1 -0
  156. package/dist/signer/src/queue.js +40 -0
  157. package/dist/signer/src/queue.js.map +1 -0
  158. package/dist/signer/src/signers/nip01.d.ts +14 -2
  159. package/dist/signer/src/signers/nip01.d.ts.map +1 -1
  160. package/dist/signer/src/signers/nip01.js +6 -2
  161. package/dist/signer/src/signers/nip01.js.map +1 -1
  162. package/dist/signer/src/signers/nip07.d.ts +9 -9
  163. package/dist/signer/src/signers/nip07.d.ts.map +1 -1
  164. package/dist/signer/src/signers/nip07.js +15 -27
  165. package/dist/signer/src/signers/nip07.js.map +1 -1
  166. package/dist/signer/src/signers/nip46.d.ts +7 -3
  167. package/dist/signer/src/signers/nip46.d.ts.map +1 -1
  168. package/dist/signer/src/signers/nip46.js +12 -8
  169. package/dist/signer/src/signers/nip46.js.map +1 -1
  170. package/dist/signer/src/signers/nip55.d.ts +7 -7
  171. package/dist/signer/src/signers/nip55.d.ts.map +1 -1
  172. package/dist/signer/src/signers/nip55.js +33 -40
  173. package/dist/signer/src/signers/nip55.js.map +1 -1
  174. package/dist/signer/src/util.d.ts +27 -15
  175. package/dist/signer/src/util.d.ts.map +1 -1
  176. package/dist/signer/src/util.js +47 -14
  177. package/dist/signer/src/util.js.map +1 -1
  178. package/dist/store/src/misc.d.ts +18 -0
  179. package/dist/store/src/misc.d.ts.map +1 -1
  180. package/dist/store/src/misc.js +14 -0
  181. package/dist/store/src/misc.js.map +1 -1
  182. package/dist/store/src/repository.d.ts +29 -12
  183. package/dist/store/src/repository.d.ts.map +1 -1
  184. package/dist/store/src/repository.js +270 -206
  185. package/dist/store/src/repository.js.map +1 -1
  186. package/dist/tsconfig.build.tsbuildinfo +1 -1
  187. package/dist/util/src/Bolt12.d.ts.map +1 -1
  188. package/dist/util/src/Bolt12.js +11 -8
  189. package/dist/util/src/Bolt12.js.map +1 -1
  190. package/dist/util/src/Events.d.ts +1 -0
  191. package/dist/util/src/Events.d.ts.map +1 -1
  192. package/dist/util/src/Events.js +10 -1
  193. package/dist/util/src/Events.js.map +1 -1
  194. package/dist/util/src/Lightning.d.ts +1 -0
  195. package/dist/util/src/Lightning.d.ts.map +1 -1
  196. package/dist/util/src/Lightning.js +1 -0
  197. package/dist/util/src/Lightning.js.map +1 -1
  198. package/package.json +15 -15
@@ -1,7 +1,7 @@
1
1
  import { noop, tryCatch, batcher, postJson } from "@welshman/lib";
2
2
  import { queryProfile, displayNip05 } from "@welshman/util";
3
- import { deriveDeduplicated } from "@welshman/store";
4
- import { LoadableMapPlugin, projection } from "./base.js";
3
+ import { deriveDeduplicated, projection } from "@welshman/store";
4
+ import { LoadableMapPlugin } from "./base.js";
5
5
  import { Profiles } from "./profiles.js";
6
6
  /**
7
7
  * NIP-05 handles, keyed by nip05 identifier. A "local" loadable collection:
@@ -1 +1 @@
1
- {"version":3,"file":"handles.js","sourceRoot":"","sources":["../../../../src/plugins/handles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handles.js","sourceRoot":"","sources":["../../../../src/plugins/handles.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export type PartialLogMessage = {
17
17
  export declare class Logger {
18
18
  protected readonly app: IApp;
19
19
  protected store: import("svelte/store").Writable<LogMessage[]>;
20
- messages: import("./base.js").Projection<LogMessage[]>;
20
+ messages: import("@welshman/store").Projection<LogMessage[]>;
21
21
  constructor(app: IApp);
22
22
  log(source: string, { id, at, ...message }: PartialLogMessage): void;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/plugins/logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,qBAAa,MAAM;IAIL,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI;IAHxC,SAAS,CAAC,KAAK,gDAA6B;IAC5C,QAAQ,+CAAyB;gBAEF,GAAG,EAAE,IAAI;IAExC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAC,EAAe,EAAE,EAAe,EAAE,GAAG,OAAO,EAAC,EAAE,iBAAiB;CAGtF"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/plugins/logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,qBAAa,MAAM;IAIL,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI;IAHxC,SAAS,CAAC,KAAK,gDAA6B;IAC5C,QAAQ,qDAAyB;gBAEF,GAAG,EAAE,IAAI;IAExC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAC,EAAe,EAAE,EAAe,EAAE,GAAG,OAAO,EAAC,EAAE,iBAAiB;CAGtF"}
@@ -1,6 +1,6 @@
1
1
  import { writable } from "svelte/store";
2
2
  import { randomId } from "@welshman/lib";
3
- import { projection } from "./base.js";
3
+ import { projection } from "@welshman/store";
4
4
  /**
5
5
  * A logger which stores messages durably for inspection. Subscribe to `messages`
6
6
  * (a projection) to read the log; append with `log(source, {...})`.
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/plugins/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AACrC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAgBpC;;;GAGG;AACH,MAAM,OAAO,MAAM;IAIc;IAHrB,KAAK,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAA;IAC5C,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEjC,YAA+B,GAAS;QAAT,QAAG,GAAH,GAAG,CAAM;IAAG,CAAC;IAE5C,GAAG,CAAC,MAAc,EAAE,EAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAoB;QACnF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7F,CAAC;CACF"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/plugins/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AACrC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAgB1C;;;GAGG;AACH,MAAM,OAAO,MAAM;IAIc;IAHrB,KAAK,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAA;IAC5C,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEjC,YAA+B,GAAS;QAAT,QAAG,GAAH,GAAG,CAAM;IAAG,CAAC;IAE5C,GAAG,CAAC,MAAc,EAAE,EAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAoB;QACnF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7F,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { MessagingRelayListReader, MessagingRelayListWriter } from "@welshman/domain";
2
2
  import { DerivedPlugin } from "./base.js";
3
- import type { Projection } from "./base.js";
3
+ import type { Projection } from "@welshman/store";
4
4
  import type { IApp } from "../app.js";
5
5
  /**
6
6
  * Kind-10050 messaging relay lists (NIP-17), keyed by pubkey. Loaded via the
@@ -1 +1 @@
1
- {"version":3,"file":"messagingRelayLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/messagingRelayLists.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAGzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,wBAAwB,CAAC;gBAClE,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,IAAI,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAoD;IAEjG,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,8CACa;IAErE,MAAM,GAAI,KAAK,MAAM,8CAA8C;IAEnE,SAAS,GAAI,KAAK,MAAM,8CAAiD;IAEzE,OAAO,GAAI,MAAM,MAAM,EAAE,8CAAgD;CAC1E"}
1
+ {"version":3,"file":"messagingRelayLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/messagingRelayLists.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAG/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,wBAAwB,CAAC;gBAClE,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,IAAI,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAoD;IAEjG,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,8CACa;IAErE,MAAM,GAAI,KAAK,MAAM,8CAA8C;IAEnE,SAAS,GAAI,KAAK,MAAM,8CAAiD;IAEzE,OAAO,GAAI,MAAM,MAAM,EAAE,8CAAgD;CAC1E"}
@@ -0,0 +1,23 @@
1
+ import type { Socket } from "@welshman/net";
2
+ import { MapPlugin } from "./base.js";
3
+ export type NotifyItem = {
4
+ url: string;
5
+ message: string;
6
+ receivedAt: number;
7
+ };
8
+ /**
9
+ * The latest NOTIFY message per relay url. A relay sends one to tell the
10
+ * authenticated user something about their account — a failed payment, an
11
+ * expiring membership — and replaces it by sending another, so only the most
12
+ * recent one per relay is kept. A pure store; the socket wiring that fills it
13
+ * lives in `appPolicyNotify`.
14
+ *
15
+ * The store is in memory. A relay may resend its latest message after every
16
+ * AUTH, so anything that needs a message to stay dismissed persists that
17
+ * itself.
18
+ */
19
+ export declare class Notify extends MapPlugin<NotifyItem> {
20
+ private onSocketReceive;
21
+ monitorSocket: (socket: Socket) => () => void;
22
+ }
23
+ //# sourceMappingURL=notify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../../src/plugins/notify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,MAAM,EAAC,MAAM,eAAe,CAAA;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;GAUG;AACH,qBAAa,MAAO,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC/C,OAAO,CAAC,eAAe,CAItB;IAED,aAAa,GAAI,QAAQ,MAAM,gBAM9B;CACF"}
@@ -0,0 +1,28 @@
1
+ import { now } from "@welshman/lib";
2
+ import { SocketEvent, isRelayNotify } from "@welshman/net";
3
+ import { MapPlugin } from "./base.js";
4
+ /**
5
+ * The latest NOTIFY message per relay url. A relay sends one to tell the
6
+ * authenticated user something about their account — a failed payment, an
7
+ * expiring membership — and replaces it by sending another, so only the most
8
+ * recent one per relay is kept. A pure store; the socket wiring that fills it
9
+ * lives in `appPolicyNotify`.
10
+ *
11
+ * The store is in memory. A relay may resend its latest message after every
12
+ * AUTH, so anything that needs a message to stay dismissed persists that
13
+ * itself.
14
+ */
15
+ export class Notify extends MapPlugin {
16
+ onSocketReceive = (message, url) => {
17
+ if (isRelayNotify(message)) {
18
+ this.set(url, { url, message: message[1], receivedAt: now() });
19
+ }
20
+ };
21
+ monitorSocket = (socket) => {
22
+ socket.on(SocketEvent.Receive, this.onSocketReceive);
23
+ return () => {
24
+ socket.off(SocketEvent.Receive, this.onSocketReceive);
25
+ };
26
+ };
27
+ }
28
+ //# sourceMappingURL=notify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../../src/plugins/notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AACjC,OAAO,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,eAAe,CAAA;AAExD,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AAQnC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,MAAO,SAAQ,SAAqB;IACvC,eAAe,GAAG,CAAC,OAAqB,EAAE,GAAW,EAAE,EAAE;QAC/D,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC,CAAA;IAED,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE;QACjC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAEpD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QACvD,CAAC,CAAA;IACH,CAAC,CAAA;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { PinboardReader, PinboardWriter, PinReader, PinWriter } from "@welshman/domain";
2
2
  import { DerivedPlugin } from "./base.js";
3
- import type { Projection } from "./base.js";
3
+ import type { Projection } from "@welshman/store";
4
4
  import type { IApp } from "../app.js";
5
5
  export type PinboardFields = {
6
6
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pinboards.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pinboards.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,cAAc,EAAE,cAAc,EAAO,SAAS,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpG,OAAO,EAAC,aAAa,EAAc,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAIzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,CAAC;gBAC9C,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAQhD,SAAS,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,cAAc,EAAE,CAAC,CAC0B;IAEpF,aAAa,GAAI,QAAQ,MAAM,EAAE,aAAY,MAAM,EAAO,sDACyB;IAEnF,MAAM,GAAU,QAAQ,cAAc,8CASrC;IAED,MAAM,GAAU,SAAS,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,8CAUpE;CACF;AAED;;;GAGG;AACH,qBAAa,IAAK,SAAQ,aAAa,CAAC,SAAS,CAAC;gBACpC,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAQhD,QAAQ,GAAI,SAAS,MAAM,KAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAC8B;IAEnF,UAAU,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAC4C;IAIlG,YAAY,GAAU,SAAS,MAAM,EAAE,aAAY,MAAM,EAAO,sDAS/D;IAED,cAAc,GAAI,QAAQ,MAAM,EAAE,aAAY,MAAM,EAAO,sDACmB;IAE9E,MAAM,GAAU,QAAQ,SAAS,8CAEhC;IAED,MAAM,GAAU,SAAS,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,8CAU/D;IAED,UAAU,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,8CACY;IAExD,eAAe,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,8CACU;CAC5D"}
1
+ {"version":3,"file":"pinboards.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pinboards.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,cAAc,EAAE,cAAc,EAAO,SAAS,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAEpG,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAI/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,CAAC;gBAC9C,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAQhD,SAAS,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,cAAc,EAAE,CAAC,CAC0B;IAEpF,aAAa,GAAI,QAAQ,MAAM,EAAE,aAAY,MAAM,EAAO,sDACyB;IAEnF,MAAM,GAAU,QAAQ,cAAc,8CASrC;IAED,MAAM,GAAU,SAAS,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,8CAUpE;CACF;AAED;;;GAGG;AACH,qBAAa,IAAK,SAAQ,aAAa,CAAC,SAAS,CAAC;gBACpC,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAQhD,QAAQ,GAAI,SAAS,MAAM,KAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAC8B;IAEnF,UAAU,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAC4C;IAIlG,YAAY,GAAU,SAAS,MAAM,EAAE,aAAY,MAAM,EAAO,sDAS/D;IAED,cAAc,GAAI,QAAQ,MAAM,EAAE,aAAY,MAAM,EAAO,sDACmB;IAE9E,MAAM,GAAU,QAAQ,SAAS,8CAEhC;IAED,MAAM,GAAU,SAAS,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,8CAU/D;IAED,UAAU,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,8CACY;IAExD,eAAe,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,8CACU;CAC5D"}
@@ -1,7 +1,8 @@
1
1
  import { uniq } from "@welshman/lib";
2
2
  import { Address, PINBOARD, PIN, inbox } from "@welshman/util";
3
3
  import { Pinboard, Pin } from "@welshman/domain";
4
- import { DerivedPlugin, projectFrom } from "./base.js";
4
+ import { projectFrom } from "@welshman/store";
5
+ import { DerivedPlugin } from "./base.js";
5
6
  import { Network } from "./network.js";
6
7
  import { Router } from "./router.js";
7
8
  import { Domain } from "./domain.js";
@@ -1 +1 @@
1
- {"version":3,"file":"pinboards.js","sourceRoot":"","sources":["../../../../src/plugins/pinboards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pinboards.js","sourceRoot":"","sources":["../../../../src/plugins/pinboards.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,18 @@
1
+ import type { SignerOptions } from "@welshman/signer";
1
2
  import { MapPlugin } from "./base.js";
2
3
  /**
3
4
  * A cache of decrypted content, keyed by the ciphertext. Decryption itself is
4
5
  * supplied by the caller (the signer's underlying decrypt), so the cache stays
5
6
  * independent of which signer produced the plaintext — and `appPolicyCacheDecrypt`
6
7
  * can layer it onto `user.signer` without recursing back into the wrapped signer.
7
- * Concurrent callers for one ciphertext share a single decrypt.
8
+ *
9
+ * A caller shares a pending decryption requested at least as urgently, so concurrent callers
10
+ * prompt the signer once. An abort fails only the caller that started the decryption.
8
11
  */
9
12
  export declare class Plaintext extends MapPlugin<string> {
10
13
  private pending;
11
- ensure: (ciphertext: string, decrypt: () => Promise<string>) => Promise<string>;
14
+ ensure: (ciphertext: string, decrypt: () => Promise<string>, options?: SignerOptions) => Promise<string>;
12
15
  private decryptOnce;
16
+ private start;
13
17
  }
14
18
  //# sourceMappingURL=plaintext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plaintext.d.ts","sourceRoot":"","sources":["../../../../src/plugins/plaintext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,SAAS,CAAC,MAAM,CAAC;IAC9C,OAAO,CAAC,OAAO,CAAqC;IAEpD,MAAM,GAAU,YAAY,MAAM,EAAE,SAAS,MAAM,OAAO,CAAC,MAAM,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,CAQnF;IAED,OAAO,CAAC,WAAW,CAkBlB;CACF"}
1
+ {"version":3,"file":"plaintext.d.ts","sourceRoot":"","sources":["../../../../src/plugins/plaintext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AASnC;;;;;;;;GAQG;AACH,qBAAa,SAAU,SAAQ,SAAS,CAAC,MAAM,CAAC;IAC9C,OAAO,CAAC,OAAO,CAAgC;IAE/C,MAAM,GACJ,YAAY,MAAM,EAClB,SAAS,MAAM,OAAO,CAAC,MAAM,CAAC,EAC9B,UAAS,aAAkB,KAC1B,OAAO,CAAC,MAAM,CAAC,CAQjB;IAED,OAAO,CAAC,WAAW,CAoBlB;IAED,OAAO,CAAC,KAAK,CAoBZ;CACF"}
@@ -1,33 +1,53 @@
1
1
  import { MapPlugin } from "./base.js";
2
+ const priorityOf = (options) => options.priority ?? 0;
2
3
  /**
3
4
  * A cache of decrypted content, keyed by the ciphertext. Decryption itself is
4
5
  * supplied by the caller (the signer's underlying decrypt), so the cache stays
5
6
  * independent of which signer produced the plaintext — and `appPolicyCacheDecrypt`
6
7
  * can layer it onto `user.signer` without recursing back into the wrapped signer.
7
- * Concurrent callers for one ciphertext share a single decrypt.
8
+ *
9
+ * A caller shares a pending decryption requested at least as urgently, so concurrent callers
10
+ * prompt the signer once. An abort fails only the caller that started the decryption.
8
11
  */
9
12
  export class Plaintext extends MapPlugin {
10
13
  pending = new Map();
11
- ensure = async (ciphertext, decrypt) => {
14
+ ensure = async (ciphertext, decrypt, options = {}) => {
12
15
  let result = this.get(ciphertext);
13
16
  if (result === undefined) {
14
- result = await this.decryptOnce(ciphertext, decrypt);
17
+ result = await this.decryptOnce(ciphertext, decrypt, options);
15
18
  }
16
19
  return result;
17
20
  };
18
- decryptOnce = (ciphertext, decrypt) => {
19
- let promise = this.pending.get(ciphertext);
20
- if (!promise) {
21
- promise = decrypt()
22
- .then(plaintext => {
23
- this.set(ciphertext, plaintext);
24
- return plaintext;
25
- })
26
- .finally(() => {
27
- this.pending.delete(ciphertext);
21
+ decryptOnce = (ciphertext, decrypt, options) => {
22
+ const shared = this.pending.get(ciphertext);
23
+ let promise;
24
+ if (shared && priorityOf(shared.options) >= priorityOf(options)) {
25
+ // A caller left behind by another's abort asks for the plaintext itself
26
+ promise = shared.promise.catch(error => {
27
+ if (!shared.options.signal?.aborted)
28
+ throw error;
29
+ return this.ensure(ciphertext, decrypt, options);
28
30
  });
29
- this.pending.set(ciphertext, promise);
30
31
  }
32
+ else {
33
+ promise = this.start(ciphertext, decrypt, options);
34
+ }
35
+ return promise;
36
+ };
37
+ start = (ciphertext, decrypt, options) => {
38
+ const promise = decrypt().then(plaintext => {
39
+ this.set(ciphertext, plaintext);
40
+ return plaintext;
41
+ });
42
+ const decryption = { promise, options };
43
+ // A more urgent caller may have started its own since
44
+ const forget = () => {
45
+ if (this.pending.get(ciphertext) === decryption) {
46
+ this.pending.delete(ciphertext);
47
+ }
48
+ };
49
+ this.pending.set(ciphertext, decryption);
50
+ promise.then(forget, forget);
31
51
  return promise;
32
52
  };
33
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plaintext.js","sourceRoot":"","sources":["../../../../src/plugins/plaintext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,OAAO,SAAU,SAAQ,SAAiB;IACtC,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAA;IAEpD,MAAM,GAAG,KAAK,EAAE,UAAkB,EAAE,OAA8B,EAAmB,EAAE;QACrF,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAEjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACtD,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAEO,WAAW,GAAG,CAAC,UAAkB,EAAE,OAA8B,EAAE,EAAE;QAC3E,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,OAAO,EAAE;iBAChB,IAAI,CAAC,SAAS,CAAC,EAAE;gBAChB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;gBAE/B,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;YAEJ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACvC,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"plaintext.js","sourceRoot":"","sources":["../../../../src/plugins/plaintext.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AAOnC,MAAM,UAAU,GAAG,CAAC,OAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAA;AAEpE;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAU,SAAQ,SAAiB;IACtC,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAA;IAE/C,MAAM,GAAG,KAAK,EACZ,UAAkB,EAClB,OAA8B,EAC9B,UAAyB,EAAE,EACV,EAAE;QACnB,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAEjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAEO,WAAW,GAAG,CACpB,UAAkB,EAClB,OAA8B,EAC9B,OAAsB,EACL,EAAE;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC3C,IAAI,OAAwB,CAAA;QAE5B,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,wEAAwE;YACxE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO;oBAAE,MAAM,KAAK,CAAA;gBAEhD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAClD,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACpD,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAEO,KAAK,GAAG,CAAC,UAAkB,EAAE,OAA8B,EAAE,OAAsB,EAAE,EAAE;QAC7F,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACzC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAE/B,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,EAAC,OAAO,EAAE,OAAO,EAAC,CAAA;QAErC,sDAAsD;QACtD,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACjC,CAAC;QACH,CAAC,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QACxC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAE5B,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;CACF"}
@@ -1,7 +1,8 @@
1
1
  import type { Readable } from "svelte/store";
2
2
  import { ProfileReader, ProfileWriter } from "@welshman/domain";
3
3
  import { DerivedPlugin } from "./base.js";
4
- import type { Projection, Search } from "./base.js";
4
+ import type { Projection } from "@welshman/store";
5
+ import type { Search } from "./base.js";
5
6
  import type { IApp } from "../app.js";
6
7
  /**
7
8
  * Kind-0 profiles, keyed by pubkey. Loaded via the outbox model (the author's
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../../src/plugins/profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AAK1C,OAAO,EAAU,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAA;AAErF,OAAO,EAAC,aAAa,EAA2B,MAAM,WAAW,CAAA;AACjE,OAAO,KAAK,EAAC,UAAU,EAAE,MAAM,EAAC,MAAM,WAAW,CAAA;AAMjD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAAa,CAAC,aAAa,CAAC;IACxD,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;gBAE1C,GAAG,EAAE,IAAI;IAYrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,8CACa;IAE1D,OAAO,GAAI,QAAQ,MAAM,GAAG,SAAS,EAAE,GAAG,MAAM,GAAG,EAAE,KAAG,UAAU,CAAC,MAAM,CAAC,CAOzE;IAED,OAAO,CAAC,UAAU,CA4CjB;CACF"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../../src/plugins/profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AAK1C,OAAO,EAAU,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAA;AAErF,OAAO,EAAC,aAAa,EAAe,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,WAAW,CAAA;AAMrC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAAa,CAAC,aAAa,CAAC;IACxD,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;gBAE1C,GAAG,EAAE,IAAI;IAYrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,8CACa;IAE1D,OAAO,GAAI,QAAQ,MAAM,GAAG,SAAS,EAAE,GAAG,MAAM,GAAG,EAAE,KAAG,UAAU,CAAC,MAAM,CAAC,CAOzE;IAED,OAAO,CAAC,UAAU,CA4CjB;CACF"}
@@ -3,8 +3,8 @@ import { debounce } from "throttle-debounce";
3
3
  import { dec, inc, max, noop } from "@welshman/lib";
4
4
  import { PROFILE, searchRelays } from "@welshman/util";
5
5
  import { Profile, displayPubkey } from "@welshman/domain";
6
- import { throttled } from "@welshman/store";
7
- import { DerivedPlugin, projection, createSearch } from "./base.js";
6
+ import { throttled, projection } from "@welshman/store";
7
+ import { DerivedPlugin, createSearch } from "./base.js";
8
8
  import { Network } from "./network.js";
9
9
  import { Router } from "./router.js";
10
10
  import { Domain } from "./domain.js";
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../../src/plugins/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../../src/plugins/profiles.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,9 @@ export declare abstract class PublishStatusView {
49
49
  abstract readonly results: PublishResultsByRelay;
50
50
  abstract isComplete(): boolean;
51
51
  abstract abort(): void;
52
+ private _subs;
53
+ subscribe(subscriber: Subscriber<this>): () => void;
54
+ protected notify(): void;
52
55
  getUrlsWithStatus(statuses: PublishStatus | PublishStatus[]): string[];
53
56
  getCompleteUrls(): string[];
54
57
  getIncompleteUrls(): string[];
@@ -64,7 +67,6 @@ export declare class Publication extends PublishStatusView {
64
67
  event: HashedEvent;
65
68
  wrap?: HashedEvent;
66
69
  readonly controller: AbortController;
67
- private _subs;
68
70
  private _settled;
69
71
  constructor(request: PublishRequest, event: HashedEvent);
70
72
  get relays(): string[];
@@ -76,20 +78,17 @@ export declare class Publication extends PublishStatusView {
76
78
  wrap?: HashedEvent;
77
79
  }): void;
78
80
  abort(): void;
79
- subscribe(subscriber: Subscriber<this>): () => void;
80
81
  settled(): import("@welshman/lib").Deferred<this, this>;
81
82
  }
82
83
  export declare const mergeResults: (publications: Publication[]) => PublishResultsByRelay;
83
84
  /** Several publications watched as one, e.g. a rumor gift-wrapped for each recipient. */
84
85
  export declare class PublicationGroup extends PublishStatusView {
85
86
  readonly publications: Publication[];
86
- private _subs;
87
87
  constructor(publications: Publication[]);
88
88
  get relays(): string[];
89
89
  get results(): PublishResultsByRelay;
90
90
  isComplete(): boolean;
91
91
  abort(): void;
92
- subscribe(subscriber: Subscriber<this>): () => void;
93
92
  settled(): Promise<this>;
94
93
  }
95
94
  export type Publishable = Publication | PublicationGroup;
@@ -109,6 +108,8 @@ export declare const STAGES: Stage[];
109
108
  export declare class Publisher {
110
109
  readonly app: IApp;
111
110
  history: import("svelte/store").Writable<Publication[]>;
111
+ private unsettled;
112
+ private holders;
112
113
  queue: TaskQueue<Publication>;
113
114
  constructor(app: IApp);
114
115
  publish: (request: PublishRequest) => Publication;
@@ -117,7 +118,10 @@ export declare class Publisher {
117
118
  retry(target: Publishable, relays?: string[]): Publishable;
118
119
  merge(items: Publishable[]): PublicationGroup;
119
120
  private run;
120
- private observe;
121
+ private hold;
122
+ private release;
123
+ private holdCopy;
124
+ private trackSent;
121
125
  }
122
126
  export {};
123
127
  //# sourceMappingURL=publisher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../../../src/plugins/publisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../../../src/plugins/publisher.ts"],"names":[],"mappings":"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"}