@moltzap/client 2026.505.2 → 2026.507.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 (105) hide show
  1. package/dist/cli/commands/contacts.d.ts.map +1 -1
  2. package/dist/cli/commands/contacts.js +3 -3
  3. package/dist/cli/commands/contacts.js.map +1 -1
  4. package/dist/cli/commands/conversations.d.ts.map +1 -1
  5. package/dist/cli/commands/conversations.js +11 -11
  6. package/dist/cli/commands/conversations.js.map +1 -1
  7. package/dist/cli/commands/messages.d.ts.map +1 -1
  8. package/dist/cli/commands/messages.js +3 -3
  9. package/dist/cli/commands/messages.js.map +1 -1
  10. package/dist/cli/commands/send.d.ts.map +1 -1
  11. package/dist/cli/commands/send.js +3 -3
  12. package/dist/cli/commands/send.js.map +1 -1
  13. package/dist/cli/commands/test-transport.d.ts.map +1 -1
  14. package/dist/cli/commands/test-transport.js +11 -8
  15. package/dist/cli/commands/test-transport.js.map +1 -1
  16. package/dist/cli/http-client.d.ts +2 -2
  17. package/dist/cli/http-client.d.ts.map +1 -1
  18. package/dist/cli/socket-client.d.ts +4 -3
  19. package/dist/cli/socket-client.d.ts.map +1 -1
  20. package/dist/cli/socket-client.js +6 -4
  21. package/dist/cli/socket-client.js.map +1 -1
  22. package/dist/cli/transport.d.ts +3 -3
  23. package/dist/cli/transport.d.ts.map +1 -1
  24. package/dist/cli/transport.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/internal/__tests__/app-callback-partition-key.test.js +7 -20
  29. package/dist/internal/__tests__/app-callback-partition-key.test.js.map +1 -1
  30. package/dist/internal/__tests__/app-callback-partition-worker.test.js +3 -3
  31. package/dist/internal/__tests__/app-callback-partition-worker.test.js.map +1 -1
  32. package/dist/internal/__tests__/app-callback-partitioned-dispatcher.test.js +84 -394
  33. package/dist/internal/__tests__/app-callback-partitioned-dispatcher.test.js.map +1 -1
  34. package/dist/internal/__tests__/app-callback-test-requests.d.ts +12 -37
  35. package/dist/internal/__tests__/app-callback-test-requests.d.ts.map +1 -1
  36. package/dist/internal/__tests__/app-callback-test-requests.js +17 -73
  37. package/dist/internal/__tests__/app-callback-test-requests.js.map +1 -1
  38. package/dist/internal/app-callback-dispatcher-errors.d.ts +3 -3
  39. package/dist/internal/app-callback-dispatcher-errors.d.ts.map +1 -1
  40. package/dist/internal/app-callback-partition-key.d.ts +5 -15
  41. package/dist/internal/app-callback-partition-key.d.ts.map +1 -1
  42. package/dist/internal/app-callback-partition-key.js +1 -11
  43. package/dist/internal/app-callback-partition-key.js.map +1 -1
  44. package/dist/runtime/errors.d.ts +2 -12
  45. package/dist/runtime/errors.d.ts.map +1 -1
  46. package/dist/runtime/errors.js +4 -3
  47. package/dist/runtime/errors.js.map +1 -1
  48. package/dist/runtime/frame.d.ts +15 -17
  49. package/dist/runtime/frame.d.ts.map +1 -1
  50. package/dist/runtime/frame.js +25 -71
  51. package/dist/runtime/frame.js.map +1 -1
  52. package/dist/runtime/frame.test.js +28 -34
  53. package/dist/runtime/frame.test.js.map +1 -1
  54. package/dist/runtime/subscribers.d.ts +8 -11
  55. package/dist/runtime/subscribers.d.ts.map +1 -1
  56. package/dist/runtime/subscribers.js.map +1 -1
  57. package/dist/runtime/subscribers.test.js +8 -14
  58. package/dist/runtime/subscribers.test.js.map +1 -1
  59. package/dist/service.d.ts +5 -8
  60. package/dist/service.d.ts.map +1 -1
  61. package/dist/service.js +44 -65
  62. package/dist/service.js.map +1 -1
  63. package/dist/service.test.js +9 -9
  64. package/dist/service.test.js.map +1 -1
  65. package/dist/test/index.d.ts +1 -1
  66. package/dist/test/index.js +1 -1
  67. package/dist/test-utils/conformance-adapter.d.ts +5 -5
  68. package/dist/test-utils/conformance-adapter.d.ts.map +1 -1
  69. package/dist/test-utils/conformance-adapter.js +26 -29
  70. package/dist/test-utils/conformance-adapter.js.map +1 -1
  71. package/dist/test-utils/fake-service.d.ts +4 -4
  72. package/dist/test-utils/fake-service.d.ts.map +1 -1
  73. package/dist/test-utils/fake-service.js +19 -10
  74. package/dist/test-utils/fake-service.js.map +1 -1
  75. package/dist/test-utils/ids.d.ts +2 -6
  76. package/dist/test-utils/ids.d.ts.map +1 -1
  77. package/dist/test-utils/ids.js +1 -2
  78. package/dist/test-utils/ids.js.map +1 -1
  79. package/dist/ws-client.d.ts +17 -93
  80. package/dist/ws-client.d.ts.map +1 -1
  81. package/dist/ws-client.js +67 -161
  82. package/dist/ws-client.js.map +1 -1
  83. package/dist/ws-client.test.js +43 -56
  84. package/dist/ws-client.test.js.map +1 -1
  85. package/package.json +3 -4
  86. package/dist/internal/__tests__/app-callback-partitioned-dispatcher-real-ws.test.d.ts +0 -2
  87. package/dist/internal/__tests__/app-callback-partitioned-dispatcher-real-ws.test.d.ts.map +0 -1
  88. package/dist/internal/__tests__/app-callback-partitioned-dispatcher-real-ws.test.js +0 -230
  89. package/dist/internal/__tests__/app-callback-partitioned-dispatcher-real-ws.test.js.map +0 -1
  90. package/dist/runtime/index.d.ts +0 -3
  91. package/dist/runtime/index.d.ts.map +0 -1
  92. package/dist/runtime/index.js +0 -3
  93. package/dist/runtime/index.js.map +0 -1
  94. package/dist/runtime/notification-types.types-check.d.ts +0 -2
  95. package/dist/runtime/notification-types.types-check.d.ts.map +0 -1
  96. package/dist/runtime/notification-types.types-check.js +0 -57
  97. package/dist/runtime/notification-types.types-check.js.map +0 -1
  98. package/dist/service.typed-bridge.test.d.ts +0 -2
  99. package/dist/service.typed-bridge.test.d.ts.map +0 -1
  100. package/dist/service.typed-bridge.test.js +0 -93
  101. package/dist/service.typed-bridge.test.js.map +0 -1
  102. package/dist/ws-client.typed-bridge.test.d.ts +0 -2
  103. package/dist/ws-client.typed-bridge.test.d.ts.map +0 -1
  104. package/dist/ws-client.typed-bridge.test.js +0 -105
  105. package/dist/ws-client.typed-bridge.test.js.map +0 -1
