@adapt-toolkit/sdk 0.10.12 → 0.10.14
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/utilities/broker/broker_client.d.ts +3 -1
- package/dist/utilities/broker/broker_client.d.ts.map +1 -1
- package/dist/utilities/broker/broker_client.js +26 -1
- package/dist/utilities/broker/broker_client.js.map +1 -1
- package/dist/utilities/storage/storage_client.d.ts +6 -1
- package/dist/utilities/storage/storage_client.d.ts.map +1 -1
- package/dist/utilities/storage/storage_client.js +34 -7
- package/dist/utilities/storage/storage_client.js.map +1 -1
- package/dist/utilities/wrappers/enclave/control_packet.d.ts.map +1 -1
- package/dist/utilities/wrappers/enclave/control_packet.js +28 -3
- package/dist/utilities/wrappers/enclave/control_packet.js.map +1 -1
- package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.d.ts +1 -0
- package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.d.ts.map +1 -1
- package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.js +18 -1
- package/dist/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.js.map +1 -1
- package/dist/wasm/backend-node.d.ts +1 -0
- package/dist/wasm/backend-node.d.ts.map +1 -1
- package/dist/wasm/backend-node.js +16 -1
- package/dist/wasm/backend-node.js.map +1 -1
- package/dist/wasm/index.d.ts +1 -0
- package/dist/wasm/index.d.ts.map +1 -1
- package/dist/wasm/index.js +7 -0
- package/dist/wasm/index.js.map +1 -1
- package/dist/wasm/mufl-bindings.wasm +0 -0
- package/package.json +2 -2
|
@@ -24,8 +24,10 @@ export declare class BrokerClient extends AdaptProtocolWebSocketClient<Event> {
|
|
|
24
24
|
/**
|
|
25
25
|
* Message would not be sent, unless broker is already opened(message b2w_init_v1 was sent)
|
|
26
26
|
* @param data data to send to broker
|
|
27
|
+
* @returns false when the send was REJECTED because the outbound pending backlog is at
|
|
28
|
+
* PENDING_OUT_MAX (the value is freed; the caller can retry/handle); true otherwise.
|
|
27
29
|
*/
|
|
28
|
-
send_to_broker: (data: AdaptValue) =>
|
|
30
|
+
send_to_broker: (data: AdaptValue) => boolean;
|
|
29
31
|
start: () => void;
|
|
30
32
|
on_open(): void;
|
|
31
33
|
on_error(error: Error): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker_client.d.ts","sourceRoot":"","sources":["../../../src/utilities/broker/broker_client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAA;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"broker_client.d.ts","sourceRoot":"","sources":["../../../src/utilities/broker/broker_client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAA;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,KAAK,SAAS,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,mBAAmB,CAAA;AACtG,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAA;AAElD,MAAM,WAAW,4BAA4B;IACzC,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/C,wBAAwB,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAA;IACjE,mBAAmB,IAAI,IAAI,CAAA;IAC3B,sBAAsB,IAAI,IAAI,CAAA;IAC9B,6BAA6B,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IAC9D,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAA;CACnG;AAED,qBAAa,YAAa,SAAQ,4BAA4B,CAAC,KAAK,CAAC;;IACjE,aAAa,EAAE,4BAA4B,CAAA;IAC3C,WAAW,EAAE,OAAO,CAAQ;IAC5B,OAAO,CAAC,gBAAgB,CAAmB;gBAK/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B;IASlE,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B;;;;;OAKG;IACH,cAAc,GAAI,MAAM,UAAU,KAAG,OAAO,CAqB3C;IAkBD,KAAK,aAGJ;IAEQ,OAAO;IAIP,QAAQ,CAAC,KAAK,EAAE,KAAK;IAe9B,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAyBhC,QAAQ,IAAI,IAAI;IAUhB,IAAI;IA4Cb,eAAe,CAAC,YAAY,EAAE,MAAM;IAwB3B,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa;CA8BvD"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { AdaptProtocolWebSocketClient, LazyMessage, logging } from '../common/index.js';
|
|
2
2
|
import { AdaptObjectBuilder, Protocol } from '../../wrapper/index.js';
|
|
3
3
|
import { cidHexToBytes } from '../../wrapper/protocol/broker_frame.js';
|
|
4
|
+
// Cap on the outbound pending backlog (send_to_broker path; see #pending_backlog_has_room).
|
|
5
|
+
const PENDING_OUT_MAX = 10_000;
|
|
4
6
|
export class BrokerClient extends AdaptProtocolWebSocketClient {
|
|
5
7
|
adapt_wrapper;
|
|
6
8
|
broker_open = false;
|
|
@@ -20,13 +22,17 @@ export class BrokerClient extends AdaptProtocolWebSocketClient {
|
|
|
20
22
|
/**
|
|
21
23
|
* Message would not be sent, unless broker is already opened(message b2w_init_v1 was sent)
|
|
22
24
|
* @param data data to send to broker
|
|
25
|
+
* @returns false when the send was REJECTED because the outbound pending backlog is at
|
|
26
|
+
* PENDING_OUT_MAX (the value is freed; the caller can retry/handle); true otherwise.
|
|
23
27
|
*/
|
|
24
28
|
send_to_broker = (data) => {
|
|
25
29
|
if (!this.broker_open || !this.ws) {
|
|
30
|
+
if (!this.#pending_backlog_has_room(data))
|
|
31
|
+
return false;
|
|
26
32
|
logging.debug("Message not sent:", new LazyMessage(() => data.Visualize()), " - broker isn't open");
|
|
27
33
|
logging.debug("Adding message to list of pending messages");
|
|
28
34
|
this.pending_messages.push(data);
|
|
29
|
-
return;
|
|
35
|
+
return true;
|
|
30
36
|
}
|
|
31
37
|
try {
|
|
32
38
|
const type = Protocol.GetTypeId(data);
|
|
@@ -36,9 +42,28 @@ export class BrokerClient extends AdaptProtocolWebSocketClient {
|
|
|
36
42
|
catch (e) {
|
|
37
43
|
logging.error("[Broker client] Failed to send message to broker: ", e instanceof Error ? e.message : e);
|
|
38
44
|
this.broker_open = false;
|
|
45
|
+
// The failure path queues too — it must respect the same cap, or reconnect cycles
|
|
46
|
+
// grow the backlog through this branch unbounded while the :50 path is capped.
|
|
47
|
+
if (!this.#pending_backlog_has_room(data))
|
|
48
|
+
return false;
|
|
39
49
|
this.pending_messages.push(data);
|
|
40
50
|
}
|
|
51
|
+
return true;
|
|
41
52
|
};
|
|
53
|
+
// Bounded outbound retention: pending_messages holds the caller's OWN committed sends
|
|
54
|
+
// (flushed FIFO on reconnect), so at the cap we REJECT THE NEWEST send loudly and keep the
|
|
55
|
+
// older queued ones — never drop-oldest (that silently loses already-committed data; the
|
|
56
|
+
// inverse of the inbound-frame eviction semantics). Registration re-sends in #handle_init
|
|
57
|
+
// deliberately BYPASS this cap (they push directly, are few, and must never be lost), so
|
|
58
|
+
// this is a soft bound on the send_to_broker path, not a hard total bound.
|
|
59
|
+
#pending_backlog_has_room(data) {
|
|
60
|
+
if (this.pending_messages.length >= PENDING_OUT_MAX) {
|
|
61
|
+
data.Destroy(); // ownership was transferred to us; free the rejected value
|
|
62
|
+
logging.error("Outbound pending backlog at cap ", PENDING_OUT_MAX, "; rejecting new send - broker down too long");
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
42
67
|
start = () => {
|
|
43
68
|
logging.debug("Starting the broker client");
|
|
44
69
|
this.ws_start();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker_client.js","sourceRoot":"","sources":["../../../src/utilities/broker/broker_client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAiB,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACtG,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;
|
|
1
|
+
{"version":3,"file":"broker_client.js","sourceRoot":"","sources":["../../../src/utilities/broker/broker_client.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export interface IAdaptWrapperStorageClientAPI {
|
|
|
15
15
|
export declare class StorageClient extends AdaptProtocolWebSocketClient<Event> {
|
|
16
16
|
#private;
|
|
17
17
|
adapt_wrapper: IAdaptWrapperStorageClientAPI;
|
|
18
|
+
storage_open: boolean;
|
|
18
19
|
constructor(address: string, wrapper: IAdaptWrapperStorageClientAPI);
|
|
19
20
|
start(): void;
|
|
20
21
|
on_open(): void;
|
|
@@ -22,7 +23,11 @@ export declare class StorageClient extends AdaptProtocolWebSocketClient<Event> {
|
|
|
22
23
|
on_message(incoming: IncomingFrame): void;
|
|
23
24
|
on_close(): void;
|
|
24
25
|
messageFromWrapper(data: AdaptValue): void;
|
|
25
|
-
|
|
26
|
+
/**
|
|
27
|
+
* @returns false when the send was REJECTED because the outbound pending backlog is at
|
|
28
|
+
* PENDING_OUT_MAX (the value is freed; the caller can retry/handle); true otherwise.
|
|
29
|
+
*/
|
|
30
|
+
send_to_data_storage(msg: AdaptValue): boolean;
|
|
26
31
|
worker(e: Event, cb: async.ErrorCallback): void;
|
|
27
32
|
}
|
|
28
33
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage_client.d.ts","sourceRoot":"","sources":["../../../src/utilities/storage/storage_client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAW,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"storage_client.d.ts","sourceRoot":"","sources":["../../../src/utilities/storage/storage_client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAW,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,KAAK,SAAS,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,mBAAmB,CAAA;AACxG,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAA;AAGlD,MAAM,WAAW,6BAA6B;IAC1C,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IACrD,8BAA8B,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAA;IACvE,oBAAoB,IAAI,IAAI,CAAA;IAC5B,uBAAuB,IAAI,IAAI,CAAA;CAClC;AACD,qBAAa,aAAc,SAAQ,4BAA4B,CAAC,KAAK,CAAC;;IAElE,aAAa,EAAE,6BAA6B,CAAC;IAI7C,YAAY,EAAE,OAAO,CAAQ;gBAIjB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B;IAOnE,KAAK;IAII,OAAO;IAIP,QAAQ,CAAC,KAAK,EAAE,KAAK;IAI9B,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAShC,QAAQ,IAAI,IAAI;IAuBzB,kBAAkB,CAAC,IAAI,EAAE,UAAU;IAInC;;;OAGG;IACH,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAqC9C,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa;CA0B3C"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { Protocol } from '../../wrapper/index.js';
|
|
2
2
|
import { AdaptProtocolWebSocketClient, logging } from '../common/index.js';
|
|
3
|
+
// Cap on the outbound pending backlog (send_to_data_storage path; see #pending_backlog_has_room).
|
|
4
|
+
const PENDING_OUT_MAX = 10_000;
|
|
3
5
|
export class StorageClient extends AdaptProtocolWebSocketClient {
|
|
4
6
|
adapt_wrapper;
|
|
5
|
-
|
|
7
|
+
// TS-private (not #-hard-private) to match BrokerClient.broker_open — symmetry with the sibling
|
|
8
|
+
// client, and it lets the F160 send-failure-catch cap path be witnessed in a test (the #-private
|
|
9
|
+
// form left that second cap site wired-but-untestable). Visibility only; no behavior change.
|
|
10
|
+
storage_open = false;
|
|
6
11
|
#pending_messages = [];
|
|
7
12
|
constructor(address, wrapper) {
|
|
8
13
|
super(address);
|
|
@@ -28,16 +33,16 @@ export class StorageClient extends AdaptProtocolWebSocketClient {
|
|
|
28
33
|
}
|
|
29
34
|
on_close() {
|
|
30
35
|
logging.debug("Storage client lost connection with data storage");
|
|
31
|
-
this
|
|
36
|
+
this.storage_open = false;
|
|
32
37
|
this.queue.pause();
|
|
33
38
|
this.adapt_wrapper.storage_connection_lost();
|
|
34
39
|
}
|
|
35
40
|
#handle_init() {
|
|
36
|
-
if (this
|
|
41
|
+
if (this.storage_open) {
|
|
37
42
|
logging.debug("Ignoring repeated d2w_init on an already initialized connection");
|
|
38
43
|
return;
|
|
39
44
|
}
|
|
40
|
-
this
|
|
45
|
+
this.storage_open = true;
|
|
41
46
|
this.adapt_wrapper.storage_client_ready();
|
|
42
47
|
const pending = this.#pending_messages;
|
|
43
48
|
this.#pending_messages = [];
|
|
@@ -49,10 +54,16 @@ export class StorageClient extends AdaptProtocolWebSocketClient {
|
|
|
49
54
|
messageFromWrapper(data) {
|
|
50
55
|
this.queue.push({ kind: 'adapt_message_in', data: data });
|
|
51
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* @returns false when the send was REJECTED because the outbound pending backlog is at
|
|
59
|
+
* PENDING_OUT_MAX (the value is freed; the caller can retry/handle); true otherwise.
|
|
60
|
+
*/
|
|
52
61
|
send_to_data_storage(msg) {
|
|
53
|
-
if (!this
|
|
62
|
+
if (!this.storage_open || !this.ws) {
|
|
63
|
+
if (!this.#pending_backlog_has_room(msg))
|
|
64
|
+
return false;
|
|
54
65
|
this.#pending_messages.push(msg);
|
|
55
|
-
return;
|
|
66
|
+
return true;
|
|
56
67
|
}
|
|
57
68
|
try {
|
|
58
69
|
const type = Protocol.GetTypeId(msg);
|
|
@@ -61,9 +72,25 @@ export class StorageClient extends AdaptProtocolWebSocketClient {
|
|
|
61
72
|
}
|
|
62
73
|
catch (e) {
|
|
63
74
|
logging.error("[Storage client] Failed to send message to data storage: ", e instanceof Error ? e.message : e);
|
|
64
|
-
this
|
|
75
|
+
this.storage_open = false;
|
|
76
|
+
// The failure path queues too — same cap, or reconnect cycles grow the backlog
|
|
77
|
+
// through this branch unbounded while the not-open path is capped.
|
|
78
|
+
if (!this.#pending_backlog_has_room(msg))
|
|
79
|
+
return false;
|
|
65
80
|
this.#pending_messages.push(msg);
|
|
66
81
|
}
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
// Bounded outbound retention, mirroring BrokerClient: pending holds the caller's OWN
|
|
85
|
+
// committed sends (flushed on reconnect), so at the cap we REJECT THE NEWEST send loudly
|
|
86
|
+
// and keep the older queued ones — never drop-oldest.
|
|
87
|
+
#pending_backlog_has_room(msg) {
|
|
88
|
+
if (this.#pending_messages.length >= PENDING_OUT_MAX) {
|
|
89
|
+
msg.Destroy(); // ownership was transferred to us; free the rejected value
|
|
90
|
+
logging.error("Outbound pending backlog at cap ", PENDING_OUT_MAX, "; rejecting new send - data storage down too long");
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
return true;
|
|
67
94
|
}
|
|
68
95
|
// =================================== worker and related methods ==============================================
|
|
69
96
|
worker(e, cb) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage_client.js","sourceRoot":"","sources":["../../../src/utilities/storage/storage_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAiB,OAAO,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"storage_client.js","sourceRoot":"","sources":["../../../src/utilities/storage/storage_client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control_packet.d.ts","sourceRoot":"","sources":["../../../../src/utilities/wrappers/enclave/control_packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAGrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAI5F,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAa5D,MAAM,MAAM,eAAe,GAAG;IAC1B,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5D,cAAc,EAAE,CAAC,GAAG,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACrE,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7C,CAAA;AAgCD,qBAAa,aAAa;;gBAOV,qBAAqB,EAAE,yBAAyB,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY;IActH,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"control_packet.d.ts","sourceRoot":"","sources":["../../../../src/utilities/wrappers/enclave/control_packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAGrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAI5F,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAa5D,MAAM,MAAM,eAAe,GAAG;IAC1B,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5D,cAAc,EAAE,CAAC,GAAG,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACrE,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7C,CAAA;AAgCD,qBAAa,aAAa;;gBAOV,qBAAqB,EAAE,yBAAyB,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY;IActH,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI;CAiM9E"}
|
|
@@ -64,10 +64,17 @@ export class ControlPacket {
|
|
|
64
64
|
logging.info("Called 'switch to debug'");
|
|
65
65
|
const continuation_id = result_data.Reduce('continuation_id');
|
|
66
66
|
if (!continuation_id.IsNil()) {
|
|
67
|
+
// The cb runs at the bottom of on_message AFTER this execute_and_collect_garbage
|
|
68
|
+
// scope has freed message+children — a raw Reduce handle is dangling by then
|
|
69
|
+
// (use-after-free). Detach so the value outlives the scope, and re-Attach it into
|
|
70
|
+
// the cb's own builder so it is freed exactly once on cb exit (the add_packet
|
|
71
|
+
// pattern below).
|
|
72
|
+
const cont = continuation_id.Detach();
|
|
67
73
|
cb = () => {
|
|
68
74
|
AdaptObjectBuilder.execute_and_collect_garbage(builder => {
|
|
75
|
+
builder.Attach(cont);
|
|
69
76
|
const args = builder.Attach(object_to_adapt_value({
|
|
70
|
-
id:
|
|
77
|
+
id: cont,
|
|
71
78
|
args: false
|
|
72
79
|
}));
|
|
73
80
|
const msg = object_to_adapt_value({ name: "::continuation::continue_transaction", targ: args });
|
|
@@ -81,10 +88,13 @@ export class ControlPacket {
|
|
|
81
88
|
logging.info("Called 'switch to relesae'");
|
|
82
89
|
const continuation_id = result_data.Reduce('continuation_id');
|
|
83
90
|
if (!continuation_id.IsNil()) {
|
|
91
|
+
// Same deferred-cb lifetime hazard as switch_to_debug above: Detach + re-Attach.
|
|
92
|
+
const cont = continuation_id.Detach();
|
|
84
93
|
cb = () => {
|
|
85
94
|
AdaptObjectBuilder.execute_and_collect_garbage(builder => {
|
|
95
|
+
builder.Attach(cont);
|
|
86
96
|
const args = builder.Attach(object_to_adapt_value({
|
|
87
|
-
id:
|
|
97
|
+
id: cont,
|
|
88
98
|
args: false
|
|
89
99
|
}));
|
|
90
100
|
const msg = object_to_adapt_value({ name: "::continuation::continue_transaction", targ: args });
|
|
@@ -177,10 +187,20 @@ export class ControlPacket {
|
|
|
177
187
|
this.#adapt_wrapper.remove_packet(packet_id);
|
|
178
188
|
const continuation_id = result_data.Reduce('continuation_id');
|
|
179
189
|
if (!continuation_id.IsNil()) {
|
|
190
|
+
// Raw-handle-in-cb shape, like the switch_to_* cases above. This case runs the
|
|
191
|
+
// cb via an IN-case onSuccess(cb) + `return false` (the add_packet/backup_packet
|
|
192
|
+
// shape), so it mirrors add_packet exactly: Detach + re-Attach in the cb + a
|
|
193
|
+
// trailing idempotent Destroy backstop. This makes the case LEAK-proof and keeps
|
|
194
|
+
// it UAF-safe WHILE onSuccess stays synchronous (parity with add_packet). It is
|
|
195
|
+
// NOT full async hardening — if onSuccess ever defers, the backstop Destroy runs
|
|
196
|
+
// before the cb (a family-wide latent shared with add_packet/backup_packet,
|
|
197
|
+
// tracked separately, not fixed here).
|
|
198
|
+
const cont = continuation_id.Detach();
|
|
180
199
|
cb = () => {
|
|
181
200
|
AdaptObjectBuilder.execute_and_collect_garbage(builder => {
|
|
201
|
+
builder.Attach(cont);
|
|
182
202
|
const args = builder.Attach(object_to_adapt_value({
|
|
183
|
-
id:
|
|
203
|
+
id: cont,
|
|
184
204
|
args: packet_id
|
|
185
205
|
}));
|
|
186
206
|
const msg = object_to_adapt_value({
|
|
@@ -191,6 +211,11 @@ export class ControlPacket {
|
|
|
191
211
|
});
|
|
192
212
|
};
|
|
193
213
|
onSuccess(cb);
|
|
214
|
+
// Backstop mirroring add_packet: if a future deferred onSuccess did NOT run
|
|
215
|
+
// the cb before we return, the Detached handle would otherwise leak. Destroy
|
|
216
|
+
// is idempotent (a no-op once the cb re-homed+freed cont), so this is safe on
|
|
217
|
+
// the current synchronous path and leak-proof on a future async one.
|
|
218
|
+
cont.Destroy();
|
|
194
219
|
}
|
|
195
220
|
return false;
|
|
196
221
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control_packet.js","sourceRoot":"","sources":["../../../../src/utilities/wrappers/enclave/control_packet.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"control_packet.js","sourceRoot":"","sources":["../../../../src/utilities/wrappers/enclave/control_packet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAW,MAAM,uBAAuB,CAAA;AAErE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGhG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAGhC,IAAK,KAQJ;AARD,WAAK,KAAK;IACN,uDAAmB,CAAA;IACnB,2DAAiB,CAAA;IACjB,yCAAQ,CAAA;IACR,6CAAU,CAAA;IACV,mDAAa,CAAA;IACb,mDAAa,CAAA;IACb,+DAAmB,CAAA;AACvB,CAAC,EARI,KAAK,KAAL,KAAK,QAQT;AAAA,CAAC;AASF,MAAM,aAAa;IAEf,KAAK,CAAS;IAEd,QAAQ,CAAC,OAAgB;QACrB,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,SAAS,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,YAAY,IAAY;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,UAAU;QACN,+GAA+G;QAC/G,IAAI,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,CAAC;IACL,CAAC;IAED,IAAW,IAAI;QACX,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACJ;AAGD,MAAM,OAAO,aAAa;IAEtB,eAAe,CAAoB;IAEnC,eAAe,CAAe;IAC9B,cAAc,CAAc;IAE5B,YAAY,qBAAgD,EAAE,cAAkC,EAAE,aAA2B;QACzH,IAAI,CAAC,eAAe,GAAG,IAAI,aAAa,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED,aAAa,CAAC,KAAiB,EAAE,OAAe;QAC5C,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,OAAO,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAGM,UAAU,CAAC,OAAmB,EAAE,SAAoC;QACvE,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACjG,IAAI,EAA4B,CAAA;QAChC,MAAM,GAAG,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YACjE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAExB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;YACvD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE5D,QAAQ,WAAW,EAAE,CAAC;gBAClB,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;oBACzC,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;oBAC9D,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;wBAC3B,iFAAiF;wBACjF,6EAA6E;wBAC7E,kFAAkF;wBAClF,8EAA8E;wBAC9E,kBAAkB;wBAClB,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;wBACtC,EAAE,GAAG,GAAG,EAAE;4BACN,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;gCACrD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCACrB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;oCAC9C,EAAE,EAAE,IAAI;oCACR,IAAI,EAAE,KAAK;iCACd,CAAC,CAAC,CAAC;gCACJ,MAAM,GAAG,GAAG,qBAAqB,CAAC,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCAChG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;4BACjD,CAAC,CAAC,CAAA;wBACN,CAAC,CAAA;oBACL,CAAC;oBAED,MAAM;gBACV,CAAC;gBACD,KAAK,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;oBAC3C,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;oBAC9D,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;wBAC3B,iFAAiF;wBACjF,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;wBACtC,EAAE,GAAG,GAAG,EAAE;4BACN,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;gCACrD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCACrB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;oCAC9C,EAAE,EAAE,IAAI;oCACR,IAAI,EAAE,KAAK;iCACd,CAAC,CAAC,CAAC;gCACJ,MAAM,GAAG,GAAG,qBAAqB,CAAC,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCAChG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;4BACjD,CAAC,CAAC,CAAA;wBACN,CAAC,CAAA;oBACL,CAAC;oBAED,MAAM;gBAEV,CAAC;gBACD,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBAClC,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,gDAAgD,CAAC,CAAC,SAAS,EAAE,CAAC;oBAChJ,0CAA0C;oBAC1C,MAAM,IAAI,GAAG,yCAAyC,CAAC;oBACvD,EAAE,GAAG,GAAG,EAAE;wBACN,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;4BACrD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;gCAC9C,EAAE,EAAE,eAAe;gCACnB,IAAI,EAAE,IAAI;6BACb,CAAC,CAAC,CAAC;4BACJ,MAAM,GAAG,GAAG,qBAAqB,CAAC,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;4BAChG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;wBACjD,CAAC,CAAC,CAAA;oBACN,CAAC,CAAA;oBACD,MAAM;gBACV,CAAC;gBACD,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACpC,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;oBAEvE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,4CAA4C,CAAC,CAAC,SAAS,EAAE,CAAC;oBAChI,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,8CAA8C,CAAC,CAAC,SAAS,EAAE,CAAC;oBACtI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE;wBACrE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;4BAC3B,EAAE,GAAG,GAAG,EAAE;gCACN,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;oCACrD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oCAChC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;wCAC9C,EAAE,EAAE,eAAe;wCACnB,IAAI,EAAE;4CACF,SAAS,EAAE,cAAc,CAAC,YAAY;4CACtC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE;yCAC9C;qCACJ,CAAC,CAAC,CAAC;oCACJ,MAAM,GAAG,GAAG,qBAAqB,CAAC,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oCAChG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gCACjD,CAAC,CAAC,CAAA;4BACN,CAAC,CAAA;4BACD,SAAS,CAAC,EAAE,CAAC,CAAC;wBAClB,CAAC;wBACD,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC9B,CAAC,CAAC,CAAC,CAAC;oBAEJ,OAAO,KAAK,CAAC,CAAC,iEAAiE;gBACnF,CAAC;gBACD,KAAK,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBACvC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAClD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC1C,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;oBAEvE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;wBAClC,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;wBAChE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;qBACpE,EAAE,CAAC,cAAc,EAAE,EAAE;wBAClB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;4BAC3B,EAAE,GAAG,GAAG,EAAE;gCACN,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;oCACrD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oCAChC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;wCAC9C,EAAE,EAAE,eAAe;wCACnB,IAAI,EAAE;4CACF,SAAS,EAAE,cAAc,CAAC,YAAY;4CACtC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE;yCAC9C;qCACJ,CAAC,CAAC,CAAC;oCACJ,MAAM,GAAG,GAAG,qBAAqB,CAAC;wCAC9B,IAAI,EAAE,sCAAsC;wCAC5C,IAAI,EAAE,IAAI;qCACb,CAAC,CAAA;oCACF,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gCACjD,CAAC,CAAC,CAAA;4BACN,CAAC,CAAA;4BACD,SAAS,CAAC,EAAE,CAAC,CAAC;wBAClB,CAAC;wBACD,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC9B,CAAC,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,KAAK,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBACvC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,+CAA+C,CAAC,CAAC,SAAS,EAAE,CAAC;oBACnI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;oBAC7C,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;oBAC9D,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;wBAC3B,+EAA+E;wBAC/E,iFAAiF;wBACjF,6EAA6E;wBAC7E,iFAAiF;wBACjF,gFAAgF;wBAChF,iFAAiF;wBACjF,4EAA4E;wBAC5E,uCAAuC;wBACvC,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;wBACtC,EAAE,GAAG,GAAG,EAAE;4BACN,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;gCACrD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCACrB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;oCAC9C,EAAE,EAAE,IAAI;oCACR,IAAI,EAAE,SAAS;iCAClB,CAAC,CAAC,CAAC;gCACJ,MAAM,GAAG,GAAG,qBAAqB,CAAC;oCAC9B,IAAI,EAAE,sCAAsC;oCAC5C,IAAI,EAAE,IAAI;iCACb,CAAC,CAAA;gCACF,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;4BACjD,CAAC,CAAC,CAAA;wBACN,CAAC,CAAA;wBACD,SAAS,CAAC,EAAE,CAAC,CAAC;wBACd,4EAA4E;wBAC5E,6EAA6E;wBAC7E,8EAA8E;wBAC9E,qEAAqE;wBACrE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnB,CAAC;oBACD,OAAO,KAAK,CAAC;oBACb,MAAM;gBACV,CAAC;gBACD,KAAK,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;oBAC7C,MAAM;gBACV,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBACzD,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAA;QAGF,IAAI,GAAG;YAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;CAEJ"}
|
|
@@ -13,6 +13,7 @@ declare namespace AdaptPacketWrapperImpl {
|
|
|
13
13
|
data: AdaptValue;
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
+
export declare function guarded_invoke(cb: (v: AdaptValue) => void, vdata: AdaptValue): void;
|
|
16
17
|
export declare class AdaptPacketWrapperImpl {
|
|
17
18
|
#private;
|
|
18
19
|
readonly adapt_wrapper: AdaptWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapt_packet_wrapper_impl.d.ts","sourceRoot":"","sources":["../../../../../src/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA+C,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACxH,OAAO,EAA8C,aAAa,EAAE,iBAAiB,EAA2F,MAAM,0BAA0B,CAAA;AAChN,OAAO,EAAyC,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AACzH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAA;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAA;AAC9F,OAAO,EAAE,aAAa,EAAmB,MAAM,iCAAiC,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,kBAAO,sBAAsB,CAAC;IAE1B,KAAY,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,yBAAyB,CAAA;IAC3F,KAAY,KAAK,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAA;CAC5D;
|
|
1
|
+
{"version":3,"file":"adapt_packet_wrapper_impl.d.ts","sourceRoot":"","sources":["../../../../../src/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,21 @@ import { AdaptEnvironment, AdaptObjectLifetime } from '@adapt-toolkit/sdk/backen
|
|
|
10
10
|
import { ControlPacketConfigurator } from "../../configurators/control_packet_configurator.js";
|
|
11
11
|
import { ControlPacket } from "../../enclave/control_packet.js";
|
|
12
12
|
const adapt_packet_wrapper_impl_logger_proxy = new LoggerProxy("adapt packet wrapper impl");
|
|
13
|
+
// F159 — invoke an external callback that takes ownership of a Detach()'d AdaptValue, but free the
|
|
14
|
+
// value if the callback THROWS before it can consume it (a throwing handler must not leak the arg).
|
|
15
|
+
// Extracted as a pure, instance-free helper so it is directly testable (the VER call site at :686 is
|
|
16
|
+
// only reachable through a real SUC transaction-result carrying a packet — disproportionate machinery
|
|
17
|
+
// for a one-line guard; this helper IS the fix and can be driven with a throwing callback directly).
|
|
18
|
+
// Mirrors the #on_return_data guard's shape; no finally here — there is no scratch clone to reclaim.
|
|
19
|
+
export function guarded_invoke(cb, vdata) {
|
|
20
|
+
try {
|
|
21
|
+
cb(vdata);
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
vdata.Destroy();
|
|
25
|
+
throw e;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
13
28
|
export class AdaptPacketWrapperImpl {
|
|
14
29
|
adapt_wrapper;
|
|
15
30
|
builder = new AdaptObjectBuilder();
|
|
@@ -572,8 +587,10 @@ export class AdaptPacketWrapperImpl {
|
|
|
572
587
|
buffered_sends.push(Protocol.CreateTransactionMessageFromEnvelope(value.Reduce(Protocol.FieldName.data)));
|
|
573
588
|
}
|
|
574
589
|
else if (action_kind === "VER") {
|
|
590
|
+
// F159: the callback owns vdata on the happy path (same contract as
|
|
591
|
+
// #on_return_data); guarded_invoke frees it if the callback throws.
|
|
575
592
|
if (this.#on_verify_request)
|
|
576
|
-
this.#on_verify_request
|
|
593
|
+
guarded_invoke(this.#on_verify_request, value.Reduce(Protocol.FieldName.data).Detach());
|
|
577
594
|
}
|
|
578
595
|
else if (action_kind === "TIMEOUT") {
|
|
579
596
|
const data = value.Reduce(Protocol.FieldName.data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapt_packet_wrapper_impl.js","sourceRoot":"","sources":["../../../../../src/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapt_packet_wrapper_impl.js","sourceRoot":"","sources":["../../../../../src/utilities/wrappers/wrappers/impl/adapt_packet_wrapper_impl.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACxH,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAc,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAChN,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAA2D,MAAM,UAAU,CAAA;AACzH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAA;AAE9F,OAAO,EAAE,aAAa,EAAmB,MAAM,iCAAiC,CAAA;AAUhF,MAAM,sCAAsC,GAAG,IAAI,WAAW,CAAC,2BAA2B,CAAC,CAAC;AAE5F,mGAAmG;AACnG,oGAAoG;AACpG,qGAAqG;AACrG,sGAAsG;AACtG,qGAAqG;AACrG,qGAAqG;AACrG,MAAM,UAAU,cAAc,CAAC,EAA2B,EAAE,KAAiB;IACzE,IAAI,CAAC;QACD,EAAE,CAAC,KAAK,CAAC,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC;AAED,MAAM,OAAO,sBAAsB;IA4J2H;IA1J1J,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAElC,KAAK,GAAoD,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAEtG,gBAAgB,CAA0D;IAE1E,qBAAqB,GAAY,KAAK,CAAC;IACvC,gBAAgB,GAAiB,EAAE,CAAA;IAEnC,QAAQ,CAAe;IAEvB,oBAAoB,CAAmH;IAEvI,cAAc,CAAe;IAC7B,kCAAkC,GAAG,KAAK,CAAC;IAE3C,0GAA0G;IAC1G,kBAAkB,CAA4B;IAE9C,gDAAgD;IAChD,eAAe,CAAwD;IAEvE,uBAAuB,CAAiC;IAExD,YAAY,CAAQ;IAEpB,MAAM,CAAqB;IAC3B,uBAAuB,CAAa;IAEpC,yGAAyG;IACzG,sBAAsB,CAAc;IAEpC,cAAc,CAAgB;IAGtB,4BAA4B;QAChC,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;iBACtD,MAAM,CACH,QAAQ,CAAC,SAAS,CAAC,WAAW,EAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CACjD,QAAQ,CAAC,SAAS,CAAC,SAAS,EAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAC/C,CAAC,MAAM,CACJ,QAAQ,CAAC,SAAS,CAAC,KAAK,EACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CACxC,CACJ,CAAA;YACL,MAAM,aAAa,GAAG,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1K,OAAO,aAAa,CAAC;QAEzB,CAAC,EACG,CAAC,CAAC,EAAE;YACA,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,cAAc,EAAE,kEAAkE,GAAG,OAAO,CAAC,CAAC;QACtJ,CAAC,CAAC,CAAA;IACV,CAAC;IAGO,6BAA6B;QACjC,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YAC5D,yCAAyC;YACzC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CACpE,QAAQ,CAAC,SAAS,CAAC,WAAW,EAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CACrG,CAAC,MAAM,CACJ,QAAQ,CAAC,SAAS,CAAC,WAAW,EAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CACjD,QAAQ,CAAC,SAAS,CAAC,SAAS,EAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAC/C,CAAC,MAAM,CACJ,QAAQ,CAAC,SAAS,CAAC,KAAK,EACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CACxC,CACJ,CAAA;YACD,IAAI,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAC3E,QAAQ,CAAC,SAAS,CAAC,MAAM,EACzB,UAAU,CACb,CAAA;YACD,MAAM,cAAc,GAAG,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YACnN,OAAO,cAAc,CAAC;QAE1B,CAAC,EACG,CAAC,CAAC,EAAE;YACA,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,cAAc,EAAE,kEAAkE,GAAG,OAAO,CAAC,CAAC;QACtJ,CAAC,CAAC,CAAA;IACV,CAAC;IAGD,yBAAyB,CAAC,oBAA6B,KAAK;QACxD,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YAE5D,MAAM,mBAAmB,GAAG,CAAC,QAAoB,EAAE,EAAE;gBACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5E,MAAM,WAAW,GAAG,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;gBAClE,IAAI,WAAW,KAAK,KAAK;oBACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC;gBACxH,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvH,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACtE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhG,CAAC,CAAA;YAED,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;oBAClF,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBACpH,mBAAmB,CACf,qBAAqB,CAAC;oBAClB,IAAI,EAAE,uEAAuE;oBAC7E,IAAI,EAAE,0BAA0B;iBACnC,CAAC,CACL,CAAC;YACN,CAAC;YACD,mBAAmB,CAAC,qBAAqB,CAAC;gBACtC,IAAI,EAAE,sEAAsE;gBAC5E,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBACtE,IAAI,EAAE,gCAAgC;oBACtC,IAAI,EAAE,KAAK;iBACd,CAAC,CAAC,CAAC;aACP,CAAC,CAAC,CAAC;YAEJ,mBAAmB,CAAC,qBAAqB,CAAC;gBACtC,IAAI,EAAE,mCAAmC;gBACzC,IAAI,EAAE,KAAK;aACd,CAAC,CAAC,CAAC;QAER,CAAC,EAAE,CAAC,CAAC,EAAE;YACH,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,cAAc,EAAE,sDAAsD,GAAG,OAAO,CAAC,CAAC;QAC1I,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,2BAA2B,CAAC,KAAiB;QACzC,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;YAClF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAClF,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;YACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EACvE,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;YACxG,OAAO,OAAO,CAAA;QAClB,CAAC,EAAE,CAAC,CAAC,EAAE;YACH,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAClD,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,cAAc,EAAE,sDAAsD,GAAG,OAAO,CAAC,CAAA;QACzI,CAAC,CAAC,CAAA;IACN,CAAC;IAED,YAAY,oBAAwC,EAAE,MAA0B,EAAE,MAA6D,EAAW,aAA2B,EAAE,QAAsB,EAAE,SAAkB;QAAvE,kBAAa,GAAb,aAAa,CAAc;QACjL,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChC,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,qCAAqC;QACrC,gFAAgF;QAChF,4EAA4E;QAC5E,IAAI,CAAC,sBAAsB,GAAG,oBAAoB,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjJ,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5H,IAAI,CAAC,cAAc,GAAG,MAAM,YAAY,yBAAyB,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,oBAAoB,EAAE,aAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChJ,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;QAEnC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEhD,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC;YAC5B,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,CAAC,QAAQ,CAAC,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5F,CAAC,QAAQ,CAAC,WAAW,CAAC,6BAA6B,EAAE,IAAI,CAAC,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9G,CAAC,QAAQ,CAAC,WAAW,CAAC,0BAA0B,EAAE,IAAI,CAAC,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxG,CAAC,QAAQ,CAAC,WAAW,CAAC,yBAAyB,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzG,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAEpB,IAAI,CAAC,oBAAoB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/F,IAAI,CAAC,SAAS;YACV,IAAI,CAAC,yBAAyB,CAAC,MAAM,YAAY,yBAAyB,CAAC,CAAC;QAEhF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACxH,IAAI,EAAE,mCAAmC;YACzC,IAAI,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAE/B,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,kBAAkB,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,kDAAkD,CAAC,CAAC;YAC1L,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;QAC1E,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAGd,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,yBAAyB,CAAC,MAAM,YAAY,yBAAyB,CAAC,CAAC;YAC5E,gBAAgB,EAAE,CAAC;QACvB,CAAC;aACI,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;YAE5C,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAA;YACrE,MAAM,qBAAqB,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAClE,MAAM,sBAAsB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAEpE,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;YACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACd,IAAI,iBAAiB,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC;gBAC9M,IAAI,iBAAiB,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;aACrI,EAAE,gBAAgB,CAAC,CAAC;YACrB,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;QACtD,CAAC;aACI,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACpE,gBAAgB,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,gFAAgF;IAChF,kFAAkF;IAClF,kFAAkF;IAClF,6EAA6E;IAC7E,iFAAiF;IAEjF,+BAA+B;QAC3B,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;gBAClD,IAAI,EAAE,mCAAmC;gBACzC,IAAI,EAAE,KAAK;aACd,CAAC,CAAC,CAAC;YACJ,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,IAAI,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,KAAK,KAAK;gBACvD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;gBACtE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACvG,IAAI,EAAE,mCAAmC;YACzC,IAAI,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC3C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;IAGD,kBAAkB,CAAC,OAAkC;QACjD,IAAI,QAAQ,GAAkB,EAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,kCAAkC,EAAE,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;aACI,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED;;;OAGG;IAEH,UAAU,CAAC,OAAmB;QAC1B,2BAA2B;QAC3B,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,OAAO;SAChB,CAAC,CAAA;IACN,CAAC;IAGD,qBAAqB,CAAC,OAAmB;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,OAAO;SAChB,CAAC,CAAA;IACN,CAAC;IAEO,uBAAuB,CAAC,OAAmB;QAC/C,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,WAAW,CAAC,eAAe;YACpE,OAAO,SAAS,CAAC;QACrB,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1H,CAAC;IAEO,oBAAoB,CAAC,OAAmB;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAGD,0BAA0B,CAAC,YAAoB;QAC3C,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAClC,OAAO;QACX,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAC3D,IAAI,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,YAAY;gBACtD,OAAO,IAAI,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,uFAAuF;IACvF,0FAA0F;IAC1F,4FAA4F;IAC5F,wFAAwF;IACxF,OAAO;QACH,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAGD,2BAA2B,CAAC,OAAmB,EAAE,oBAAoB,GAAG,KAAK;QACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7G,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC3F,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO;QACX,CAAC;QACD,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAIO,gBAAgB,CAAC,OAAmB;QACxC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,OAAO;SAChB,CAAC,CAAA;IACN,CAAC;IAGO,iBAAiB,CAAC,OAAmB;QACzC,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,OAAO;SAChB,CAAC,CAAA;IACN,CAAC;IAGO,MAAM,CAAC,IAAkC,EAAE,EAAuB;QACtE,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACnC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;iBACI,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBAC/C,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YACP,EAAE,EAAE,CAAC;QACT,CAAC;IACL,CAAC;IAGO,+BAA+B,CAAC,IAAkC;QACtE,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAGO,wBAAwB,CAAC,IAAkC;QAC/D,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAGtD,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAuC,CAAC,CAAA;QAC/E,IAAI,CAAC;YACD,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;gBACrB,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,eAAe,EAAE,gCAAgC,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7I,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,iFAAiF;YACjF,+FAA+F;YAC/F,8FAA8F;YAC9F,uFAAuF;YACvF,8FAA8F;YAC9F,sGAAsG;YACtG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAGO,qBAAqB,CAAC,OAAmB;QAC7C,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC1E,OAAO;QACX,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACf,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;aACnB,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAGO,wCAAwC,CAAC,OAAmB;QAChE,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAGO,qCAAqC,CAAC,OAAmB;QAC7D,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAGO,oCAAoC,CAAC,OAAmB;QAC5D,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAGO,4BAA4B,CAAC,OAAmB;QACpD,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YACrD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;YACtE,wFAAwF;YACxF,yFAAyF;YACzF,iGAAiG;YACjG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC,EACG,CAAC,CAAC,EAAE;YACA,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,OAAO,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAA;IACV,CAAC;IAED;;;;OAIG;IAEK,+BAA+B,CAAC,OAAmB,EAAE,mBAA4B,KAAK;QAC1F,4JAA4J;QAC5J,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,OAAO;QACX,CAAC;QACD,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YACrD,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;gBACxD,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,WAAW,EAAE,uDAAuD,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,kBAAkB,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;YAE9O,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAEhF,IAAI,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC/G,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,8BAA8B,EAAE,0CAA0C,GAAG,GAAG,CAAC,CAAC;YAC1I,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAGxD,CAAC,CAAC,CAAA;QAEF,uDAAuD;QACvD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,CAAC;IAGD,mGAAmG;IAG3F,2BAA2B,CAAC,KAAwD,EAAE,EAAuB;QACjH,IAAI,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,uBAAuB,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;gBACrD,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAA,CAAC,4DAA4D;QACnG,CAAC;gBAAS,CAAC;YACP,EAAE,EAAE,CAAC;QACT,CAAC;IACL,CAAC;IAGO,gCAAgC,CAAC,UAAsB,EAAE,wBAAoC,EAAE,sBAAkC;QACrI,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,gBAAgB,EAAE,CAAC;iBAC1E,MAAM,CACH,QAAQ,CAAC,SAAS,CAAC,YAAY,EAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,gBAAgB,EAAE,CAAC;iBAC7D,MAAM,CACH,QAAQ,CAAC,SAAS,CAAC,cAAc;YACjC,sEAAsE;YACtE,sEAAsE;YACtE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CACnD;iBACA,MAAM,CACH,QAAQ,CAAC,SAAS,CAAC,WAAW,EAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,gBAAgB,EAAE,CAAC;iBAC7D,MAAM,CACH,QAAQ,CAAC,SAAS,CAAC,wBAAwB,EAC3C,wBAAwB,CAC3B;iBACA,MAAM,CACH,QAAQ,CAAC,SAAS,CAAC,sBAAsB,EACzC,sBAAsB,CACzB,CACR,CACR;iBACA,MAAM,CACH,QAAQ,CAAC,SAAS,CAAC,WAAW,EAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CACzD,CAAC;YAEN,MAAM,yBAAyB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YAClN,OAAO,yBAAyB,CAAC;QACrC,CAAC,CAAC,CAAA;IACN,CAAC;IAGO,mBAAmB,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAqD;QACvG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC;YACL,4EAA4E;YAC5E,yEAAyE;YACzE,4EAA4E;YAC5E,8DAA8D;YAC9D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,QAAoB,CAAA;YACxB,IAAI,mBAAmB,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACpG,QAAQ,GAAG,GAAG,CAAC;YACnB,CAAC;iBACI,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAEvD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnD,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAE1D,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACrJ,CAAC;YAID,0CAA0C;YAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAEnD,sBAAsB;YAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAE7G,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAEvH,8FAA8F;YAC9F,MAAM,uBAAuB,GAAG,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAC9E,IAAI,uBAAuB,KAAK,MAAM,EAAE,CAAC;gBACrC,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,kCAAkC,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5K,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7K,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAEvL,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;gBACvC,uFAAuF;gBACvF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtL,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBAChH,IAAI,EAAE,oCAAoC;oBAC1C,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;wBACvC,OAAO,EAAE,cAAc;wBACvB,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;qBACvE,CAAC,CAAC;iBACN,CAAC,CAAC,CAAC,CAAC,CAAA;gBACL,MAAM,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBAC9G,IAAI,EAAE,oCAAoC;oBAC1C,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;wBACvC,OAAO,EAAE,QAAQ;wBACjB,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;qBACvE,CAAC,CAAC;iBACN,CAAC,CAAC,CAAC,CAAC,CAAC;gBAGN,MAAM,yBAAyB,GAAG,IAAI,CAAC,gCAAgC,CAAC,UAAU,EAAE,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;gBACtI,MAAM,8BAA8B,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAEtJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,iBAAiB,CAAC,8BAA8B,CAAC,CAAC,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;gBAElI,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,CAAC;gBAGtD,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAE9G,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;QACD,CAAC;gBAAS,CAAC;YACP,qEAAqE;YACrE,sEAAsE;YACtE,qEAAqE;YACrE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IAEL,CAAC;IAGO,0BAA0B,CAAC,OAAmB;QAElD,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YACrD,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACvG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACzD,wEAAwE;YACxE,uEAAuE;YACvE,0EAA0E;YAC1E,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,cAAc,GAAiB,EAAE,CAAC;YACxC,MAAM,oBAAoB,GAAG,GAAG,EAAE;gBAC9B,KAAK,MAAM,IAAI,IAAI,cAAc;oBAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACpE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC;YACF,MAAM,mBAAmB,GAAG,GAAG,EAAE;gBAC7B,KAAK,MAAM,IAAI,IAAI,cAAc;oBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClD,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC;YACF,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACtE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBACrG,IAAI,GAAG,GAAG,CAAC,CAAA;gBACX,IAAI,KAAiB,CAAA;gBACrB,IAAI,CAAC;oBACL,OAAO,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;wBAC3C,GAAG,EAAE,CAAC;wBACN,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;wBAC7E,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;4BACxB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;gCACtE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BAE1B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gCACtB,8DAA8D;gCAC9D,kEAAkE;gCAClE,oBAAoB,EAAE,CAAC;gCACvB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gCAChE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE;oCAEhF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oCACrB,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oCACpJ,IAAI,EAAE;wCACF,EAAE,EAAE,CAAC;oCACT,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;gCACvC,CAAC,CAAC,CAAA;gCACF,OAAO;4BACX,CAAC;4BACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BAC/D,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;4BACrG,qEAAqE;4BACrE,0EAA0E;4BAC1E,uEAAuE;4BACvE,wEAAwE;4BACxE,0EAA0E;4BAC1E,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gCACvB,MAAM,SAAS,GAAG,IAAI,mBAAmB,EAAE,CAAC;gCAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gCAChE,IAAI,CAAC;oCACD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gCACjE,CAAC;gCAAC,OAAO,CAAC,EAAE,CAAC;oCACT,yEAAyE;oCACzE,yEAAyE;oCACzE,8EAA8E;oCAC9E,QAAQ,CAAC,OAAO,EAAE,CAAC;oCACnB,MAAM,CAAC,CAAC;gCACZ,CAAC;wCAAS,CAAC;oCACP,oEAAoE;oCACpE,iFAAiF;oCACjF,SAAS,CAAC,QAAQ,EAAE,CAAC;gCACzB,CAAC;4BACL,CAAC;wBACL,CAAC;6BACI,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;4BAC9B,gEAAgE;4BAChE,8CAA8C;4BAC9C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC9G,CAAC;6BACI,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;4BAC7B,oEAAoE;4BACpE,oEAAoE;4BACpE,IAAI,IAAI,CAAC,kBAAkB;gCACvB,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;wBAChG,CAAC;6BACI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;4BAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;4BACnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;4BACnD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,CAAC;4BAEnE,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC;4BAEpG,MAAM,UAAU,GAAG,GAAG,EAAE;gCACpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gCAC3C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;oCAC3B,GAAG,EAAE,qBAAqB,CAAC,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;oCACjI,mBAAmB,EAAE,IAAI;iCAC5B,CAAC,CAAA;4BAEN,CAAC,CAAA;4BACD,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;wBACtD,CAAC;6BACI,CAAC;4BACF,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,WAAW,CAAC,CAAC;4BACpE,SAAS;wBACb,CAAC;oBACL,CAAC;gBACD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,oEAAoE;oBACpE,sEAAsE;oBACtE,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,cAAc,CAAC,MAAM,EAAE,+CAA+C,CAAC,CAAC;oBACzI,mBAAmB,EAAE,CAAC;oBACtB,MAAM,CAAC,CAAC;gBACZ,CAAC;gBACD,oBAAoB,EAAE,CAAC;gBACvB,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;YACvC,CAAC;iBACI,IAAI,kBAAkB,KAAK,MAAM,EAAE,CAAC;gBACrC,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,cAAc,EAAE,oFAAoF,CAAC,CAAC;YAC9J,CAAC;iBACI,CAAC;gBACF,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,cAAc,EAAE,iCAAiC,GAAG,kBAAkB,GAAG,gDAAgD,CAAC,CAAC;YACnL,CAAC;QACL,CAAC,CAAC,CAAA;IAEN,CAAC;IAGD,4FAA4F;IAC5F,IAAW,iBAAiB,CAAC,SAAc;QACvC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACxC,CAAC;IAED,IAAW,cAAc,CAAC,SAAc;QACpC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IACrC,CAAC;IAED,IAAW,sBAAsB,CAAC,SAAyC;QACvE,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAC7C,CAAC;IAGM,yBAAyB,CAAC,EAA2B;QAExD,kBAAkB,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YACrD,MAAM,OAAO,GAAG,qBAAqB,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACnI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;CAEJ;AA9uBW;IADP,WAAW,CAAC,sCAAsC,CAAC;0EAsBnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;2EA6BnD;AAGD;IADC,WAAW,CAAC,sCAAsC,CAAC;uEAgDnD;AAGD;IADC,WAAW,CAAC,sCAAsC,CAAC;yEAanD;AA6ED;IADC,WAAW,CAAC,sCAAsC,CAAC;6EAqBnD;AAGD;IADC,WAAW,CAAC,sCAAsC,CAAC;gEASnD;AAOD;IADC,WAAW,CAAC,sCAAsC,CAAC;wDAQnD;AAGD;IADC,WAAW,CAAC,sCAAsC,CAAC;mEAMnD;AAcD;IADC,WAAW,CAAC,sCAAsC,CAAC;wEAYnD;AAgBD;IADC,WAAW,CAAC,sCAAsC,CAAC;yEAYnD;AAIO;IADP,WAAW,CAAC,sCAAsC,CAAC;8DAOnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;+DAOnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;oDAiBnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;6EAGnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;sEAmBnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;mEAiBnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;sFAGnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;mFAGnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;kFAGnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;0EAcnD;AAQO;IADP,WAAW,CAAC,sCAAsC,CAAC;6EA4BnD;AAMO;IADP,WAAW,CAAC,sCAAsC,CAAC;yEAcnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;8EAkCnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;iEAwFnD;AAGO;IADP,WAAW,CAAC,sCAAsC,CAAC;wEAkInD;AAiBM;IADN,WAAW,CAAC,sCAAsC,CAAC;uEAOnD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare let BACKEND_KIND: 'native' | 'wasm';
|
|
1
2
|
export declare const AdaptObject: typeof import("./adapt.js").AdaptObject;
|
|
2
3
|
export declare const AdaptObjectLifetime: typeof import("./adapt.js").AdaptObjectLifetime;
|
|
3
4
|
export declare const AdaptEnvironment: typeof import("./adapt.js").AdaptEnvironment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-node.d.ts","sourceRoot":"","sources":["../../src/wasm/backend-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"backend-node.d.ts","sourceRoot":"","sources":["../../src/wasm/backend-node.ts"],"names":[],"mappings":"AAmBA,eAAO,IAAI,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC;AAsB3C,eAAO,MAAM,WAAW,yCAAuB,CAAC;AAChD,eAAO,MAAM,mBAAmB,iDAA+B,CAAC;AAChE,eAAO,MAAM,gBAAgB,8CAA4B,CAAC;AAC1D,eAAO,MAAM,mBAAmB,iDAA+B,CAAC;AAChE,eAAO,MAAM,UAAU,wCAAsB,CAAC;AAC9C,eAAO,MAAM,kBAAkB,gDAA8B,CAAC;AAC9D,eAAO,MAAM,aAAa,2CAAyB,CAAC;AAEpD,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -8,14 +8,29 @@
|
|
|
8
8
|
// consumers see identical bindings either way; static types are sourced from
|
|
9
9
|
// `./index.d.ts` via the package's `exports.types` field.
|
|
10
10
|
let _backend;
|
|
11
|
+
// Authoritative signal of which backend this `./backend` gateway resolved. Set at the
|
|
12
|
+
// resolution point itself (the most authoritative place — no downstream state can confuse it),
|
|
13
|
+
// keyed on WHICH PACKAGE loaded: 'native' covers both the plain native and the nitro build
|
|
14
|
+
// (both ARE @adapt-toolkit/sdk-native), so there is no union/polarity nuance. The --node test
|
|
15
|
+
// leg reads this through this SAME ./backend gateway and asserts === 'native', so a silent
|
|
16
|
+
// WASM fallback under a native leg becomes a loud, correctly-labelled failure (F189).
|
|
17
|
+
export let BACKEND_KIND;
|
|
11
18
|
try {
|
|
12
19
|
// Cast the specifier to `string` so TS does not require the optional
|
|
13
20
|
// `@adapt-toolkit/sdk-native` package to resolve at compile time.
|
|
14
21
|
_backend = (await import(
|
|
15
22
|
/* @vite-ignore */ /* webpackIgnore: true */ '@adapt-toolkit/sdk-native'));
|
|
23
|
+
BACKEND_KIND = 'native';
|
|
16
24
|
}
|
|
17
|
-
catch {
|
|
25
|
+
catch (e) {
|
|
26
|
+
// F189 — NEVER swallow the reason. The native addon is optional in prod so the WASM fallback
|
|
27
|
+
// stays (behaviour unchanged), but the failure reason (missing prebuild, ABI/platform
|
|
28
|
+
// mismatch, ASAN link error) is the only diagnostic of a broken native path, and its silence
|
|
29
|
+
// is exactly what lets a broken addon hide in CI (a --node leg silently running WASM mislabels
|
|
30
|
+
// hash divergence and can report green with zero native coverage). Always log it.
|
|
31
|
+
(globalThis.console?.warn ?? (() => { }))('[adapt] native @adapt-toolkit/sdk-native failed to load; falling back to WASM backend (F189):', e instanceof Error ? (e.stack ?? e.message) : e);
|
|
18
32
|
_backend = await import('./index.js');
|
|
33
|
+
BACKEND_KIND = 'wasm';
|
|
19
34
|
}
|
|
20
35
|
export const AdaptObject = _backend.AdaptObject;
|
|
21
36
|
export const AdaptObjectLifetime = _backend.AdaptObjectLifetime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-node.js","sourceRoot":"","sources":["../../src/wasm/backend-node.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,2EAA2E;AAC3E,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,0DAA0D;AAI1D,IAAI,QAAqB,CAAC;AAC1B,IAAI,CAAC;IACH,qEAAqE;IACrE,kEAAkE;IAClE,QAAQ,GAAG,CAAC,MAAM,MAAM;IACtB,kBAAkB,CAAC,yBAAyB,CAAC,2BAAqC,CACnF,CAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"backend-node.js","sourceRoot":"","sources":["../../src/wasm/backend-node.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,2EAA2E;AAC3E,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,0DAA0D;AAI1D,IAAI,QAAqB,CAAC;AAC1B,sFAAsF;AACtF,+FAA+F;AAC/F,2FAA2F;AAC3F,8FAA8F;AAC9F,2FAA2F;AAC3F,sFAAsF;AACtF,MAAM,CAAC,IAAI,YAA+B,CAAC;AAC3C,IAAI,CAAC;IACH,qEAAqE;IACrE,kEAAkE;IAClE,QAAQ,GAAG,CAAC,MAAM,MAAM;IACtB,kBAAkB,CAAC,yBAAyB,CAAC,2BAAqC,CACnF,CAA2B,CAAC;IAC7B,YAAY,GAAG,QAAQ,CAAC;AAC1B,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,6FAA6F;IAC7F,sFAAsF;IACtF,6FAA6F;IAC7F,+FAA+F;IAC/F,kFAAkF;IAClF,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CACtC,+FAA+F,EAC/F,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAChD,CAAC;IACF,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACtC,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;AAChE,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;AAC9D,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC"}
|
package/dist/wasm/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { AdaptBackend } from '../loaders/shared.js';
|
|
|
2
2
|
import { AdaptEnvironment, AdaptEvaluationUnit, AdaptValue, AdaptPacketContext } from './adapt.js';
|
|
3
3
|
export * from './adapt.js';
|
|
4
4
|
export type { AdaptWasmObject } from './wasm_types.js';
|
|
5
|
+
export declare const BACKEND_KIND: 'native' | 'wasm';
|
|
5
6
|
declare const AddonTypes: {
|
|
6
7
|
AdaptValue: typeof AdaptValue;
|
|
7
8
|
AdaptEvaluationUnit: typeof AdaptEvaluationUnit;
|
package/dist/wasm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEnG,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEnG,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAQvD,eAAO,MAAM,YAAY,EAAE,QAAQ,GAAG,MAAe,CAAC;AAEtD,QAAA,MAAM,UAAU;;;;;CAKf,CAAC;AAEF,wBAAgB,aAAa,IAAI,YAAY,CAAC,OAAO,UAAU,CAAC,CAK/D"}
|
package/dist/wasm/index.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { AdaptEnvironment, AdaptEvaluationUnit, AdaptValue, AdaptPacketContext } from './adapt.js';
|
|
2
2
|
export * from './adapt.js';
|
|
3
|
+
// This IS the WASM backend (the browser/default `./backend` entry, and the node fallback target),
|
|
4
|
+
// so it always resolves to 'wasm'. The node `./backend` gateway (backend-node.ts) overrides this
|
|
5
|
+
// with 'native' when the native addon loads. Declared here too so `BACKEND_KIND` is part of the
|
|
6
|
+
// `./backend` TYPE surface (all conditions' types map to this index) — the --node harness reads it
|
|
7
|
+
// through that gateway to prove it ran native (F189). Typed as the union (not the 'wasm' literal)
|
|
8
|
+
// so a `=== 'native'` assertion type-checks.
|
|
9
|
+
export const BACKEND_KIND = 'wasm';
|
|
3
10
|
const AddonTypes = {
|
|
4
11
|
AdaptValue,
|
|
5
12
|
AdaptEvaluationUnit,
|
package/dist/wasm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEnG,cAAc,YAAY,CAAC;AAG3B,MAAM,UAAU,GAAG;IACjB,UAAU;IACV,mBAAmB;IACnB,kBAAkB;IAClB,gBAAgB;CACjB,CAAC;AAEF,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEnG,cAAc,YAAY,CAAC;AAG3B,kGAAkG;AAClG,iGAAiG;AACjG,gGAAgG;AAChG,mGAAmG;AACnG,kGAAkG;AAClG,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAsB,MAAM,CAAC;AAEtD,MAAM,UAAU,GAAG;IACjB,UAAU;IACV,mBAAmB;IACnB,kBAAkB;IAClB,gBAAgB;CACjB,CAAC;AAEF,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adapt-toolkit/sdk",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"description": "TypeScript SDK for the ADAPT framework. One install for browser, Node, and React Native; the runtime picks a native, WASM, or platform-native backend automatically.",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"ws": "^8.16.0"
|
|
110
110
|
},
|
|
111
111
|
"optionalDependencies": {
|
|
112
|
-
"@adapt-toolkit/sdk-native": "0.10.
|
|
112
|
+
"@adapt-toolkit/sdk-native": "0.10.14"
|
|
113
113
|
},
|
|
114
114
|
"peerDependencies": {
|
|
115
115
|
"@adapt-toolkit/sdk-react-native": "0.1.0"
|