@livestore/webmesh 0.4.0-dev.9 → 0.5.0-dev.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.
- package/README.md +5 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/channel/direct-channel-internal.d.ts +2 -3
- package/dist/channel/direct-channel-internal.d.ts.map +1 -1
- package/dist/channel/direct-channel-internal.js +35 -38
- package/dist/channel/direct-channel-internal.js.map +1 -1
- package/dist/channel/direct-channel.d.ts.map +1 -1
- package/dist/channel/direct-channel.js +22 -23
- package/dist/channel/direct-channel.js.map +1 -1
- package/dist/channel/proxy-channel.d.ts +29 -5
- package/dist/channel/proxy-channel.d.ts.map +1 -1
- package/dist/channel/proxy-channel.js +87 -37
- package/dist/channel/proxy-channel.js.map +1 -1
- package/dist/common.d.ts +33 -35
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +7 -7
- package/dist/common.js.map +1 -1
- package/dist/mesh-schema.d.ts +262 -136
- package/dist/mesh-schema.d.ts.map +1 -1
- package/dist/mesh-schema.js +45 -44
- package/dist/mesh-schema.js.map +1 -1
- package/dist/node.d.ts +12 -6
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +47 -44
- package/dist/node.js.map +1 -1
- package/dist/node.test.js +253 -63
- package/dist/node.test.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/dist/websocket-edge.d.ts +20 -18
- package/dist/websocket-edge.d.ts.map +1 -1
- package/dist/websocket-edge.js +33 -41
- package/dist/websocket-edge.js.map +1 -1
- package/dist/websocket-edge.test.d.ts +7 -0
- package/dist/websocket-edge.test.d.ts.map +1 -0
- package/dist/websocket-edge.test.js +74 -0
- package/dist/websocket-edge.test.js.map +1 -0
- package/dist/worker/mod.d.ts +24 -0
- package/dist/worker/mod.d.ts.map +1 -0
- package/dist/worker/mod.js +44 -0
- package/dist/worker/mod.js.map +1 -0
- package/dist/worker/schema.d.ts +10 -0
- package/dist/worker/schema.d.ts.map +1 -0
- package/dist/worker/schema.js +7 -0
- package/dist/worker/schema.js.map +1 -0
- package/package.json +48 -12
- package/src/channel/direct-channel-internal.ts +41 -47
- package/src/channel/direct-channel.ts +28 -25
- package/src/channel/proxy-channel.ts +120 -57
- package/src/common.ts +9 -7
- package/src/mesh-schema.ts +34 -33
- package/src/node.test.ts +356 -80
- package/src/node.ts +63 -55
- package/src/utils.ts +3 -3
- package/src/websocket-edge.test.ts +98 -0
- package/src/websocket-edge.ts +52 -48
- package/src/worker/mod.ts +89 -0
- package/src/worker/schema.ts +8 -0
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
import { casesHandled, shouldNeverHappen } from '@livestore/utils';
|
|
2
|
-
import { Deferred, Effect,
|
|
2
|
+
import { Deferred, Effect, Result, Exit, Fiber, FiberHandle, Queue, Schedule, Schema, Scope, Stream, SubscriptionRef, WebChannel, } from '@livestore/utils/effect';
|
|
3
3
|
import { nanoid } from '@livestore/utils/nanoid';
|
|
4
4
|
import { packetAsOtelAttributes, } from "../common.js";
|
|
5
5
|
import * as MeshSchema from "../mesh-schema.js";
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Simulation parameters for proxy channel operations.
|
|
8
|
+
* Used for testing race conditions and timing-sensitive behavior.
|
|
9
|
+
*
|
|
10
|
+
* Each parameter represents a delay (in ms) injected at a specific point in the code.
|
|
11
|
+
* Values are bounded 0-500ms to prevent tests from running too long.
|
|
12
|
+
*/
|
|
13
|
+
export const ProxyChannelSimulationParams = Schema.Struct({
|
|
14
|
+
/**
|
|
15
|
+
* Delays related to receiving and processing payload messages
|
|
16
|
+
*/
|
|
17
|
+
onPayload: Schema.Struct({
|
|
18
|
+
/** Delay before sending the ACK response (simulates slow ACK send) */
|
|
19
|
+
beforeAckSend: Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 500 })),
|
|
20
|
+
/** Delay after forking the ACK send, before adding message to listen queue */
|
|
21
|
+
afterAckFork: Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 500 })),
|
|
22
|
+
/** Delay after adding message to listen queue */
|
|
23
|
+
afterListenQueueOffer: Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 500 })),
|
|
24
|
+
}),
|
|
25
|
+
});
|
|
26
|
+
/** Default simulation params with no delays */
|
|
27
|
+
export const defaultSimulationParams = {
|
|
28
|
+
onPayload: {
|
|
29
|
+
beforeAckSend: 0,
|
|
30
|
+
afterAckFork: 0,
|
|
31
|
+
afterListenQueueOffer: 0,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, sendPacket, target, channelName, schema, simulation = defaultSimulationParams, }) => Effect.scopeWithCloseable((scope) => Effect.gen(function* () {
|
|
35
|
+
/** Helper to inject simulation delays at specific code points */
|
|
36
|
+
const simSleep = (key, key2) => {
|
|
37
|
+
const delay = (simulation[key]?.[key2] ?? 0);
|
|
38
|
+
return delay > 0 ? Effect.sleep(delay) : Effect.void;
|
|
39
|
+
};
|
|
7
40
|
const channelStateRef = { current: { _tag: 'Initial' } };
|
|
8
41
|
const debugInfo = {
|
|
9
42
|
kind: 'proxy-channel',
|
|
@@ -20,6 +53,10 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
|
|
|
20
53
|
yield* Effect.annotateCurrentSpan({ channelIdCandidate });
|
|
21
54
|
const channelSpan = yield* Effect.currentSpan.pipe(Effect.orDie);
|
|
22
55
|
const connectedStateRef = yield* SubscriptionRef.make(false);
|
|
56
|
+
// Incoming packets can be processed as soon as the queue-draining fiber starts, so state
|
|
57
|
+
// referenced by established channels must exist before that processor is forked.
|
|
58
|
+
const listenQueue = yield* Queue.unbounded();
|
|
59
|
+
const ackMap = new Map();
|
|
23
60
|
const waitForEstablished = Effect.gen(function* () {
|
|
24
61
|
const state = yield* SubscriptionRef.waitUntil(connectedStateRef, (state) => state !== false);
|
|
25
62
|
return state;
|
|
@@ -38,8 +75,8 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
|
|
|
38
75
|
debugInfo.isConnected = true;
|
|
39
76
|
});
|
|
40
77
|
const edgeRequest = Effect.suspend(() => sendPacket(MeshSchema.ProxyChannelRequest.make({ channelName, hops: [], source: nodeName, target, channelIdCandidate })));
|
|
41
|
-
const getCombinedChannelId = (otherSideChannelIdCandidate) => [channelIdCandidate, otherSideChannelIdCandidate].
|
|
42
|
-
const earlyPayloadBuffer = yield* Queue.unbounded()
|
|
78
|
+
const getCombinedChannelId = (otherSideChannelIdCandidate) => [channelIdCandidate, otherSideChannelIdCandidate].toSorted().join('_');
|
|
79
|
+
const earlyPayloadBuffer = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
|
|
43
80
|
const processProxyPacket = ({ packet, respondToSender }) => Effect.gen(function* () {
|
|
44
81
|
// yield* Effect.logDebug(
|
|
45
82
|
// `[${nodeName}] processProxyPacket received: ${packet._tag} from ${packet.source} (reqId: ${packet.id})`,
|
|
@@ -120,7 +157,7 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
|
|
|
120
157
|
const establishedState = channelStateRef.current;
|
|
121
158
|
if (establishedState._tag === 'Established') {
|
|
122
159
|
//
|
|
123
|
-
const bufferedPackets = yield* Queue.
|
|
160
|
+
const bufferedPackets = yield* Queue.clear(earlyPayloadBuffer);
|
|
124
161
|
// yield* Effect.logDebug(
|
|
125
162
|
// `[${nodeName}] Draining early payload buffer (${bufferedPackets.length}) after ResponseSuccess`,
|
|
126
163
|
// )
|
|
@@ -129,8 +166,8 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
|
|
|
129
166
|
yield* Effect.logWarning(`[${nodeName}] Discarding buffered payload ${bufferedPacket.id}: Combined channel ID mismatch during drain. Expected ${establishedState.combinedChannelId}, got ${bufferedPacket.combinedChannelId}`);
|
|
130
167
|
continue;
|
|
131
168
|
}
|
|
132
|
-
const decodedMessage = yield* Schema.
|
|
133
|
-
yield*
|
|
169
|
+
const decodedMessage = yield* Schema.decodeUnknownEffect(establishedState.listenSchema)(bufferedPacket.payload);
|
|
170
|
+
yield* Queue.offer(establishedState.listenQueue, decodedMessage);
|
|
134
171
|
}
|
|
135
172
|
}
|
|
136
173
|
else {
|
|
@@ -142,37 +179,50 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
|
|
|
142
179
|
if (channelState._tag === 'Established' && channelState.combinedChannelId !== packet.combinedChannelId) {
|
|
143
180
|
return yield* Effect.die(`ProxyChannel[${channelKey}]: Expected proxy channel to have the same combinedChannelId as the packet:\n${channelState.combinedChannelId} (channel) === ${packet.combinedChannelId} (packet)`);
|
|
144
181
|
}
|
|
145
|
-
//
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
182
|
+
// Send ACK fire-and-forget to avoid blocking message processing
|
|
183
|
+
// This is critical because blocking ACK sends can prevent messages from reaching the listen queue
|
|
184
|
+
// See test: "ACK forkScoped regression tests" for documentation
|
|
185
|
+
// The ACK send effect with optional simulation delay INSIDE the fork
|
|
186
|
+
// This is key for testing: with forkScoped, the delay happens in background and doesn't block message processing
|
|
187
|
+
// Without forkScoped (blocking), the delay would block the message from being added to listen queue
|
|
188
|
+
const ackSendEffect = Effect.gen(function* () {
|
|
189
|
+
yield* simSleep('onPayload', 'beforeAckSend');
|
|
190
|
+
yield* respondToSender(MeshSchema.ProxyChannelPayloadAck.make({
|
|
191
|
+
reqId: packet.id,
|
|
192
|
+
remainingHops: packet.hops,
|
|
193
|
+
hops: [],
|
|
194
|
+
target,
|
|
195
|
+
source: nodeName,
|
|
196
|
+
channelName,
|
|
197
|
+
combinedChannelId: channelState._tag === 'Established' ? channelState.combinedChannelId : packet.combinedChannelId,
|
|
198
|
+
}));
|
|
199
|
+
});
|
|
200
|
+
yield* ackSendEffect.pipe(Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
201
|
+
// Simulation point: delay after forking ACK (before processing message)
|
|
202
|
+
yield* simSleep('onPayload', 'afterAckFork');
|
|
155
203
|
if (channelState._tag === 'Established') {
|
|
156
|
-
const decodedMessage = yield* Schema.
|
|
157
|
-
yield*
|
|
204
|
+
const decodedMessage = yield* Schema.decodeUnknownEffect(channelState.listenSchema)(packet.payload);
|
|
205
|
+
yield* Queue.offer(channelState.listenQueue, decodedMessage);
|
|
206
|
+
// Simulation point: delay after adding to listen queue
|
|
207
|
+
yield* simSleep('onPayload', 'afterListenQueueOffer');
|
|
158
208
|
}
|
|
159
209
|
else {
|
|
160
|
-
// yield* Effect.logDebug(
|
|
161
|
-
// `[${nodeName}] Buffering early payload reqId: ${packet.id} (state: ${channelState._tag})`,
|
|
162
|
-
// )
|
|
163
210
|
yield* Queue.offer(earlyPayloadBuffer, packet);
|
|
164
211
|
}
|
|
165
212
|
return;
|
|
166
213
|
}
|
|
167
214
|
case 'ProxyChannelPayloadAck': {
|
|
168
|
-
// yield* Effect.logDebug(`[${nodeName}] Received Ack for reqId: ${packet.reqId}`)
|
|
169
215
|
if (channelState._tag !== 'Established') {
|
|
170
216
|
yield* Effect.spanEvent(`Not yet connected to ${target}. dropping message`);
|
|
171
217
|
yield* Effect.logWarning(`[${nodeName}] Received Ack but not established (State: ${channelState._tag}). Dropping Ack for ${packet.reqId}`);
|
|
172
218
|
return;
|
|
173
219
|
}
|
|
174
|
-
|
|
175
|
-
|
|
220
|
+
// Handle missing ACK gracefully - can happen with synthetic ACKs from relay or duplicate ACKs
|
|
221
|
+
const ack = channelState.ackMap.get(packet.reqId);
|
|
222
|
+
if (ack === undefined) {
|
|
223
|
+
yield* Effect.logDebug(`Received ACK for unknown reqId: ${packet.reqId} (may be synthetic or duplicate)`);
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
176
226
|
yield* Deferred.succeed(ack, void 0);
|
|
177
227
|
channelState.ackMap.delete(packet.reqId);
|
|
178
228
|
return;
|
|
@@ -184,10 +234,7 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
|
|
|
184
234
|
}).pipe(Effect.withSpan(`handleProxyPacket:${packet._tag}:${packet.source}->${packet.target}`, {
|
|
185
235
|
attributes: packetAsOtelAttributes(packet),
|
|
186
236
|
}));
|
|
187
|
-
yield* Stream.fromQueue(queue).pipe(Stream.tap(processProxyPacket), Stream.runDrain, Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
188
|
-
const listenQueue = yield* Queue.unbounded();
|
|
189
237
|
yield* Effect.spanEvent(`Connecting`);
|
|
190
|
-
const ackMap = new Map();
|
|
191
238
|
// check if already established via incoming `ProxyChannelRequest` from other side
|
|
192
239
|
// which indicates we already have a edge to the target node
|
|
193
240
|
// const channelState = channelStateRef.current
|
|
@@ -198,12 +245,15 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
|
|
|
198
245
|
channelStateRef.current = { _tag: 'Pending', initiatedVia: 'outgoing-request' };
|
|
199
246
|
yield* edgeRequest;
|
|
200
247
|
const retryOnNewEdgeFiber = yield* Stream.fromPubSub(newEdgeAvailablePubSub).pipe(Stream.tap(() => edgeRequest), Stream.runDrain, Effect.forkScoped);
|
|
248
|
+
// Drain queued proxy packets only after the local side entered `Pending` and sent its
|
|
249
|
+
// request. Otherwise an already-buffered response can race initialization.
|
|
250
|
+
yield* Stream.fromQueue(queue).pipe(Stream.tap(processProxyPacket), Stream.runDrain, Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
201
251
|
const { combinedChannelId: channelId } = yield* waitForEstablished;
|
|
202
252
|
yield* Fiber.interrupt(retryOnNewEdgeFiber);
|
|
203
253
|
yield* setStateToEstablished(channelId);
|
|
204
254
|
}
|
|
205
255
|
const send = (message) => Effect.gen(function* () {
|
|
206
|
-
const payload = yield* Schema.
|
|
256
|
+
const payload = yield* Schema.encodeUnknownEffect(schema.send)(message);
|
|
207
257
|
const sendFiberHandle = yield* FiberHandle.make();
|
|
208
258
|
const sentDeferred = yield* Deferred.make();
|
|
209
259
|
debugInfo.pendingSends++;
|
|
@@ -225,22 +275,22 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
|
|
|
225
275
|
// as only successful acks are removed from the map
|
|
226
276
|
ackMap.set(packet.id, ack);
|
|
227
277
|
yield* sendPacket(packet);
|
|
228
|
-
yield* ack;
|
|
278
|
+
yield* Deferred.await(ack);
|
|
229
279
|
yield* Deferred.succeed(sentDeferred, void 0);
|
|
230
280
|
debugInfo.pendingSends--;
|
|
231
281
|
});
|
|
232
282
|
// TODO make this configurable
|
|
233
283
|
// Schedule.exponential(10): 10, 20, 40, 80, 160, 320, ...
|
|
234
284
|
yield* innerSend.pipe(Effect.timeout(100), Effect.retry(Schedule.exponential(10)), Effect.orDie);
|
|
235
|
-
}).pipe(Effect.
|
|
236
|
-
const rerunOnNewChannelFiber = yield*
|
|
285
|
+
}).pipe(Effect.tapCause(Effect.logError));
|
|
286
|
+
const rerunOnNewChannelFiber = yield* SubscriptionRef.changes(connectedStateRef).pipe(Stream.filter((_) => _ === false), Stream.tap(() => FiberHandle.run(sendFiberHandle, trySend)), Stream.runDrain, Effect.forkChild);
|
|
237
287
|
yield* FiberHandle.run(sendFiberHandle, trySend);
|
|
238
|
-
yield* sentDeferred;
|
|
288
|
+
yield* Deferred.await(sentDeferred);
|
|
239
289
|
yield* Fiber.interrupt(rerunOnNewChannelFiber);
|
|
240
290
|
}).pipe(Effect.scoped, Effect.withSpan(`sendAckWithRetry:ProxyChannelPayload`), Effect.withParentSpan(channelSpan));
|
|
241
|
-
const listen = Stream.fromQueue(listenQueue).pipe(Stream.map(
|
|
242
|
-
const closedDeferred = yield* Deferred.make()
|
|
243
|
-
const
|
|
291
|
+
const listen = Stream.fromQueue(listenQueue).pipe(Stream.map(Result.succeed));
|
|
292
|
+
const closedDeferred = yield* Effect.acquireRelease(Deferred.make(), Deferred.done(Exit.void));
|
|
293
|
+
const services = yield* Effect.context();
|
|
244
294
|
const webChannel = {
|
|
245
295
|
[WebChannel.WebChannelSymbol]: WebChannel.WebChannelSymbol,
|
|
246
296
|
send,
|
|
@@ -252,7 +302,7 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
|
|
|
252
302
|
debugInfo,
|
|
253
303
|
...{
|
|
254
304
|
debug: {
|
|
255
|
-
ping: (message = 'ping') => send(WebChannel.DebugPingMessage.make({ message })).pipe(Effect.provide(
|
|
305
|
+
ping: (message = 'ping') => send(WebChannel.DebugPingMessage.make({ message })).pipe(Effect.provide(services), Effect.tapCauseLogPretty, Effect.runFork),
|
|
256
306
|
},
|
|
257
307
|
},
|
|
258
308
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-channel.js","sourceRoot":"","sources":["../../src/channel/proxy-channel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proxy-channel.js","sourceRoot":"","sources":["../../src/channel/proxy-channel.ts"],"names":[],"mappings":"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"}
|
package/dist/common.d.ts
CHANGED
|
@@ -11,18 +11,15 @@ export type MessageQueueItem = {
|
|
|
11
11
|
export type MeshNodeName = string;
|
|
12
12
|
export type ChannelName = string;
|
|
13
13
|
export type ChannelKey = `target:${MeshNodeName}, channelName:${ChannelName}`;
|
|
14
|
-
declare const EdgeAlreadyExistsError_base: Schema.
|
|
15
|
-
readonly
|
|
16
|
-
}
|
|
17
|
-
target: typeof Schema.String;
|
|
18
|
-
}>;
|
|
14
|
+
declare const EdgeAlreadyExistsError_base: Schema.Class<EdgeAlreadyExistsError, Schema.TaggedStruct<"EdgeAlreadyExistsError", {
|
|
15
|
+
readonly target: Schema.String;
|
|
16
|
+
}>, import("effect/Cause").YieldableError>;
|
|
19
17
|
export declare class EdgeAlreadyExistsError extends EdgeAlreadyExistsError_base {
|
|
20
18
|
}
|
|
21
19
|
export declare const packetAsOtelAttributes: (packet: typeof Packet.Type) => {
|
|
22
20
|
packet: {
|
|
23
|
-
readonly remainingHops?: readonly string[] | undefined;
|
|
24
|
-
readonly channelVersion: number;
|
|
25
21
|
readonly reqId: string | undefined;
|
|
22
|
+
readonly channelVersion: number;
|
|
26
23
|
readonly sourceId: string;
|
|
27
24
|
readonly id: string;
|
|
28
25
|
readonly target: string;
|
|
@@ -30,81 +27,82 @@ export declare const packetAsOtelAttributes: (packet: typeof Packet.Type) => {
|
|
|
30
27
|
readonly channelName: string;
|
|
31
28
|
readonly hops: readonly string[];
|
|
32
29
|
readonly _tag: "DirectChannelRequest";
|
|
30
|
+
readonly remainingHops?: readonly string[] | undefined;
|
|
33
31
|
} | {
|
|
34
|
-
readonly
|
|
32
|
+
readonly _tag: "DirectChannelResponseNoTransferables";
|
|
35
33
|
readonly reqId: string;
|
|
34
|
+
readonly remainingHops: readonly string[];
|
|
36
35
|
readonly id: string;
|
|
37
36
|
readonly target: string;
|
|
38
37
|
readonly source: string;
|
|
39
38
|
readonly channelName: string;
|
|
40
39
|
readonly hops: readonly string[];
|
|
41
|
-
readonly _tag: "DirectChannelResponseNoTransferables";
|
|
42
40
|
} | {
|
|
43
|
-
readonly remainingHops?: undefined;
|
|
44
41
|
readonly id: string;
|
|
45
42
|
readonly target: string;
|
|
46
43
|
readonly source: string;
|
|
47
44
|
readonly channelName: string;
|
|
48
45
|
readonly hops: readonly string[];
|
|
49
|
-
readonly _tag: "ProxyChannelRequest";
|
|
50
46
|
readonly channelIdCandidate: string;
|
|
47
|
+
readonly _tag: "ProxyChannelRequest";
|
|
48
|
+
readonly remainingHops?: undefined;
|
|
51
49
|
} | {
|
|
52
|
-
readonly
|
|
50
|
+
readonly _tag: "ProxyChannelResponseSuccess";
|
|
53
51
|
readonly reqId: string;
|
|
52
|
+
readonly remainingHops: readonly string[];
|
|
53
|
+
readonly combinedChannelId: string;
|
|
54
|
+
readonly channelIdCandidate: string;
|
|
54
55
|
readonly id: string;
|
|
55
56
|
readonly target: string;
|
|
56
57
|
readonly source: string;
|
|
57
58
|
readonly channelName: string;
|
|
58
59
|
readonly hops: readonly string[];
|
|
59
|
-
readonly _tag: "ProxyChannelResponseSuccess";
|
|
60
|
-
readonly channelIdCandidate: string;
|
|
61
|
-
readonly combinedChannelId: string;
|
|
62
60
|
} | {
|
|
63
|
-
readonly
|
|
61
|
+
readonly _tag: "ProxyChannelPayloadAck";
|
|
64
62
|
readonly reqId: string;
|
|
63
|
+
readonly remainingHops: readonly string[];
|
|
64
|
+
readonly combinedChannelId: string;
|
|
65
65
|
readonly id: string;
|
|
66
66
|
readonly target: string;
|
|
67
67
|
readonly source: string;
|
|
68
68
|
readonly channelName: string;
|
|
69
69
|
readonly hops: readonly string[];
|
|
70
|
-
readonly _tag: "ProxyChannelPayloadAck";
|
|
71
|
-
readonly combinedChannelId: string;
|
|
72
70
|
} | {
|
|
73
|
-
readonly id: string;
|
|
74
|
-
readonly target: string;
|
|
75
|
-
readonly source: string;
|
|
76
71
|
readonly _tag: "NetworkEdgeAdded";
|
|
77
|
-
} | {
|
|
78
72
|
readonly id: string;
|
|
79
|
-
readonly target: "-";
|
|
80
73
|
readonly source: string;
|
|
81
|
-
readonly
|
|
82
|
-
readonly _tag: "NetworkTopologyRequest";
|
|
74
|
+
readonly target: string;
|
|
83
75
|
} | {
|
|
84
|
-
readonly
|
|
85
|
-
readonly reqId: string;
|
|
76
|
+
readonly _tag: "NetworkTopologyRequest";
|
|
86
77
|
readonly id: string;
|
|
87
|
-
readonly
|
|
78
|
+
readonly hops: readonly string[];
|
|
88
79
|
readonly source: string;
|
|
80
|
+
readonly target: "-";
|
|
81
|
+
} | {
|
|
89
82
|
readonly _tag: "NetworkTopologyResponse";
|
|
83
|
+
readonly id: string;
|
|
84
|
+
readonly reqId: string;
|
|
85
|
+
readonly remainingHops: readonly string[];
|
|
90
86
|
readonly nodeName: string;
|
|
91
87
|
readonly edges: readonly string[];
|
|
88
|
+
readonly source: string;
|
|
89
|
+
readonly target: "-";
|
|
92
90
|
} | {
|
|
91
|
+
readonly _tag: "BroadcastChannelPacket";
|
|
93
92
|
readonly id: string;
|
|
94
|
-
readonly target: "-";
|
|
95
|
-
readonly source: string;
|
|
96
93
|
readonly channelName: string;
|
|
97
|
-
readonly hops: readonly string[];
|
|
98
|
-
readonly _tag: "BroadcastChannelPacket";
|
|
99
94
|
readonly payload: any;
|
|
95
|
+
readonly hops: readonly string[];
|
|
96
|
+
readonly source: string;
|
|
97
|
+
readonly target: "-";
|
|
100
98
|
};
|
|
101
99
|
packetId: string;
|
|
102
100
|
'span.label': string;
|
|
103
101
|
};
|
|
104
102
|
export declare const ListenForChannelResult: Schema.Struct<{
|
|
105
|
-
channelName:
|
|
106
|
-
source:
|
|
107
|
-
mode: Schema.
|
|
103
|
+
readonly channelName: Schema.String;
|
|
104
|
+
readonly source: Schema.String;
|
|
105
|
+
readonly mode: Schema.Literals<readonly ["proxy", "direct"]>;
|
|
108
106
|
}>;
|
|
109
107
|
export type ListenForChannelResult = typeof ListenForChannelResult.Type;
|
|
110
108
|
export {};
|
package/dist/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEvF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,OAAO,kBAAkB,CAAC,IAAI,CAAA;IACtC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,kBAAkB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC9E,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,mBAAmB,CAAC,IAAI,CAAA;IACvC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,mBAAmB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC/E,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAChC,MAAM,MAAM,UAAU,GAAG,UAAU,YAAY,iBAAiB,WAAW,EAAE,CAAA
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEvF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,OAAO,kBAAkB,CAAC,IAAI,CAAA;IACtC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,kBAAkB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC9E,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,mBAAmB,CAAC,IAAI,CAAA;IACvC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,mBAAmB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC/E,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAChC,MAAM,MAAM,UAAU,GAAG,UAAU,YAAY,iBAAiB,WAAW,EAAE,CAAA;;;;AAO7E,qBAAa,sBAAuB,SAAQ,2BAI1C;CAAG;AAEL,eAAO,MAAM,sBAAsB,GAAI,QAAQ,OAAO,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS/D,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;EAIjC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA"}
|
package/dist/common.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { omitUndefineds } from '@livestore/utils';
|
|
2
2
|
import { Predicate, Schema } from '@livestore/utils/effect';
|
|
3
3
|
// TODO actually use this to avoid timeouts in certain cases
|
|
4
|
-
// export class NoConnectionRouteSignal extends Schema.TaggedError<NoConnectionRouteSignal>(
|
|
5
|
-
// 'NoConnectionRouteSignal',
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
export class EdgeAlreadyExistsError extends Schema.TaggedError()('EdgeAlreadyExistsError', {
|
|
4
|
+
// export class NoConnectionRouteSignal extends Schema.TaggedError<NoConnectionRouteSignal>(
|
|
5
|
+
// '~@livestore/webmesh/NoConnectionRouteSignal',
|
|
6
|
+
// )('NoConnectionRouteSignal', {}) {}
|
|
7
|
+
export class EdgeAlreadyExistsError extends Schema.TaggedError('~@livestore/webmesh/EdgeAlreadyExistsError')('EdgeAlreadyExistsError', {
|
|
9
8
|
target: Schema.String,
|
|
10
9
|
}) {
|
|
11
10
|
}
|
|
12
11
|
export const packetAsOtelAttributes = (packet) => ({
|
|
13
12
|
packetId: packet.id,
|
|
14
|
-
'span.label': packet.id +
|
|
13
|
+
'span.label': packet.id +
|
|
14
|
+
(Predicate.hasProperty(packet, 'reqId') === true && packet.reqId !== undefined ? ` for ${packet.reqId}` : ''),
|
|
15
15
|
...omitUndefineds({
|
|
16
16
|
packet: packet._tag !== 'DirectChannelResponseSuccess' && packet._tag !== 'ProxyChannelPayload' ? packet : undefined,
|
|
17
17
|
}),
|
|
@@ -19,6 +19,6 @@ export const packetAsOtelAttributes = (packet) => ({
|
|
|
19
19
|
export const ListenForChannelResult = Schema.Struct({
|
|
20
20
|
channelName: Schema.String,
|
|
21
21
|
source: Schema.String,
|
|
22
|
-
mode: Schema.
|
|
22
|
+
mode: Schema.Literals(['proxy', 'direct']),
|
|
23
23
|
});
|
|
24
24
|
//# sourceMappingURL=common.js.map
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAe,SAAS,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAmBxE,4DAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAe,SAAS,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAmBxE,4DAA4D;AAC5D,4FAA4F;AAC5F,mDAAmD;AACnD,sCAAsC;AAEtC,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,WAAW,CAC5D,4CAA4C,CAC7C,CAAC,wBAAwB,EAAE;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;CAAG;AAEL,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAA0B,EAAE,EAAE,CAAC,CAAC;IACrE,QAAQ,EAAE,MAAM,CAAC,EAAE;IACnB,YAAY,EACV,MAAM,CAAC,EAAE;QACT,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/G,GAAG,cAAc,CAAC;QAChB,MAAM,EACJ,MAAM,CAAC,IAAI,KAAK,8BAA8B,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC/G,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;CAC3C,CAAC,CAAA"}
|