package/dist/ws-client.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as Socket from "@effect/platform/Socket";
2
2
  import * as NodeSocket from "@effect/platform-node/NodeSocket";
3
3
  import { Cause, Data, Deferred, Duration, Either, Effect, Exit, Fiber, HashMap, ManagedRuntime, Option, Ref, Schedule, Scope, } from "effect";
4
- import { PROTOCOL_VERSION, Connect, decodeRpcResult, jsonRpcStringId, NotConnectedError, requestFrame, responseFrame, RpcServerError, RpcTimeoutError, } from "@moltzap/protocol";
4
+ import { PROTOCOL_VERSION, Connect, encodeErrorResponse, NotConnectedError, RpcServerError, RpcTimeoutError, } from "@moltzap/protocol";
5
5
  import { DuplicateServerRpcHandlerError } from "./runtime/errors.js";
6
- import { decodeFrames, } from "./runtime/frame.js";
6
+ import { decodeFrames } from "./runtime/frame.js";
7
7
  import { makeSubscriberRegistry, } from "./runtime/subscribers.js";
8
8
  import { extractCloseInfo } from "./runtime/close-info.js";
9
9
  import { makePartitionedDispatcher, } from "./internal/app-callback-partitioned-dispatcher.js";
@@ -39,52 +39,13 @@ const UTF8_DECODER = new TextDecoder("utf-8");
39
39
  const makeNotConnectedError = () => new NotConnectedError({ message: MSG_NOT_CONNECTED });
