@welshman/app 0.14.0-pre3 → 0.14.0-pre5

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 (226) hide show
  1. package/dist/app/src/app.d.ts +10 -17
  2. package/dist/app/src/app.d.ts.map +1 -1
  3. package/dist/app/src/app.js +20 -24
  4. package/dist/app/src/app.js.map +1 -1
  5. package/dist/app/src/index.d.ts +1 -0
  6. package/dist/app/src/index.d.ts.map +1 -1
  7. package/dist/app/src/index.js +1 -0
  8. package/dist/app/src/index.js.map +1 -1
  9. package/dist/app/src/plugins/base.d.ts +5 -29
  10. package/dist/app/src/plugins/base.d.ts.map +1 -1
  11. package/dist/app/src/plugins/base.js +6 -30
  12. package/dist/app/src/plugins/base.js.map +1 -1
  13. package/dist/app/src/plugins/commandLists.d.ts +19 -0
  14. package/dist/app/src/plugins/commandLists.d.ts.map +1 -0
  15. package/dist/app/src/plugins/commandLists.js +28 -0
  16. package/dist/app/src/plugins/commandLists.js.map +1 -0
  17. package/dist/app/src/plugins/deletes.js +1 -1
  18. package/dist/app/src/plugins/deletes.js.map +1 -1
  19. package/dist/app/src/plugins/events.d.ts +11 -21
  20. package/dist/app/src/plugins/events.d.ts.map +1 -1
  21. package/dist/app/src/plugins/events.js +10 -26
  22. package/dist/app/src/plugins/events.js.map +1 -1
  23. package/dist/app/src/plugins/feeds.d.ts +1 -1
  24. package/dist/app/src/plugins/feeds.d.ts.map +1 -1
  25. package/dist/app/src/plugins/feeds.js +1 -1
  26. package/dist/app/src/plugins/feeds.js.map +1 -1
  27. package/dist/app/src/plugins/handles.d.ts +1 -1
  28. package/dist/app/src/plugins/handles.d.ts.map +1 -1
  29. package/dist/app/src/plugins/handles.js.map +1 -1
  30. package/dist/app/src/plugins/logger.d.ts +1 -1
  31. package/dist/app/src/plugins/logger.d.ts.map +1 -1
  32. package/dist/app/src/plugins/logger.js +1 -2
  33. package/dist/app/src/plugins/logger.js.map +1 -1
  34. package/dist/app/src/plugins/pinboards.d.ts +1 -1
  35. package/dist/app/src/plugins/pinboards.d.ts.map +1 -1
  36. package/dist/app/src/plugins/pinboards.js +1 -1
  37. package/dist/app/src/plugins/pinboards.js.map +1 -1
  38. package/dist/app/src/plugins/profiles.d.ts +1 -2
  39. package/dist/app/src/plugins/profiles.d.ts.map +1 -1
  40. package/dist/app/src/plugins/profiles.js +1 -2
  41. package/dist/app/src/plugins/profiles.js.map +1 -1
  42. package/dist/app/src/plugins/publisher.d.ts +2 -2
  43. package/dist/app/src/plugins/publisher.d.ts.map +1 -1
  44. package/dist/app/src/plugins/publisher.js +8 -6
  45. package/dist/app/src/plugins/publisher.js.map +1 -1
  46. package/dist/app/src/plugins/reactions.js +1 -1
  47. package/dist/app/src/plugins/reactions.js.map +1 -1
  48. package/dist/app/src/plugins/relayMembers.d.ts +1 -1
  49. package/dist/app/src/plugins/relayMembers.d.ts.map +1 -1
  50. package/dist/app/src/plugins/relayRoles.d.ts +2 -2
  51. package/dist/app/src/plugins/relayRoles.d.ts.map +1 -1
  52. package/dist/app/src/plugins/relayRoles.js +1 -1
  53. package/dist/app/src/plugins/relayRoles.js.map +1 -1
  54. package/dist/app/src/plugins/relays.d.ts +1 -2
  55. package/dist/app/src/plugins/relays.d.ts.map +1 -1
  56. package/dist/app/src/plugins/relays.js +1 -1
  57. package/dist/app/src/plugins/relays.js.map +1 -1
  58. package/dist/app/src/plugins/roomLists.d.ts +1 -1
  59. package/dist/app/src/plugins/roomLists.d.ts.map +1 -1
  60. package/dist/app/src/plugins/roomLists.js +1 -1
  61. package/dist/app/src/plugins/roomLists.js.map +1 -1
  62. package/dist/app/src/plugins/roomPins.d.ts +2 -2
  63. package/dist/app/src/plugins/roomPins.d.ts.map +1 -1
  64. package/dist/app/src/plugins/roomPins.js +1 -1
  65. package/dist/app/src/plugins/roomPins.js.map +1 -1
  66. package/dist/app/src/plugins/rooms.d.ts +1 -2
  67. package/dist/app/src/plugins/rooms.d.ts.map +1 -1
  68. package/dist/app/src/plugins/rooms.js +13 -13
  69. package/dist/app/src/plugins/rooms.js.map +1 -1
  70. package/dist/app/src/plugins/router.d.ts +2 -1
  71. package/dist/app/src/plugins/router.d.ts.map +1 -1
  72. package/dist/app/src/plugins/router.js +23 -13
  73. package/dist/app/src/plugins/router.js.map +1 -1
  74. package/dist/app/src/plugins/sync.d.ts +2 -2
  75. package/dist/app/src/plugins/sync.d.ts.map +1 -1
  76. package/dist/app/src/plugins/sync.js +6 -3
  77. package/dist/app/src/plugins/sync.js.map +1 -1
  78. package/dist/app/src/plugins/topics.d.ts +2 -6
  79. package/dist/app/src/plugins/topics.d.ts.map +1 -1
  80. package/dist/app/src/plugins/topics.js +48 -34
  81. package/dist/app/src/plugins/topics.js.map +1 -1
  82. package/dist/app/src/plugins/wot.d.ts +5 -0
  83. package/dist/app/src/plugins/wot.d.ts.map +1 -1
  84. package/dist/app/src/plugins/wot.js +59 -24
  85. package/dist/app/src/plugins/wot.js.map +1 -1
  86. package/dist/app/src/plugins/wraps.d.ts.map +1 -1
  87. package/dist/app/src/plugins/wraps.js +11 -9
  88. package/dist/app/src/plugins/wraps.js.map +1 -1
  89. package/dist/app/src/plugins/zapGoals.d.ts +3 -9
  90. package/dist/app/src/plugins/zapGoals.d.ts.map +1 -1
  91. package/dist/app/src/plugins/zapGoals.js +6 -10
  92. package/dist/app/src/plugins/zapGoals.js.map +1 -1
  93. package/dist/app/src/plugins/zappers.d.ts +1 -1
  94. package/dist/app/src/plugins/zappers.d.ts.map +1 -1
  95. package/dist/app/src/plugins/zappers.js +1 -1
  96. package/dist/app/src/plugins/zappers.js.map +1 -1
  97. package/dist/app/src/policy.d.ts +1 -1
  98. package/dist/app/src/policy.d.ts.map +1 -1
  99. package/dist/app/src/policy.js +4 -10
  100. package/dist/app/src/policy.js.map +1 -1
  101. package/dist/domain/src/behaviors/Expiration.d.ts +1 -8
  102. package/dist/domain/src/behaviors/Expiration.d.ts.map +1 -1
  103. package/dist/domain/src/behaviors/Expiration.js +1 -9
  104. package/dist/domain/src/behaviors/Expiration.js.map +1 -1
  105. package/dist/domain/src/index.d.ts +1 -0
  106. package/dist/domain/src/index.d.ts.map +1 -1
  107. package/dist/domain/src/index.js +1 -0
  108. package/dist/domain/src/index.js.map +1 -1
  109. package/dist/domain/src/kinds/CommandList.d.ts +18 -0
  110. package/dist/domain/src/kinds/CommandList.d.ts.map +1 -0
  111. package/dist/domain/src/kinds/CommandList.js +38 -0
  112. package/dist/domain/src/kinds/CommandList.js.map +1 -0
  113. package/dist/feeds/src/controller.d.ts +1 -1
  114. package/dist/feeds/src/controller.d.ts.map +1 -1
  115. package/dist/feeds/src/request.d.ts +2 -1
  116. package/dist/feeds/src/request.d.ts.map +1 -1
  117. package/dist/feeds/src/request.js +2 -1
  118. package/dist/feeds/src/request.js.map +1 -1
  119. package/dist/net/src/adapter.d.ts +3 -2
  120. package/dist/net/src/adapter.d.ts.map +1 -1
  121. package/dist/net/src/adapter.js +29 -16
  122. package/dist/net/src/adapter.js.map +1 -1
  123. package/dist/net/src/context.d.ts +1 -1
  124. package/dist/net/src/context.d.ts.map +1 -1
  125. package/dist/net/src/index.d.ts +0 -2
  126. package/dist/net/src/index.d.ts.map +1 -1
  127. package/dist/net/src/index.js +0 -2
  128. package/dist/net/src/index.js.map +1 -1
  129. package/dist/net/src/message.d.ts +10 -0
  130. package/dist/net/src/message.d.ts.map +1 -1
  131. package/dist/net/src/message.js +22 -0
  132. package/dist/net/src/message.js.map +1 -1
  133. package/dist/net/src/multiplex.d.ts +2 -1
  134. package/dist/net/src/multiplex.d.ts.map +1 -1
  135. package/dist/net/src/multiplex.js +24 -15
  136. package/dist/net/src/multiplex.js.map +1 -1
  137. package/dist/net/src/policy.d.ts.map +1 -1
  138. package/dist/net/src/policy.js +3 -3
  139. package/dist/net/src/policy.js.map +1 -1
  140. package/dist/net/src/request.d.ts +2 -1
  141. package/dist/net/src/request.d.ts.map +1 -1
  142. package/dist/net/src/request.js +23 -9
  143. package/dist/net/src/request.js.map +1 -1
  144. package/dist/net/src/wrapManager.d.ts +3 -4
  145. package/dist/net/src/wrapManager.d.ts.map +1 -1
  146. package/dist/net/src/wrapManager.js +8 -6
  147. package/dist/net/src/wrapManager.js.map +1 -1
  148. package/dist/store/src/{repository.d.ts → derive.d.ts} +33 -41
  149. package/dist/store/src/derive.d.ts.map +1 -0
  150. package/dist/store/src/derive.js +706 -0
  151. package/dist/store/src/derive.js.map +1 -0
  152. package/dist/store/src/index.d.ts +9 -1
  153. package/dist/store/src/index.d.ts.map +1 -1
  154. package/dist/store/src/index.js +9 -1
  155. package/dist/store/src/index.js.map +1 -1
  156. package/dist/store/src/misc.d.ts +2 -7
  157. package/dist/store/src/misc.d.ts.map +1 -1
  158. package/dist/store/src/misc.js +1 -1
  159. package/dist/store/src/misc.js.map +1 -1
  160. package/dist/{net/src/repository.d.ts → store/src/repository/adapters/memory.d.ts} +22 -30
  161. package/dist/store/src/repository/adapters/memory.d.ts.map +1 -0
  162. package/dist/{net/src/repository.js → store/src/repository/adapters/memory.js} +96 -106
  163. package/dist/store/src/repository/adapters/memory.js.map +1 -0
  164. package/dist/store/src/repository/adapters/sqlite/engine.d.ts +65 -0
  165. package/dist/store/src/repository/adapters/sqlite/engine.d.ts.map +1 -0
  166. package/dist/store/src/repository/adapters/sqlite/engine.js +420 -0
  167. package/dist/store/src/repository/adapters/sqlite/engine.js.map +1 -0
  168. package/dist/store/src/repository/adapters/sqlite/leader.d.ts +8 -0
  169. package/dist/store/src/repository/adapters/sqlite/leader.d.ts.map +1 -0
  170. package/dist/store/src/repository/adapters/sqlite/leader.js +222 -0
  171. package/dist/store/src/repository/adapters/sqlite/leader.js.map +1 -0
  172. package/dist/store/src/repository/adapters/sqlite/protocol.d.ts +52 -0
  173. package/dist/store/src/repository/adapters/sqlite/protocol.d.ts.map +1 -0
  174. package/dist/store/src/repository/adapters/sqlite/protocol.js +52 -0
  175. package/dist/store/src/repository/adapters/sqlite/protocol.js.map +1 -0
  176. package/dist/store/src/repository/adapters/sqlite/repository.d.ts +54 -0
  177. package/dist/store/src/repository/adapters/sqlite/repository.d.ts.map +1 -0
  178. package/dist/store/src/repository/adapters/sqlite/repository.js +238 -0
  179. package/dist/store/src/repository/adapters/sqlite/repository.js.map +1 -0
  180. package/dist/store/src/repository/core.d.ts +68 -0
  181. package/dist/store/src/repository/core.d.ts.map +1 -0
  182. package/dist/store/src/repository/core.js +123 -0
  183. package/dist/store/src/repository/core.js.map +1 -0
  184. package/dist/store/src/svelte.d.ts +22 -0
  185. package/dist/store/src/svelte.d.ts.map +1 -0
  186. package/dist/store/src/svelte.js +100 -0
  187. package/dist/store/src/svelte.js.map +1 -0
  188. package/dist/store/src/synced.d.ts +1 -1
  189. package/dist/store/src/synced.d.ts.map +1 -1
  190. package/dist/store/src/synced.js +1 -1
  191. package/dist/store/src/synced.js.map +1 -1
  192. package/dist/{net → store}/src/tracker.d.ts +2 -0
  193. package/dist/store/src/tracker.d.ts.map +1 -0
  194. package/dist/{net → store}/src/tracker.js +8 -4
  195. package/dist/store/src/tracker.js.map +1 -0
  196. package/dist/tsconfig.build.tsbuildinfo +1 -1
  197. package/dist/util/src/Command.d.ts +1 -1
  198. package/dist/util/src/Command.d.ts.map +1 -1
  199. package/dist/util/src/Command.js +12 -5
  200. package/dist/util/src/Command.js.map +1 -1
  201. package/dist/util/src/Events.d.ts +3 -2
  202. package/dist/util/src/Events.d.ts.map +1 -1
  203. package/dist/util/src/Events.js.map +1 -1
  204. package/dist/util/src/Kinds.d.ts +1 -0
  205. package/dist/util/src/Kinds.d.ts.map +1 -1
  206. package/dist/util/src/Kinds.js +1 -0
  207. package/dist/util/src/Kinds.js.map +1 -1
  208. package/dist/util/src/RelaySelection.d.ts +5 -0
  209. package/dist/util/src/RelaySelection.d.ts.map +1 -1
  210. package/dist/util/src/RelaySelection.js.map +1 -1
  211. package/dist/util/src/Tags.d.ts +5 -0
  212. package/dist/util/src/Tags.d.ts.map +1 -1
  213. package/dist/util/src/Tags.js +3 -0
  214. package/dist/util/src/Tags.js.map +1 -1
  215. package/dist/util/src/index.d.ts +1 -0
  216. package/dist/util/src/index.d.ts.map +1 -1
  217. package/dist/util/src/index.js +1 -0
  218. package/dist/util/src/index.js.map +1 -1
  219. package/package.json +15 -17
  220. package/dist/net/src/repository.d.ts.map +0 -1
  221. package/dist/net/src/repository.js.map +0 -1
  222. package/dist/net/src/tracker.d.ts.map +0 -1
  223. package/dist/net/src/tracker.js.map +0 -1
  224. package/dist/store/src/repository.d.ts.map +0 -1
  225. package/dist/store/src/repository.js +0 -580
  226. package/dist/store/src/repository.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { on, ms, now, sleep, flatten, defer, call, randomId } from "@welshman/lib";
