@moltzap/client 2026.508.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 +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/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
package/dist/service.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.test.js","sourceRoot":"","sources":["../src/service.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.test.js","sourceRoot":"","sources":["../src/service.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Test fixture factory for ChannelService-shaped objects. */
|
|
2
2
|
import type { Message } from "@moltzap/protocol";
|
|
3
|
-
import type { ChannelService, CrossConversationEntry, CrossConvMessage } from "../index.js";
|
|
3
|
+
import type { ChannelService, CrossConversationEntry, CrossConvMessage, DispatchReleaseFrame } from "../index.js";
|
|
4
4
|
interface FixtureConversationMeta {
|
|
5
5
|
type: string;
|
|
6
6
|
name?: string;
|
|
@@ -17,6 +17,7 @@ export interface ChannelServiceEmit {
|
|
|
17
17
|
conversationUnarchived(data: {
|
|
18
18
|
conversationId: string;
|
|
19
19
|
}): void;
|
|
20
|
+
dispatchRelease(frame: DispatchReleaseFrame): void;
|
|
20
21
|
}
|
|
21
22
|
export interface ChannelServiceState {
|
|
22
23
|
setConversation(id: string, meta: FixtureConversationMeta): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-service-fixture.d.ts","sourceRoot":"","sources":["../../src/test-utils/channel-service-fixture.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAG9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"channel-service-fixture.d.ts","sourceRoot":"","sources":["../../src/test-utils/channel-service-fixture.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAG9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAQrB,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAaD,0CAA0C;AAC1C,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,UAAU,IAAI,IAAI,CAAC;IACnB,SAAS,IAAI,IAAI,CAAC;IAClB,oBAAoB,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,sBAAsB,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACjE,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CACf,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,sBAAsB,EAAE,GAChC,IAAI,CAAC;IACR,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAC3E,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC;IAC9D,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CACpD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,MAAM,WAAW,+BAA+B;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,+BAAoC,GACzC,kBAAkB,CAoMpB"}
|
|
@@ -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":"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"}
|
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
|
}
|