40
40
  class ReconnectAttemptFailedError extends Data.TaggedError("ReconnectAttemptFailedError") {
41
41
  }
42
- function notificationMatches(definition, notification) {
42
+ /** Notifications are pre-validated by the wire decoder
43
+ * (`decodeNotification` in `@moltzap/protocol`) — fail-close on unknown
44
+ * methods or bad params. Buffer + waiters hold the validated shape
45
+ * directly; no separate Raw|Unknown lift remains. */
46
+ function acceptTypedNotification(definition, notification) {
43
47
  return notification.definition === definition;
44
48
  }
45
- /**
46
- * Validate `notification.params` against the schema attached by the
47
- * decoder. Type predicate: a `true` result lifts the input from the
48
- * raw (`params: unknown`) shape to the validated
49
- * `DecodedNotification<…>` shape — the compiler-enforced lift the
50
- * inbound bridges rely on. Logs a structured drift warning and
51
- * returns `false` on failure. Every typed dispatcher MUST route
52
- * through this guard before invoking handlers, because the wire
53
- * decoder is payload-opaque (required for the
54
- * `delivery/payload-opacity-client` and
55
- * `boundary/schema-exhaustive-fuzz-client` conformance properties).
56
- *
57
- * The signature is non-generic over a single descriptor: the input
58
- * accepts the broad `AnyRawDecodedNotification` union (distributed
59
- * over all known descriptors), and the predicate narrows to the
60
- * matching distributed validated union. Per-descriptor narrowing is
61
- * the job of the caller's enclosing `is`-predicate
62
- * (e.g. `acceptTypedNotification<D>`); this helper just gates "params
63
- * conform to the attached schema." Current call sites:
64
- * `acceptTypedNotification` below (typed-promise resolver) and
65
- * `service.ts:handleNotification` (subscriber-fanout dispatch into
66
- * the typed handler bucket).
67
- */
68
- export function validateNotificationParams(notification, logger) {
69
- if (notification.definition.validateParams(notification.params))
70
- return true;
71
- logger?.warn(`Notification ${notification.definition.name} dropped: params failed schema validation (drift signal)`, notification.params);
72
- return false;
73
- }
74
- /**
75
- * Typed bridge for `waitForNotification`: matches the notification's
76
- * descriptor against `definition` and then validates its params via
77
- * `validateNotificationParams`. A frame whose method matches `definition`
78
- * but whose params fail validation is logged and skipped — the typed
79
- * promise never resolves with a malformed payload typed as if it were
80
- * valid. "Skip on non-match" semantics for the bucketed waiter map are
81
- * preserved; the validation guard is the lift from raw to validated.
82
- */
83
- export function acceptTypedNotification(definition, notification, logger) {
84
- if (!notificationMatches(definition, notification))
85
- return false;
86
- return validateNotificationParams(notification, logger);
87
- }
88
49
  /** Drop `waiter` from its notification-definition bucket, pruning an empty bucket. */
89
50
  function removeWaiter(m, definition, waiter) {
90
51
  const bucket = HashMap.get(m, definition);
@@ -96,7 +57,7 @@ function removeWaiter(m, definition, waiter) {
96
57
  : HashMap.set(m, definition, filtered);
97
58
  }
98
59
  /**
99
- * WebSocket lifecycle: open → auth/connect → active. On disconnect,
60
+ * WebSocket lifecycle: open → network/connect → active. On disconnect,
100
61
  * exponential backoff (1s base, 30s cap, jittered) retries the handshake via
101
62
  * `Effect.sleep` + `Schedule` so TestClock can drive it. Public API is
102
63
  * Effect-based — consumers run the returned Effects themselves (typically at
@@ -184,7 +145,7 @@ export class MoltZapWsClient {
184
145
  get helloOk() {
185
146
  return this._helloOk;
186
147
  }
187
- /** Open the socket, perform auth/connect, resolve with HelloOk. Fails
148
+ /** Open the socket, perform network/connect, resolve with HelloOk. Fails
188
149
  * immediately on pre-open close or error. */
189
150
  connect() {
190
151
  return Effect.suspend(() => {
@@ -216,26 +177,6 @@ export class MoltZapWsClient {
216
177
  data: result,
217
178
  }))));
218
179
  }