2
2
  import { matchFilters, verifyEvent, deduplicateEvents, getFilterResultCardinality, } from "@welshman/util";
3
- import { ClientMessageType, setPriority, isRelayEvent, isRelayEose, isRelayClosed, isTerminalReason, } from "./message.js";
3
+ import { ClientMessageType, getSubscriptions, isClientReq, setMultiplex, setPriority, isRelayEvent, isRelayEose, isRelayClosed, isTerminalReason, } from "./message.js";
4
4
  import { getAdapter, AdapterEvent } from "./adapter.js";
5
5
  import { SocketEvent, SocketStatus } from "./socket.js";
6
- import { Tracker } from "./tracker.js";
6
+ import { Tracker } from "@welshman/store";
7
7
  import { catchUpFilter } from "./util.js";
8
8
  export const AUTO_CLOSE_TIMEOUT = 8_000;
9
9
  export const requestOne = (options) => {
@@ -31,7 +31,16 @@ export const requestOne = (options) => {
31
31
  // Surviving a refusal is opt-in: a caller that wants one says how many times to ask again
32
32
  const resubscribeAttempts = options.resubscribeAttempts || 0;
33
33
  let closed = false;
34
+ let sent = false;
34
35
  let timeoutId;
36
+ const sendReq = (id, filter) => adapter.send(setMultiplex(setPriority([ClientMessageType.Req, id, filter], options.priority), options.multiplex));
37
+ // An auto-closing request closes even if the relay never eoses, so it can't leak
38
+ const startTimeout = () => {
39
+ if (options.timeout || options.autoClose) {
40
+ clearTimeout(timeoutId);
41
+ timeoutId = setTimeout(close, options.timeout ?? AUTO_CLOSE_TIMEOUT);
42
+ }
43
+ };
35
44
  const closeId = (id) => {
36
45
  if (open.delete(id)) {
37
46
  // Match the req's priority so the close can't be sent ahead of it
@@ -57,7 +66,7 @@ export const requestOne = (options) => {
57
66
  if (!closed) {
58
67
  open.add(id);
59
68
  pending.add(id);
60
- adapter.send(setPriority([ClientMessageType.Req, id, catchUpFilter(filtersById.get(id), retry.since)], options.priority));
69
+ sendReq(id, catchUpFilter(filtersById.get(id), retry.since));
61
70
  }
62
71
  });
63
72
  };
@@ -136,7 +145,6 @@ export const requestOne = (options) => {
136
145
  }
137
146
  }),
