@livestore/webmesh 0.4.0 → 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.
Files changed (56) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/channel/direct-channel-internal.d.ts +2 -3
  3. package/dist/channel/direct-channel-internal.d.ts.map +1 -1
  4. package/dist/channel/direct-channel-internal.js +23 -18
  5. package/dist/channel/direct-channel-internal.js.map +1 -1
  6. package/dist/channel/direct-channel.d.ts.map +1 -1
  7. package/dist/channel/direct-channel.js +20 -21
  8. package/dist/channel/direct-channel.js.map +1 -1
  9. package/dist/channel/proxy-channel.d.ts +7 -8
  10. package/dist/channel/proxy-channel.d.ts.map +1 -1
  11. package/dist/channel/proxy-channel.js +26 -22
  12. package/dist/channel/proxy-channel.js.map +1 -1
  13. package/dist/common.d.ts +33 -35
  14. package/dist/common.d.ts.map +1 -1
  15. package/dist/common.js +3 -2
  16. package/dist/common.js.map +1 -1
  17. package/dist/mesh-schema.d.ts +262 -136
  18. package/dist/mesh-schema.d.ts.map +1 -1
  19. package/dist/mesh-schema.js +45 -44
  20. package/dist/mesh-schema.js.map +1 -1
  21. package/dist/node.d.ts +6 -6
  22. package/dist/node.d.ts.map +1 -1
  23. package/dist/node.js +22 -21
  24. package/dist/node.js.map +1 -1
  25. package/dist/node.test.js +74 -71
  26. package/dist/node.test.js.map +1 -1
  27. package/dist/utils.d.ts +1 -1
  28. package/dist/utils.d.ts.map +1 -1
  29. package/dist/utils.js.map +1 -1
  30. package/dist/websocket-edge.d.ts +18 -16
  31. package/dist/websocket-edge.d.ts.map +1 -1
  32. package/dist/websocket-edge.js +30 -36
  33. package/dist/websocket-edge.js.map +1 -1
  34. package/dist/websocket-edge.test.js +14 -14
  35. package/dist/websocket-edge.test.js.map +1 -1
  36. package/dist/worker/mod.d.ts +24 -0
  37. package/dist/worker/mod.d.ts.map +1 -0
  38. package/dist/worker/mod.js +44 -0
  39. package/dist/worker/mod.js.map +1 -0
  40. package/dist/worker/schema.d.ts +10 -0
  41. package/dist/worker/schema.d.ts.map +1 -0
  42. package/dist/worker/schema.js +7 -0
  43. package/dist/worker/schema.js.map +1 -0
  44. package/package.json +20 -37
  45. package/src/channel/direct-channel-internal.ts +30 -22
  46. package/src/channel/direct-channel.ts +26 -23
  47. package/src/channel/proxy-channel.ts +39 -36
  48. package/src/common.ts +6 -3
  49. package/src/mesh-schema.ts +34 -33
  50. package/src/node.test.ts +99 -86
  51. package/src/node.ts +32 -32
  52. package/src/utils.ts +3 -3
  53. package/src/websocket-edge.test.ts +14 -14
  54. package/src/websocket-edge.ts +47 -41
  55. package/src/worker/mod.ts +89 -0
  56. package/src/worker/schema.ts +8 -0
@@ -1,5 +1,4 @@
1
- import type { PubSub } from '@livestore/utils/effect';
2
- import { Effect, Queue, Scope, WebChannel } from '@livestore/utils/effect';
1
+ import { type PubSub, Effect, Queue, Scope, WebChannel } from '@livestore/utils/effect';
3
2
  import { type ChannelName, type MeshNodeName, type MessageQueueItem } from '../common.ts';
4
3
  import * as MeshSchema from '../mesh-schema.ts';
