@welshman/store 0.14.0-pre4 → 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 (157) hide show
  1. package/dist/store/src/{repository.d.ts → derive.d.ts} +33 -41
  2. package/dist/store/src/derive.d.ts.map +1 -0
  3. package/dist/store/src/derive.js +706 -0
  4. package/dist/store/src/derive.js.map +1 -0
  5. package/dist/store/src/index.d.ts +9 -1
  6. package/dist/store/src/index.d.ts.map +1 -1
  7. package/dist/store/src/index.js +9 -1
  8. package/dist/store/src/index.js.map +1 -1
  9. package/dist/store/src/misc.d.ts +2 -7
  10. package/dist/store/src/misc.d.ts.map +1 -1
  11. package/dist/store/src/misc.js +1 -1
  12. package/dist/store/src/misc.js.map +1 -1
  13. package/dist/{net/src/repository.d.ts → store/src/repository/adapters/memory.d.ts} +22 -30
  14. package/dist/store/src/repository/adapters/memory.d.ts.map +1 -0
  15. package/dist/{net/src/repository.js → store/src/repository/adapters/memory.js} +96 -106
  16. package/dist/store/src/repository/adapters/memory.js.map +1 -0
  17. package/dist/store/src/repository/adapters/sqlite/engine.d.ts +65 -0
  18. package/dist/store/src/repository/adapters/sqlite/engine.d.ts.map +1 -0
  19. package/dist/store/src/repository/adapters/sqlite/engine.js +420 -0
  20. package/dist/store/src/repository/adapters/sqlite/engine.js.map +1 -0
  21. package/dist/store/src/repository/adapters/sqlite/leader.d.ts +8 -0
  22. package/dist/store/src/repository/adapters/sqlite/leader.d.ts.map +1 -0
  23. package/dist/store/src/repository/adapters/sqlite/leader.js +222 -0
  24. package/dist/store/src/repository/adapters/sqlite/leader.js.map +1 -0
  25. package/dist/store/src/repository/adapters/sqlite/protocol.d.ts +52 -0
  26. package/dist/store/src/repository/adapters/sqlite/protocol.d.ts.map +1 -0
  27. package/dist/store/src/repository/adapters/sqlite/protocol.js +52 -0
  28. package/dist/store/src/repository/adapters/sqlite/protocol.js.map +1 -0
  29. package/dist/store/src/repository/adapters/sqlite/repository.d.ts +54 -0
  30. package/dist/store/src/repository/adapters/sqlite/repository.d.ts.map +1 -0
  31. package/dist/store/src/repository/adapters/sqlite/repository.js +238 -0
  32. package/dist/store/src/repository/adapters/sqlite/repository.js.map +1 -0
  33. package/dist/store/src/repository/adapters/sqlite/serve.d.ts +4 -0
  34. package/dist/store/src/repository/adapters/sqlite/serve.d.ts.map +1 -0
  35. package/dist/store/src/repository/adapters/sqlite/serve.js +39 -0
  36. package/dist/store/src/repository/adapters/sqlite/serve.js.map +1 -0
  37. package/dist/store/src/repository/adapters/sqlite/wasm.d.ts +7 -0
  38. package/dist/store/src/repository/adapters/sqlite/wasm.d.ts.map +1 -0
  39. package/dist/store/src/repository/adapters/sqlite/wasm.js +61 -0
  40. package/dist/store/src/repository/adapters/sqlite/wasm.js.map +1 -0
  41. package/dist/store/src/repository/adapters/sqlite/worker.d.ts +2 -0
  42. package/dist/store/src/repository/adapters/sqlite/worker.d.ts.map +1 -0
  43. package/dist/store/src/repository/adapters/sqlite/worker.js +4 -0
  44. package/dist/store/src/repository/adapters/sqlite/worker.js.map +1 -0
  45. package/dist/store/src/repository/core.d.ts +68 -0
  46. package/dist/store/src/repository/core.d.ts.map +1 -0
  47. package/dist/store/src/repository/core.js +123 -0
  48. package/dist/store/src/repository/core.js.map +1 -0
  49. package/dist/store/src/svelte.d.ts +22 -0
  50. package/dist/store/src/svelte.d.ts.map +1 -0
  51. package/dist/store/src/svelte.js +100 -0
  52. package/dist/store/src/svelte.js.map +1 -0
  53. package/dist/store/src/synced.d.ts +1 -1
  54. package/dist/store/src/synced.d.ts.map +1 -1
  55. package/dist/store/src/synced.js +1 -1
  56. package/dist/store/src/synced.js.map +1 -1
  57. package/dist/store/src/throttle.d.ts +1 -1
  58. package/dist/store/src/throttle.d.ts.map +1 -1
  59. package/dist/{net → store}/src/tracker.d.ts +2 -0
  60. package/dist/store/src/tracker.d.ts.map +1 -0
  61. package/dist/{net → store}/src/tracker.js +8 -4
  62. package/dist/store/src/tracker.js.map +1 -0
  63. package/dist/tsconfig.build.tsbuildinfo +1 -1
  64. package/dist/util/src/Command.d.ts +1 -1
  65. package/dist/util/src/Command.d.ts.map +1 -1
  66. package/dist/util/src/Command.js +12 -5
  67. package/dist/util/src/Command.js.map +1 -1
  68. package/dist/util/src/Events.d.ts +3 -2
  69. package/dist/util/src/Events.d.ts.map +1 -1
  70. package/dist/util/src/Events.js.map +1 -1
  71. package/dist/util/src/Kinds.d.ts +1 -0
  72. package/dist/util/src/Kinds.d.ts.map +1 -1
  73. package/dist/util/src/Kinds.js +1 -0
  74. package/dist/util/src/Kinds.js.map +1 -1
  75. package/dist/util/src/RelaySelection.d.ts +5 -0
  76. package/dist/util/src/RelaySelection.d.ts.map +1 -1
  77. package/dist/util/src/RelaySelection.js.map +1 -1
  78. package/dist/util/src/Tags.d.ts +5 -0
  79. package/dist/util/src/Tags.d.ts.map +1 -1
  80. package/dist/util/src/Tags.js +3 -0
  81. package/dist/util/src/Tags.js.map +1 -1
  82. package/dist/util/src/index.d.ts +1 -0
  83. package/dist/util/src/index.d.ts.map +1 -1
  84. package/dist/util/src/index.js +1 -0
  85. package/dist/util/src/index.js.map +1 -1
  86. package/package.json +31 -12
  87. package/dist/net/src/adapter.d.ts +0 -47
  88. package/dist/net/src/adapter.d.ts.map +0 -1
  89. package/dist/net/src/adapter.js +0 -139
  90. package/dist/net/src/adapter.js.map +0 -1
  91. package/dist/net/src/auth.d.ts +0 -40
  92. package/dist/net/src/auth.d.ts.map +0 -1
  93. package/dist/net/src/auth.js +0 -131
  94. package/dist/net/src/auth.js.map +0 -1
  95. package/dist/net/src/context.d.ts +0 -10
  96. package/dist/net/src/context.d.ts.map +0 -1
  97. package/dist/net/src/context.js +0 -2
  98. package/dist/net/src/context.js.map +0 -1
  99. package/dist/net/src/count.d.ts +0 -30
  100. package/dist/net/src/count.d.ts.map +0 -1
  101. package/dist/net/src/count.js +0 -97
  102. package/dist/net/src/count.js.map +0 -1
  103. package/dist/net/src/diff.d.ts +0 -57
  104. package/dist/net/src/diff.d.ts.map +0 -1
  105. package/dist/net/src/diff.js +0 -169
  106. package/dist/net/src/diff.js.map +0 -1
  107. package/dist/net/src/index.d.ts +0 -17
  108. package/dist/net/src/index.d.ts.map +0 -1
  109. package/dist/net/src/index.js +0 -17
  110. package/dist/net/src/index.js.map +0 -1
  111. package/dist/net/src/message.d.ts +0 -106
  112. package/dist/net/src/message.d.ts.map +0 -1
  113. package/dist/net/src/message.js +0 -98
  114. package/dist/net/src/message.js.map +0 -1
  115. package/dist/net/src/multiplex.d.ts +0 -14
  116. package/dist/net/src/multiplex.d.ts.map +0 -1
  117. package/dist/net/src/multiplex.js +0 -219
  118. package/dist/net/src/multiplex.js.map +0 -1
  119. package/dist/net/src/negentropy.d.ts +0 -48
  120. package/dist/net/src/negentropy.d.ts.map +0 -1
  121. package/dist/net/src/negentropy.js +0 -528
  122. package/dist/net/src/negentropy.js.map +0 -1
  123. package/dist/net/src/policy.d.ts +0 -63
  124. package/dist/net/src/policy.d.ts.map +0 -1
  125. package/dist/net/src/policy.js +0 -388
  126. package/dist/net/src/policy.js.map +0 -1
  127. package/dist/net/src/pool.d.ts +0 -15
  128. package/dist/net/src/pool.d.ts.map +0 -1
  129. package/dist/net/src/pool.js +0 -51
  130. package/dist/net/src/pool.js.map +0 -1
  131. package/dist/net/src/publish.d.ts +0 -47
  132. package/dist/net/src/publish.d.ts.map +0 -1
  133. package/dist/net/src/publish.js +0 -112
  134. package/dist/net/src/publish.js.map +0 -1
  135. package/dist/net/src/repository.d.ts.map +0 -1
  136. package/dist/net/src/repository.js.map +0 -1
  137. package/dist/net/src/request.d.ts +0 -38
  138. package/dist/net/src/request.d.ts.map +0 -1
  139. package/dist/net/src/request.js +0 -220
  140. package/dist/net/src/request.js.map +0 -1
  141. package/dist/net/src/socket.d.ts +0 -52
  142. package/dist/net/src/socket.d.ts.map +0 -1
  143. package/dist/net/src/socket.js +0 -134
  144. package/dist/net/src/socket.js.map +0 -1
  145. package/dist/net/src/tracker.d.ts.map +0 -1
  146. package/dist/net/src/tracker.js.map +0 -1
  147. package/dist/net/src/util.d.ts +0 -18
  148. package/dist/net/src/util.d.ts.map +0 -1
  149. package/dist/net/src/util.js +0 -25
  150. package/dist/net/src/util.js.map +0 -1
  151. package/dist/net/src/wrapManager.d.ts +0 -34
  152. package/dist/net/src/wrapManager.d.ts.map +0 -1
  153. package/dist/net/src/wrapManager.js +0 -79
  154. package/dist/net/src/wrapManager.js.map +0 -1
  155. package/dist/store/src/repository.d.ts.map +0 -1
  156. package/dist/store/src/repository.js +0 -580
  157. package/dist/store/src/repository.js.map +0 -1