138
147
  ];
139
- // Listen to disconnects from any sockets
140
148
  for (const socket of adapter.sockets) {
141
149
  unsubscribers.push(on(socket, SocketEvent.Status, (status) => {
142
150
  if (![SocketStatus.Open, SocketStatus.Opening].includes(status)) {
@@ -145,6 +153,14 @@ export const requestOne = (options) => {
145
153
  close();
146
154
  }
147
155
  }
156
+ }),
157
+ // Time spent queued behind other messages isn't the relay's, so the timeout starts over once
158
+ // the relay has the request, alone or merged with others
159
+ on(socket, SocketEvent.Send, (message) => {
160
+ if (!sent && isClientReq(message) && getSubscriptions(message).some(id => ids.has(id))) {
161
+ sent = true;
162
+ startTimeout();
163
+ }
148
164
  }));
149
165
  }
150
166
  // Handle abort signal
@@ -153,17 +169,15 @@ export const requestOne = (options) => {
153
169
  signal.addEventListener("abort", close);
154
170
  unsubscribers.push(() => signal.removeEventListener("abort", close));
155
171
  }
156
- // An auto-closing request closes even if the relay never eoses, so it can't leak
157
- if (options.timeout || options.autoClose) {
158
- timeoutId = setTimeout(close, options.timeout ?? AUTO_CLOSE_TIMEOUT);
159
- }
172
+ // Started here too, so a request that never leaves the queue, as on a socket that never opens, still closes
173
+ startTimeout();
160
174
  for (const filter of options.filters) {
161
175
  const id = `REQ-${randomId().slice(0, 8)}`;
162
176
  ids.add(id);
163
177
  open.add(id);
164
178
  pending.add(id);
165
179
  filtersById.set(id, filter);
166
- adapter.send(setPriority([ClientMessageType.Req, id, filter], options.priority));
180
+ sendReq(id, filter);
167
181
  }
