@welshman/store 0.14.0-pre4 → 0.14.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 (160) 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 +40 -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/Filters.d.ts.map +1 -1
  72. package/dist/util/src/Filters.js +6 -2
  73. package/dist/util/src/Filters.js.map +1 -1
  74. package/dist/util/src/Kinds.d.ts +1 -0
  75. package/dist/util/src/Kinds.d.ts.map +1 -1
  76. package/dist/util/src/Kinds.js +1 -0
  77. package/dist/util/src/Kinds.js.map +1 -1
  78. package/dist/util/src/RelaySelection.d.ts +5 -0
  79. package/dist/util/src/RelaySelection.d.ts.map +1 -1
  80. package/dist/util/src/RelaySelection.js.map +1 -1
  81. package/dist/util/src/Tags.d.ts +5 -0
  82. package/dist/util/src/Tags.d.ts.map +1 -1
  83. package/dist/util/src/Tags.js +3 -0
  84. package/dist/util/src/Tags.js.map +1 -1
  85. package/dist/util/src/index.d.ts +1 -0
  86. package/dist/util/src/index.d.ts.map +1 -1
  87. package/dist/util/src/index.js +1 -0
  88. package/dist/util/src/index.js.map +1 -1
  89. package/package.json +31 -12
  90. package/dist/net/src/adapter.d.ts +0 -47
  91. package/dist/net/src/adapter.d.ts.map +0 -1
  92. package/dist/net/src/adapter.js +0 -139
  93. package/dist/net/src/adapter.js.map +0 -1
  94. package/dist/net/src/auth.d.ts +0 -40
  95. package/dist/net/src/auth.d.ts.map +0 -1
  96. package/dist/net/src/auth.js +0 -131
  97. package/dist/net/src/auth.js.map +0 -1
  98. package/dist/net/src/context.d.ts +0 -10
  99. package/dist/net/src/context.d.ts.map +0 -1
  100. package/dist/net/src/context.js +0 -2
  101. package/dist/net/src/context.js.map +0 -1
  102. package/dist/net/src/count.d.ts +0 -30
  103. package/dist/net/src/count.d.ts.map +0 -1
  104. package/dist/net/src/count.js +0 -97
  105. package/dist/net/src/count.js.map +0 -1
  106. package/dist/net/src/diff.d.ts +0 -57
  107. package/dist/net/src/diff.d.ts.map +0 -1
  108. package/dist/net/src/diff.js +0 -169
  109. package/dist/net/src/diff.js.map +0 -1
  110. package/dist/net/src/index.d.ts +0 -17
  111. package/dist/net/src/index.d.ts.map +0 -1
  112. package/dist/net/src/index.js +0 -17
  113. package/dist/net/src/index.js.map +0 -1
  114. package/dist/net/src/message.d.ts +0 -106
  115. package/dist/net/src/message.d.ts.map +0 -1
  116. package/dist/net/src/message.js +0 -98
  117. package/dist/net/src/message.js.map +0 -1
  118. package/dist/net/src/multiplex.d.ts +0 -14
  119. package/dist/net/src/multiplex.d.ts.map +0 -1
  120. package/dist/net/src/multiplex.js +0 -219
  121. package/dist/net/src/multiplex.js.map +0 -1
  122. package/dist/net/src/negentropy.d.ts +0 -48
  123. package/dist/net/src/negentropy.d.ts.map +0 -1
  124. package/dist/net/src/negentropy.js +0 -528
  125. package/dist/net/src/negentropy.js.map +0 -1
  126. package/dist/net/src/policy.d.ts +0 -63
  127. package/dist/net/src/policy.d.ts.map +0 -1
  128. package/dist/net/src/policy.js +0 -388
  129. package/dist/net/src/policy.js.map +0 -1
  130. package/dist/net/src/pool.d.ts +0 -15
  131. package/dist/net/src/pool.d.ts.map +0 -1
  132. package/dist/net/src/pool.js +0 -51
  133. package/dist/net/src/pool.js.map +0 -1
  134. package/dist/net/src/publish.d.ts +0 -47
  135. package/dist/net/src/publish.d.ts.map +0 -1
  136. package/dist/net/src/publish.js +0 -112
  137. package/dist/net/src/publish.js.map +0 -1
  138. package/dist/net/src/repository.d.ts.map +0 -1
  139. package/dist/net/src/repository.js.map +0 -1
  140. package/dist/net/src/request.d.ts +0 -38
  141. package/dist/net/src/request.d.ts.map +0 -1
  142. package/dist/net/src/request.js +0 -220
  143. package/dist/net/src/request.js.map +0 -1
  144. package/dist/net/src/socket.d.ts +0 -52
  145. package/dist/net/src/socket.d.ts.map +0 -1
  146. package/dist/net/src/socket.js +0 -134
  147. package/dist/net/src/socket.js.map +0 -1
  148. package/dist/net/src/tracker.d.ts.map +0 -1
  149. package/dist/net/src/tracker.js.map +0 -1
  150. package/dist/net/src/util.d.ts +0 -18
  151. package/dist/net/src/util.d.ts.map +0 -1
  152. package/dist/net/src/util.js +0 -25
  153. package/dist/net/src/util.js.map +0 -1
  154. package/dist/net/src/wrapManager.d.ts +0 -34
  155. package/dist/net/src/wrapManager.d.ts.map +0 -1
  156. package/dist/net/src/wrapManager.js +0 -79
  157. package/dist/net/src/wrapManager.js.map +0 -1
  158. package/dist/store/src/repository.d.ts.map +0 -1
  159. package/dist/store/src/repository.js +0 -580
  160. package/dist/store/src/repository.js.map +0 -1