219
- /**
220
- * Send an RPC and surface the outbound request id alongside the
221
- * response envelope `type` and `result`. Spec #222 §5.1–5.2:
222
- * un-vacuates B4 (request-id tracking) and V5 (response-type
223
- * exposure). Mirrors `sendRpc`'s descriptor-backed call shape.
224
- *
225
- * Invariant 3 (spec #222 §4): the returned `id` is the same identity
226
- * minted inside the existing `rpc-${++counter}` site — no parallel
227
- * counter, no mirror. The single-id pre-condition is what makes B4 a
228
- * real check rather than a tautology.
229
- */
230
- sendRpcTracked(definition, params) {
231
- return this.sendRpcTrackedEffect(definition, params).pipe(Effect.flatMap((tracked) => definition.validateResult(tracked.result)
232
- ? Effect.succeed({ id: tracked.id, result: tracked.result })
233
- : Effect.fail(new RpcServerError({
234
- code: JSON_RPC_INTERNAL_ERROR_CODE,
235
- message: `Invalid result for method: ${definition.name}`,
236
- data: tracked.result,
237
- }))));
238
- }
239
180
  /**
240
181
  * Register a per-subscription notification handler. Spec #222 §5.3 + OQ-2
241
182
  * (A): filter grammar is the three-field `SubscriptionFilter`
@@ -307,10 +248,9 @@ export class MoltZapWsClient {
307
248
  * with a per-call timeout. */
