@moltzap/client 2026.508.0 → 2026.511.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/dist/channel-core.d.ts +118 -2
- package/dist/channel-core.d.ts.map +1 -1
- package/dist/channel-core.js +195 -27
- package/dist/channel-core.js.map +1 -1
- package/dist/channel-core.test.js +117 -26
- package/dist/channel-core.test.js.map +1 -1
- package/dist/cli/socket-client.d.ts +1 -1
- package/dist/cli/socket-client.d.ts.map +1 -1
- package/dist/cli/socket-client.js +2 -2
- package/dist/cli/socket-client.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/frame.d.ts +6 -10
- package/dist/runtime/frame.d.ts.map +1 -1
- package/dist/runtime/frame.js +4 -28
- package/dist/runtime/frame.js.map +1 -1
- package/dist/runtime/index.d.ts +4 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +13 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/service.d.ts +18 -3
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +28 -50
- package/dist/service.js.map +1 -1
- package/dist/service.test.js +27 -25
- package/dist/service.test.js.map +1 -1
- package/dist/test/index.d.ts +3 -3
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +3 -3
- package/dist/test/index.js.map +1 -1
- package/dist/test-utils/channel-service-fixture.d.ts +2 -1
- package/dist/test-utils/channel-service-fixture.d.ts.map +1 -1
- package/dist/test-utils/channel-service-fixture.js +8 -0
- package/dist/test-utils/channel-service-fixture.js.map +1 -1
- package/dist/test-utils/conformance-adapter.js +1 -1
- package/dist/test-utils/fake-service.d.ts +2 -2
- package/dist/test-utils/fake-service.d.ts.map +1 -1
- package/dist/test-utils/fake-service.js +1 -1
- package/dist/test-utils/fake-service.js.map +1 -1
- package/dist/ws-client.d.ts +5 -26
- package/dist/ws-client.d.ts.map +1 -1
- package/dist/ws-client.js +71 -97
- package/dist/ws-client.js.map +1 -1
- package/dist/ws-client.test.js +40 -12
- package/dist/ws-client.test.js.map +1 -1
- package/package.json +7 -3
- package/dist/internal/__tests__/app-callback-partition-key.test.d.ts +0 -2
- package/dist/internal/__tests__/app-callback-partition-key.test.d.ts.map +0 -1
- package/dist/internal/__tests__/app-callback-partition-key.test.js +0 -20
- package/dist/internal/__tests__/app-callback-partition-key.test.js.map +0 -1
- package/dist/internal/__tests__/app-callback-partition-worker.test.d.ts +0 -2
- package/dist/internal/__tests__/app-callback-partition-worker.test.d.ts.map +0 -1
- package/dist/internal/__tests__/app-callback-partition-worker.test.js +0 -265
- package/dist/internal/__tests__/app-callback-partition-worker.test.js.map +0 -1
- package/dist/internal/__tests__/app-callback-partitioned-dispatcher.test.d.ts +0 -2
- package/dist/internal/__tests__/app-callback-partitioned-dispatcher.test.d.ts.map +0 -1
- package/dist/internal/__tests__/app-callback-partitioned-dispatcher.test.js +0 -228
- package/dist/internal/__tests__/app-callback-partitioned-dispatcher.test.js.map +0 -1
- package/dist/internal/__tests__/app-callback-test-requests.d.ts +0 -22
- package/dist/internal/__tests__/app-callback-test-requests.d.ts.map +0 -1
- package/dist/internal/__tests__/app-callback-test-requests.js +0 -45
- package/dist/internal/__tests__/app-callback-test-requests.js.map +0 -1
- package/dist/internal/app-callback-dispatcher-errors.d.ts +0 -50
- package/dist/internal/app-callback-dispatcher-errors.d.ts.map +0 -1
- package/dist/internal/app-callback-dispatcher-errors.js +0 -36
- package/dist/internal/app-callback-dispatcher-errors.js.map +0 -1
- package/dist/internal/app-callback-partition-key.d.ts +0 -58
- package/dist/internal/app-callback-partition-key.d.ts.map +0 -1
- package/dist/internal/app-callback-partition-key.js +0 -80
- package/dist/internal/app-callback-partition-key.js.map +0 -1
- package/dist/internal/app-callback-partition-worker.d.ts +0 -160
- package/dist/internal/app-callback-partition-worker.d.ts.map +0 -1
- package/dist/internal/app-callback-partition-worker.js +0 -141
- package/dist/internal/app-callback-partition-worker.js.map +0 -1
- package/dist/internal/app-callback-partitioned-dispatcher.d.ts +0 -180
- package/dist/internal/app-callback-partitioned-dispatcher.d.ts.map +0 -1
- package/dist/internal/app-callback-partitioned-dispatcher.js +0 -282
- package/dist/internal/app-callback-partitioned-dispatcher.js.map +0 -1
package/dist/ws-client.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import * as Socket from "@effect/platform/Socket";
|
|
2
2
|
import * as NodeSocket from "@effect/platform-node/NodeSocket";
|
|
3
|
-
import { Cause, Data, Deferred, Duration, Either, Effect, Exit, Fiber, HashMap, ManagedRuntime, Option, Ref, Schedule, Scope, } from "effect";
|
|
3
|
+
import { Cause, Data, Deferred, Duration, Either, Effect, Exit, Fiber, HashMap, ManagedRuntime, Option, Queue, Ref, Schedule, Scope, } from "effect";
|
|
4
4
|
import { PROTOCOL_VERSION, Connect, encodeErrorResponse, NotConnectedError, RpcServerError, RpcTimeoutError, } from "@moltzap/protocol";
|
|
5
5
|
import { DuplicateServerRpcHandlerError } from "./runtime/errors.js";
|
|
6
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
|
-
import { makePartitionedDispatcher, } from "./internal/app-callback-partitioned-dispatcher.js";
|
|
10
|
-
import { PartitionLimitError, PartitionQueueFullError, } from "./internal/app-callback-dispatcher-errors.js";
|
|
11
9
|
/**
|
|
12
10
|
* Default per-RPC timeout. Exported so tests driving `TestClock` can match
|
|
13
11
|
* exactly — keeps tests from silently drifting if this changes.
|
|
@@ -33,6 +31,18 @@ const MALFORMED_LOG_EVERY = 50;
|
|
|
33
31
|
* frames are evicted FIFO so a slow consumer can't leak memory.
|
|
34
32
|
*/
|
|
35
33
|
const MAX_EVENT_BUFFER = 1000;
|
|
34
|
+
/**
|
|
35
|
+
* Capacity of the per-connection task-callback executor queue. Sized at
|
|
36
|
+
* 8192 to preserve the pre-cutover burst envelope (256 partitions × 32
|
|
37
|
+
* per-partition queue depth = 8192). Sized once at queue construction;
|
|
38
|
+
* the queue is bounded so the WS reader exerts back-pressure on a slow
|
|
39
|
+
* handler instead of leaking memory.
|
|
40
|
+
*
|
|
41
|
+
* Per architect plan #533 §"Revisions r1 correction 3": this matches
|
|
42
|
+
* today's burst envelope under the partition-replaced single-drain
|
|
43
|
+
* topology.
|
|
44
|
+
*/
|
|
45
|
+
const TASK_CALLBACK_QUEUE_CAPACITY = 8192;
|
|
36
46
|
const MSG_NOT_CONNECTED = "WebSocket not connected";
|
|
37
47
|
const MSG_RPC_ERROR_FALLBACK = "RPC error";
|
|
38
48
|
const UTF8_DECODER = new TextDecoder("utf-8");
|
|
@@ -231,12 +241,12 @@ export class MoltZapWsClient {
|
|
|
231
241
|
else {
|
|
232
242
|
this.runtime.runFork(Scope.close(state.value.scope, Exit.void));
|
|
233
243
|
}
|
|
234
|
-
// The
|
|
235
|
-
//
|
|
236
|
-
//
|
|
244
|
+
// The dispatcher Scope is NOT bound to the socket Scope (see
|
|
245
|
+
// ConnState doc): tear it down via runFork so this Effect
|
|
246
|
+
// remains sync-runnable for callers using
|
|
237
247
|
// `runSync(client.close())`. Closing the dispatcher Scope
|
|
238
|
-
//
|
|
239
|
-
//
|
|
248
|
+
// interrupts the drain fiber via Scope finalizers; the
|
|
249
|
+
// bounded queue is then garbage-collected.
|
|
240
250
|
this.runtime.runFork(Scope.close(state.value.dispatcherScope, Exit.void));
|
|
241
251
|
}
|
|
242
252
|
}).pipe(Effect.asVoid, Effect.ensuring(Effect.sync(() => {
|
|
@@ -308,11 +318,11 @@ export class MoltZapWsClient {
|
|
|
308
318
|
this.runtime.runFork(Fiber.interrupt(state.value.readerFiber));
|
|
309
319
|
// Close the per-connection scope as a belt-and-braces guarantee.
|
|
310
320
|
this.runtime.runFork(Scope.close(state.value.scope, Exit.void));
|
|
311
|
-
// Tear down the
|
|
312
|
-
// doc). runFork so disconnectSync stays synchronous for
|
|
313
|
-
// using `runSync(client.disconnect())`. Closing the
|
|
314
|
-
// Scope
|
|
315
|
-
//
|
|
321
|
+
// Tear down the task-callback dispatcher Scope (off-scope, see
|
|
322
|
+
// ConnState doc). runFork so disconnectSync stays synchronous for
|
|
323
|
+
// callers using `runSync(client.disconnect())`. Closing the
|
|
324
|
+
// dispatcher Scope interrupts the drain fiber via Scope
|
|
325
|
+
// finalizers.
|
|
316
326
|
this.runtime.runFork(Scope.close(state.value.dispatcherScope, Exit.void));
|
|
317
327
|
}
|
|
318
328
|
connectEffect() {
|
|
@@ -334,38 +344,30 @@ export class MoltZapWsClient {
|
|
|
334
344
|
// Settled first by whichever fires: the network/connect response, or
|
|
335
345
|
// reader-fiber exit on any close/error before handshake.
|
|
336
346
|
const handshakeSettled = yield* Deferred.make();
|
|
337
|
-
//
|
|
338
|
-
// the pre
|
|
339
|
-
//
|
|
340
|
-
//
|
|
341
|
-
//
|
|
342
|
-
//
|
|
343
|
-
//
|
|
344
|
-
//
|
|
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.
|
|
347
|
+
// Cutover (#533) — single bounded global queue + single drain
|
|
348
|
+
// fiber replaces the pre-cutover partitioned dispatcher. The
|
|
349
|
+
// queue capacity (`TASK_CALLBACK_QUEUE_CAPACITY` = 8192)
|
|
350
|
+
// preserves today's 256×32 burst envelope. The drain fiber
|
|
351
|
+
// takes one request at a time and runs the registered handler
|
|
352
|
+
// serially; the only remaining task-callback descriptor today
|
|
353
|
+
// is `dispatch/authorize`, which the recipient may not handle
|
|
354
|
+
// concurrently with itself.
|
|
349
355
|
//
|
|
350
356
|
// Dispatcher Scope is allocated independently of the per-connect
|
|
351
|
-
// socket Scope (`scope` above). Closing it
|
|
352
|
-
//
|
|
353
|
-
// `
|
|
354
|
-
//
|
|
357
|
+
// socket Scope (`scope` above). Closing it interrupts the drain
|
|
358
|
+
// fiber via Scope finalizers; teardown from `close()` /
|
|
359
|
+
// `disconnectSync()` is `runFork(Scope.close(...))`, mirroring
|
|
360
|
+
// the reader-fiber ownership pattern (off-Scope so
|
|
355
361
|
// `runSync(client.close())` doesn't yield through the runtime
|
|
356
362
|
// — load-bearing regression gate at
|
|
357
363
|
// `ws-client.test.ts:1233-1259`).
|
|
358
364
|
const dispatcherScope = yield* Scope.make();
|
|
359
|
-
const
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
...(this.options.logger !== undefined
|
|
366
|
-
? { logger: this.options.logger }
|
|
367
|
-
: {}),
|
|
368
|
-
});
|
|
365
|
+
const taskCallbackQueue = yield* Queue.bounded(TASK_CALLBACK_QUEUE_CAPACITY);
|
|
366
|
+
// Drain fiber: serialize handler execution. Forked into the
|
|
367
|
+
// off-Scope `dispatcherScope` so it is interrupted exactly when
|
|
368
|
+
// the dispatcher Scope closes, not when the socket Scope closes.
|
|
369
|
+
const drainEffect = Effect.forever(Queue.take(taskCallbackQueue).pipe(Effect.flatMap((req) => this.dispatchInboundServerRequest(req, write))));
|
|
370
|
+
yield* Effect.forkIn(drainEffect, dispatcherScope);
|
|
369
371
|
// Use `onExit` (not `tapErrorCause`) so the clean-close path also
|
|
370
372
|
// triggers pending-drain. `@effect/platform/Socket` treats code 1000
|
|
371
373
|
// as a SUCCESS exit, so error-only handlers miss it and pending RPCs
|
|
@@ -385,13 +387,14 @@ export class MoltZapWsClient {
|
|
|
385
387
|
// Awaiting `Fiber.interrupt` would block this branch on a
|
|
386
388
|
// slow appCallback handler still draining (codex P2).
|
|
387
389
|
yield* Ref.set(this.stateRef, Option.none());
|
|
388
|
-
// Tear down the
|
|
389
|
-
// close (e.g. server-initiated). `close()`
|
|
390
|
-
// `disconnectSync()` already handle their own
|
|
391
|
-
// client-initiated paths; this branch
|
|
392
|
-
// where the server closes us. Forked
|
|
393
|
-
// does not delay the rest of the
|
|
394
|
-
// Idempotent with the explicit
|
|
390
|
+
// Tear down the task-callback dispatcher Scope on
|
|
391
|
+
// socket-level close (e.g. server-initiated). `close()`
|
|
392
|
+
// / `disconnectSync()` already handle their own
|
|
393
|
+
// teardown for client-initiated paths; this branch
|
|
394
|
+
// covers the case where the server closes us. Forked
|
|
395
|
+
// so a slow handler does not delay the rest of the
|
|
396
|
+
// disconnect path. Idempotent with the explicit
|
|
397
|
+
// teardown in close().
|
|
395
398
|
this.runtime.runFork(Scope.close(dispatcherScope, Exit.void));
|
|
396
399
|
// Spec #222 §5.4 (V7): project the reader-fiber exit onto
|
|
397
400
|
// a typed `CloseInfo` and pass it to `onDisconnect`. Pure
|
|
@@ -421,7 +424,7 @@ export class MoltZapWsClient {
|
|
|
421
424
|
readerFiber,
|
|
422
425
|
scope,
|
|
423
426
|
handshakeSettled,
|
|
424
|
-
|
|
427
|
+
taskCallbackQueue,
|
|
425
428
|
dispatcherScope,
|
|
426
429
|
}));
|
|
427
430
|
const authEffect = this.sendRpc(Connect, {
|
|
@@ -485,33 +488,17 @@ export class MoltZapWsClient {
|
|
|
485
488
|
});
|
|
486
489
|
}
|
|
487
490
|
/**
|
|
488
|
-
*
|
|
489
|
-
*
|
|
490
|
-
*
|
|
491
|
-
* `Deferred.await` settles deterministically
|
|
492
|
-
*
|
|
493
|
-
* Exhaustive over `OfferRejected`'s discriminated union: adding a
|
|
494
|
-
* new tag fails the compile here.
|
|
491
|
+
* Write a "queue-full" error response back to the server when the
|
|
492
|
+
* task-callback executor queue is saturated. Bounded-queue offer
|
|
493
|
+
* returns `false` rather than blocking; we surface that to the
|
|
494
|
+
* server's `Deferred.await` so it settles deterministically.
|
|
495
495
|
*/
|
|
496
|
-
|
|
497
|
-
const reply =
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
return encodeErrorResponse(requestId, {
|
|
503
|
-
code: -32000,
|
|
504
|
-
message: `Server busy: partition limit reached (${err.activePartitions}/${err.maxPartitions})`,
|
|
505
|
-
});
|
|
506
|
-
}
|
|
507
|
-
if (err instanceof PartitionQueueFullError) {
|
|
508
|
-
return encodeErrorResponse(requestId, {
|
|
509
|
-
code: -32000,
|
|
510
|
-
message: `Server busy: partition queue full (capacity=${err.capacity})`,
|
|
511
|
-
});
|
|
512
|
-
}
|
|
513
|
-
const _exhaustive = err;
|
|
514
|
-
return _exhaustive;
|
|
496
|
+
writeQueueFullRejection(requestId, write) {
|
|
497
|
+
const reply = encodeErrorResponse(requestId, {
|
|
498
|
+
code: -32000,
|
|
499
|
+
message: `Server busy: task-callback executor queue full (capacity=${TASK_CALLBACK_QUEUE_CAPACITY})`,
|
|
500
|
+
});
|
|
501
|
+
return write(JSON.stringify(reply)).pipe(Effect.catchAll((werr) => Effect.sync(() => this.options.logger?.warn("task-callback queue-full rejection write failed", werr))));
|
|
515
502
|
}
|
|
516
503
|
/**
|
|
517
504
|
* Dispatch one inbound appCallback request to the registered handler, encode
|
|
@@ -601,35 +588,22 @@ export class MoltZapWsClient {
|
|
|
601
588
|
continue;
|
|
602
589
|
}
|
|
603
590
|
if (decoded._tag === "ServerRequest") {
|
|
604
|
-
//
|
|
605
|
-
// (
|
|
606
|
-
//
|
|
607
|
-
//
|
|
608
|
-
//
|
|
609
|
-
// back. Cross-tuple offers run concurrently — the arena#248
|
|
610
|
-
// deadlock between parked `apps/onBeforeDispatch` and
|
|
611
|
-
// sibling `apps/onBeforeMessageDelivery` cannot recur.
|
|
612
|
-
//
|
|
613
|
-
// `dispatcher.offer` is non-blocking: every failure mode is
|
|
614
|
-
// tagged in `OfferRejected` and translated below to a wire
|
|
615
|
-
// error response so the server's `Deferred.await` always
|
|
616
|
-
// settles (no hangs on partition-full requests).
|
|
591
|
+
// Task-callback request — non-blocking offer to the global
|
|
592
|
+
// bounded queue (cutover #533). The drain fiber serializes
|
|
593
|
+
// handler execution. If the queue is saturated, surface a
|
|
594
|
+
// typed wire-level error so the server's `Deferred.await`
|
|
595
|
+
// settles deterministically rather than hanging.
|
|
617
596
|
const state = yield* Ref.get(this.stateRef);
|
|
618
597
|
if (Option.isNone(state)) {
|
|
619
598
|
// Reader fiber observed a frame without a corresponding
|
|
620
|
-
// ConnState —
|
|
621
|
-
//
|
|
622
|
-
//
|
|
623
|
-
// gone too.
|
|
599
|
+
// ConnState — only path here is a frame arriving between
|
|
600
|
+
// scope-close finalization and reader-exit observation.
|
|
601
|
+
// Drop silently: the queue + drain fiber are already gone.
|
|
624
602
|
continue;
|
|
625
603
|
}
|
|
626
|
-
const offered = yield*
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
onRight: () => null,
|
|
630
|
-
});
|
|
631
|
-
if (offerFailure !== null) {
|
|
632
|
-
yield* this.writeOfferRejection(offerFailure, decoded.id, state.value.write);
|
|
604
|
+
const offered = yield* Queue.offer(state.value.taskCallbackQueue, decoded);
|
|
605
|
+
if (!offered) {
|
|
606
|
+
yield* this.writeQueueFullRejection(decoded.id, state.value.write);
|
|
633
607
|
}
|
|
634
608
|
continue;
|
|
635
609
|
}
|
package/dist/ws-client.js.map
CHANGED
|
@@ -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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"}
|
package/dist/ws-client.test.js
CHANGED
|
@@ -22,9 +22,33 @@ import * as NodeSocketServer from "@effect/platform-node/NodeSocketServer";
|
|
|
22
22
|
import * as Socket from "@effect/platform/Socket";
|
|
23
23
|
import { MoltZapWsClient, RPC_TIMEOUT_MS, } from "./ws-client.js";
|
|
24
24
|
import { RpcServerError, RpcTimeoutError, } from "@moltzap/protocol";
|
|
25
|
-
import {
|
|
25
|
+
import { DispatchAuthorize, Connect, ConversationsList, MessagesSend, MessageReceivedNotificationDefinition, PROTOCOL_VERSION, } from "@moltzap/protocol";
|
|
26
26
|
import { agentId, conversationId, messageId, JSON_RPC_VERSION, validateRequestFrame, validateResponseFrame, } from "@moltzap/protocol/testing";
|
|
27
|
-
|
|
27
|
+
// Test fixtures for dispatch/authorize round-trip tests below. The
|
|
28
|
+
// previous partitioned-dispatcher harness provided these via
|
|
29
|
+
// `app-callback-test-requests.ts`; that file was deleted in the
|
|
30
|
+
// cutover. The simpler global-queue topology only needs valid
|
|
31
|
+
// `dispatch/authorize` params shaped to the descriptor.
|
|
32
|
+
const DISPATCH_TASK_A_UUID = "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa";
|
|
33
|
+
const DISPATCH_TASK_B_UUID = "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb";
|
|
34
|
+
const DISPATCH_CONV_UUID = "cccccccc-cccc-4ccc-8ccc-cccccccccccc";
|
|
35
|
+
const DISPATCH_RECIPIENT_UUID = "dddddddd-dddd-4ddd-8ddd-dddddddddddd";
|
|
36
|
+
const DISPATCH_SENDER_UUID = "eeeeeeee-eeee-4eee-8eee-eeeeeeeeeeee";
|
|
37
|
+
const DISPATCH_MESSAGE_UUID = "11111111-1111-4111-8111-111111111111";
|
|
38
|
+
const SESSION_A = DISPATCH_TASK_A_UUID;
|
|
39
|
+
const SESSION_B = DISPATCH_TASK_B_UUID;
|
|
40
|
+
const dispatchRequestParams = (taskId) => ({
|
|
41
|
+
taskId,
|
|
42
|
+
appId: "app-test",
|
|
43
|
+
conversationId: DISPATCH_CONV_UUID,
|
|
44
|
+
recipient: { agentId: DISPATCH_RECIPIENT_UUID, ownerId: "owner-test" },
|
|
45
|
+
message: {
|
|
46
|
+
id: DISPATCH_MESSAGE_UUID,
|
|
47
|
+
senderAgentId: DISPATCH_SENDER_UUID,
|
|
48
|
+
parts: [{ type: "text", text: "hello" }],
|
|
49
|
+
},
|
|
50
|
+
attempt: 0,
|
|
51
|
+
});
|
|
28
52
|
// ── Test server helpers ────────────────────────────────────────────────
|
|
29
53
|
const LOCALHOST_HOST = "127.0.0.1";
|
|
30
54
|
const TEST_AGENT_ID = agentId("11111111-1111-4111-8111-111111111111");
|
|
@@ -707,15 +731,19 @@ describe("Phase 1.0 (B.1) — handleServerRpc round-trip", () => {
|
|
|
707
731
|
// client's dispatcher fiber was forked into the connect
|
|
708
732
|
// scope BEFORE network/connect was sent, so the inbound queue
|
|
709
733
|
// is live the moment we land here.
|
|
710
|
-
yield* conn.send(JSON.stringify(
|
|
734
|
+
yield* conn.send(JSON.stringify(DispatchAuthorize.encodeRequest("srv-test-1", dispatchRequestParams(SESSION_A))));
|
|
711
735
|
}
|
|
712
736
|
}));
|
|
713
737
|
const client = makeClient(server.url);
|
|
714
738
|
// Register a handler BEFORE connect so the dispatcher fiber sees
|
|
715
|
-
// it on the very first inbound task-callback request.
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
739
|
+
// it on the very first inbound task-callback request. The
|
|
740
|
+
// handler captures the `taskId` it was invoked with so the
|
|
741
|
+
// assertion below can verify the request reached the right
|
|
742
|
+
// descriptor's handler.
|
|
743
|
+
let observedTaskId = null;
|
|
744
|
+
yield* client.handleServerRpc(DispatchAuthorize, (params) => Effect.sync(() => {
|
|
745
|
+
observedTaskId = params.taskId;
|
|
746
|
+
return { admission: { decision: "grant" } };
|
|
719
747
|
}));
|
|
720
748
|
yield* Effect.promise(() => connectP(client));
|
|
721
749
|
// Wait for the response frame the dispatcher writes back. The
|
|
@@ -748,7 +776,7 @@ describe("Phase 1.0 (B.1) — handleServerRpc round-trip", () => {
|
|
|
748
776
|
return;
|
|
749
777
|
const result = parsedResponse.result;
|
|
750
778
|
expect(result.admission.decision).toBe("grant");
|
|
751
|
-
expect(
|
|
779
|
+
expect(observedTaskId).toBe(SESSION_A);
|
|
752
780
|
yield* closeClient(client);
|
|
753
781
|
}));
|
|
754
782
|
});
|
|
@@ -762,11 +790,11 @@ describe("Phase 1.0 (B.1) — handleServerRpc round-trip", () => {
|
|
|
762
790
|
const frame = parsed;
|
|
763
791
|
if (frame.method === Connect.name) {
|
|
764
792
|
yield* conn.send(JSON.stringify(Connect.encodeResponse(frame.id, helloOk())));
|
|
765
|
-
yield* conn.send(JSON.stringify(
|
|
793
|
+
yield* conn.send(JSON.stringify(DispatchAuthorize.encodeRequest("srv-err-1", dispatchRequestParams(SESSION_B))));
|
|
766
794
|
}
|
|
767
795
|
}));
|
|
768
796
|
const client = makeClient(server.url);
|
|
769
|
-
yield* client.handleServerRpc(
|
|
797
|
+
yield* client.handleServerRpc(DispatchAuthorize, () => Effect.fail(new RpcServerError({
|
|
770
798
|
code: -32099,
|
|
771
799
|
message: "domain-rejected",
|
|
772
800
|
data: { reason: "test" },
|
|
@@ -810,9 +838,9 @@ describe("Phase 1.0 (B.1) — handleServerRpc round-trip", () => {
|
|
|
810
838
|
serverUrl: "http://127.0.0.1:1",
|
|
811
839
|
agentKey: "test",
|
|
812
840
|
});
|
|
813
|
-
const first = await Effect.runPromiseExit(client.handleServerRpc(
|
|
841
|
+
const first = await Effect.runPromiseExit(client.handleServerRpc(DispatchAuthorize, () => Effect.succeed({ admission: { decision: "grant" } })));
|
|
814
842
|
expect(Exit.isSuccess(first)).toBe(true);
|
|
815
|
-
const second = await Effect.runPromiseExit(client.handleServerRpc(
|
|
843
|
+
const second = await Effect.runPromiseExit(client.handleServerRpc(DispatchAuthorize, () => Effect.succeed({ admission: { decision: "grant" } })));
|
|
816
844
|
expect(Exit.isFailure(second)).toBe(true);
|
|
817
845
|
if (Exit.isFailure(second)) {
|
|
818
846
|
const err = Cause.failureOption(second.cause);
|