@@ -1,169 +0,0 @@
1
- import { EventEmitter } from "events";
2
- import { on, randomId, groupBy, pushToMapKey, inc, flatten, chunk, initArray } from "@welshman/lib";
3
- import { isRelayNegErr, isRelayNegMsg, RelayMessageType, ClientMessageType, } from "./message.js";
4
- import { getAdapter, AdapterEvent } from "./adapter.js";
5
- import { Negentropy, NegentropyStorageVector } from "./negentropy.js";
6
- import { requestOne } from "./request.js";
7
- import { publish } from "./publish.js";
8
- export var DifferenceEvent;
9
- (function (DifferenceEvent) {
10
- DifferenceEvent["Message"] = "message";
11
- DifferenceEvent["Error"] = "error";
12
- DifferenceEvent["Close"] = "close";
13
- })(DifferenceEvent || (DifferenceEvent = {}));
14
- export class Difference extends EventEmitter {
15
- options;
16
- have = new Set();
17
- need = new Set();
18
- _id = `NEG-${randomId().slice(0, 8)}`;
19
- _unsubscriber;
20
- _adapter;
21
- _closed = false;
22
- _reconcileQueue = Promise.resolve();
23
- constructor(options) {
24
- super();
25
- this.options = options;
26
- // Listen for abort
27
- options.signal?.addEventListener("abort", () => this.close());
28
- // Set up our adapter
29
- this._adapter = getAdapter(this.options.relay, this.options.context);
30
- // Set up negentropy
31
- const storage = new NegentropyStorageVector();
32
- const neg = new Negentropy(storage, 50_000);
33
- for (const event of this.options.events) {
34
- storage.insert(event.created_at, event.id);
35
- }
36
- storage.seal();
37
- // Add listeners
38
- this._unsubscriber = on(this._adapter, AdapterEvent.Receive, async (message, url) => {
39
- if (isRelayNegMsg(message)) {
40
- const [_, negid, msg] = message;
41
- if (negid === this._id) {
42
- // Serialize reconcile calls through a promise queue so that concurrent
43
- // messages don't corrupt negentropy's internal timestamp state.
44
- await (this._reconcileQueue = this._reconcileQueue.then(async () => {
45
- const [newMsg, have, need] = await neg.reconcile(msg);
46
- for (const id of have) {
47
- this.have.add(id);
48
- }
49
- for (const id of need) {
50
- this.need.add(id);
51
- }
52
- this.emit(DifferenceEvent.Message, { have, need }, url);
53
- if (newMsg) {
54
- this._adapter.send([RelayMessageType.NegMsg, this._id, newMsg]);
55
- }
56
- else {
57
- this.close();
58
- }
59
- }));
60
- }
61
- }
62
- if (isRelayNegErr(message)) {
63
- const [_, negid, msg] = message;
64
- if (negid === this._id) {
65
- this.emit(DifferenceEvent.Error, msg, url);
66
- this.close();
67
- }
68
- }
69
- });
70
- neg.initiate().then((msg) => {
71
- this._adapter.send([ClientMessageType.NegOpen, this._id, this.options.filter, msg]);
72
- });
73
- }
74
- close() {
75
- if (this._closed)
76
- return;
77
- this._adapter.send([ClientMessageType.NegClose, this._id]);
78
- this.emit(DifferenceEvent.Close);
79
- this.removeAllListeners();
80
- this._adapter.cleanup();
81
- this._unsubscriber();
82
- this._closed = true;
83
- }
84
- }
85
- export const diff = async ({ relays, filters, ...options }) => {
86
- const diffs = flatten(await Promise.all(relays.flatMap(async (relay) => {
87
- return await Promise.all(filters.map(async (filter) => new Promise((resolve, reject) => {
88
- const diff = new Difference({ relay, filter, ...options });
89
- const timeoutId = setTimeout(() => diff.close(), 30_000);
90
- diff.on(DifferenceEvent.Close, () => {
91
- clearTimeout(timeoutId);
92
- resolve({ relay, have: diff.have, need: diff.need });
93
- });
94
- diff.on(DifferenceEvent.Error, (message, url) => {
95
- // Pass, to suppress event emitter's default error propagation
96
- });
97
- })));
98
- })));
99
- return Array.from(groupBy(diff => diff.relay, diffs).entries()).map(([relay, diffs]) => {
100
- const have = new Set();
101
- const need = new Set();
102
- for (const diff of diffs) {
103
- for (const id of diff.have) {
104
- have.add(id);
105
- }
106
- for (const id of diff.need) {
107
- need.add(id);
108
- }
109
- }
110
- return { relay, have: Array.from(have), need: Array.from(need) };
111
- });
112
- };
113
- const PULL_CHUNK_SIZE = 100;
114
- const PULL_CONCURRENCY = 2;
115
- export const pull = async ({ context, ...options }) => {
116
- const countById = new Map();
117
- const idsByRelay = new Map();
118
- for (const { relay, need } of await diff({ context, ...options })) {
119
- for (const id of need) {
120
- const count = countById.get(id) || 0;
121
- // Reduce, but don't completely eliminate duplicates, just in case a relay
122
- // won't give us what we ask for.
123
- if (count < 2) {
124
- pushToMapKey(idsByRelay, relay, id);
125
- countById.set(id, inc(count));
126
- }
127
- }
128
- }
129
- const seen = new Set();
130
- const result = [];
131
- const fetchChunk = (relay, ids) => requestOne({
132
- relay,
133
- context,
134
- filters: [{ ids }],
135
- signal: options.signal,
136
- autoClose: true,
137
- onEvent: event => {
138
- if (!seen.has(event.id)) {
139
- seen.add(event.id);
140
- result.push(event);
141
- }
142
- },
143
- });
144
- await Promise.all(Array.from(idsByRelay.entries()).map(async ([relay, allIds]) => {
145
- const pending = chunk(PULL_CHUNK_SIZE, allIds).reverse();
146
- const workerCount = Math.min(PULL_CONCURRENCY, pending.length);
147
- await Promise.all(initArray(workerCount, async () => {
148
- for (let ids = pending.shift(); ids; ids = pending.shift()) {
149
- await fetchChunk(relay, ids);
150
- }
151
- }));
152
- }));
153
- return result;
154
- };
155
- export const push = async ({ context, events, ...options }) => {
156
- const relaysById = new Map();
157
- for (const { relay, have } of await diff({ context, events, ...options })) {
158
- for (const id of have) {
159
- pushToMapKey(relaysById, id, relay);
160
- }
161
- }
162
- await Promise.all(events.map(async (event) => {
163
- const relays = relaysById.get(event.id);
164
- if (relays) {
165
- await publish({ event, relays, context, signal: options.signal });
166
- }
167
- }));
168
- };
169
- //# sourceMappingURL=diff.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../../net/src/diff.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- export * from "./adapter.js";
2
- export * from "./auth.js";
3
- export * from "./context.js";
4
- export * from "./count.js";
5
- export * from "./diff.js";
6
- export * from "./message.js";
7
- export * from "./multiplex.js";
8
- export * from "./negentropy.js";
9
- export * from "./policy.js";
10
- export * from "./pool.js";
11
- export * from "./publish.js";
12
- export * from "./socket.js";
13
- export * from "./repository.js";
14
- export * from "./request.js";
15
- export * from "./tracker.js";
16
- export * from "./wrapManager.js";
17
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../net/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
@@ -1,17 +0,0 @@
1
- export * from "./adapter.js";
2
- export * from "./auth.js";
3
- export * from "./context.js";
4
- export * from "./count.js";
5
- export * from "./diff.js";
6
- export * from "./message.js";
7
- export * from "./multiplex.js";
8
- export * from "./negentropy.js";
9
- export * from "./policy.js";
10
- export * from "./pool.js";
11
- export * from "./publish.js";
12
- export * from "./socket.js";
13
- export * from "./repository.js";
14
- export * from "./request.js";
15
- export * from "./tracker.js";
16
- export * from "./wrapManager.js";
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../net/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
@@ -1,106 +0,0 @@
1
- import type { SignedEvent, Filter } from "@welshman/util";
2
- export declare enum RelayMessageType {
3
- Notice = "NOTICE",
4
- Notify = "NOTIFY",
5
- Auth = "AUTH",
6
- Closed = "CLOSED",
7
- Count = "COUNT",
8
- Eose = "EOSE",
9
- Event = "EVENT",
10
- NegMsg = "NEG-MSG",
11
- NegErr = "NEG-ERR",
12
- Ok = "OK"
13
- }
14
- export type RelayMessage = any[];
15
- export type RelayNoticePayload = [string];
16
- export type RelayNotifyPayload = [string];
17
- export type RelayAuthPayload = [string];
18
- export type RelayClosedPayload = [string, string];
19
- export type RelayCountPayload = [string, {
20
- count: number;
21
- approximate?: boolean;
22
- }];
23
- export type RelayEosePayload = [string];
24
- export type RelayEventPayload = [string, SignedEvent];
25
- export type RelayNegErrPayload = [string, string];
26
- export type RelayNegMsgPayload = [string, string];
27
- export type RelayOkPayload = [string, boolean, string];
28
- export type RelayNotice = [RelayMessageType.Notice, ...RelayNoticePayload];
29
- export type RelayNotify = [RelayMessageType.Notify, ...RelayNotifyPayload];
30
- export type RelayAuth = [RelayMessageType.Auth, ...RelayAuthPayload];
31
- export type RelayClosed = [RelayMessageType.Closed, ...RelayClosedPayload];
32
- export type RelayCount = [RelayMessageType.Count, ...RelayCountPayload];
33
- export type RelayEose = [RelayMessageType.Eose, ...RelayEosePayload];
34
- export type RelayEvent = [RelayMessageType.Event, ...RelayEventPayload];
35
- export type RelayNegErr = [RelayMessageType.NegErr, ...RelayNegErrPayload];
36
- export type RelayNegMsg = [RelayMessageType.NegMsg, ...RelayNegMsgPayload];
37
- export type RelayOk = [RelayMessageType.Ok, ...RelayOkPayload];
38
- export declare const isRelayNotice: (m: RelayMessage) => m is RelayNotice;
39
- export declare const isRelayNotify: (m: RelayMessage) => m is RelayNotify;
40
- export declare const isRelayAuth: (m: RelayMessage) => m is RelayAuth;
41
- export declare const isRelayClosed: (m: RelayMessage) => m is RelayClosed;
42
- export declare const isRelayCount: (m: RelayMessage) => m is RelayCount;
43
- export declare const isRelayEose: (m: RelayMessage) => m is RelayEose;
44
- export declare const isRelayEvent: (m: RelayMessage) => m is RelayEvent;
45
- export declare const isRelayNegErr: (m: RelayMessage) => m is RelayNegErr;
46
- export declare const isRelayNegMsg: (m: RelayMessage) => m is RelayNegMsg;
47
- export declare const isRelayOk: (m: RelayMessage) => m is RelayOk;
48
- export declare enum RelayReasonPrefix {
49
- AuthRequired = "auth-required",
50
- Blocked = "blocked",
51
- Invalid = "invalid",
52
- Mute = "mute",
53
- Pow = "pow",
54
- RateLimited = "rate-limited",
55
- Restricted = "restricted",
56
- Unsupported = "unsupported"
57
- }
58
- export declare const matchReason: (prefix: RelayReasonPrefix, reason: string) => boolean;
59
- export declare const isTerminalReason: (reason?: string) => boolean;
60
- export declare enum ClientMessageType {
61
- Auth = "AUTH",
62
- Close = "CLOSE",
63
- Count = "COUNT",
64
- Event = "EVENT",
65
- NegClose = "NEG-CLOSE",
66
- NegOpen = "NEG-OPEN",
67
- Req = "REQ"
68
- }
69
- export type ClientMessage = any[];
70
- export type ClientAuthPayload = [string];
71
- export type ClientClosePayload = [string];
72
- export type ClientCountPayload = [string, ...Filter[]];
73
- export type ClientEventPayload = [SignedEvent];
74
- export type ClientNegClosePayload = [string];
75
- export type ClientNegOpenPayload = [string, Filter, string];
76
- export type ClientReqPayload = [string, ...Filter[]];
77
- export type ClientAuth = [ClientMessageType.Auth, ...ClientAuthPayload];
78
- export type ClientClose = [ClientMessageType.Close, ...ClientClosePayload];
79
- export type ClientCount = [ClientMessageType.Count, ...ClientCountPayload];
80
- export type ClientEvent = [ClientMessageType.Event, ...ClientEventPayload];
81
- export type ClientNegClose = [ClientMessageType.NegClose, ...ClientNegClosePayload];
82
- export type ClientNegOpen = [ClientMessageType.NegOpen, ...ClientNegOpenPayload];
83
- export type ClientReq = [ClientMessageType.Req, ...ClientReqPayload];
84
- export declare const isClientAuth: (m: ClientMessage) => m is ClientAuth;
85
- export declare const isClientClose: (m: ClientMessage) => m is ClientClose;
86
- export declare const isClientCount: (m: ClientMessage) => m is ClientCount;
87
- export declare const isClientEvent: (m: ClientMessage) => m is ClientEvent;
88
- export declare const isClientNegClose: (m: ClientMessage) => m is ClientNegClose;
89
- export declare const isClientNegOpen: (m: ClientMessage) => m is ClientNegOpen;
90
- export declare const isClientReq: (m: ClientMessage) => m is ClientReq;
91
- export declare const MessagePriority: unique symbol;
92
- export declare const DEFAULT_PRIORITY = 0;
93
- export declare const setPriority: <T extends ClientMessage>(message: T, priority?: number) => T;
94
- export declare const getPriority: (message: ClientMessage) => number;
95
- export declare const copyPriority: <T extends ClientMessage>(message: T, source: ClientMessage) => T;
96
- export declare const MessageMultiplex: unique symbol;
97
- /** Passing false sends a REQ as it was asked for, rather than merged with others by `socketPolicyMultiplex`. */
98
- export declare const setMultiplex: <T extends ClientMessage>(message: T, multiplex?: boolean) => T;
99
- export declare const getMultiplex: (message: ClientMessage) => boolean;
100
- export declare const copyMultiplex: <T extends ClientMessage>(message: T, source: ClientMessage) => T;
101
- export declare const MessageSubscriptions: unique symbol;
102
- /** Records the subscriptions a merged REQ answers for. */
103
- export declare const setSubscriptions: (req: ClientReq, ids: string[]) => [ClientMessageType.Req, string, ...Filter[]];
104
- /** The subscriptions a REQ answers for: its own, or its members' when it was merged. */
105
- export declare const getSubscriptions: (req: ClientReq) => string[];
106
- //# sourceMappingURL=message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../net/src/message.ts"],"names":[],"mappings":"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"}
@@ -1,98 +0,0 @@
1
- // relay -> client
2
- export var RelayMessageType;
3
- (function (RelayMessageType) {
4
- RelayMessageType["Notice"] = "NOTICE";
5
- RelayMessageType["Notify"] = "NOTIFY";
6
- RelayMessageType["Auth"] = "AUTH";
7
- RelayMessageType["Closed"] = "CLOSED";
8
- RelayMessageType["Count"] = "COUNT";
9
- RelayMessageType["Eose"] = "EOSE";
10
- RelayMessageType["Event"] = "EVENT";
11
- RelayMessageType["NegMsg"] = "NEG-MSG";
12
- RelayMessageType["NegErr"] = "NEG-ERR";
13
- RelayMessageType["Ok"] = "OK";
14
- })(RelayMessageType || (RelayMessageType = {}));
15
- export const isRelayNotice = (m) => m[0] === RelayMessageType.Notice;
16
- export const isRelayNotify = (m) => m[0] === RelayMessageType.Notify;
17
- export const isRelayAuth = (m) => m[0] === RelayMessageType.Auth;
18
- export const isRelayClosed = (m) => m[0] === RelayMessageType.Closed;
19
- export const isRelayCount = (m) => m[0] === RelayMessageType.Count;
20
- export const isRelayEose = (m) => m[0] === RelayMessageType.Eose;
21
- export const isRelayEvent = (m) => m[0] === RelayMessageType.Event;
22
- export const isRelayNegErr = (m) => m[0] === RelayMessageType.NegErr;
23
- export const isRelayNegMsg = (m) => m[0] === RelayMessageType.NegMsg;
24
- export const isRelayOk = (m) => m[0] === RelayMessageType.Ok;
25
- export var RelayReasonPrefix;
26
- (function (RelayReasonPrefix) {
27
- RelayReasonPrefix["AuthRequired"] = "auth-required";
28
- RelayReasonPrefix["Blocked"] = "blocked";
29
- RelayReasonPrefix["Invalid"] = "invalid";
30
- RelayReasonPrefix["Mute"] = "mute";
31
- RelayReasonPrefix["Pow"] = "pow";
32
- RelayReasonPrefix["RateLimited"] = "rate-limited";
33
- RelayReasonPrefix["Restricted"] = "restricted";
34
- RelayReasonPrefix["Unsupported"] = "unsupported";
35
- })(RelayReasonPrefix || (RelayReasonPrefix = {}));
36
- export const matchReason = (prefix, reason) => new RegExp(`(^|\\s)${prefix}:`, "i").test(reason);
37
- export const isTerminalReason = (reason = "") => [
38
- RelayReasonPrefix.AuthRequired,
39
- RelayReasonPrefix.Blocked,
40
- RelayReasonPrefix.Invalid,
41
- RelayReasonPrefix.Mute,
42
- RelayReasonPrefix.Pow,
43
- RelayReasonPrefix.Restricted,
44
- RelayReasonPrefix.Unsupported,
45
- ].some(prefix => matchReason(prefix, reason));
46
- // client -> relay
47
- export var ClientMessageType;
48
- (function (ClientMessageType) {
49
- ClientMessageType["Auth"] = "AUTH";
50
- ClientMessageType["Close"] = "CLOSE";
51
- ClientMessageType["Count"] = "COUNT";
52
- ClientMessageType["Event"] = "EVENT";
53
- ClientMessageType["NegClose"] = "NEG-CLOSE";
54
- ClientMessageType["NegOpen"] = "NEG-OPEN";
55
- ClientMessageType["Req"] = "REQ";
56
- })(ClientMessageType || (ClientMessageType = {}));
57
- export const isClientAuth = (m) => m[0] === ClientMessageType.Auth;
58
- export const isClientClose = (m) => m[0] === ClientMessageType.Close;
59
- export const isClientCount = (m) => m[0] === ClientMessageType.Count;
60
- export const isClientEvent = (m) => m[0] === ClientMessageType.Event;
61
- export const isClientNegClose = (m) => m[0] === ClientMessageType.NegClose;
62
- export const isClientNegOpen = (m) => m[0] === ClientMessageType.NegOpen;
63
- export const isClientReq = (m) => m[0] === ClientMessageType.Req;
64
- // priority
65
- export const MessagePriority = Symbol("MessagePriority");
66
- export const DEFAULT_PRIORITY = 0;
67
- export const setPriority = (message, priority = DEFAULT_PRIORITY) => {
68
- if (priority !== DEFAULT_PRIORITY) {
69
- ;
70
- message[MessagePriority] = priority;
71
- }
72
- return message;
73
- };
74
- export const getPriority = (message) => message[MessagePriority] ?? DEFAULT_PRIORITY;
75
- export const copyPriority = (message, source) => setPriority(message, getPriority(source));
76
- // multiplexing
77
- export const MessageMultiplex = Symbol("MessageMultiplex");
78
- /** Passing false sends a REQ as it was asked for, rather than merged with others by `socketPolicyMultiplex`. */
79
- export const setMultiplex = (message, multiplex = true) => {
80
- if (!multiplex) {
81
- ;
82
- message[MessageMultiplex] = false;
83
- }
84
- return message;
85
- };
86
- export const getMultiplex = (message) => message[MessageMultiplex] ?? true;
87
- export const copyMultiplex = (message, source) => setMultiplex(message, getMultiplex(source));
88
- // subscriptions
89
- export const MessageSubscriptions = Symbol("MessageSubscriptions");
90
- /** Records the subscriptions a merged REQ answers for. */
91
- export const setSubscriptions = (req, ids) => {
92
- ;
93
- req[MessageSubscriptions] = ids;
94
- return req;
95
- };
96
- /** The subscriptions a REQ answers for: its own, or its members' when it was merged. */
97
- export const getSubscriptions = (req) => req[MessageSubscriptions] ?? [req[1]];
98
- //# sourceMappingURL=message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../net/src/message.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { Socket } from "./socket.js";
2
- export declare const MULTIPLEX_MAX_FILTERS = 10;
3
- /**
4
- * Sends subscriptions that wait in a socket's queue together as one merged REQ, so requests made
5
- * at the same time use one of the relay's subscriptions rather than one each, and hands the
6
- * relay's answers back out under each subscription's own id. Merged REQs are pushed onto the
7
- * queue rather than sent, so the auth buffer keeps the original REQs to replay. Leave it out of a
8
- * pool's socket policies to send every subscription as it was asked for, or mark a single REQ with
9
- * `setMultiplex(req, false)` (a request's `multiplex: false`) to send just that one as it was.
10
- * @param socket - a Socket object
11
- * @return a cleanup function
12
- */
13
- export declare const socketPolicyMultiplex: (socket: Socket) => () => void;
14
- //# sourceMappingURL=multiplex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multiplex.d.ts","sourceRoot":"","sources":["../../../../net/src/multiplex.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,MAAM,EAAc,MAAM,aAAa,CAAA;AAI/C,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAuBvC;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,eAsOnD,CAAA"}