168
182
  return deferred;
169
183
  };
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../net/src/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../net/src/request.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { Emitter } from "@welshman/lib";
2
2
  import { HashedEvent, SignedEvent } from "@welshman/util";
3
- import { Tracker } from "./tracker.js";
4
- import { Repository } from "./repository.js";
3
+ import type { Repository } from "@welshman/store";
5
4
  export type WrapItem = Omit<HashedEvent, "content"> & {
6
5
  rumorId: string;
7
6
  recipient: string;
@@ -9,7 +8,6 @@ export type WrapItem = Omit<HashedEvent, "content"> & {
9
8
  export type WrapReference = string[];
10
9
  export type WrapManagerOptions = {
11
10
  repository: Repository;
12
- tracker: Tracker;
13
11
  };
14
12
  export declare class WrapManager extends Emitter {
15
13
  readonly options: WrapManagerOptions;
@@ -18,7 +16,8 @@ export declare class WrapManager extends Emitter {
18
16
  constructor(options: WrapManagerOptions);
19
17
  dump: () => WrapItem[];
20
18
  getWraps: (rumorId: string) => WrapItem[];
21
- getRumor: (wrapId: string) => import("@welshman/util").TrustedEvent | undefined;
19
+ hasWrap: (wrapId: string) => boolean;
20
+ getRumor: (wrapId: string) => Promise<import("@welshman/lib").Maybe<import("@welshman/util").TrustedEvent>>;
22
21
  clear: () => void;
23
22
  load: (wrapItems: WrapItem[]) => void;
24
23
  add: ({ recipient, rumor, wrap }: {
@@ -1 +1 @@
1
- {"version":3,"file":"wrapManager.d.ts","sourceRoot":"","sources":["../../../../net/src/wrapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAA6B,MAAM,eAAe,CAAA;AACjE,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE1C,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IACpD,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,EAAE,CAAA;AAEpC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,qBAAa,WAAY,SAAQ,OAAO;IAI1B,QAAQ,CAAC,OAAO,EAAE,kBAAkB;IAHhD,UAAU,wBAA8B;IACxC,WAAW,6BAAmC;gBAEzB,OAAO,EAAE,kBAAkB;IAMhD,IAAI,mBAA6C;IAEjD,QAAQ,GAAI,SAAS,MAAM,gBACwD;IAEnF,QAAQ,GAAI,QAAQ,MAAM,uDAMzB;IAID,KAAK,aAIJ;IAED,IAAI,GAAI,WAAW,QAAQ,EAAE,UAS5B;IAED,GAAG,GAAI,4BAA0B;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAC,UAgB1F;IAID,MAAM,GAAI,IAAI,MAAM,UAanB;IAED,eAAe,GAAI,SAAS,MAAM,UAIjC;IAID,IAAI,GAAI,UAAU,QAAQ,UAGzB;IAED,OAAO,GAAI,UAAU,QAAQ,UAU5B;CACF"}
1
+ {"version":3,"file":"wrapManager.d.ts","sourceRoot":"","sources":["../../../../net/src/wrapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAA6B,MAAM,eAAe,CAAA;AACjE,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAE/C,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IACpD,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,EAAE,CAAA;AAEpC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAMD,qBAAa,WAAY,SAAQ,OAAO;IAI1B,QAAQ,CAAC,OAAO,EAAE,kBAAkB;IAHhD,UAAU,wBAA8B;IACxC,WAAW,6BAAmC;gBAEzB,OAAO,EAAE,kBAAkB;IAMhD,IAAI,mBAA6C;IAEjD,QAAQ,GAAI,SAAS,MAAM,gBACwD;IAEnF,OAAO,GAAI,QAAQ,MAAM,aAAgC;IAEzD,QAAQ,GAAU,QAAQ,MAAM,mFAM/B;IAID,KAAK,aAIJ;IAED,IAAI,GAAI,WAAW,QAAQ,EAAE,UAS5B;IAED,GAAG,GAAI,4BAA0B;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAC,UAc1F;IAID,MAAM,GAAI,IAAI,MAAM,UAanB;IAED,eAAe,GAAI,SAAS,MAAM,UAIjC;IAID,IAAI,GAAI,UAAU,QAAQ,UAGzB;IAED,OAAO,GAAI,UAAU,QAAQ,UAU5B;CACF"}
@@ -1,4 +1,6 @@
1
1
  import { Emitter, remove, omit, pushToMapKey } from "@welshman/lib";
2
+ const onStoreError = (error) => console.error("Failed to store a rumor", error);
3
+ const onRemoveError = (error) => console.error("Failed to remove a rumor", error);
2
4
  export class WrapManager extends Emitter {
3
5
  options;
4
6
  _wrapIndex = new Map();
@@ -10,7 +12,8 @@ export class WrapManager extends Emitter {
10
12
  // Reading/exporting
11
13
  dump = () => Array.from(this._wrapIndex.values());
12
14
  getWraps = (rumorId) => (this._rumorIndex.get(rumorId) || []).map(wrapId => this._wrapIndex.get(wrapId));
13
- getRumor = (wrapId) => {
15
+ hasWrap = (wrapId) => this._wrapIndex.has(wrapId);
16
+ getRumor = async (wrapId) => {
14
17
  const wrapItem = this._wrapIndex.get(wrapId);
15
18
  if (wrapItem) {
16
19
  return this.options.repository.getEvent(wrapItem.rumorId);
@@ -37,10 +40,9 @@ export class WrapManager extends Emitter {
37
40
  recipient,
38
41
  };
39
42
  this._add(wrapItem);
40
- // Save to our repository
41
- this.options.repository.publish(rumor);
42
- // Mark the rumor as having come from the wrap's urls
43
- this.options.tracker.copy(wrap.id, rumor.id);
43
+ // Mark the rumor as having come from the wrap's urls before the repository reports it
44
+ this.options.repository.tracker.copy(wrap.id, rumor.id);
45
+ this.options.repository.publish(rumor).catch(onStoreError);
44
46
  this.emit("add", wrapItem);
45
47
  };
46
48
  // Removing
@@ -50,7 +52,7 @@ export class WrapManager extends Emitter {
50
52
  this._remove(wrapItem);
51
53
  // Another wrap may carry the same rumor
52
54
  if (!this._rumorIndex.has(wrapItem.rumorId)) {
53
- this.options.repository.removeEvent(wrapItem.rumorId);
55
+ this.options.repository.removeEvent(wrapItem.rumorId).catch(onRemoveError);
54
56
  }
55
57
  this.emit("remove", wrapItem);
56
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wrapManager.js","sourceRoot":"","sources":["../../../../net/src/wrapManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrapManager.js","sourceRoot":"","sources":["../../../../net/src/wrapManager.ts"],"names":[],"mappings":"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"}
@@ -1,54 +1,53 @@
1
- import { Readable } from "svelte/store";
2
- import { Maybe, MaybeAsync } from "@welshman/lib";
3
- import { Filter, TrustedEvent } from "@welshman/util";
4
- import { Repository, Tracker } from "@welshman/net";
1
+ import type { Maybe, MaybeAsync } from "@welshman/lib";
2
+ import type { Filter, TrustedEvent } from "@welshman/util";
3
+ import type { Readable, Unsubscriber } from "./svelte.js";
5
4
  import type { Projection } from "./misc.js";
5
+ import type { Repository } from "./repository/core.js";
6
+ /** A `Projection` whose value comes from a `Repository`, with `load` for a fresh read. */
7
+ export type AsyncProjection<T> = Projection<T> & {
8
+ load: () => Promise<T>;
9
+ };
10
+ /** Build an `AsyncProjection` derived from another, whose `load` reads `src` fresh. */
11
+ export declare const projectAsync: <S, U>(src: AsyncProjection<S>, read: ($: S) => U) => AsyncProjection<U>;
6
12
  export type EventsById = Map<string, TrustedEvent>;
7
13
  export type EventsByIdOptions = {
8
14
  filters: Filter[];
9
15
  repository: Repository;
10
16
  includeDeleted?: boolean;
11
17
  };
12
- export declare const getEventsById: ({ filters, repository, includeDeleted }: EventsByIdOptions) => Map<string, TrustedEvent>;
13
- export declare const deriveEventsById: (options: EventsByIdOptions) => Projection<EventsById>;
18
+ export declare const getEventsById: ({ filters, repository, includeDeleted }: EventsByIdOptions) => Promise<Map<string, TrustedEvent>>;
19
+ /** The events matching `filters`, kept current. It holds its last value until the read answers. */
20
+ export declare const deriveEventsById: (options: EventsByIdOptions) => AsyncProjection<EventsById>;
21
+ export type ObserveEventsByIdOptions = EventsByIdOptions & {
22
+ onEvents: (eventsById: EventsById) => void;
23
+ };
24
+ /** Calls `onEvents` with the matches once the read answers, then on each change, until stopped. */
25
+ export declare const observeEventsById: ({ filters, repository, includeDeleted, onEvents, }: ObserveEventsByIdOptions) => Unsubscriber;
14
26
  export declare const deriveArray: <T>(itemsById: Projection<Map<string, T>>) => Projection<T[]>;
15
- export declare const deriveEventsAsc: (eventsById: Projection<EventsById>) => Projection<TrustedEvent[]>;
16
- export declare const deriveEventsDesc: (eventsById: Projection<EventsById>) => Projection<TrustedEvent[]>;
17
- export declare const deriveEvents: (options: EventsByIdOptions) => Projection<TrustedEvent[]>;
27
+ export declare const deriveEventsArray: (eventsById: AsyncProjection<EventsById>) => AsyncProjection<TrustedEvent[]>;
28
+ export declare const deriveEventsAsc: (eventsById: AsyncProjection<EventsById>) => AsyncProjection<TrustedEvent[]>;
29
+ export declare const deriveEventsDesc: (eventsById: AsyncProjection<EventsById>) => AsyncProjection<TrustedEvent[]>;
30
+ export declare const deriveEvents: (options: EventsByIdOptions) => AsyncProjection<TrustedEvent[]>;
18
31
  export type EventOptions = {
19
32
  repository: Repository;
20
33
  includeDeleted?: boolean;
21
34
  onDerive?: (filters: Filter[], ...args: any[]) => void;
22
35
  };
23
- export declare const makeDeriveEvent: ({ repository, includeDeleted, onDerive }: EventOptions) => (idOrAddress: string, ...args: any[]) => Projection<Maybe<TrustedEvent>>;
36
+ export declare const makeDeriveEvent: ({ repository, includeDeleted, onDerive }: EventOptions) => (idOrAddress: string, ...args: any[]) => AsyncProjection<Maybe<TrustedEvent>>;
24
37
  export type EventsByIdByUrl = Map<string, EventsById>;
25
- export type EventsByIdByUrlOptions = EventsByIdOptions & {
26
- tracker: Tracker;
27
- };
28
- export declare const getEventsByIdByUrl: ({ filters, tracker, repository, includeDeleted, }: EventsByIdByUrlOptions) => EventsByIdByUrl;
29
- export declare const deriveEventsByIdByUrl: (options: EventsByIdByUrlOptions) => Projection<EventsByIdByUrl>;
38
+ export declare const getEventsByIdByUrl: ({ filters, repository, includeDeleted, }: EventsByIdOptions) => Promise<EventsByIdByUrl>;
39
+ /** The events matching `filters`, grouped by each relay the tracker has seen them on. */
40
+ export declare const deriveEventsByIdByUrl: (options: EventsByIdOptions) => AsyncProjection<EventsByIdByUrl>;
30
41
  export type EventsByIdForUrlOptions = EventsByIdOptions & {
31
42
  url: string;
32
- tracker: Tracker;
33
43
  };
34
- /**
35
- * The events one relay has been seen to hold, narrowed by the filters. The filters choose the
36
- * index and the tracker answers provenance per event, so the cost tracks what the caller asked
37
- * for, and a limit counts only events on the relay.
38
- */
39
- export declare const getEventsByIdForUrl: ({ url, filters, tracker, repository, includeDeleted, }: EventsByIdForUrlOptions) => EventsById;
40
- export declare const deriveEventsByIdForUrl: (options: EventsByIdForUrlOptions) => Projection<EventsById>;
44
+ /** The events one relay has been seen to hold, with any limit counting only those events. */
45
+ export declare const getEventsByIdForUrl: ({ url, filters, repository, includeDeleted, }: EventsByIdForUrlOptions) => Promise<Map<string, TrustedEvent>>;
46
+ export declare const deriveEventsByIdForUrl: (options: EventsByIdForUrlOptions) => AsyncProjection<EventsById>;
41
47
  export type ItemsByKey<T> = Map<string, T>;
42
48
  export type EventToItem<T> = (event: TrustedEvent) => MaybeAsync<Maybe<T>>;
43
49
  export type GetItem<T> = (key: string, ...args: any[]) => MaybeAsync<Maybe<T>>;
44
- /**
45
- * A keyed collection of items built from events: a `Projection` over an index, plus a
46
- * `read` that waits out the parses the index has outstanding.
47
- *
48
- * `eventToItem` returns a promise for any kind that decrypts, so the item an event
49
- * builds is committed after the event was read rather than with it. `read` is how a
50
- * caller gets an item the collection has seen the event for but not yet parsed.
51
- */
50
+ /** Items keyed from events, with a `read` that waits out the query and parses still pending. */
52
51
  export type ItemCollection<T> = Projection<ItemsByKey<T>> & {
53
52
  read: (key: string) => MaybeAsync<Maybe<T>>;
54
53
  };
@@ -64,19 +63,12 @@ export type ItemsByKeyByUrlOptions<T> = {
64
63
  getKey: (item: T, url: string) => string | undefined;
65
64
  filters: Filter[];
66
65
  repository: Repository;
67
- tracker: Tracker;
68
66
  eventToItem: EventToItem<T>;
69
67
  includeDeleted?: boolean;
70
68
  revalidateOn?: Readable<unknown>;
71
69
  };
72
- /**
73
- * Like `deriveItemsByKey`, but relay-scoped: an event is keyed once per relay
74
- * it has been seen on (via the tracker), using `getKey(item, url)`. This is the
75
- * substrate for relay-dependent collections — NIP-29 rooms, relay membership,
76
- * relay roles — where the same addressable coordinate can exist independently
77
- * on multiple relays.
78
- */
79
- export declare const deriveItemsByKeyByUrl: <T>({ getKey, filters, repository, tracker, eventToItem, includeDeleted, revalidateOn, }: ItemsByKeyByUrlOptions<T>) => ItemCollection<T>;
70
+ /** Like `deriveItemsByKey`, but keying each event once per relay the tracker has seen it on. */
71
+ export declare const deriveItemsByKeyByUrl: <T>({ getKey, filters, repository, eventToItem, includeDeleted, revalidateOn, }: ItemsByKeyByUrlOptions<T>) => ItemCollection<T>;
80
72
  export declare const deriveItems: <T>(itemsByKeyStore: Readable<ItemsByKey<T>>) => Readable<T[]>;
81
73
  export declare const deriveItemsSorted: <T>(sortFn: (item: T) => number, itemsStore: Readable<T[]>) => Readable<T[]>;
82
74
  export declare const makeDeriveItem: <T>(itemsByKeyStore: Readable<ItemsByKey<T>>, onDerive?: (key: string, ...args: any[]) => unknown) => (key?: string, ...args: any[]) => Readable<T | undefined>;
@@ -91,4 +83,4 @@ export type MakeLoadItemOptions = {
91
83
  };
92
84
  export declare const makeLoadItem: <T>(loadItem: LoadItem, getItem: GetItem<T>, options?: MakeLoadItemOptions) => (key: string, ...args: any[]) => Promise<Maybe<T>>;
93
85
  export declare const deriveIsDeleted: (repository: Repository, event: TrustedEvent) => Projection<boolean>;
94
- //# sourceMappingURL=repository.d.ts.map
86
+ //# sourceMappingURL=derive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../../store/src/derive.ts"],"names":[],"mappings":"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"}