308
249
  waitForNotification(definition, timeoutMs = EVENT_WAIT_TIMEOUT_MS) {
309
250
  return Effect.gen(this, function* () {
310
- const logger = this.options.logger;
311
251
  const buffered = yield* Ref.modify(this.notificationsBufferRef, (frames) => {
312
252
  for (const [idx, frame] of frames.entries()) {
313
- if (!acceptTypedNotification(definition, frame, logger))
253
+ if (!acceptTypedNotification(definition, frame))
314
254
  continue;
315
255
  const next = [...frames.slice(0, idx), ...frames.slice(idx + 1)];
316
256
  return [frame, next];
@@ -322,7 +262,7 @@ export class MoltZapWsClient {
322
262
  const deferred = yield* Deferred.make();
323
263
  const waiter = {
324
264
  definition,
325
- complete: (notification) => acceptTypedNotification(definition, notification, logger)
265
+ complete: (notification) => acceptTypedNotification(definition, notification)
326
266
  ? Deferred.succeed(deferred, notification).pipe(Effect.asVoid)
327
267
  : Effect.void,
328
268
  fail: (error) => Deferred.fail(deferred, error).pipe(Effect.asVoid),
@@ -391,18 +331,21 @@ export class MoltZapWsClient {
391
331
  this.runtime.runFork(Scope.close(scope, Exit.void));
392
332
  }).pipe(Effect.zipRight(Effect.fail(makeNotConnectedError()))))));
393
333
  const write = yield* Scope.extend(socket.writer, scope);
394
- // Settled first by whichever fires: the auth/connect response, or
334
+ // Settled first by whichever fires: the network/connect response, or
395
335
  // reader-fiber exit on any close/error before handshake.
396
336
  const handshakeSettled = yield* Deferred.make();
397
- // Spec #356 — partitioned appCallback dispatcher. Replaces the pre-#356
398
- // single `Stream.runForEach`-driven `appCallbackInboundQueue` with a
399
- // partition router keyed on `(taskId, conversationId,
400
- // hookKind)`. Each tuple owns one bounded queue + one drain
337
+ // Spec #356 — partitioned task-callback dispatcher. Replaces
338
+ // the pre-#356 single `Stream.runForEach`-driven inbound queue
339
+ // with a partition router keyed on `(taskId, conversationId,
340
+ // descriptor)`. Each tuple owns one bounded queue + one drain
401
341
  // fiber; cross-tuple offers run on independent fibers, so a
402
- // parked `apps/onBeforeDispatch` cannot block the sibling
403
- // `apps/onBeforeMessageDelivery` whose response would resolve
404
- // the parking Deferred (arena#248 deadlock — fixed
405
- // structurally, not by timeout).
342
+ // parked task-callback request cannot block the sibling tuple
343
+ // whose response would resolve the parking Deferred (arena#248
344
+ // deadlock — fixed structurally, not by timeout). Phase 9b
345
+ // collapsed the appCallback group to one descriptor
346
+ // (`task/authorizeDispatch`); the partitioning still applies
347
+ // because conversations and tasks fan out independently per
348
+ // descriptor.
406
349
  //
407
350
  // Dispatcher Scope is allocated independently of the per-connect
408
351
  // socket Scope (`scope` above). Closing it cascades to every
@@ -471,7 +414,7 @@ export class MoltZapWsClient {
471
414
  // finalizes on return, interrupts the reader, and `onExit` clears
472
415
  // `_helloOk` behind a caller that believed connect() succeeded.
473
416
  const readerFiber = this.runtime.runFork(readerEffect);
474
- // Publish state BEFORE auth/connect: the write goes through
417
+ // Publish state BEFORE network/connect: the write goes through
475
418
  // `sendRpcEffect`, which reads `stateRef`.
476
419
  yield* Ref.set(this.stateRef, Option.some({
477
420
  write,
@@ -486,9 +429,9 @@ export class MoltZapWsClient {
486
429
  minProtocol: PROTOCOL_VERSION,
487
430
  maxProtocol: PROTOCOL_VERSION,
488
431
  });
489
- // Race the auth/connect response against the handshakeSettled deferred
432
+ // Race the network/connect response against the handshakeSettled deferred
490
433
  // `raceFirst` (not `race`) — `race` waits for the loser when the
491
- // winner fails, so a typed auth/connect error would hang behind the
434
+ // winner fails, so a typed network/connect error would hang behind the
492
435
  // still-pending handshake-watchdog Deferred.
493
436
  const result = yield* Effect.raceFirst(authEffect, Deferred.await(handshakeSettled)).pipe(Effect.tap((value) => Effect.sync(() => {
494
437
  this._helloOk = value;
@@ -496,35 +439,20 @@ export class MoltZapWsClient {
496
439
  return result;
497
440
  });
498
441
  }
499
- /**
500
- * Tracked variant of `sendRpcEffect`. Reuses the same Deferred /
501
- * pendingRef plumbing — the only difference is the resolved value:
502
- * `{id, result}` instead of bare `result`. This
503
- * keeps Invariant 3 (single id source) trivially: we mint `id` once
504
- * inside this body, register the Deferred under that id, and return
505
- * the same id to the caller alongside the result.
506
- */
507
- sendRpcTrackedEffect(definition, params, opts) {
442
+ sendRpcEffect(definition, params, opts) {
508
443
  return Effect.gen(this, function* () {
509
444
  const method = definition.name;
510
445
  const state = yield* Ref.get(this.stateRef);
511
446
  if (Option.isNone(state)) {
512
447
  return yield* Effect.fail(makeNotConnectedError());
513
448
  }
514
- const id = jsonRpcStringId(`rpc-${++this.requestCounter}`);
515
- const frame = requestFrame(id, definition, params);
516
- // Register the Deferred BEFORE writing. `write` yields to the
517
- // scheduler; the reader could interleave, see a close, and
518
- // `failAllPending` before we register — leaving us to await a
449
+ const frame = definition.encodeRequest(`rpc-${++this.requestCounter}`, params);
450
+ const id = frame.id;
451
+ // Register the Deferred BEFORE writing — write yields, reader could
452
+ // close + failAllPending before we register, leaving us awaiting a
519
453
  // never-resolved Deferred.
520
454
  const deferred = yield* Deferred.make();
521
455
  yield* Ref.update(this.pendingRef, (m) => HashMap.set(m, id, deferred));
522
- // `socket.writer` gates on an internal Latch that `runRaw` only
523
- // opens after the WebSocket hits OPEN. If the socket never
524
- // opens, `runRaw`'s `ensuring` closes the latch and `write`
525
- // blocks indefinitely — so we race the write against the
526
- // pending Deferred (which the reader fails on close),
527
- // short-circuiting the dead write.
528
456
  const writeAttempt = Effect.either(state.value.write(JSON.stringify(frame)));
529
457
  const earlyFailure = Deferred.await(deferred).pipe(Effect.catchAll(() => Effect.succeed(null)), Effect.as(null));
530
458
  const writeRace = yield* Effect.race(writeAttempt, earlyFailure);
@@ -546,25 +474,16 @@ export class MoltZapWsClient {
546
474
  }), Effect.onExit((exit) => Exit.isFailure(exit)
547
475
  ? Ref.update(this.pendingRef, (m) => HashMap.remove(m, id))
548
476
  : Effect.void));
549
- const decodedResult = yield* decodeRpcResult(definition, result).pipe(Effect.mapError(() => new RpcServerError({
550
- code: JSON_RPC_INTERNAL_ERROR_CODE,
551
- message: `Invalid result for method: ${definition.name}`,
552
- data: result,
553
- })));
554
- return { id, result: decodedResult };
477
+ if (!definition.validateResult(result)) {
478
+ return yield* Effect.fail(new RpcServerError({
479
+ code: JSON_RPC_INTERNAL_ERROR_CODE,
480
+ message: `Invalid result for method: ${definition.name}`,
481
+ data: result,
482
+ }));
483
+ }
484
+ return result;
555
485
  });
556
486
  }
557
- /**
558
- * Bare-result RPC — projects the tracked RPC envelope onto its
559
- * `result` field, discarding the `{id, type}` observability surface.
560
- * The write / race / timeout plumbing lives in `sendRpcTrackedEffect`
561
- * so there is one shared site for Invariant 3 (single id source),
562
- * Invariant 5 (typed error channel), and the `socket.writer` latch
563
- * race described below.
564
- */
565
- sendRpcEffect(definition, params, opts) {
566
- return this.sendRpcTrackedEffect(definition, params, opts).pipe(Effect.map((tracked) => tracked.result));
567
- }
568
487
  /**
569
488
  * Translate a typed `OfferRejected` failure from the partitioned
570
489
  * dispatcher into a wire-level error response. Spec #356 §5: each
@@ -580,19 +499,15 @@ export class MoltZapWsClient {
580
499
  }
581
500
  offerRejectedResponse(err, requestId) {
582
501
  if (err instanceof PartitionLimitError) {
583
- return responseFrame(requestId, {
584
- error: {
585
- code: -32000,
586
- message: `Server busy: partition limit reached (${err.activePartitions}/${err.maxPartitions})`,
587
- },
502
+ return encodeErrorResponse(requestId, {
503
+ code: -32000,
504
+ message: `Server busy: partition limit reached (${err.activePartitions}/${err.maxPartitions})`,
588
505
  });
589
506
  }
590
507
  if (err instanceof PartitionQueueFullError) {
591
- return responseFrame(requestId, {
592
- error: {
593
- code: -32000,
594
- message: `Server busy: partition queue full (capacity=${err.capacity})`,
595
- },
508
+ return encodeErrorResponse(requestId, {
509
+ code: -32000,
510
+ message: `Server busy: partition queue full (capacity=${err.capacity})`,
596
511
  });
597
512
  }
598
513
  const _exhaustive = err;
@@ -618,11 +533,9 @@ export class MoltZapWsClient {
618
533
  const handlers = yield* Ref.get(this.appCallbackHandlersRef);
619
534
  const lookup = HashMap.get(handlers, request.definition);
620
535
  const buildReply = lookup._tag === "None"
621
- ? Effect.succeed(responseFrame(request.id, {
622
- error: {
623
- code: -32601,
624
- message: "No handler registered for app callback descriptor",
625
- },
536
+ ? Effect.succeed(encodeErrorResponse(request.id, {
537
+ code: -32601,
538
+ message: "No handler registered for app callback descriptor",
626
539
  }))
627
540
  : lookup
628
541
  .value(request.params, {
@@ -630,20 +543,17 @@ export class MoltZapWsClient {
630
543
  definition: request.definition,
631
544
  })
632
545
  .pipe(Effect.match({
633
- onSuccess: (result) => responseFrame(request.id, {
634
- result,
635
- }),
636
- onFailure: (err) => responseFrame(request.id, {
637
- error: {
638
- code: err.code,
639
- message: err.message,
640
- ...(err.data !== undefined ? { data: err.data } : {}),
641
- },
546
+ onSuccess: (result) => request.definition.encodeResponse(request.id, result),
547
+ onFailure: (err) => encodeErrorResponse(request.id, {
548
+ code: err.code,
549
+ message: err.message,
550
+ ...(err.data !== undefined ? { data: err.data } : {}),
642
551
  }),
643
552
  }), Effect.catchAllCause((cause) => Effect.sync(() => {
644
553
  this.options.logger?.warn("appCallback handler defected", Cause.pretty(cause));
645
- return responseFrame(request.id, {
646
- error: { code: -32603, message: "Internal error" },
554
+ return encodeErrorResponse(request.id, {
555
+ code: -32603,
556
+ message: "Internal error",
647
557
  });
648
558
  })));
649
559
  const reply = yield* buildReply;
@@ -664,8 +574,9 @@ export class MoltZapWsClient {
664
574
  if (decodedFrames === null)
665
575
  return;
666
576
  for (const decoded of decodedFrames) {
667
- if (decoded._tag === "Response") {
668
- const { id, result, error } = decoded;
577
+ if (decoded._tag === "ResponseSuccess" ||
578
+ decoded._tag === "ResponseError") {
579
+ const id = decoded.id;
669
580
  const pending = yield* Ref.modify(this.pendingRef, (m) => {
670
581
  const entry = HashMap.get(m, id);
671
582
  return entry._tag === "Some"
@@ -674,7 +585,8 @@ export class MoltZapWsClient {
674
585
  });
675
586
  if (pending === null)
676
587
  continue;
677
- if (error) {
588
+ if (decoded._tag === "ResponseError") {
589
+ const { error } = decoded;
678
590
  yield* Deferred.fail(pending, new RpcServerError({
679
591
  code: typeof error.code === "number"
680
592
  ? error.code
@@ -684,7 +596,7 @@ export class MoltZapWsClient {
684
596
  }));
685
597
  }
686
598
  else {
687
- yield* Deferred.succeed(pending, result);
599
+ yield* Deferred.succeed(pending, decoded.result);
688
600
  }
689
601
  continue;
690
602
  }
@@ -722,15 +634,9 @@ export class MoltZapWsClient {
722
634
  continue;
723
635
  }
724
636
  if (decoded._tag === "Notification") {
725
- // Spec #222 §5.3: subscribers see the full Raw|Unknown union
726
- // (conformance fuzz exercises both); waiters require a known
727
- // descriptor to key the bucket map.
728
637
  yield* this.subscribers.dispatch(decoded);
729
- if (decoded.definition === undefined)
730
- continue;
731
- const knownDecoded = decoded;
732
638
  const delivered = yield* Ref.modify(this.notificationWaitersRef, (m) => {
733
- const bucket = HashMap.get(m, knownDecoded.definition);
639
+ const bucket = HashMap.get(m, decoded.definition);
734
640
  if (bucket._tag === "None" || bucket.value.length === 0) {
735
641
  return [null, m];
736
642
  }
@@ -738,16 +644,16 @@ export class MoltZapWsClient {
738
644
  const chosen = arr[arr.length - 1];
739
645
  const rest = arr.slice(0, -1);
740
646
  const nextMap = rest.length === 0
741
- ? HashMap.remove(m, knownDecoded.definition)
742
- : HashMap.set(m, knownDecoded.definition, rest);
647
+ ? HashMap.remove(m, decoded.definition)
648
+ : HashMap.set(m, decoded.definition, rest);
743
649
  return [chosen, nextMap];
744
650
  });
745
651
  if (delivered !== null) {
746
- yield* delivered.complete(knownDecoded);
652
+ yield* delivered.complete(decoded);
747
653
  continue;
748
654
  }
749
655
  yield* Ref.update(this.notificationsBufferRef, (xs) => {
750
- const appended = [...xs, knownDecoded];
656
+ const appended = [...xs, decoded];
751
657
  return appended.length > MAX_EVENT_BUFFER
752
658
  ? appended.slice(-MAX_EVENT_BUFFER)
753
659
  : appended;
@@ -1 +1 @@
1
- {"version":3,"file":"ws-client.js","sourceRoot":"","sources":["../src/ws-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-client.js","sourceRoot":"","sources":["../src/ws-client.ts"],"names":[],"mappings":"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"}