@@ -1,219 +0,0 @@
1
- import { call, now, on, randomId } from "@welshman/lib";
2
- import { matchFilters, unionFilters } from "@welshman/util";
3
- import { ClientMessageType, RelayMessageType, getMultiplex, getPriority, isClientClose, isClientReq, isRelayClosed, isRelayEose, isRelayEvent, setPriority, setSubscriptions, } from "./message.js";
4
- import { SocketEvent } from "./socket.js";
5
- import { catchUpFilter } from "./util.js";
6
- // NIP-11 `max_filters` is commonly ten
7
- export const MULTIPLEX_MAX_FILTERS = 10;
8
- const MERGED_PREFIX = "MUX-";
9
- const getFilters = ([, , ...filters]) => filters;
10
- const setFilters = (req, filters) => {
11
- req.splice(2, Infinity, ...filters);
12
- };
13
- const getMemberFilters = (merged) => Array.from(merged.members.values()).flat();
14
- const fits = (filters) => unionFilters(filters).length <= MULTIPLEX_MAX_FILTERS;
15
- /**
16
- * Sends subscriptions that wait in a socket's queue together as one merged REQ, so requests made
17
- * at the same time use one of the relay's subscriptions rather than one each, and hands the
18
- * relay's answers back out under each subscription's own id. Merged REQs are pushed onto the
19
- * queue rather than sent, so the auth buffer keeps the original REQs to replay. Leave it out of a
20
- * pool's socket policies to send every subscription as it was asked for, or mark a single REQ with
21
- * `setMultiplex(req, false)` (a request's `multiplex: false`) to send just that one as it was.
22
- * @param socket - a Socket object
23
- * @return a cleanup function
24
- */
25
- export const socketPolicyMultiplex = (socket) => {
26
- const queue = socket._sendQueue;
27
- const mergedById = new Map();
28
- const mergedByMember = new Map();
29
- // A REQ going out as it was asked for, which the next one can still join while it waits
30
- let candidate;
31
- // The queued merged REQ that later REQs join
32
- let open;
33
- const isSending = (message) => queue.items.includes(message);
34
- // Receiving fires as a message is pushed, so it is almost always the last one in the queue
35
- const isReceiving = (message) => socket._recvQueue.items.lastIndexOf(message) !== -1;
36
- const takeBack = (message) => {
37
- const items = socket._recvQueue.items;
38
- if (items[items.length - 1] === message) {
39
- items.pop();
40
- }
41
- else {
42
- socket._recvQueue.remove(message);
43
- }
44
- };
45
- // A merged REQ asks for what its members ask for, and says whose it is so each can tell it went out
46
- const refresh = (merged) => {
47
- setFilters(merged.message, unionFilters(getMemberFilters(merged)));
48
- setSubscriptions(merged.message, Array.from(merged.members.keys()));
49
- };
50
- const join = (merged, req) => {
51
- queue.remove(req);
52
- merged.members.set(req[1], getFilters(req));
53
- mergedByMember.set(req[1], merged);
54
- refresh(merged);
55
- // The queue orders on push, so a more urgent member moves the merged REQ up
56
- if (getPriority(req) > getPriority(merged.message)) {
57
- queue.remove(merged.message);
58
- queue.push(setPriority(merged.message, getPriority(req)));
59
- }
60
- };
61
- const merge = (reqs) => {
62
- const id = `${MERGED_PREFIX}${randomId().slice(0, 8)}`;
63
- const message = setPriority([ClientMessageType.Req, id], getPriority(reqs[0]));
64
- const merged = { id, message, members: new Map(), status: "queued", stale: false };
65
- mergedById.set(id, merged);
66
- queue.push(message);
67
- for (const req of reqs) {
68
- join(merged, req);
69
- }
70
- return merged;
71
- };
72
- const forget = (merged) => {
73
- mergedById.delete(merged.id);
74
- for (const id of merged.members.keys()) {
75
- mergedByMember.delete(id);
76
- }
77
- if (merged.narrowing) {
78
- queue.remove(merged.narrowing);
79
- }
80
- if (open === merged) {
81
- open = undefined;
82
- }
83
- };
84
- // A REQ under the same id replaces the relay's subscription, and catching up skips its history
85
- const narrow = (merged) => {
86
- const filters = unionFilters(getMemberFilters(merged)).map(f => catchUpFilter(f, now()));
87
- merged.stale = false;
88
- if (merged.narrowing && isSending(merged.narrowing)) {
89
- setFilters(merged.narrowing, filters);
90
- }
91
- else {
92
- merged.narrowing = [ClientMessageType.Req, merged.id, ...filters];
93
- queue.push(merged.narrowing);
94
- }
95
- };
96
- const leave = (id) => {
97
- const merged = mergedByMember.get(id);
98
- if (merged) {
99
- merged.members.delete(id);
100
- mergedByMember.delete(id);
101
- if (merged.members.size === 0) {
102
- forget(merged);
103
- if (merged.status === "queued") {
104
- queue.remove(merged.message);
105
- }
106
- else {
107
- queue.push([ClientMessageType.Close, merged.id]);
108
- }
109
- }
110
- else if (merged.status === "queued") {
111
- refresh(merged);
112
- }
113
- else if (merged.status === "eosed") {
114
- narrow(merged);
115
- }
116
- else {
117
- // Narrowing before eose would cut short the history the rest are still receiving
118
- merged.stale = true;
119
- }
120
- }
121
- };
122
- const onReq = (req) => {
123
- if (req[1].startsWith(MERGED_PREFIX)) {
124
- // A replay of a merged REQ, which is dropped once nobody is left on it
125
- if (!mergedById.has(req[1])) {
126
- queue.remove(req);
127
- }
128
- }
129
- else {
130
- const filters = getFilters(req);
131
- // A REQ under an id that's already open replaces it
132
- leave(req[1]);
133
- // One marked to go out as it was neither joins a merged REQ nor waits for one to join it
134
- if (getMultiplex(req)) {
135
- if (open && fits([...getMemberFilters(open), ...filters])) {
136
- join(open, req);
137
- }
138
- else if (candidate &&
139
- isSending(candidate) &&
140
- fits([...getFilters(candidate), ...filters])) {
141
- open = merge([candidate, req]);
142
- candidate = undefined;
143
- }
144
- else {
145
- candidate = req;
146
- }
147
- }
148
- }
149
- };
150
- const onClose = (close) => {
151
- if (mergedByMember.has(close[1])) {
152
- queue.remove(close);
153
- leave(close[1]);
154
- }
155
- };
156
- const onSend = (message) => {
157
- const merged = isClientReq(message) ? mergedById.get(message[1]) : undefined;
158
- if (message === candidate) {
159
- candidate = undefined;
160
- }
161
- if (merged && message === merged.message) {
162
- merged.status = "sent";
163
- if (open === merged) {
164
- open = undefined;
165
- }
166
- }
167
- if (merged && message === merged.narrowing) {
168
- merged.narrowing = undefined;
169
- }
170
- };
171
- const onReceiving = (message) => {
172
- const merged = mergedById.get(message[1]);
173
- // The auth buffer takes back a refusal it means to have answered again, so leave that alone
174
- if (merged && isReceiving(message)) {
175
- if (isRelayEvent(message)) {
176
- takeBack(message);
177
- for (const [id, filters] of merged.members) {
178
- if (matchFilters(filters, message[2])) {
179
- socket.receive([RelayMessageType.Event, id, message[2]]);
180
- }
181
- }
182
- }
183
- if (isRelayEose(message)) {
184
- takeBack(message);
185
- merged.status = "eosed";
186
- if (merged.stale) {
187
- narrow(merged);
188
- }
189
- for (const id of merged.members.keys()) {
190
- socket.receive([RelayMessageType.Eose, id]);
191
- }
192
- }
193
- // Left in the queue, so the policies that counted the merged REQ out see it come back
194
- if (isRelayClosed(message)) {
195
- forget(merged);
196
- for (const id of merged.members.keys()) {
197
- socket.receive([RelayMessageType.Closed, id, message[2]]);
198
- }
199
- }
200
- }
201
- };
202
- const unsubscribers = [
203
- on(socket, SocketEvent.Sending, (message) => {
204
- // Another policy may already have taken it back out, as cancel-unsent does
205
- if (isSending(message)) {
206
- if (isClientReq(message)) {
207
- onReq(message);
208
- }
209
- if (isClientClose(message)) {
210
- onClose(message);
211
- }
212
- }
213
- }),
214
- on(socket, SocketEvent.Send, onSend),
215
- on(socket, SocketEvent.Receiving, onReceiving),
216
- ];
217
- return () => unsubscribers.forEach(call);
218
- };
219
- //# sourceMappingURL=multiplex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multiplex.js","sourceRoot":"","sources":["../../../../net/src/multiplex.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- declare class WrappedBuffer {
2
- constructor(buffer: any);
3
- unwrap(): any;
4
- get capacity(): any;
5
- extend(buf: any): void;
6
- shift(): any;
7
- shiftN(n?: number): any;
8
- }
9
- declare class NegentropyStorageVector {
10
- constructor();
11
- insert(timestamp: any, id: any): void;
12
- seal(): void;
13
- unseal(): void;
14
- size(): any;
15
- getItem(i: any): any;
16
- iterate(begin: any, end: any, cb: any): void;
17
- findLowerBound(begin: any, end: any, bound: any): any;
18
- fingerprint(begin: any, end: any): Promise<any>;
19
- _checkSealed(): void;
20
- _checkBounds(begin: any, end: any): void;
21
- _binarySearch(arr: any, first: any, last: any, cmp: any): any;
22
- }
23
- declare class Negentropy {
24
- constructor(storage: any, frameSizeLimit?: number);
25
- _bound(timestamp: any, id: any): {
26
- timestamp: any;
27
- id: any;
28
- };
29
- initiate(): Promise<any>;
30
- setInitiator(): void;
31
- reconcile(query: any): Promise<any[]>;
32
- splitRange(lower: any, upper: any, upperBound: any, o: any): Promise<void>;
33
- _renderOutput(o: any): any;
34
- exceededFrameSizeLimit(n: any): any;
35
- decodeTimestampIn(encoded: any): number;
36
- decodeBound(encoded: any): {
37
- timestamp: number;
38
- id: any;
39
- };
40
- encodeTimestampOut(timestamp: any): WrappedBuffer;
41
- encodeBound(key: any): WrappedBuffer;
42
- getMinimalBound(prev: any, curr: any): {
43
- timestamp: any;
44
- id: any;
45
- };
46
- }
47
- export { Negentropy, NegentropyStorageVector };
48
- //# sourceMappingURL=negentropy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"negentropy.d.ts","sourceRoot":"","sources":["../../../../net/src/negentropy.ts"],"names":[],"mappings":"AAcA,cAAM,aAAa;gBACL,MAAM,KAAA;IAKlB,MAAM;IAIN,IAAI,QAAQ,QAEX;IAED,MAAM,CAAC,GAAG,KAAA;IAeV,KAAK;IAOL,MAAM,CAAC,CAAC,SAAI;CAMb;AAkGD,cAAM,uBAAuB;;IAM3B,MAAM,CAAC,SAAS,KAAA,EAAE,EAAE,KAAA;IAOpB,IAAI;IAYJ,MAAM;IAIN,IAAI;IAKJ,OAAO,CAAC,CAAC,KAAA;IAMT,OAAO,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA,EAAE,EAAE,KAAA;IAStB,cAAc,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA,EAAE,KAAK,KAAA;IAO1B,WAAW,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA;IAY5B,YAAY;IAIZ,YAAY,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA;IAIvB,aAAa,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,KAAA,EAAE,GAAG,KAAA;CAkBpC;AAED,cAAM,UAAU;gBACF,OAAO,KAAA,EAAE,cAAc,SAAI;IAUvC,MAAM,CAAC,SAAS,KAAA,EAAE,EAAE,KAAA;;;;IAId,QAAQ;IAYd,YAAY;IAIN,SAAS,CAAC,KAAK,KAAA;IA2If,UAAU,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA,EAAE,UAAU,KAAA,EAAE,CAAC,KAAA;IA8C5C,aAAa,CAAC,CAAC,KAAA;IAMf,sBAAsB,CAAC,CAAC,KAAA;IAMxB,iBAAiB,CAAC,OAAO,KAAA;IAYzB,WAAW,CAAC,OAAO,KAAA;;;;IAUnB,kBAAkB,CAAC,SAAS,KAAA;IAY5B,WAAW,CAAC,GAAG,KAAA;IAUf,eAAe,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA;;;;CAgB3B;AAqED,OAAO,EAAC,UAAU,EAAE,uBAAuB,EAAC,CAAA"}