5
4
  export interface MakeDirectChannelArgs {
@@ -20,7 +19,7 @@ export interface MakeDirectChannelArgs {
20
19
  export declare const makeDirectChannelInternal: ({ nodeName, incomingPacketsQueue, target, checkTransferableEdges, channelName, schema: schema_, sendPacket, channelVersion, scope, sourceId, }: MakeDirectChannelArgs & {
21
20
  channelVersion: number;
22
21
  /** We're passing in the closeable scope from the wrapping direct channel */
23
- scope: Scope.CloseableScope;
22
+ scope: Scope.Closeable;
24
23
  sourceId: string;
25
24
  }) => Effect.Effect<WebChannel.WebChannel<any, any>, typeof MeshSchema.DirectChannelResponseNoTransferables.Type, Scope.Scope>;
26
25
  //# sourceMappingURL=direct-channel-internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"direct-channel-internal.d.ts","sourceRoot":"","sources":["../../src/channel/direct-channel-internal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAEL,MAAM,EAGN,KAAK,EAEL,KAAK,EAEL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAA0B,MAAM,cAAc,CAAA;AACjH,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,YAAY,CAAA;IACtB,kDAAkD;IAClD,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnD,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACnD,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,UAAU,CAAC,mBAAmB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvF,sBAAsB,EAAE,CACtB,MAAM,EAAE,OAAO,UAAU,CAAC,mBAAmB,CAAC,IAAI,KAC/C,OAAO,UAAU,CAAC,oCAAoC,CAAC,IAAI,GAAG,SAAS,CAAA;IAC5E,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CACpD;AAOD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,gJAWvC,qBAAqB,GAAG;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,4EAA4E;IAC5E,KAAK,EAAE,KAAK,CAAC,cAAc,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,MAAM,CAAC,MAAM,CACf,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,OAAO,UAAU,CAAC,oCAAoC,CAAC,IAAI,EAC3D,KAAK,CAAC,KAAK,CA0R0D,CAAA"}
1
+ {"version":3,"file":"direct-channel-internal.d.ts","sourceRoot":"","sources":["../../src/channel/direct-channel-internal.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,MAAM,EAEX,MAAM,EAIN,KAAK,EAEL,KAAK,EAEL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAA0B,MAAM,cAAc,CAAA;AACjH,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,YAAY,CAAA;IACtB,kDAAkD;IAClD,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnD,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACnD,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,UAAU,CAAC,mBAAmB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvF,sBAAsB,EAAE,CACtB,MAAM,EAAE,OAAO,UAAU,CAAC,mBAAmB,CAAC,IAAI,KAC/C,OAAO,UAAU,CAAC,oCAAoC,CAAC,IAAI,GAAG,SAAS,CAAA;IAC5E,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CACpD;AAOD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,gJAWvC,qBAAqB,GAAG;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,4EAA4E;IAC5E,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,MAAM,CAAC,MAAM,CACf,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,OAAO,UAAU,CAAC,oCAAoC,CAAC,IAAI,EAC3D,KAAK,CAAC,KAAK,CAiS0D,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { casesHandled, shouldNeverHappen } from '@livestore/utils';
2
- import { Deferred, Effect, Exit, Predicate, Queue, Schema, Scope, Stream, WebChannel, } from '@livestore/utils/effect';
2
+ import { Deferred, Effect, Exit, Fiber, Predicate, Queue, Schema, Scope, Stream, WebChannel, } from '@livestore/utils/effect';
3
3
  import { packetAsOtelAttributes } from "../common.js";
4
4
  import * as MeshSchema from "../mesh-schema.js";
5
5
  const makeDeferredResult = (Deferred.make);
@@ -13,8 +13,8 @@ export const makeDirectChannelInternal = ({ nodeName, incomingPacketsQueue, targ
13
13
  // )
14
14
  const deferred = yield* makeDeferredResult();
15
15
  const schema = {
16
- send: Schema.Union(schema_.send, MeshSchema.DirectChannelPing, MeshSchema.DirectChannelPong),
17
- listen: Schema.Union(schema_.listen, MeshSchema.DirectChannelPing, MeshSchema.DirectChannelPong),
16
+ send: Schema.Union([schema_.send, MeshSchema.DirectChannelPing, MeshSchema.DirectChannelPong]),
17
+ listen: Schema.Union([schema_.listen, MeshSchema.DirectChannelPing, MeshSchema.DirectChannelPong]),
18
18
  };
19
19
  const channelStateRef = {
20
20
  current: { _tag: 'Initial' },
@@ -25,7 +25,9 @@ export const makeDirectChannelInternal = ({ nodeName, incomingPacketsQueue, targ
25
25
  channelState: channelState._tag,
26
26
  packetId: packet.id,
27
27
  packetReqId: packet.reqId,
28
- ...(Predicate.hasProperty('channelVersion')(packet) === true ? { packetChannelVersion: packet.channelVersion } : {}),
28
+ ...(Predicate.hasProperty('channelVersion')(packet) === true
29
+ ? { packetChannelVersion: packet.channelVersion }
30
+ : {}),
29
31
  });
30
32
  // const reqIdStr =
31
33
  // Predicate.hasProperty('reqId')(packet) && packet.reqId !== undefined ? ` for ${packet.reqId}` : ''
@@ -124,7 +126,7 @@ export const makeDirectChannelInternal = ({ nodeName, incomingPacketsQueue, targ
124
126
  }));
125
127
  channelStateRef.current = { _tag: 'winner:ResponseSent', channel, otherSourceId: packet.sourceId };
126
128
  // Now we wait for the other side to respond via the channel
127
- yield* channel.listen.pipe(Stream.flatten(), Stream.filter(Schema.is(MeshSchema.DirectChannelPing)), Stream.take(1), Stream.runDrain);
129
+ yield* channel.listen.pipe(Stream.mapEffect(Effect.fromResult), Stream.filter(Schema.is(MeshSchema.DirectChannelPing)), Stream.take(1), Stream.runDrain);
128
130
  yield* channel.send(MeshSchema.DirectChannelPong.make({}));
129
131
  yield* Effect.spanEvent(`winner side: established`);
130
132
  channelStateRef.current = { _tag: 'Established', otherSourceId: packet.sourceId };
@@ -147,7 +149,7 @@ export const makeDirectChannelInternal = ({ nodeName, incomingPacketsQueue, targ
147
149
  schema,
148
150
  debugId: channelVersion,
149
151
  }).pipe(Effect.andThen(WebChannel.toOpenChannel));
150
- const waitForPongFiber = yield* channel.listen.pipe(Stream.flatten(), Stream.filter(Schema.is(MeshSchema.DirectChannelPong)), Stream.take(1), Stream.runDrain, Effect.fork);
152
+ const waitForPongFiber = yield* channel.listen.pipe(Stream.mapEffect(Effect.fromResult), Stream.filter(Schema.is(MeshSchema.DirectChannelPong)), Stream.take(1), Stream.runDrain, Effect.forkChild);
151
153
  // There seems to be some scenario where the initial ping message is lost.
152
154
  // As a workaround until we find the root cause, we're retrying the ping a few times.
153
155
  // TODO write a test that reproduces this issue and fix the root cause ()
@@ -155,7 +157,7 @@ export const makeDirectChannelInternal = ({ nodeName, incomingPacketsQueue, targ
155
157
  yield* channel
156
158
  .send(MeshSchema.DirectChannelPing.make({}))
157
159
  .pipe(Effect.timeout(10), Effect.retry({ times: 2 }));
158
- yield* waitForPongFiber;
160
+ yield* Fiber.join(waitForPongFiber);
159
161
  yield* Effect.spanEvent(`loser side: established`);
160
162
  channelStateRef.current = { _tag: 'Established', otherSourceId: channelState.otherSourceId };
161
163
  yield* Deferred.succeed(deferred, channel);
@@ -168,16 +170,6 @@ export const makeDirectChannelInternal = ({ nodeName, incomingPacketsQueue, targ
168
170
  }).pipe(Effect.withSpan(`handleMessagePacket:${packet._tag}:${packet.source}→${packet.target}`, {
169
171
  attributes: packetAsOtelAttributes(packet),
170
172
  }));
171
- yield* Effect.gen(function* () {
172
- while (true) {
173
- const packet = yield* Queue.take(incomingPacketsQueue);
174
- const res = yield* processMessagePacket(packet);
175
- // We want to give requests another chance to be processed
176
- if (res === 'close') {
177
- return;
178
- }
179
- }
180
- }).pipe(Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
181
173
  const channelState = channelStateRef.current;
182
174
  if (channelState._tag !== 'Initial') {
183
175
  return shouldNeverHappen(`Expected channel to be in Initial state, but was in ${channelState._tag} state`);
@@ -203,7 +195,20 @@ export const makeDirectChannelInternal = ({ nodeName, incomingPacketsQueue, targ
203
195
  yield* Effect.spanEvent(`initial edge request sent (${packet.id})`);
204
196
  });
205
197
  yield* edgeRequest;
206
- const channel = yield* deferred;
198
+ // Start draining only after `edgeRequest` moved the channel to `RequestSent`. Under Effect v4
199
+ // an eagerly forked processor can otherwise handle an already-buffered packet while still
200
+ // `Initial`.
201
+ yield* Effect.gen(function* () {
202
+ while (true) {
203
+ const packet = yield* Queue.take(incomingPacketsQueue);
204
+ const res = yield* processMessagePacket(packet);
205
+ // We want to give requests another chance to be processed
206
+ if (res === 'close') {
207
+ return;
208
+ }
209
+ }
210
+ }).pipe(Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
211
+ const channel = yield* Deferred.await(deferred);
207
212
  return channel;
208
213
  }).pipe(Effect.withSpanScoped(`makeDirectChannel:${channelVersion}`));
209
214
  //# sourceMappingURL=direct-channel-internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"direct-channel-internal.js","sourceRoot":"","sources":["../../src/channel/direct-channel-internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"direct-channel-internal.js","sourceRoot":"","sources":["../../src/channel/direct-channel-internal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"direct-channel.d.ts","sourceRoot":"","sources":["../../src/channel/direct-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAMN,KAAK,EAGL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAIhC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGzE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAAI,8HAS/B,qBAAqB;gBAyLU,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAI9D,CAAA"}
1
+ {"version":3,"file":"direct-channel.d.ts","sourceRoot":"","sources":["../../src/channel/direct-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAQN,KAAK,EAGL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAIhC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGzE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAAI,8HAS/B,qBAAqB;gBA0LU,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAI9D,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Cause, Deferred, Effect, Either, Exit, Option, Queue, Schema, Scope, Stream, TQueue, WebChannel, } from '@livestore/utils/effect';
1
+ import { Cause, Deferred, Effect, Fiber, Result, Exit, Option, Queue, References, Schema, Scope, Stream, TxQueue, WebChannel, } from '@livestore/utils/effect';
2
2
  import { nanoid } from '@livestore/utils/nanoid';
3
3
  import * as WebmeshSchema from "../mesh-schema.js";
4
4
  import { makeDirectChannelInternal } from "./direct-channel-internal.js";
@@ -21,7 +21,7 @@ export const makeDirectChannel = ({ schema, newEdgeAvailablePubSub, channelName,
21
21
  /** Only used to identify whether a source is the same instance to know when to reconnect */
22
22
  const sourceId = nanoid();
23
23
  const listenQueue = yield* Queue.unbounded();
24
- const sendQueue = yield* TQueue.unbounded();
24
+ const sendQueue = yield* TxQueue.unbounded();
25
25
  const initialEdgeDeferred = yield* Deferred.make();
26
26
  const debugInfo = {
27
27
  pendingSends: 0,
@@ -55,7 +55,7 @@ export const makeDirectChannel = ({ schema, newEdgeAvailablePubSub, channelName,
55
55
  * - we'll use to fork the message channel in which allows us to interrupt it later
56
56
  * - We need to make sure that "interruption" isn't "bubbling out"
57
57
  */
58
- const waitForNewEdgeFiber = yield* Stream.fromPubSub(newEdgeAvailablePubSub).pipe(Stream.tap((edgeName) => Effect.spanEvent(`new-conn:${edgeName}`)), Stream.take(1), Stream.runDrain, Effect.as('new-edge'), Effect.fork);
58
+ const waitForNewEdgeFiber = yield* Stream.fromPubSub(newEdgeAvailablePubSub).pipe(Stream.tap((edgeName) => Effect.spanEvent(`new-conn:${edgeName}`)), Stream.take(1), Stream.runDrain, Effect.as('new-edge'), Effect.forkChild);
59
59
  const makeChannel = makeDirectChannelInternal({
60
60
  nodeName,
61
61
  sourceId,
@@ -68,23 +68,22 @@ export const makeDirectChannel = ({ schema, newEdgeAvailablePubSub, channelName,
68
68
  newEdgeAvailablePubSub,
69
69
  sendPacket,
70
70
  scope: makeDirectChannelScope,
71
- }).pipe(Scope.extend(makeDirectChannelScope), Effect.forkIn(makeDirectChannelScope),
72
- // Given we only call `Effect.exit` later when joining the fiber,
71
+ }).pipe(Scope.provide(makeDirectChannelScope), Effect.forkIn(makeDirectChannelScope),
72
+ // Given we only await the exit later when observing the fiber,
73
73
  // we don't want Effect to produce a "unhandled error" log message
74
- Effect.withUnhandledErrorLogLevel(Option.none()));
75
- const raceResult = yield* Effect.raceFirst(makeChannel, waitForNewEdgeFiber.pipe(Effect.disconnect));
74
+ Effect.provideService(References.UnhandledLogLevel, undefined));
75
+ const raceResult = yield* Effect.raceFirst(makeChannel, Fiber.join(waitForNewEdgeFiber));
76
76
  if (raceResult === 'new-edge') {
77
77
  yield* Scope.close(makeDirectChannelScope, Exit.fail('new-edge'));
78
78
  // We'll try again
79
79
  }
80
80
  else {
81
- const channelExit = yield* raceResult.pipe(Effect.exit);
81
+ const channelExit = yield* Fiber.await(raceResult);
82
82
  if (channelExit._tag === 'Failure') {
83
83
  yield* Scope.close(makeDirectChannelScope, channelExit);
84
- if (Cause.isFailType(channelExit.cause) === true &&
85
- Schema.is(WebmeshSchema.DirectChannelResponseNoTransferables)(channelExit.cause.error) === true) {
84
+ if (Option.exists(Cause.findErrorOption(channelExit.cause), (error) => Schema.is(WebmeshSchema.DirectChannelResponseNoTransferables)(error)) === true) {
86
85
  // Only retry when there is a new edge available
87
- yield* waitForNewEdgeFiber.pipe(Effect.exit);
86
+ yield* Effect.exit(Fiber.join(waitForNewEdgeFiber));
88
87
  }
89
88
  }
90
89
  else {
@@ -95,28 +94,28 @@ export const makeDirectChannel = ({ schema, newEdgeAvailablePubSub, channelName,
95
94
  }
96
95
  }
97
96
  // Now we wait until the first channel is established
98
- const { channel, makeDirectChannelScope, channelVersion } = yield* resultDeferred;
97
+ const { channel, makeDirectChannelScope, channelVersion } = yield* Deferred.await(resultDeferred);
99
98
  yield* Effect.spanEvent(`Connected#${channelVersion}`);
100
99
  debugInfo.isConnected = true;
101
100
  debugInfo.innerChannelRef.current = channel;
102
101
  yield* Deferred.succeed(initialEdgeDeferred, void 0);
103
102
  // We'll now forward all incoming messages to the listen queue
104
- yield* channel.listen.pipe(Stream.flatten(),
103
+ yield* channel.listen.pipe(Stream.mapEffect(Effect.fromResult),
105
104
  // Stream.tap((msg) => Effect.log(`${target}→${channelName}→${nodeName}:message:${msg.message}`)),
106
- Stream.tapChunk((chunk) => Queue.offerAll(listenQueue, chunk)), Stream.runDrain, Effect.tapCauseLogPretty, Effect.forkIn(makeDirectChannelScope));
105
+ Stream.tapArray((array) => Queue.offerAll(listenQueue, array)), Stream.runDrain, Effect.tapCauseLogPretty, Effect.forkIn(makeDirectChannelScope));
107
106
  yield* Effect.gen(function* () {
108
107
  while (true) {
109
- const [msg, deferred] = yield* TQueue.peek(sendQueue);
108
+ const [msg, deferred] = yield* TxQueue.peek(sendQueue);
110
109
  // NOTE we don't need an explicit retry flow here since in case of the channel being closed,
111
110
  // the send will never succeed. Meanwhile the send-loop fiber will be interrupted and
112
111
  // given we only peeked at the queue, the message to send is still there.
113
112
  yield* channel.send(msg);
114
113
  yield* Deferred.succeed(deferred, void 0);
115
- yield* TQueue.take(sendQueue); // Remove the message from the queue
114
+ yield* TxQueue.take(sendQueue); // Remove the message from the queue
116
115
  }
117
116
  }).pipe(Effect.forkIn(makeDirectChannelScope));
118
117
  // Wait until the channel is closed and then try to reconnect
119
- yield* channel.closedDeferred;
118
+ yield* Deferred.await(channel.closedDeferred);
120
119
  yield* Scope.close(makeDirectChannelScope, Exit.succeed('channel-closed'));
121
120
  yield* Effect.spanEvent(`Disconnected#${channelVersion}`);
122
121
  debugInfo.isConnected = false;
@@ -129,12 +128,12 @@ export const makeDirectChannel = ({ schema, newEdgeAvailablePubSub, channelName,
129
128
  const sentDeferred = yield* Deferred.make();
130
129
  debugInfo.pendingSends++;
131
130
  debugInfo.totalSends++;
132
- yield* TQueue.offer(sendQueue, [message, sentDeferred]);
133
- yield* sentDeferred;
131
+ yield* TxQueue.offer(sendQueue, [message, sentDeferred]);
132
+ yield* Deferred.await(sentDeferred);
134
133
  debugInfo.pendingSends--;
135
134
  }).pipe(Effect.scoped, Effect.withParentSpan(parentSpan));
136
- const listen = Stream.fromQueue(listenQueue, { maxChunkSize: 1 }).pipe(Stream.map(Either.right));
137
- const closedDeferred = yield* Deferred.make().pipe(Effect.acquireRelease(Deferred.done(Exit.void)));
135
+ const listen = Stream.fromQueue(listenQueue).pipe(Stream.rechunk(1), Stream.map(Result.succeed));
136
+ const closedDeferred = yield* Effect.acquireRelease(Deferred.make(), Deferred.done(Exit.void));
138
137
  const webChannel = {
139
138
  [WebChannel.WebChannelSymbol]: WebChannel.WebChannelSymbol,
140
139
  send,
@@ -1 +1 @@
1
- {"version":3,"file":"direct-channel.js","sourceRoot":"","sources":["../../src/channel/direct-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,IAAI,EACJ,MAAM,EACN,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,GACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAExE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,MAAM,EACN,sBAAsB,EACtB,WAAW,EACX,sBAAsB,EACtB,QAAQ,EACR,oBAAoB,EACpB,MAAM,EACN,UAAU,GACY,EAAE,EAAE,CAC1B,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAA;IAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,EAAO,CAAA;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAiD,CAAA;IAE1F,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAQ,CAAA;IAExD,MAAM,SAAS,GAAG;QAChB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,EAAE,OAAO,EAAE,SAAwD,EAAE;KACvF,CAAA;IAED,wBAAwB;IACxB,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAIvC,CAAA;QAEJ,OAAO,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,cAAc,EAAE,CAAA;YAC1B,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAA;YAE/C,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,cAAc,EAAE,CAAC,CAAA;YAEvD,MAAM,sBAAsB,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YAClD,2CAA2C;YAC3C,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAA;YAE3E;;;;;;;;;;;;;;eAcG;YACH,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAC/E,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC,EAClE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EACd,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,EAAE,CAAC,UAAmB,CAAC,EAC9B,MAAM,CAAC,IAAI,CACZ,CAAA;YAED,MAAM,WAAW,GAAG,yBAAyB,CAAC;gBAC5C,QAAQ;gBACR,QAAQ;gBACR,oBAAoB;gBACpB,MAAM;gBACN,sBAAsB;gBACtB,WAAW;gBACX,MAAM;gBACN,cAAc;gBACd,sBAAsB;gBACtB,UAAU;gBACV,KAAK,EAAE,sBAAsB;aAC9B,CAAC,CAAC,IAAI,CACL,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,EACpC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;YACrC,iEAAiE;YACjE,kEAAkE;YAClE,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CACjD,CAAA;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;YAEpG,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC9B,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;gBACjE,kBAAkB;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACvD,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACnC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAA;oBAEvD,IACE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAI;wBAC5C,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAC/F,CAAC;wBACD,gDAAgD;wBAChD,KAAK,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAC9C,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAA;oBAEjC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,CAAC,CAAA;oBAC5F,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,CAAC,cAAc,CAAA;QAEjF,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,cAAc,EAAE,CAAC,CAAA;QACtD,SAAS,CAAC,WAAW,GAAG,IAAI,CAAA;QAC5B,SAAS,CAAC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAA;QAE3C,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAA;QAEpD,8DAA8D;QAC9D,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CACxB,MAAM,CAAC,OAAO,EAAE;QAChB,kGAAkG;QAClG,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EAC9D,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CACtC,CAAA;QAED,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACrD,4FAA4F;gBAC5F,qFAAqF;gBACrF,yEAAyE;gBACzE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACxB,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;gBACzC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA,CAAC,oCAAoC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAE9C,6DAA6D;QAC7D,KAAK,CAAC,CAAC,OAAO,CAAC,cAAc,CAAA;QAE7B,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAE1E,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,cAAc,EAAE,CAAC,CAAA;QACzD,SAAS,CAAC,WAAW,GAAG,KAAK,CAAA;QAC7B,SAAS,CAAC,eAAe,CAAC,OAAO,GAAG,SAAS,CAAA;IAC/C,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,MAAM,EAAE,uEAAuE;IACtF,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,UAAU,CAClB,CAAA;IACD,2BAA2B;IAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAE/D,MAAM,IAAI,GAAG,CAAC,OAAY,EAAE,EAAE,CAC5B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAQ,CAAA;QAEjD,SAAS,CAAC,YAAY,EAAE,CAAA;QACxB,SAAS,CAAC,UAAU,EAAE,CAAA;QAEtB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;QAEvD,KAAK,CAAC,CAAC,YAAY,CAAA;QAEnB,SAAS,CAAC,YAAY,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;IAE3D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAEhG,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAEzG,MAAM,UAAU,GAAG;QACjB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,gBAAgB;QAC1D,IAAI;QACJ,MAAM;QACN,cAAc;QACd,qBAAqB,EAAE,IAAI;QAC3B,MAAM;QACN,SAAS;QACT,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACb,CAAA;IAE3C,OAAO;QACL,UAAU,EAAE,UAA6C;QACzD,mBAAmB;KACpB,CAAA;AACH,CAAC,CAAC,CACH,CAAA"}
1
+ {"version":3,"file":"direct-channel.js","sourceRoot":"","sources":["../../src/channel/direct-channel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import type { PubSub } from '@livestore/utils/effect';
2
- import { Effect, Queue, Schema, Scope, WebChannel } from '@livestore/utils/effect';
1
+ import { type PubSub, Effect, Queue, Schema, Scope, WebChannel } from '@livestore/utils/effect';
3
2
  import { type ChannelName, type MeshNodeName, type ProxyQueueItem } from '../common.ts';
4
3
  import * as MeshSchema from '../mesh-schema.ts';
5
4
  /**
@@ -13,13 +12,13 @@ export declare const ProxyChannelSimulationParams: Schema.Struct<{
13
12
  /**
14
13
  * Delays related to receiving and processing payload messages
15
14
  */
16
- onPayload: Schema.Struct<{
15
+ readonly onPayload: Schema.Struct<{
17
16
  /** Delay before sending the ACK response (simulates slow ACK send) */
18
- beforeAckSend: Schema.filter<typeof Schema.Int>;
17
+ readonly beforeAckSend: Schema.Int;
19
18
  /** Delay after forking the ACK send, before adding message to listen queue */
20
- afterAckFork: Schema.filter<typeof Schema.Int>;
19
+ readonly afterAckFork: Schema.Int;
21
20
  /** Delay after adding message to listen queue */
22
- afterListenQueueOffer: Schema.filter<typeof Schema.Int>;
21
+ readonly afterListenQueueOffer: Schema.Int;
23
22
  }>;
24
23
  }>;
25
24
  export type ProxyChannelSimulationParams = typeof ProxyChannelSimulationParams.Type;
@@ -33,8 +32,8 @@ interface MakeProxyChannelArgs {
33
32
  channelName: ChannelName;
34
33
  target: MeshNodeName;
35
34
  schema: {
36
- send: Schema.Schema<any, any>;
37
- listen: Schema.Schema<any, any>;
35
+ send: Schema.Codec<any, any>;
36
+ listen: Schema.Codec<any, any>;
38
37
  };
39
38
  /** Optional simulation parameters for testing timing-sensitive behavior */
40
39
  simulation?: ProxyChannelSimulationParams;
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-channel.d.ts","sourceRoot":"","sources":["../../src/channel/proxy-channel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAEL,MAAM,EAKN,KAAK,EAEL,MAAM,EACN,KAAK,EAGL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B;IACvC;;OAEG;;QAED,sEAAsE;;QAEtE,8EAA8E;;QAE9E,iDAAiD;;;EAGnD,CAAA;AAEF,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA;AAEnF,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB,EAAE,4BAMrC,CAAA;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAClC,QAAQ,EAAE,YAAY,CAAA;IACtB,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACnD,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,UAAU,CAAC,kBAAkB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtF,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAChC,CAAA;IACD,2EAA2E;IAC3E,UAAU,CAAC,EAAE,4BAA4B,CAAA;CAC1C;AAED,eAAO,MAAM,gBAAgB,GAAI,mGAS9B,oBAAoB,8EAiapB,CAAA"}
1
+ {"version":3,"file":"proxy-channel.d.ts","sourceRoot":"","sources":["../../src/channel/proxy-channel.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,MAAM,EAEX,MAAM,EAKN,KAAK,EAEL,MAAM,EACN,KAAK,EAGL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B;IACvC;;OAEG;;QAED,sEAAsE;;QAEtE,8EAA8E;;QAE9E,iDAAiD;;;EAGnD,CAAA;AAEF,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA;AAEnF,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB,EAAE,4BAMrC,CAAA;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAClC,QAAQ,EAAE,YAAY,CAAA;IACtB,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACnD,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,UAAU,CAAC,kBAAkB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtF,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC5B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAC/B,CAAA;IACD,2EAA2E;IAC3E,UAAU,CAAC,EAAE,4BAA4B,CAAA;CAC1C;AAED,eAAO,MAAM,gBAAgB,GAAI,mGAS9B,oBAAoB,8EAoapB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { casesHandled, shouldNeverHappen } from '@livestore/utils';
2
- import { Deferred, Effect, Either, Exit, Fiber, FiberHandle, Queue, Schedule, Schema, Scope, Stream, SubscriptionRef, WebChannel, } from '@livestore/utils/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";
@@ -16,11 +16,11 @@ export const ProxyChannelSimulationParams = Schema.Struct({
16
16
  */
17
17
  onPayload: Schema.Struct({
18
18
  /** Delay before sending the ACK response (simulates slow ACK send) */
19
- beforeAckSend: Schema.Int.pipe(Schema.between(0, 500)),
19
+ beforeAckSend: Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 500 })),
20
20
  /** Delay after forking the ACK send, before adding message to listen queue */
21
- afterAckFork: Schema.Int.pipe(Schema.between(0, 500)),
21
+ afterAckFork: Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 500 })),
22
22
  /** Delay after adding message to listen queue */
23
- afterListenQueueOffer: Schema.Int.pipe(Schema.between(0, 500)),
23
+ afterListenQueueOffer: Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 500 })),
24
24
  }),
25
25
  });
26
26
  /** Default simulation params with no delays */
@@ -53,6 +53,10 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
53
53
  yield* Effect.annotateCurrentSpan({ channelIdCandidate });
54
54
  const channelSpan = yield* Effect.currentSpan.pipe(Effect.orDie);
55
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();
56
60
  const waitForEstablished = Effect.gen(function* () {
57
61
  const state = yield* SubscriptionRef.waitUntil(connectedStateRef, (state) => state !== false);
58
62
  return state;
@@ -72,7 +76,7 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
72
76
  });
73
77
  const edgeRequest = Effect.suspend(() => sendPacket(MeshSchema.ProxyChannelRequest.make({ channelName, hops: [], source: nodeName, target, channelIdCandidate })));
74
78
  const getCombinedChannelId = (otherSideChannelIdCandidate) => [channelIdCandidate, otherSideChannelIdCandidate].toSorted().join('_');
75
- const earlyPayloadBuffer = yield* Queue.unbounded().pipe(Effect.acquireRelease(Queue.shutdown));
79
+ const earlyPayloadBuffer = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
76
80
  const processProxyPacket = ({ packet, respondToSender }) => Effect.gen(function* () {
77
81
  // yield* Effect.logDebug(
78
82
  // `[${nodeName}] processProxyPacket received: ${packet._tag} from ${packet.source} (reqId: ${packet.id})`,
@@ -153,7 +157,7 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
153
157
  const establishedState = channelStateRef.current;
154
158
  if (establishedState._tag === 'Established') {
155
159
  //
156
- const bufferedPackets = yield* Queue.takeAll(earlyPayloadBuffer);
160
+ const bufferedPackets = yield* Queue.clear(earlyPayloadBuffer);
157
161
  // yield* Effect.logDebug(
158
162
  // `[${nodeName}] Draining early payload buffer (${bufferedPackets.length}) after ResponseSuccess`,
159
163
  // )
@@ -162,8 +166,8 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
162
166
  yield* Effect.logWarning(`[${nodeName}] Discarding buffered payload ${bufferedPacket.id}: Combined channel ID mismatch during drain. Expected ${establishedState.combinedChannelId}, got ${bufferedPacket.combinedChannelId}`);
163
167
  continue;
164
168
  }
165
- const decodedMessage = yield* Schema.decodeUnknown(establishedState.listenSchema)(bufferedPacket.payload);
166
- yield* establishedState.listenQueue.pipe(Queue.offer(decodedMessage));
169
+ const decodedMessage = yield* Schema.decodeUnknownEffect(establishedState.listenSchema)(bufferedPacket.payload);
170
+ yield* Queue.offer(establishedState.listenQueue, decodedMessage);
167
171
  }
168
172
  }
169
173
  else {
@@ -197,8 +201,8 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
197
201
  // Simulation point: delay after forking ACK (before processing message)
198
202
  yield* simSleep('onPayload', 'afterAckFork');
199
203
  if (channelState._tag === 'Established') {
200
- const decodedMessage = yield* Schema.decodeUnknown(channelState.listenSchema)(packet.payload);
201
- yield* channelState.listenQueue.pipe(Queue.offer(decodedMessage));
204
+ const decodedMessage = yield* Schema.decodeUnknownEffect(channelState.listenSchema)(packet.payload);
205
+ yield* Queue.offer(channelState.listenQueue, decodedMessage);
202
206
  // Simulation point: delay after adding to listen queue
203
207
  yield* simSleep('onPayload', 'afterListenQueueOffer');
204
208
  }
@@ -230,10 +234,7 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
230
234
  }).pipe(Effect.withSpan(`handleProxyPacket:${packet._tag}:${packet.source}->${packet.target}`, {
231
235
  attributes: packetAsOtelAttributes(packet),
232
236
  }));
233
- yield* Stream.fromQueue(queue).pipe(Stream.tap(processProxyPacket), Stream.runDrain, Effect.tapCauseLogPretty, Effect.forkScoped);
234
- const listenQueue = yield* Queue.unbounded();
235
237
  yield* Effect.spanEvent(`Connecting`);
236
- const ackMap = new Map();
237
238
  // check if already established via incoming `ProxyChannelRequest` from other side
238
239
  // which indicates we already have a edge to the target node
239
240
  // const channelState = channelStateRef.current
@@ -244,12 +245,15 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
244
245
  channelStateRef.current = { _tag: 'Pending', initiatedVia: 'outgoing-request' };
245
246
  yield* edgeRequest;
246
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);
247
251
  const { combinedChannelId: channelId } = yield* waitForEstablished;
248
252
  yield* Fiber.interrupt(retryOnNewEdgeFiber);
249
253
  yield* setStateToEstablished(channelId);
250
254
  }
251
255
  const send = (message) => Effect.gen(function* () {
252
- const payload = yield* Schema.encodeUnknown(schema.send)(message);
256
+ const payload = yield* Schema.encodeUnknownEffect(schema.send)(message);
253
257
  const sendFiberHandle = yield* FiberHandle.make();
254
258
  const sentDeferred = yield* Deferred.make();
255
259
  debugInfo.pendingSends++;
@@ -271,22 +275,22 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
271
275
  // as only successful acks are removed from the map
272
276
  ackMap.set(packet.id, ack);
273
277
  yield* sendPacket(packet);
274
- yield* ack;
278
+ yield* Deferred.await(ack);
275
279
  yield* Deferred.succeed(sentDeferred, void 0);
276
280
  debugInfo.pendingSends--;
277
281
  });
278
282
  // TODO make this configurable
279
283
  // Schedule.exponential(10): 10, 20, 40, 80, 160, 320, ...
280
284
  yield* innerSend.pipe(Effect.timeout(100), Effect.retry(Schedule.exponential(10)), Effect.orDie);
281
- }).pipe(Effect.tapErrorCause(Effect.logError));
282
- const rerunOnNewChannelFiber = yield* connectedStateRef.changes.pipe(Stream.filter((_) => _ === false), Stream.tap(() => FiberHandle.run(sendFiberHandle, trySend)), Stream.runDrain, Effect.fork);
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);
283
287
  yield* FiberHandle.run(sendFiberHandle, trySend);
284
- yield* sentDeferred;
288
+ yield* Deferred.await(sentDeferred);
285
289
  yield* Fiber.interrupt(rerunOnNewChannelFiber);
286
290
  }).pipe(Effect.scoped, Effect.withSpan(`sendAckWithRetry:ProxyChannelPayload`), Effect.withParentSpan(channelSpan));
287
- const listen = Stream.fromQueue(listenQueue).pipe(Stream.map(Either.right));
288
- const closedDeferred = yield* Deferred.make().pipe(Effect.acquireRelease(Deferred.done(Exit.void)));
289
- const runtime = yield* Effect.runtime();
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();
290
294
  const webChannel = {
291
295
  [WebChannel.WebChannelSymbol]: WebChannel.WebChannelSymbol,
292
296
  send,
@@ -298,7 +302,7 @@ export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, send
298
302
  debugInfo,
299
303
  ...{
300
304
  debug: {
301
- ping: (message = 'ping') => send(WebChannel.DebugPingMessage.make({ message })).pipe(Effect.provide(runtime), Effect.tapCauseLogPretty, Effect.runFork),
305
+ ping: (message = 'ping') => send(WebChannel.DebugPingMessage.make({ message })).pipe(Effect.provide(services), Effect.tapCauseLogPretty, Effect.runFork),
302
306
  },
303
307
  },
304
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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"}