@spine-event-engine/delivery-client 2.0.0-snapshot.23 → 2.0.0-snapshot.25
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/README.md +2 -1
- package/REFERENCE.md +15 -12
- package/dist/client/client.d.ts +2 -5
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +5 -8
- package/dist/client/client.js.map +1 -1
- package/dist/client/types.d.ts +5 -4
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js +6 -5
- package/dist/client/types.js.map +1 -1
- package/dist/remote/adapters.d.ts +6 -15
- package/dist/remote/adapters.d.ts.map +1 -1
- package/dist/remote/adapters.js +98 -48
- package/dist/remote/adapters.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wire/codec.d.ts.map +1 -1
- package/dist/wire/codec.js +21 -14
- package/dist/wire/codec.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -42,7 +42,8 @@ Read operations can use the configured bounded retry policy. Mutations never
|
|
|
42
42
|
retry automatically: a lost mutation response means the remote outcome is
|
|
43
43
|
unknown and must be reconciled before any later action.
|
|
44
44
|
Inbox receipts and `sinceWhen` page anchors use Protobuf `Timestamp` values,
|
|
45
|
-
preserving seconds and nanoseconds
|
|
45
|
+
preserving seconds and nanoseconds. `readPage` calls the JVM
|
|
46
|
+
`InboxService.FindManyInShard` RPC with an exclusive timestamp bound.
|
|
46
47
|
|
|
47
48
|
<!-- docs-snippet-path: packages/delivery-client/src/client/client.ts -->
|
|
48
49
|
|
package/REFERENCE.md
CHANGED
|
@@ -32,13 +32,12 @@ mutation response raises `DeliveryOutcomeUnknownError`; inspect its
|
|
|
32
32
|
`reconciliation` instruction, read the remote fact, and do not blindly repeat
|
|
33
33
|
the mutation.
|
|
34
34
|
|
|
35
|
-
`readPage`
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
Inbox read results expose `whenReceived` as a Protobuf
|
|
39
|
-
and nanoseconds. Single and batch writes and removals
|
|
40
|
-
|
|
41
|
-
continuation precision.
|
|
35
|
+
`readPage` calls the existing JVM `InboxService.FindManyInShard` RPC.
|
|
36
|
+
`sinceWhen` is its exclusive timestamp lower bound. Invalid local offsets or
|
|
37
|
+
unsafe page continuation raise `DeliveryPagingError`; malformed responses raise
|
|
38
|
+
`DeliveryProtocolError`. Inbox read results expose `whenReceived` as a Protobuf
|
|
39
|
+
`Timestamp` with seconds and nanoseconds. Single and batch writes and removals
|
|
40
|
+
also preserve that timestamp.
|
|
42
41
|
|
|
43
42
|
## Observation and topology
|
|
44
43
|
|
|
@@ -65,9 +64,13 @@ delivery and delivered rows are the deduplication fact. This
|
|
|
65
64
|
package does not add authentication, authorization, durability, exactly-once
|
|
66
65
|
effects, or a production topology.
|
|
67
66
|
|
|
68
|
-
Each delivery read requests one bounded logical shard page.
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
Each delivery read requests one bounded logical shard page. Status filtering
|
|
68
|
+
advances through bounded raw pages by their last received timestamp within one
|
|
69
|
+
total read deadline, including pages containing only excluded statuses. The
|
|
70
|
+
caller's `AbortSignal` also covers that complete multi-page collection, including
|
|
71
|
+
later pages. The read is live: inserts behind the timestamp position require a later fresh
|
|
72
|
+
scan. The server
|
|
73
|
+
delivery policy compares pending rows with
|
|
71
74
|
delivered rows in the logical page and its bounded recent-delivery cache, then
|
|
72
75
|
removes exact duplicates without treating them as delivered acknowledgements.
|
|
73
76
|
Remote duplicate removal compares the current snapshot before sending the
|
|
@@ -107,5 +110,5 @@ health route, provider selector, worker, or
|
|
|
107
110
|
delivery-server mode.
|
|
108
111
|
|
|
109
112
|
Retained rows suppress the same signal ID at the same typed Inbox target until
|
|
110
|
-
`keep_until`. Remote pagination
|
|
111
|
-
|
|
113
|
+
`keep_until`. Remote pagination uses the JVM timestamp query and remains a
|
|
114
|
+
bounded live scan; it does not provide arbitrary-depth indexed lookup.
|
package/dist/client/client.d.ts
CHANGED
|
@@ -60,12 +60,9 @@ export declare class DeliveryClient {
|
|
|
60
60
|
*/
|
|
61
61
|
findOne(id: InboxMessageId, options?: DeliveryFindOneOptions): Promise<InboxMessage | undefined>;
|
|
62
62
|
/**
|
|
63
|
-
* Reads
|
|
64
|
-
*
|
|
65
|
-
* A server rejects an encoded response above 4 MiB with `RESOURCE_EXHAUSTED`;
|
|
66
|
-
* retry this safe read with a smaller `pageSize`.
|
|
63
|
+
* Reads one bounded page through the JVM InboxService timestamp query.
|
|
67
64
|
* @param shardIndex Identifies the shard to read.
|
|
68
|
-
* @param options Supplies
|
|
65
|
+
* @param options Supplies the exclusive time bound, page size, and read bounds.
|
|
69
66
|
* @returns Detached messages in remote timestamp order.
|
|
70
67
|
*/
|
|
71
68
|
readPage(shardIndex: ShardIndex, options?: DeliveryReadPageOptions): Promise<readonly InboxMessage[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAoBxD,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,cAAc;;IAyBzB;;;;;OAKG;IACH,OAAO;IA4BP;;;OAGG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE,qBAA0B,GAAG,cAAc;IAIhG;;;;;;;;;;OAUG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,cAAc;IAkBtF;;;;OAIG;IACG,aAAa,CACjB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC;IAa7C;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,GAAE,sBAA2B,GAAG,8BAA8B;IA0CzF;;;;;OAKG;IACG,OAAO,CACX,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAepC
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client/client.js
CHANGED
|
@@ -17,7 +17,7 @@ import { EmptySchema } from "@bufbuild/protobuf/wkt";
|
|
|
17
17
|
import { Code, ConnectError, createClient } from "@connectrpc/connect";
|
|
18
18
|
import { createGrpcTransport, Http2SessionManager } from "@connectrpc/connect-node";
|
|
19
19
|
import { ShardIndex } from "@spine-event-engine/server";
|
|
20
|
-
import { InboxService, AdminService, ShardService, PageOfMessagesSchema, OptionalInboxMessageSchema, ShardInfoListSchema, LiquorPickUpOutcomeSchema as PickUpOutcomeSchema, ExpiredSessionsReleasedSchema, PickUpShardSchema,
|
|
20
|
+
import { InboxService, AdminService, ShardService, PageOfMessagesSchema, ReadMessagesSinceTimeSchema as ReadSinceTimeSchema, OptionalInboxMessageSchema, ShardInfoListSchema, LiquorPickUpOutcomeSchema as PickUpOutcomeSchema, ExpiredSessionsReleasedSchema, PickUpShardSchema, RemoveMessageSchema, RemoveMessagesSchema, ReleaseExpiredSessionsSchema, ReleaseShardSchema, WriteMessageSchema, WriteMessagesSchema, } from "@spine-event-engine/proto/delivery-server";
|
|
21
21
|
import { InboxMessageIdSchema, ShardIndexSchema } from "@spine-event-engine/proto/delivery";
|
|
22
22
|
import { DeliveryOutcomeUnknownError, MAX_DELIVERY_RPC_BYTES, MAX_DELIVERY_TRACKED_SHARDS, } from "./types.js";
|
|
23
23
|
import { ShardObservationStream } from "./shard-observation.js";
|
|
@@ -173,12 +173,9 @@ export class DeliveryClient {
|
|
|
173
173
|
: DeliveryMessageCodec.decode(response.message, id.shard);
|
|
174
174
|
}
|
|
175
175
|
/**
|
|
176
|
-
* Reads
|
|
177
|
-
*
|
|
178
|
-
* A server rejects an encoded response above 4 MiB with `RESOURCE_EXHAUSTED`;
|
|
179
|
-
* retry this safe read with a smaller `pageSize`.
|
|
176
|
+
* Reads one bounded page through the JVM InboxService timestamp query.
|
|
180
177
|
* @param shardIndex Identifies the shard to read.
|
|
181
|
-
* @param options Supplies
|
|
178
|
+
* @param options Supplies the exclusive time bound, page size, and read bounds.
|
|
182
179
|
* @returns Detached messages in remote timestamp order.
|
|
183
180
|
*/
|
|
184
181
|
async readPage(shardIndex, options = {}) {
|
|
@@ -188,12 +185,12 @@ export class DeliveryClient {
|
|
|
188
185
|
const sinceWhen = options.sinceWhen === undefined
|
|
189
186
|
? undefined
|
|
190
187
|
: DeliveryRequestCodec.timestamp(options.sinceWhen);
|
|
191
|
-
const request = create(
|
|
188
|
+
const request = create(ReadSinceTimeSchema, {
|
|
192
189
|
shard: DeliveryShardCodec.encode(shardIndex),
|
|
193
190
|
pageSize: size,
|
|
194
191
|
...(sinceWhen === undefined ? {} : { sinceWhen }),
|
|
195
192
|
});
|
|
196
|
-
DeliveryRequestCodec.requestBytes(
|
|
193
|
+
DeliveryRequestCodec.requestBytes(ReadSinceTimeSchema, request);
|
|
197
194
|
const response = await this.#read(options, (signal, timeoutMs) => this.#inbox.findManyInShard(request, { timeoutMs, signal }));
|
|
198
195
|
DeliveryRequestCodec.responseBytes(PageOfMessagesSchema, response);
|
|
199
196
|
if (response.message.length > size)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,IAAI,mBAAmB,EAChD,6BAA6B,EAC7B,iBAAiB,EACjB,2BAA2B,IAAI,kBAAkB,EACjD,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,2BAA2B,GAU5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAElG,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAapB;;GAEG;AACH,MAAM,OAAO,cAAc;IAChB,MAAM,CAAuD;IAE7D,OAAO,CAAuD;IAE9D,MAAM,CAAuD;IAE7D,SAAS,CAAS;IAElB,YAAY,CAAS;IAErB,eAAe,CAAS;IAExB,sBAAsB,CAAS;IAE/B,8BAA8B,CAAS;IAEvC,sBAAsB,CAAS;IAE/B,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE1C,sBAAsB,CAA2B;IAE1D,OAAO,GAAG,KAAK,CAAC;IAEhB;;;;;OAKG;IACH,YACE,SAAoB,EACpB,OAA8B,EAC9B,qBAAkC;QAElC,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,sBAAsB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,8BAA8B,GAAG,oBAAoB,CAAC,OAAO,CAChE,OAAO,CAAC,6BAA6B,IAAI,CAAC,CAC3C,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,oBAAoB,CAAC,OAAO,CACxD,OAAO,CAAC,qBAAqB,IAAI,GAAG,EACpC,CAAC,EACD,KAAK,EACL,kCAAkC,CACnC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;QACpD,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAC/D,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CACjD,CAAC;QACF,0BAA0B,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,SAAoB,EAAE,UAAiC,EAAE;QAC7E,OAAO,IAAI,EAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,SAAS,CAAC,OAAe,EAAE,UAAiC,EAAE;QACnE,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3D,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,EAAc,CACvB,mBAAmB,CAAC;YAClB,OAAO;YACP,cAAc,EAAE,QAAQ;YACxB,YAAY,EAAE,sBAAsB;YACpC,aAAa,EAAE,sBAAsB;SACtC,CAAC,EACF,UAAU,EACV,GAAG,EAAE;YACH,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CACjB,UAAkC,EAAE;QAEpC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACpC,oBAAoB,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAC/D,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CACvF,CAAC;QACF,oBAAoB,CAAC,aAAa,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,2BAA2B;YAAE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QAChG,OAAO,MAAM,CAAC,MAAM,CAClB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAC5E,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,UAAkC,EAAE;QACtD,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACzE,CAAC;IAED,oBAAoB,CAClB,OAA+B,EAC/B,UAAkB;QAElB,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,IAAI,sBAAsB,CAAC;YAChC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,cAAc,EAAE,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;YACzE,QAAQ,EAAE,IAAI,CAAC,sBAAsB;YACrC,UAAU;YACV,kBAAkB,EAAE,IAAI,CAAC,8BAA8B;YACvD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CACf,IAAI,CAAC,MAAM,CAAC,uBAAuB,CACjC,MAAM,CAAC,WAAW,CAAC,EACnB,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CACzC;YACH,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK;YAC3E,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;gBACtB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,CAAC;gBACzE,OAAO,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACvE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACX,EAAkB,EAClB,UAAkC,EAAE;QAEpC,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE;YAC3C,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;SAC3C,CAAC,CAAC;QACH,oBAAoB,CAAC,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CACpD,CAAC;QACF,oBAAoB,CAAC,aAAa,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS;YACnC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,CACZ,UAAsB,EACtB,UAAmC,EAAE;QAErC,MAAM,IAAI,GACR,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,SAAS,GACb,OAAO,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE;YACzC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC;YAC5C,QAAQ,EAAE,IAAI;YACd,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;SAClD,CAAC,CAAC;QACH,oBAAoB,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAC/D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAC5D,CAAC;QACF,oBAAoB,CAAC,aAAa,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACnE,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI;YAAE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QAC1E,OAAO,MAAM,CAAC,MAAM,CAClB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CACpF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,UAAsB,EACtB,UAAkC,EAAE;QAEpC,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,oBAAoB,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAC/D,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CACnE,CAAC;QACF,oBAAoB,CAAC,aAAa,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS;YACnC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAqB,EAAE,UAAmC,EAAE;QACzE,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,oBAAoB,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CACnF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CACnF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,OAAqB,EAAE,UAAmC,EAAE;QAC1E,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,oBAAoB,CAAC,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CACpF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CACpF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,QAAiC,EACjC,UAAmC,EAAE;QAErC,MAAM,KAAK,GAAG,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7F,oBAAoB,CAAC,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAC3E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CACpF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,QAAiC,EACjC,UAAmC,EAAE;QAErC,MAAM,KAAK,GAAG,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9F,oBAAoB,CAAC,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAC5E,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CACrF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,UAAsB,EACtB,QAA0B,EAC1B,UAAmC,EAAE;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAsB,EACtB,QAA0B,EAC1B,OAAgC;QAEhC,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CACnC,eAAe,EACf,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EACzC,OAAO,EACP,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,EAAE;gBACxC,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,eAAe;aACxB,CAAC,CAAC;YACH,oBAAoB,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO;gBACL,IAAI,EAAE,QAAiB;gBACvB,KAAK,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CACjC,OAAO,EACP,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CACpD;aACF,CAAC;QACJ,CAAC,CACF,CAAC;QACF,oBAAoB,CAAC,aAAa,CAAC,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YACxC,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAC5D,MAAM,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,gBAAyB;gBAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrB,IAAI,EAAE,WAAoB;oBAC1B,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC9C,MAAM,EAAE,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;oBACpD,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;iBACrD,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QACpF,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAC5C,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAC1B,UAAU,EACV,QAAQ,CACT,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,KAAyB,EAAE,UAAmC,EAAE;QAC5E,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,YAAY,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACjF,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,SAAS,CAClB,eAAe,EACf,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC1C,OAAO,EACP,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;YACpB,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC3F,oBAAoB,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAChC,OAAO,EACP,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CACpD,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,YAAoB,EACpB,UAAmC,EAAE;QAErC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CACnC,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;YACpB,MAAM,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC3E,oBAAoB,CAAC,YAAY,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CACjC,OAAO,EACP,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CACpD,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC;YACH,oBAAoB,CAAC,aAAa,CAAC,6BAA6B,EAAE,QAAQ,CAAC,CAAC;YAC5E,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,2BAA2B;gBACrD,MAAM,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChG,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,2BAA2B,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,YAAY;YACxC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CACT,OAA+B,EAC/B,SAAiE;QAEjE,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QACzD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,OAAO,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACvD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;wBAAE,MAAM,KAAK,CAAC;oBAC3C,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,iBAAiB;wBAAE,MAAM,KAAK,CAAC;oBACxF,IAAI,CAAC,EAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC;wBAAE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,CAAC;oBACxF,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY;wBAAE,MAAM,KAAK,CAAC;oBAC/C,MAAM,EAAc,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CACb,SAAmD,EACnD,cAAwE,EACxE,OAAgC,EAChC,MAA0E;QAE1E,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QACzD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe;gBACtE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,2BAA2B,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAa,EAAE,MAAmB;QAC9C,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,MAAM,KAAK,GAAG,GAAG,EAAE;gBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CACJ,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CACrF,CAAC;YACJ,CAAC,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,KAAc;QACzC,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC;IACjF,CAAC;CACF;;AAMD,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAOrC,CAAC;AAEJ,MAAM,0BAA0B,GAAG,IAAI,OAAO,EAG3C,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAW5B,MAAM,CAAC,MAAM,CAAC;IACjB,WAAW,CACT,MAAsB,EACtB,UAAsB,EACtB,QAA0B,EAC1B,OAAgC;QAEhC,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;QAC7F,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,WAAW,CACT,MAAsB,EACtB,UAAkC,EAAE;QAEpC,MAAM,OAAO,GAAG,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,OAAO,KAAK,SAAS;YACvB,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;QAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -91,15 +91,16 @@ export declare const MAX_DELIVERY_WORKER_BYTES = 128;
|
|
|
91
91
|
export declare class DeliveryProtocolError extends Error {
|
|
92
92
|
/**
|
|
93
93
|
* Creates an error for an invalid delivery-server response.
|
|
94
|
+
* @param cause Preserves the invalid response's internal decoding error.
|
|
94
95
|
*/
|
|
95
|
-
constructor();
|
|
96
|
+
constructor(cause?: unknown);
|
|
96
97
|
}
|
|
97
98
|
/**
|
|
98
|
-
* Raised when
|
|
99
|
+
* Raised when a local read position cannot be continued through JVM timestamp paging.
|
|
99
100
|
*/
|
|
100
101
|
export declare class DeliveryPagingError extends Error {
|
|
101
102
|
/**
|
|
102
|
-
* Creates an error for
|
|
103
|
+
* Creates an error for an unsupported local remote-read offset.
|
|
103
104
|
*/
|
|
104
105
|
constructor();
|
|
105
106
|
}
|
|
@@ -202,7 +203,7 @@ export interface DeliveryFindOneOptions {
|
|
|
202
203
|
readonly timeoutMs?: number;
|
|
203
204
|
}
|
|
204
205
|
/**
|
|
205
|
-
* A bounded read page request
|
|
206
|
+
* A bounded read page request through the JVM timestamp protocol.
|
|
206
207
|
*/
|
|
207
208
|
export interface DeliveryReadPageOptions extends DeliveryFindOneOptions {
|
|
208
209
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAG/B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAGjC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAG9D;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IAGrC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,OAAmB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,OAAmB,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAG9C
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
|
package/dist/client/types.js
CHANGED
|
@@ -39,22 +39,23 @@ export class DeliveryProtocolError extends Error {
|
|
|
39
39
|
// prettier-ignore
|
|
40
40
|
/**
|
|
41
41
|
* Creates an error for an invalid delivery-server response.
|
|
42
|
+
* @param cause Preserves the invalid response's internal decoding error.
|
|
42
43
|
*/
|
|
43
|
-
constructor() {
|
|
44
|
-
super("Delivery server returned an invalid inbox message.");
|
|
44
|
+
constructor(cause) {
|
|
45
|
+
super("Delivery server returned an invalid inbox message.", { cause });
|
|
45
46
|
this.name = "DeliveryProtocolError";
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
/**
|
|
49
|
-
* Raised when
|
|
50
|
+
* Raised when a local read position cannot be continued through JVM timestamp paging.
|
|
50
51
|
*/
|
|
51
52
|
export class DeliveryPagingError extends Error {
|
|
52
53
|
// prettier-ignore
|
|
53
54
|
/**
|
|
54
|
-
* Creates an error for
|
|
55
|
+
* Creates an error for an unsupported local remote-read offset.
|
|
55
56
|
*/
|
|
56
57
|
constructor() {
|
|
57
|
-
super("
|
|
58
|
+
super("Remote Inbox cannot continue safely from the supplied page position.");
|
|
58
59
|
this.name = "DeliveryPagingError";
|
|
59
60
|
}
|
|
60
61
|
}
|
package/dist/client/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAuFxD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAY,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAY,SAAS,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,kBAAkB;IAElB
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAuFxD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAY,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAY,SAAS,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,kBAAkB;IAElB;;;OAGG;IACH,YAAY,KAAe;QACzB,KAAK,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,kBAAkB;IAElB;;OAEG;IACH;QACE,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,kBAAkB;IAElB;;OAEG;IACH;QACE,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,kBAAkB;IAElB;;OAEG;IACH;QACE,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,kBAAkB;IAElB;;OAEG;IACM,SAAS,CAOI;IAEtB;;OAEG;IACM,cAAc,CAIrB;IAEF;;;;;OAKG;IACH,YACE,SAAmD,EACnD,cAAwE;QAExE,KAAK,CACH,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,YAAY;YACrD,CAAC,CAAC,oCAAoC;YACtC,CAAC,CAAC,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,aAAa;gBACzD,CAAC,CAAC,sCAAsC;gBACxC,CAAC,CAAC,8CAA8C,CACrD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,OAAO,cAAc,KAAK,QAAQ;YACpC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;aACnF,IAAI,SAAS,KAAK,eAAe,IAAI,SAAS,KAAK,eAAe;YACrE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;gBAClC,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM,CAClB,cAAwC,CAAC,GAAG,CAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CACtD,CACF;aACF,CAAC,CAAC;;YAEH,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;gBAClC,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAI,cAAoC,CAAC,CAAC;aACtE,CAAC,CAAC;IACP,CAAC;CACF"}
|
|
@@ -54,30 +54,21 @@ export declare class RemoteInbox implements DeliveryInbox {
|
|
|
54
54
|
*/
|
|
55
55
|
markDelivered(message: InboxMessage, options?: DeliveryOperationOptions): Promise<InboxMessage | undefined>;
|
|
56
56
|
/**
|
|
57
|
-
* Removes an
|
|
58
|
-
*
|
|
59
|
-
* The remote API exposes a read followed by a removal call, not an atomic
|
|
60
|
-
* compare-and-delete operation. Another writer may therefore change the row
|
|
61
|
-
* between the equality check and removal.
|
|
57
|
+
* Removes an eligible delivered row by ID through the remote delivery server.
|
|
62
58
|
*
|
|
63
59
|
* @param message Supplies the delivered snapshot.
|
|
64
|
-
* @param session Supplies the matching exclusive shard session.
|
|
65
60
|
* @param options Bounds remote reads and removal.
|
|
66
|
-
* @returns Whether the
|
|
61
|
+
* @returns Whether the removal request completed.
|
|
67
62
|
*/
|
|
68
|
-
removeDelivered(message: InboxMessage,
|
|
63
|
+
removeDelivered(message: InboxMessage, options?: DeliveryOperationOptions): Promise<boolean>;
|
|
69
64
|
/**
|
|
70
|
-
* Removes one
|
|
71
|
-
*
|
|
72
|
-
* Remote removal reads and compares before a separate removal request, so it
|
|
73
|
-
* cannot provide the direct provider's atomic compare-and-delete guarantee.
|
|
65
|
+
* Removes one pending duplicate by ID through the remote delivery server.
|
|
74
66
|
*
|
|
75
67
|
* @param message Supplies the pending duplicate snapshot.
|
|
76
|
-
* @param session Supplies the matching exclusive shard session.
|
|
77
68
|
* @param options Bounds remote reads and removal.
|
|
78
|
-
* @returns Whether the
|
|
69
|
+
* @returns Whether the removal request completed.
|
|
79
70
|
*/
|
|
80
|
-
removeDuplicate(message: InboxMessage,
|
|
71
|
+
removeDuplicate(message: InboxMessage, options?: DeliveryOperationOptions): Promise<boolean>;
|
|
81
72
|
}
|
|
82
73
|
/**
|
|
83
74
|
* Adapts one per-registry remote session owner to the server work-registry port.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/remote/adapters.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAGnE,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAIL,KAAK,sBAAsB,EAE5B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/remote/adapters.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAGnE,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAIL,KAAK,sBAAsB,EAE5B,MAAM,oBAAoB,CAAC;AAU5B;;GAEG;AACH,qBAAa,WAAY,YAAW,aAAa;;IAanC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVnC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAG,WAAW,CAAU;IAE5C;;;;OAIG;gBAC0B,MAAM,EAAE,cAAc;IAInD;;;;;;OAMG;IACG,OAAO,CACX,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAM5B;;;;;;OAMG;IACG,IAAI,CACR,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,gBAAgB,GAAG,wBAA6B,GACxD,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IA2InC;;;;;;OAMG;IACH,WAAW,CACT,EAAE,EAAE,cAAc,EAClB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAIpC;;;;;;;;OAQG;IACG,aAAa,CACjB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAYpC;;;;;;OAMG;IACG,eAAe,CACnB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,OAAO,CAAC;IAUnB;;;;;;OAMG;IACG,eAAe,CACnB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,OAAO,CAAC;CAKpB;AAqLD;;GAEG;AACH,qBAAa,kBAAmB,YAAW,oBAAoB;;IAG7D;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAG,WAAW,CAAU;IAI5C;;;;OAIG;gBACS,MAAM,EAAE,cAAc;IAQlC;;;;;;;OAOG;IACH,MAAM,CACJ,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAC;IAIpD;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3F;;;;;;OAMG;IACH,iBAAiB,CACf,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAC;IAIpD;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,sBAAsB,GAAG,IAAI;CAGrD"}
|
package/dist/remote/adapters.js
CHANGED
|
@@ -11,10 +11,11 @@
|
|
|
11
11
|
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
12
|
* the License.
|
|
13
13
|
*/
|
|
14
|
+
var _a;
|
|
14
15
|
import { Time } from "@spine-event-engine/core/time";
|
|
15
16
|
import { randomUUID } from "node:crypto";
|
|
16
|
-
import { create } from "@bufbuild/protobuf";
|
|
17
17
|
import { TimestampSchema } from "@bufbuild/protobuf/wkt";
|
|
18
|
+
import { create } from "@bufbuild/protobuf";
|
|
18
19
|
import { ShardIndex } from "@spine-event-engine/server";
|
|
19
20
|
import { conditionalPickUp } from "@spine-event-engine/server/spi/delivery";
|
|
20
21
|
import { DeliveryClient, deliveryClientAccess } from "../client/client.js";
|
|
@@ -64,34 +65,101 @@ export class RemoteInbox {
|
|
|
64
65
|
const limit = options.limit === undefined
|
|
65
66
|
? this.client.pageSize
|
|
66
67
|
: DeliveryRequestCodec.pageSize(options.limit);
|
|
67
|
-
|
|
68
|
+
_a.#validateRead(shardIndex, options.after);
|
|
69
|
+
if (options.signal?.aborted)
|
|
70
|
+
throw options.signal.reason;
|
|
71
|
+
const timeoutMs = DeliveryRequestCodec.timeout(options.timeoutMs ?? 30_000);
|
|
72
|
+
const deadline = Time.monotonicTime() + timeoutMs;
|
|
73
|
+
const controller = new AbortController();
|
|
74
|
+
const abort = () => {
|
|
75
|
+
controller.abort(options.signal?.reason);
|
|
76
|
+
};
|
|
77
|
+
options.signal?.addEventListener("abort", abort, { once: true });
|
|
78
|
+
const timer = setTimeout(() => {
|
|
79
|
+
controller.abort(new Error("Delivery Inbox read timed out."));
|
|
80
|
+
}, timeoutMs);
|
|
81
|
+
try {
|
|
82
|
+
return await this.#readCollected(shardIndex, { ...options, signal: controller.signal }, limit, deadline);
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
clearTimeout(timer);
|
|
86
|
+
options.signal?.removeEventListener("abort", abort);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Validates a remote read position even when status filtering returns no rows.
|
|
91
|
+
* @param shardIndex Identifies the requested shard.
|
|
92
|
+
* @param after Holds the exclusive cursor, when present.
|
|
93
|
+
*/
|
|
94
|
+
static #validateRead(shardIndex, after) {
|
|
95
|
+
DeliveryShardCodec.encode(shardIndex);
|
|
96
|
+
if (after === undefined)
|
|
97
|
+
return;
|
|
98
|
+
DeliveryRequestCodec.timestamp(after.whenReceived);
|
|
99
|
+
if (after.messageId.trim().length === 0 || after.version < 0n || after.version > 2147483647n)
|
|
100
|
+
throw new TypeError("Delivery page cursor is invalid.");
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Settles a remote page wait on cancellation even if an injected transport does not.
|
|
104
|
+
*
|
|
105
|
+
* @param operation The already-entered remote read.
|
|
106
|
+
* @param signal Cancels the outward wait.
|
|
107
|
+
* @returns The page when it arrives before cancellation.
|
|
108
|
+
*/
|
|
109
|
+
static async #awaitPage(operation, signal) {
|
|
110
|
+
if (signal.aborted)
|
|
111
|
+
throw signal.reason;
|
|
112
|
+
const abort = () => {
|
|
113
|
+
rejectAbort(signal.reason);
|
|
114
|
+
};
|
|
115
|
+
let rejectAbort = () => undefined;
|
|
116
|
+
const cancelled = new Promise((_resolve, reject) => {
|
|
117
|
+
rejectAbort = reject;
|
|
118
|
+
});
|
|
119
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
120
|
+
try {
|
|
121
|
+
return await Promise.race([operation, cancelled]);
|
|
122
|
+
}
|
|
123
|
+
finally {
|
|
124
|
+
signal.removeEventListener("abort", abort);
|
|
125
|
+
}
|
|
68
126
|
}
|
|
69
127
|
async #readPage(shardIndex, after, limit, options) {
|
|
70
128
|
const pageSize = after === undefined ? limit : Math.min(1_000, limit + 1);
|
|
71
|
-
const page = await this.client.readPage(shardIndex, {
|
|
129
|
+
const page = await _a.#awaitPage(this.client.readPage(shardIndex, {
|
|
72
130
|
pageSize,
|
|
73
|
-
|
|
74
|
-
|
|
131
|
+
signal: options.signal,
|
|
132
|
+
timeoutMs: options.timeoutMs,
|
|
75
133
|
...(after === undefined ? {} : { sinceWhen: RemoteValues.pageAnchor(after.whenReceived) }),
|
|
76
|
-
});
|
|
134
|
+
}), options.signal);
|
|
77
135
|
const start = after === undefined ? 0 : RemoteValues.exactAfter(page, after);
|
|
78
136
|
const last = page.at(-1);
|
|
79
137
|
const prior = page.at(-2);
|
|
80
|
-
if (page.length === pageSize &&
|
|
81
|
-
(last === undefined ||
|
|
82
|
-
(prior !== undefined && RemoteValues.sameTime(prior.whenReceived, last.whenReceived))))
|
|
83
|
-
throw new DeliveryPagingError();
|
|
84
138
|
return {
|
|
85
139
|
messages: page.slice(start),
|
|
86
140
|
complete: page.length < pageSize,
|
|
87
141
|
last,
|
|
142
|
+
unsafeContinuation: page.length === pageSize &&
|
|
143
|
+
prior !== undefined &&
|
|
144
|
+
last !== undefined &&
|
|
145
|
+
RemoteValues.sameTime(prior.whenReceived, last.whenReceived),
|
|
88
146
|
};
|
|
89
147
|
}
|
|
90
|
-
async #readCollected(shardIndex, options, limit) {
|
|
148
|
+
async #readCollected(shardIndex, options, limit, deadline) {
|
|
91
149
|
let after = options.after;
|
|
92
150
|
const result = [];
|
|
151
|
+
if (options.statuses?.length === 0)
|
|
152
|
+
return Object.freeze(result);
|
|
93
153
|
while (result.length < limit) {
|
|
94
|
-
|
|
154
|
+
if (options.signal.aborted)
|
|
155
|
+
throw options.signal.reason;
|
|
156
|
+
const remaining = Math.ceil(deadline - Time.monotonicTime());
|
|
157
|
+
if (remaining <= 0)
|
|
158
|
+
throw new Error("Delivery Inbox read timed out.");
|
|
159
|
+
const page = await this.#readPage(shardIndex, after, limit, {
|
|
160
|
+
...options,
|
|
161
|
+
timeoutMs: remaining,
|
|
162
|
+
});
|
|
95
163
|
for (const message of page.messages) {
|
|
96
164
|
if (options.statuses === undefined || options.statuses.includes(message.status))
|
|
97
165
|
result.push(message);
|
|
@@ -102,6 +170,8 @@ export class RemoteInbox {
|
|
|
102
170
|
return Object.freeze(result);
|
|
103
171
|
if (page.last === undefined)
|
|
104
172
|
throw new DeliveryPagingError();
|
|
173
|
+
if (page.unsafeContinuation)
|
|
174
|
+
throw new DeliveryPagingError();
|
|
105
175
|
after = {
|
|
106
176
|
messageId: page.last.id.value,
|
|
107
177
|
whenReceived: page.last.whenReceived,
|
|
@@ -141,52 +211,34 @@ export class RemoteInbox {
|
|
|
141
211
|
return delivered;
|
|
142
212
|
}
|
|
143
213
|
/**
|
|
144
|
-
* Removes an
|
|
145
|
-
*
|
|
146
|
-
* The remote API exposes a read followed by a removal call, not an atomic
|
|
147
|
-
* compare-and-delete operation. Another writer may therefore change the row
|
|
148
|
-
* between the equality check and removal.
|
|
214
|
+
* Removes an eligible delivered row by ID through the remote delivery server.
|
|
149
215
|
*
|
|
150
216
|
* @param message Supplies the delivered snapshot.
|
|
151
|
-
* @param session Supplies the matching exclusive shard session.
|
|
152
217
|
* @param options Bounds remote reads and removal.
|
|
153
|
-
* @returns Whether the
|
|
218
|
+
* @returns Whether the removal request completed.
|
|
154
219
|
*/
|
|
155
|
-
async removeDelivered(message,
|
|
156
|
-
if (session.kind !== this.sessionKind || session.shard.key() !== message.shard.key())
|
|
157
|
-
return false;
|
|
220
|
+
async removeDelivered(message, options) {
|
|
158
221
|
if (message.status !== "DELIVERED" ||
|
|
159
222
|
(message.keepUntil !== undefined && message.keepUntil.getTime() > Time.currentTimeMillis()))
|
|
160
223
|
return false;
|
|
161
|
-
|
|
162
|
-
if (current === undefined || !RemoteValues.sameMessage(current, message))
|
|
163
|
-
return false;
|
|
164
|
-
await this.client.removeOne(current, options);
|
|
224
|
+
await this.client.removeOne(message, options);
|
|
165
225
|
return true;
|
|
166
226
|
}
|
|
167
227
|
/**
|
|
168
|
-
* Removes one
|
|
169
|
-
*
|
|
170
|
-
* Remote removal reads and compares before a separate removal request, so it
|
|
171
|
-
* cannot provide the direct provider's atomic compare-and-delete guarantee.
|
|
228
|
+
* Removes one pending duplicate by ID through the remote delivery server.
|
|
172
229
|
*
|
|
173
230
|
* @param message Supplies the pending duplicate snapshot.
|
|
174
|
-
* @param session Supplies the matching exclusive shard session.
|
|
175
231
|
* @param options Bounds remote reads and removal.
|
|
176
|
-
* @returns Whether the
|
|
232
|
+
* @returns Whether the removal request completed.
|
|
177
233
|
*/
|
|
178
|
-
async removeDuplicate(message,
|
|
179
|
-
if (session.kind !== this.sessionKind || session.shard.key() !== message.shard.key())
|
|
180
|
-
return false;
|
|
234
|
+
async removeDuplicate(message, options) {
|
|
181
235
|
if (message.status !== "TO_DELIVER")
|
|
182
236
|
return false;
|
|
183
|
-
|
|
184
|
-
if (current === undefined || !RemoteValues.sameMessage(current, message))
|
|
185
|
-
return false;
|
|
186
|
-
await this.client.removeOne(current, options);
|
|
237
|
+
await this.client.removeOne(message, options);
|
|
187
238
|
return true;
|
|
188
239
|
}
|
|
189
240
|
}
|
|
241
|
+
_a = RemoteInbox;
|
|
190
242
|
/**
|
|
191
243
|
* Adapts remote exclusive shard sessions to the server work registry.
|
|
192
244
|
*/
|
|
@@ -450,10 +502,9 @@ const RemoteValues = Object.freeze({
|
|
|
450
502
|
return `${String(value.index)}/${String(value.ofTotal)}`;
|
|
451
503
|
},
|
|
452
504
|
/**
|
|
453
|
-
*
|
|
454
|
-
*
|
|
455
|
-
* @
|
|
456
|
-
* @returns The preceding instant as a precise timestamp.
|
|
505
|
+
* Reads from the nanosecond before an exact continuation time.
|
|
506
|
+
* @param value Last received timestamp.
|
|
507
|
+
* @returns Exclusive JVM query bound that includes the cursor row.
|
|
457
508
|
*/
|
|
458
509
|
pageAnchor(value) {
|
|
459
510
|
if (value.seconds === -62135596800n && value.nanos === 0)
|
|
@@ -492,11 +543,10 @@ const RemoteValues = Object.freeze({
|
|
|
492
543
|
return left.nodeId === right.nodeId && left.value === right.value;
|
|
493
544
|
},
|
|
494
545
|
/**
|
|
495
|
-
* Finds
|
|
496
|
-
*
|
|
497
|
-
* @param
|
|
498
|
-
* @
|
|
499
|
-
* @returns The index after the matching message.
|
|
546
|
+
* Finds a continuation row returned by the JVM timestamp query.
|
|
547
|
+
* @param page Returned page.
|
|
548
|
+
* @param after Previous row identity.
|
|
549
|
+
* @returns Position after the previous row.
|
|
500
550
|
*/
|
|
501
551
|
exactAfter(page, after) {
|
|
502
552
|
const exact = page.findIndex((message) => message.id.value === after.messageId &&
|