@moltzap/client 2026.507.0 → 2026.508.1
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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/frame.d.ts +9 -5
- package/dist/runtime/frame.d.ts.map +1 -1
- package/dist/runtime/frame.js +19 -15
- package/dist/runtime/frame.js.map +1 -1
- 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-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/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 +3 -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
|
@@ -17,6 +17,7 @@ export function createFakeChannelService(opts = {}) {
|
|
|
17
17
|
const reconnectHandlers = [];
|
|
18
18
|
const conversationArchivedHandlers = [];
|
|
19
19
|
const conversationUnarchivedHandlers = [];
|
|
20
|
+
const dispatchReleaseHandlers = [];
|
|
20
21
|
const conversations = new Map();
|
|
21
22
|
const agentNames = new Map();
|
|
22
23
|
const contextEntriesByConv = new Map();
|
|
@@ -49,6 +50,9 @@ export function createFakeChannelService(opts = {}) {
|
|
|
49
50
|
else if (event === "conversationUnarchived") {
|
|
50
51
|
conversationUnarchivedHandlers.push(handler);
|
|
51
52
|
}
|
|
53
|
+
else if (event === "dispatchRelease") {
|
|
54
|
+
dispatchReleaseHandlers.push(handler);
|
|
55
|
+
}
|
|
52
56
|
},
|
|
53
57
|
connect() {
|
|
54
58
|
return Effect.sync(() => {
|
|
@@ -137,6 +141,10 @@ export function createFakeChannelService(opts = {}) {
|
|
|
137
141
|
for (const h of conversationUnarchivedHandlers)
|
|
138
142
|
h({ conversationId });
|
|
139
143
|
},
|
|
144
|
+
dispatchRelease(frame) {
|
|
145
|
+
for (const h of dispatchReleaseHandlers)
|
|
146
|
+
h(frame);
|
|
147
|
+
},
|
|
140
148
|
};
|
|
141
149
|
const state = {
|
|
142
150
|
setConversation(id, meta) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-service-fixture.js","sourceRoot":"","sources":["../../src/test-utils/channel-service-fixture.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"channel-service-fixture.js","sourceRoot":"","sources":["../../src/test-utils/channel-service-fixture.ts"],"names":[],"mappings":"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"}
|
package/dist/ws-client.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { DuplicateServerRpcHandlerError } from "./runtime/errors.js";
|
|
|
4
4
|
import { type DecodedNotification } from "./runtime/frame.js";
|
|
5
5
|
import { type NotificationSubscription, type SubscriberHandler, type SubscriptionFilter } from "./runtime/subscribers.js";
|
|
6
6
|
import { type CloseInfo } from "./runtime/close-info.js";
|
|
7
|
-
import { type PartitionedDispatcherConfig } from "./internal/app-callback-partitioned-dispatcher.js";
|
|
8
7
|
export type { CloseInfo };
|
|
9
8
|
/**
|
|
10
9
|
* Default per-RPC timeout. Exported so tests driving `TestClock` can match
|
|
@@ -15,17 +14,6 @@ export interface RpcCallOptions {
|
|
|
15
14
|
readonly timeoutMs?: number;
|
|
16
15
|
}
|
|
17
16
|
type ConnectResult = ResultOf<typeof Connect>;
|
|
18
|
-
/**
|
|
19
|
-
* appCallback dispatcher knobs exposed on `MoltZapWsClientOptions`. All optional;
|
|
20
|
-
* defaults from `DEFAULT_PARTITIONED_DISPATCHER_CONFIG`.
|
|
21
|
-
*
|
|
22
|
-
* Spec #356 OQ-3 (`idlePartitionTtlMs`) ships at the architect's
|
|
23
|
-
* recommended default of 60_000 ms. Per OQ-5, 256 active partitions
|
|
24
|
-
* comfortably absorbs current arena workloads (≤15 keys per session
|
|
25
|
-
* at peak), so the cap doubles as a per-tenant DoS guard, not a
|
|
26
|
-
* cardinality lever.
|
|
27
|
-
*/
|
|
28
|
-
export type AppCallbackDispatcherConfig = Partial<PartitionedDispatcherConfig>;
|
|
29
17
|
/**
|
|
30
18
|
* Handler signature for `handleServerRpc`. The handler returns an
|
|
31
19
|
* `Effect<unknown, RpcServerError>` — success values are encoded as the
|
|
@@ -71,11 +59,6 @@ export interface MoltZapWsClientOptions {
|
|
|
71
59
|
onDisconnect?: (close: CloseInfo) => void;
|
|
72
60
|
onReconnect?: (helloOk: ConnectResult) => void;
|
|
73
61
|
logger?: WsClientLogger;
|
|
74
|
-
/**
|
|
75
|
-
* Spec #356 — partitioned appCallback dispatcher knobs. Optional; omitted
|
|
76
|
-
* fields fall back to `DEFAULT_PARTITIONED_DISPATCHER_CONFIG`.
|
|
77
|
-
*/
|
|
78
|
-
appCallbackDispatcher?: AppCallbackDispatcherConfig;
|
|
79
62
|
}
|
|
80
63
|
/**
|
|
81
64
|
* WebSocket lifecycle: open → network/connect → active. On disconnect,
|
|
@@ -182,16 +165,12 @@ export declare class MoltZapWsClient {
|
|
|
182
165
|
private connectEffect;
|
|
183
166
|
private sendRpcEffect;
|
|
184
167
|
/**
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
* `Deferred.await` settles deterministically
|
|
189
|
-
*
|
|
190
|
-
* Exhaustive over `OfferRejected`'s discriminated union: adding a
|
|
191
|
-
* new tag fails the compile here.
|
|
168
|
+
* Write a "queue-full" error response back to the server when the
|
|
169
|
+
* task-callback executor queue is saturated. Bounded-queue offer
|
|
170
|
+
* returns `false` rather than blocking; we surface that to the
|
|
171
|
+
* server's `Deferred.await` so it settles deterministically.
|
|
192
172
|
*/
|
|
193
|
-
private
|
|
194
|
-
private offerRejectedResponse;
|
|
173
|
+
private writeQueueFullRejection;
|
|
195
174
|
/**
|
|
196
175
|
* Dispatch one inbound appCallback request to the registered handler, encode
|
|
197
176
|
* the response, and write it back to the server. Errors are projected
|
package/dist/ws-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../src/ws-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,MAAM,
|
|
1
|
+
{"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../src/ws-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,MAAM,EAUP,MAAM,QAAQ,CAAC;AAChB,OAAO,EAEL,OAAO,EAEP,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,SAAS,EACd,KAAK,QAAQ,EAGb,KAAK,QAAQ,EACb,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EAEtB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAM3E,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAS,CAAC;AAErC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AA8CD,KAAK,aAAa,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AA6D9C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,4BAA4B,GAAG,4BAA4B,IACnE,CACF,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EACnB,GAAG,EAAE,gBAAgB,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;CAAE,KAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AA+ChD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,eAAe;IA8Cd,OAAO,CAAC,QAAQ,CAAC,OAAO;IA7CpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAEzB;IACF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAErC;IACF;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAKrC;IACF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGtB;IACF;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAErC;IAEF,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,QAAQ,CAA8B;gBAEjB,OAAO,EAAE,sBAAsB;IAuC5D;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,CAAC,SAAS,4BAA4B,EACpD,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAiBtD,IAAI,OAAO,IAAI,aAAa,GAAG,IAAI,CAElC;IAED;iDAC6C;IAC7C,OAAO,IAAI,MAAM,CAAC,MAAM,CACtB,aAAa,EACb,iBAAiB,GAAG,eAAe,GAAG,cAAc,CACrD;IAcD;;;;;;;;OAQG;IACH,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAC/C,UAAU,EAAE,CAAC,EACb,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EACnB,IAAI,CAAC,EAAE,cAAc,GACpB,MAAM,CAAC,MAAM,CACd,QAAQ,CAAC,CAAC,CAAC,EACX,iBAAiB,GAAG,eAAe,GAAG,cAAc,CACrD;IAgBD;;;;;;;;;;;OAWG;IACH,SAAS,CACP,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,iBAAiB,CAAC;IAS7D;;;;;OAKG;IACH,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IA8CnC;;kCAE8B;IAC9B,mBAAmB,CAAC,CAAC,SAAS,yBAAyB,EACrD,UAAU,EAAE,CAAC,EACb,SAAS,SAAwB,GAChC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAmD/C;;iDAE6C;IAC7C,kBAAkB,IAAI,mBAAmB,CAAC,yBAAyB,CAAC,EAAE;IAMtE,uFAAuF;IACvF,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAIxC,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,aAAa;IAiLrB,OAAO,CAAC,aAAa;IA0ErB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,4BAA4B;IA0DpC;oEACgE;IAChE,OAAO,CAAC,cAAc;IA8GtB,mFAAmF;IACnF,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,cAAc;IActB;6EACyE;IACzE,OAAO,CAAC,iBAAiB;CA4C1B"}
|
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":"AAAA,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,cAAc,EACd,MAAM,EACN,KAAK,EACL,GAAG,EACH,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,eAAe,GAShB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,sBAAsB,GAKvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAQ3E;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAMrC,sEAAsE;AACtE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AACtC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,MAAM,4BAA4B,GAAG,CAAC,KAAK,CAAC;AAE5C;;;GAGG;AACH,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B;;;;;;;;;;GAUG;AACH,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE1C,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AACpD,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAE3C,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;AAE9C,MAAM,qBAAqB,GAAG,GAAsB,EAAE,CACpD,IAAI,iBAAiB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAOxD,MAAM,2BAA4B,SAAQ,IAAI,CAAC,WAAW,CACxD,6BAA6B,CAG7B;CAAG;AA2FL;;;qDAGqD;AAErD,SAAS,uBAAuB,CAC9B,UAAa,EACb,YAA4D;IAE5D,OAAO,YAAY,CAAC,UAAU,KAAK,UAAU,CAAC;AAChD,CAAC;AAED,sFAAsF;AACtF,SAAS,YAAY,CACnB,CAGC,EACD,UAAqC,EACrC,MAA0B;IAK1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IAC1D,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC;QAC/B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AA6BD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,eAAe;IA8CG;IA7CZ,UAAU,CAEzB;IACe,QAAQ,CAAoC;IAC5C,YAAY,CAAkB;IAC9B,sBAAsB,CAErC;IACF;;;OAGG;IACc,sBAAsB,CAKrC;IACe,OAAO,CAGtB;IACF;;;;;OAKG;IACc,WAAW,CAAqB;IAEjD;;;;;OAKG;IACc,sBAAsB,CAErC;IAEM,cAAc,GAAG,CAAC,CAAC;IACnB,MAAM,GAAG,KAAK,CAAC;IACf,cAAc,GAA2C,IAAI,CAAC;IAC9D,QAAQ,GAAyB,IAAI,CAAC;IAE9C,YAA6B,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;QAC1D,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CACpC,GAAG,CAAC,IAAI,CAEN,OAAO,CAAC,KAAK,EAAE,CAAC,CACnB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAClC,GAAG,CAAC,IAAI,CAA2B,MAAM,CAAC,IAAI,EAAE,CAAC,CAClD,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAChD,GAAG,CAAC,IAAI,CACN,EAAE,CACH,CACF,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAChD,GAAG,CAAC,IAAI,CAKN,OAAO,CAAC,KAAK,EAAE,CAAC,CACnB,CAAC;QACF,oEAAoE;QACpE,8DAA8D;QAC9D,qDAAqD;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CACrC,sBAAsB,CAAC;YACrB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;SACtD,CAAC,CACH,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAChD,GAAG,CAAC,IAAI,CAEN,OAAO,CAAC,KAAK,EAAE,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,eAAe,CACb,UAAa,EACb,OAA4B;QAE5B,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE;gBACnE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;oBAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAClD,OAAO;oBACL,IAAI;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,OAAiC,CAAC;iBAC9D,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,8BAA8B,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAChE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;iDAC6C;IAC7C,OAAO;QAIL,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI;YAC9B,8DAA8D;YAC9D,2DAA2D;YAC3D,8DAA8D;YAC9D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,CACrD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CACL,UAAa,EACb,MAAmB,EACnB,IAAqB;QAKrB,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CACtD,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,IAAI,cAAc,CAAC;gBACjB,IAAI,EAAE,4BAA4B;gBAClC,OAAO,EAAE,8BAA8B,UAAU,CAAC,IAAI,EAAE;gBACxD,IAAI,EAAE,MAAM;aACb,CAAC,CACH,CACN,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CACP,MAA0B,EAC1B,OAA0B;QAE1B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YACxB,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;YACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;gBAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAC9C,KAAK,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;YAC1D,4DAA4D;YAC5D,mDAAmD;YACnD,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK;yBACf,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;yBACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACtB,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClE,CAAC;gBACD,6DAA6D;gBAC7D,0DAA0D;gBAC1D,0CAA0C;gBAC1C,0DAA0D;gBAC1D,uDAAuD;gBACvD,2CAA2C;gBAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED;;kCAE8B;IAC9B,mBAAmB,CACjB,UAAa,EACb,SAAS,GAAG,qBAAqB;QAEjC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAChC,IAAI,CAAC,sBAAsB,EAC3B,CAAC,MAAM,EAAE,EAAE;gBACT,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC5C,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC;wBAAE,SAAS;oBAC1D,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBACjE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxB,CAAC,CACF,CAAC;YACF,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,QAAQ,CAAC;YAEvC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAiC,CAAC;YACvE,MAAM,MAAM,GAAuB;gBACjC,UAAU;gBACV,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CACzB,uBAAuB,CAAC,UAAU,EAAE,YAAY,CAAC;oBAC/C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC9D,CAAC,CAAC,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;aACpE,CAAC;YACF,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE;gBACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC5C,MAAM,IAAI,GACR,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACpE,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,EACD,UAAU,EACV,IAAyC,CAC1C,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CACzC,MAAM,CAAC,WAAW,CAAC;gBACjB,QAAQ,EAAE,GAAG,SAAS,SAAS;gBAC/B,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,KAAK,CAAC,qCAAqC,UAAU,CAAC,IAAI,EAAE,CAAC;aACpE,CAAC,EACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,IAAI,CAAC,IAAI,KAAK,SAAS;gBACrB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC5C,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CACpC;gBACH,CAAC,CAAC,MAAM,CAAC,IAAI,CAChB,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;iDAE6C;IAC7C,kBAAkB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,uFAAuF;IACvF,UAAU;QACR,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAClD,CAAC;IAEO,cAAc;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO;QACjC,oEAAoE;QACpE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,8DAA8D;QAC9D,sEAAsE;QACtE,kEAAkE;QAClE,sEAAsE;QACtE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC7D,qEAAqE;QACrE,iDAAiD;QACjD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/D,iEAAiE;QACjE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,+DAA+D;QAC/D,kEAAkE;QAClE,4DAA4D;QAC5D,wDAAwD;QACxD,cAAc;QACd,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEO,aAAa;QAKnB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;YAElE,wEAAwE;YACxE,sEAAsE;YACtE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAElC,sEAAsE;YACtE,yDAAyD;YACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAChC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,EAC1C,KAAK,CACN,CAAC,IAAI,CACJ,MAAM,CAAC,WAAW,CAAC;gBACjB,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,qBAAqB;aACjC,CAAC,EACF,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAC1D,EACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAC/D,CACF,CACF,CAAC;YAEF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAExD,qEAAqE;YACrE,yDAAyD;YACzD,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAG1C,CAAC;YAEJ,8DAA8D;YAC9D,6DAA6D;YAC7D,yDAAyD;YACzD,2DAA2D;YAC3D,8DAA8D;YAC9D,8DAA8D;YAC9D,8DAA8D;YAC9D,4BAA4B;YAC5B,EAAE;YACF,iEAAiE;YACjE,gEAAgE;YAChE,wDAAwD;YACxD,+DAA+D;YAC/D,mDAAmD;YACnD,8DAA8D;YAC9D,oCAAoC;YACpC,kCAAkC;YAClC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAC5C,4BAA4B,CAC7B,CAAC;YACF,4DAA4D;YAC5D,gEAAgE;YAChE,iEAAiE;YACjE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAChC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAChC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACrB,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,KAAK,CAAC,CAC9C,CACF,CACF,CAAC;YACF,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEnD,kEAAkE;YAClE,qEAAqE;YACrE,qEAAqE;YACrE,sBAAsB;YACtB,MAAM,YAAY,GAAG,MAAM;iBACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAC,cAAc,CACjB,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAC5D,CACF;iBACA,IAAI,CACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3D,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;gBAC9C,wDAAwD;gBACxD,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAClB,gBAAgB,EAChB,qBAAqB,EAAE,CACxB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtB,4DAA4D;gBAC5D,4DAA4D;gBAC5D,0DAA0D;gBAC1D,sDAAsD;gBACtD,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7C,kDAAkD;gBAClD,wDAAwD;gBACxD,gDAAgD;gBAChD,mDAAmD;gBACnD,qDAAqD;gBACrD,mDAAmD;gBACnD,gDAAgD;gBAChD,uBAAuB;gBACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9D,0DAA0D;gBAC1D,0DAA0D;gBAC1D,gDAAgD;gBAChD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACrC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACtB,IAAI,CAAC;wBACH,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC,CAAC,CACH,CACF,CAAC;YAEJ,sEAAsE;YACtE,uEAAuE;YACvE,kEAAkE;YAClE,gEAAgE;YAChE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAEvD,+DAA+D;YAC/D,2CAA2C;YAC3C,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CACZ,IAAI,CAAC,QAAQ,EACb,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK;gBACL,WAAW;gBACX,KAAK;gBACL,gBAAgB;gBAChB,iBAAiB;gBACjB,eAAe;aAChB,CAAC,CACH,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACvC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAC/B,WAAW,EAAE,gBAAgB;gBAC7B,WAAW,EAAE,gBAAgB;aAC9B,CAAC,CAAC;YAEH,0EAA0E;YAC1E,iEAAiE;YACjE,uEAAuE;YACvE,6CAA6C;YAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CACpC,UAAU,EACV,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CACjC,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CACH,CACF,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CACnB,UAAa,EACb,MAAmB,EACnB,IAAqB;QAKrB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,KAAK,GAAiB,UAAU,CAAC,aAAa,CAClD,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,EAC9B,MAAM,CACP,CAAC;YACF,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YAEpB,oEAAoE;YACpE,mEAAmE;YACnE,2BAA2B;YAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAyB,CAAC;YAC/D,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;YAExE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAChC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACzC,CAAC;YACF,MAAM,YAAY,GAAwB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CACrE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAC3C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAChB,CAAC;YACF,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACjE,MAAM,YAAY,GAChB,SAAS,KAAK,IAAI;gBAChB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;oBACtB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;oBACpB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;iBACpB,CAAC,CAAC;YACT,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;gBAC1D,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACjE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,cAAc,CAAC;YACpD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,WAAW,CAAC;gBACjB,QAAQ,EAAE,GAAG,SAAS,SAAS;gBAC/B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;aAC5D,CAAC,EACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,IAAI,CAChB,CACF,CAAC;YAEF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,cAAc,CAAC;oBACjB,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EAAE,8BAA8B,UAAU,CAAC,IAAI,EAAE;oBACxD,IAAI,EAAE,MAAM;iBACb,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,MAAqB,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAC7B,SAAoB,EACpB,KAAyB;QAEzB,MAAM,KAAK,GAAkB,mBAAmB,CAAC,SAAS,EAAE;YAC1D,IAAI,EAAE,CAAC,KAAK;YACZ,OAAO,EAAE,4DAA4D,4BAA4B,GAAG;SACrG,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CACvB,iDAAiD,EACjD,IAAI,CACL,CACF,CACF,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,4BAA4B,CAClC,OAA6B,EAC7B,KAAyB;QAEzB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,UAAU,GACd,MAAM,CAAC,IAAI,KAAK,MAAM;gBACpB,CAAC,CAAC,MAAM,CAAC,OAAO,CACZ,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE;oBAC9B,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,mDAAmD;iBAC7D,CAAyB,CAC3B;gBACH,CAAC,CAAC,MAAM;qBACH,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC;qBACD,IAAI,CACH,MAAM,CAAC,KAAK,CAAC;oBACX,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CACpB,OAAO,CAAC,UAAU,CAAC,cAAc,CAC/B,OAAO,CAAC,EAAE,EACV,MAAM,CACiB;oBAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE;wBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtD,CAAyB;iBAC7B,CAAC,EACF,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACf,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CACvB,8BAA8B,EAC9B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,CAAC;oBACF,OAAO,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE;wBACrC,IAAI,EAAE,CAAC,KAAK;wBACZ,OAAO,EAAE,gBAAgB;qBAC1B,CAAyB,CAAC;gBAC7B,CAAC,CAAC,CACH,CACF,CAAC;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;YAChC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CACtB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,mCAAmC,EAAE,GAAG,CAAC,CACpE,CACF,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;oEACgE;IACxD,cAAc,CAAC,GAAW;QAChC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC7C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,KAAK,CAAC,EAAE,CAAC;oBAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CACvB,qBAAqB,CAAC,IAAI,EAC1B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAChD,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CACH,CACF,CAAC;YACF,IAAI,aAAa,KAAK,IAAI;gBAAE,OAAO;YAEnC,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;gBACpC,IACE,OAAO,CAAC,IAAI,KAAK,iBAAiB;oBAClC,OAAO,CAAC,IAAI,KAAK,eAAe,EAChC,CAAC;oBACD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;oBACtB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;wBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACjC,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM;4BAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACtC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAChB,CAAC,CAAC,CAAC;oBACH,IAAI,OAAO,KAAK,IAAI;wBAAE,SAAS;oBAE/B,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBACrC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;wBAC1B,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAClB,OAAO,EACP,IAAI,cAAc,CAAC;4BACjB,IAAI,EACF,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gCAC5B,CAAC,CAAC,KAAK,CAAC,IAAI;gCACZ,CAAC,CAAC,4BAA4B;4BAClC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,sBAAsB;4BAChD,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB,CAAC,CACH,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBACnD,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACrC,2DAA2D;oBAC3D,2DAA2D;oBAC3D,0DAA0D;oBAC1D,0DAA0D;oBAC1D,iDAAiD;oBACjD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5C,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,wDAAwD;wBACxD,yDAAyD;wBACzD,wDAAwD;wBACxD,2DAA2D;wBAC3D,SAAS;oBACX,CAAC;oBACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAChC,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAC7B,OAAO,CACR,CAAC;oBACF,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,KAAK,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrE,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACpC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CACjC,IAAI,CAAC,sBAAsB,EAC3B,CAAC,CAAC,EAAE,EAAE;wBACJ,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;wBAClD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACxD,OAAO,CAAC,IAAiC,EAAE,CAAC,CAAC,CAAC;wBAChD,CAAC;wBACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;wBACzB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;wBACpC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC9B,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,KAAK,CAAC;4BACf,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;4BACvC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;wBAC/C,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC3B,CAAC,CACF,CAAC;oBACF,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;wBACvB,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBAED,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE,EAAE,EAAE;wBACpD,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;wBAClC,OAAO,QAAQ,CAAC,MAAM,GAAG,gBAAgB;4BACvC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC;4BACnC,CAAC,CAAC,QAAQ,CAAC;oBACf,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IAC3E,0BAA0B,CAAC,OAAe;QAChD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAClC,IAAI,CAAC,sBAAsB,EAC3B,OAAO,CAAC,KAAK,EAGV,CACJ,CAAC;YACF,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,OAAe;QACpC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAClC,IAAI,CAAC,UAAU,EACf,OAAO,CAAC,KAAK,EAAuD,CACrE,CAAC;YACF,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAC9D,MAAM,CAAC,MAAM,CACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;6EACyE;IACjE,iBAAiB;QACvB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,OAAO;QAExD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CACvC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACrB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CACH;QACD,6DAA6D;QAC7D,MAAM,CAAC,QAAQ,CACb,GAAG,EAAE,CACH,IAAI,2BAA2B,CAAC;YAC9B,MAAM,EAAE,0BAA0B;SACnC,CAAC,CACL,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAClC,QAAQ,CAAC,MAAM,CAAC,uBAAuB,CAAC,EACxC,wBAAwB,CACzB,CAAC,IAAI,CACJ,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EACzE,QAAQ,CAAC,QAAQ,CAClB,CAAC;QAEF,MAAM,IAAI,GAA+B,OAAO,CAAC,IAAI,CACnD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EACrB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAClC,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,CACH,EACD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,CACrD,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;CACF"}
|
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);
|