tywrap 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -22
- package/SECURITY.md +38 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +8 -0
- package/dist/config/index.js.map +1 -1
- package/dist/core/annotation-parser.d.ts +2 -1
- package/dist/core/annotation-parser.d.ts.map +1 -1
- package/dist/core/annotation-parser.js +6 -3
- package/dist/core/annotation-parser.js.map +1 -1
- package/dist/core/generator.d.ts +23 -4
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +254 -170
- package/dist/core/generator.js.map +1 -1
- package/dist/core/mapper.d.ts +3 -2
- package/dist/core/mapper.d.ts.map +1 -1
- package/dist/core/mapper.js +5 -5
- package/dist/core/mapper.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/runtime/base-bridge.d.ts +3 -7
- package/dist/runtime/base-bridge.d.ts.map +1 -1
- package/dist/runtime/base-bridge.js +4 -17
- package/dist/runtime/base-bridge.js.map +1 -1
- package/dist/runtime/bounded-context.d.ts +3 -22
- package/dist/runtime/bounded-context.d.ts.map +1 -1
- package/dist/runtime/bounded-context.js +13 -53
- package/dist/runtime/bounded-context.js.map +1 -1
- package/dist/runtime/bridge-codec.d.ts +3 -3
- package/dist/runtime/bridge-codec.d.ts.map +1 -1
- package/dist/runtime/bridge-codec.js +129 -62
- package/dist/runtime/bridge-codec.js.map +1 -1
- package/dist/runtime/errors.d.ts +16 -0
- package/dist/runtime/errors.d.ts.map +1 -1
- package/dist/runtime/errors.js +17 -0
- package/dist/runtime/errors.js.map +1 -1
- package/dist/runtime/http-transport.d.ts +1 -1
- package/dist/runtime/http-transport.d.ts.map +1 -1
- package/dist/runtime/http-transport.js +1 -1
- package/dist/runtime/http-transport.js.map +1 -1
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/node.d.ts +7 -36
- package/dist/runtime/node.d.ts.map +1 -1
- package/dist/runtime/node.js +2 -80
- package/dist/runtime/node.js.map +1 -1
- package/dist/runtime/pooled-transport.d.ts +120 -59
- package/dist/runtime/pooled-transport.d.ts.map +1 -1
- package/dist/runtime/pooled-transport.js +345 -78
- package/dist/runtime/pooled-transport.js.map +1 -1
- package/dist/runtime/pyodide-bootstrap-core.generated.d.ts.map +1 -1
- package/dist/runtime/pyodide-bootstrap-core.generated.js +1 -1
- package/dist/runtime/pyodide-bootstrap-core.generated.js.map +1 -1
- package/dist/runtime/pyodide-transport.d.ts +1 -1
- package/dist/runtime/pyodide-transport.d.ts.map +1 -1
- package/dist/runtime/pyodide-transport.js +2 -3
- package/dist/runtime/pyodide-transport.js.map +1 -1
- package/dist/runtime/rpc-client.d.ts +7 -36
- package/dist/runtime/rpc-client.d.ts.map +1 -1
- package/dist/runtime/rpc-client.js +20 -102
- package/dist/runtime/rpc-client.js.map +1 -1
- package/dist/runtime/subprocess-transport.d.ts +30 -69
- package/dist/runtime/subprocess-transport.d.ts.map +1 -1
- package/dist/runtime/subprocess-transport.js +179 -236
- package/dist/runtime/subprocess-transport.js.map +1 -1
- package/dist/runtime/timed-out-request-tracker.d.ts +2 -1
- package/dist/runtime/timed-out-request-tracker.d.ts.map +1 -1
- package/dist/runtime/transport.d.ts +9 -19
- package/dist/runtime/transport.d.ts.map +1 -1
- package/dist/runtime/transport.js +1 -1
- package/dist/runtime/transport.js.map +1 -1
- package/dist/runtime/validators.d.ts +50 -0
- package/dist/runtime/validators.d.ts.map +1 -1
- package/dist/runtime/validators.js +154 -0
- package/dist/runtime/validators.js.map +1 -1
- package/dist/types/index.d.ts +14 -39
- package/dist/types/index.d.ts.map +1 -1
- package/dist/tywrap.d.ts +3 -2
- package/dist/tywrap.d.ts.map +1 -1
- package/dist/tywrap.js +140 -13
- package/dist/tywrap.js.map +1 -1
- package/dist/utils/cache.d.ts +3 -16
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/codec.d.ts +17 -0
- package/dist/utils/codec.d.ts.map +1 -1
- package/dist/utils/codec.js +500 -85
- package/dist/utils/codec.js.map +1 -1
- package/dist/utils/ir-cache.d.ts +2 -1
- package/dist/utils/ir-cache.d.ts.map +1 -1
- package/dist/utils/runtime.d.ts +0 -29
- package/dist/utils/runtime.d.ts.map +1 -1
- package/dist/utils/runtime.js +16 -107
- package/dist/utils/runtime.js.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +7 -6
- package/runtime/frame_codec.py +7 -1
- package/runtime/python_bridge.py +85 -125
- package/runtime/tywrap_bridge_core.py +515 -187
- package/src/config/index.ts +11 -0
- package/src/core/annotation-parser.ts +7 -4
- package/src/core/generator.ts +330 -205
- package/src/core/mapper.ts +8 -8
- package/src/index.ts +7 -4
- package/src/runtime/base-bridge.ts +5 -30
- package/src/runtime/bounded-context.ts +12 -67
- package/src/runtime/bridge-codec.ts +158 -74
- package/src/runtime/errors.ts +21 -0
- package/src/runtime/http-transport.ts +6 -1
- package/src/runtime/index.ts +6 -0
- package/src/runtime/node.ts +9 -120
- package/src/runtime/pooled-transport.ts +424 -90
- package/src/runtime/pyodide-bootstrap-core.generated.ts +1 -1
- package/src/runtime/pyodide-transport.ts +7 -3
- package/src/runtime/rpc-client.ts +37 -139
- package/src/runtime/subprocess-transport.ts +210 -285
- package/src/runtime/timed-out-request-tracker.ts +1 -1
- package/src/runtime/transport.ts +15 -23
- package/src/runtime/validators.ts +212 -0
- package/src/types/index.ts +21 -60
- package/src/tywrap.ts +157 -22
- package/src/utils/cache.ts +3 -3
- package/src/utils/codec.ts +749 -112
- package/src/utils/ir-cache.ts +1 -1
- package/src/utils/runtime.ts +17 -128
- package/src/version.ts +1 -1
- package/dist/core/discovery.d.ts +0 -103
- package/dist/core/discovery.d.ts.map +0 -1
- package/dist/core/discovery.js +0 -380
- package/dist/core/discovery.js.map +0 -1
- package/dist/core/validation.d.ts +0 -102
- package/dist/core/validation.d.ts.map +0 -1
- package/dist/core/validation.js +0 -490
- package/dist/core/validation.js.map +0 -1
- package/dist/runtime/base.d.ts +0 -22
- package/dist/runtime/base.d.ts.map +0 -1
- package/dist/runtime/base.js +0 -23
- package/dist/runtime/base.js.map +0 -1
- package/dist/runtime/transport-pool.d.ts +0 -196
- package/dist/runtime/transport-pool.d.ts.map +0 -1
- package/dist/runtime/transport-pool.js +0 -418
- package/dist/runtime/transport-pool.js.map +0 -1
- package/runtime/__pycache__/_tywrap_conformance_chunking_fixtures.cpython-311.pyc +0 -0
- package/runtime/__pycache__/_tywrap_member_fixtures.cpython-311.pyc +0 -0
- package/runtime/__pycache__/_tywrap_w4_chunking_fixture.cpython-311.pyc +0 -0
- package/runtime/__pycache__/_tywrap_w5_request_chunking_fixture.cpython-311.pyc +0 -0
- package/runtime/__pycache__/_tywrap_w6_pool_chunking_fixture.cpython-311.pyc +0 -0
- package/runtime/__pycache__/frame_codec.cpython-311.pyc +0 -0
- package/runtime/__pycache__/safe_codec.cpython-311.pyc +0 -0
- package/runtime/__pycache__/tywrap_bridge_core.cpython-311.pyc +0 -0
- package/runtime/safe_codec.py +0 -352
- package/src/core/discovery.ts +0 -477
- package/src/core/validation.ts +0 -729
- package/src/runtime/base.ts +0 -24
- package/src/runtime/transport-pool.ts +0 -538
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* DisposableBase - Lifecycle-and-resource base for cross-boundary components.
|
|
3
3
|
*
|
|
4
4
|
* Provides ONLY: init/dispose state machine, validation helpers, error
|
|
5
|
-
* classification, bounded execution (timeout/
|
|
5
|
+
* classification, single-attempt bounded execution (timeout/abort), and resource
|
|
6
6
|
* ownership tracking. It carries ZERO RPC methods by design — the
|
|
7
|
-
* cross-boundary RPC contract (call
|
|
7
|
+
* cross-boundary RPC contract (call)
|
|
8
8
|
* is PythonRuntime, implemented only by the bridge facades, never by a base
|
|
9
9
|
* class or a transport. This separation is what keeps transports (SubprocessTransport,
|
|
10
10
|
* PooledTransport, TransportPool, PyodideTransport) and RpcClient from having to stub
|
|
@@ -285,12 +285,11 @@ export class DisposableBase {
|
|
|
285
285
|
* This method:
|
|
286
286
|
* - Auto-initializes if not ready
|
|
287
287
|
* - Enforces timeout limits
|
|
288
|
-
* - Supports retry on retryable errors
|
|
289
288
|
* - Respects abort signals
|
|
290
289
|
* - Validates results if a validator is provided
|
|
291
290
|
*
|
|
292
291
|
* @param operation - The async operation to execute
|
|
293
|
-
* @param options - Execution options (timeout,
|
|
292
|
+
* @param options - Execution options (timeout, validation, and abort)
|
|
294
293
|
* @returns The operation result
|
|
295
294
|
* @throws BridgeTimeoutError if the operation times out
|
|
296
295
|
* @throws BridgeDisposedError if the context is disposed
|
|
@@ -305,30 +304,17 @@ export class DisposableBase {
|
|
|
305
304
|
if (this._state === 'disposed') {
|
|
306
305
|
throw new BridgeDisposedError('Context disposed');
|
|
307
306
|
}
|
|
308
|
-
const { timeoutMs = 30000,
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
}
|
|
319
|
-
catch (error) {
|
|
320
|
-
lastError = this.classifyError(error);
|
|
321
|
-
// Retry if appropriate
|
|
322
|
-
if (attempt < retries && this.isRetryable(lastError)) {
|
|
323
|
-
await this.delay(retryDelayMs * (attempt + 1));
|
|
324
|
-
continue;
|
|
325
|
-
}
|
|
326
|
-
throw lastError;
|
|
327
|
-
}
|
|
307
|
+
const { timeoutMs = 30000, validate, signal } = options;
|
|
308
|
+
if (signal?.aborted) {
|
|
309
|
+
throw new BridgeTimeoutError('Operation aborted');
|
|
310
|
+
}
|
|
311
|
+
try {
|
|
312
|
+
const result = await this.withTimeout(operation(), timeoutMs, signal);
|
|
313
|
+
return validate ? validate(result) : result;
|
|
314
|
+
}
|
|
315
|
+
catch (error) {
|
|
316
|
+
throw this.classifyError(error);
|
|
328
317
|
}
|
|
329
|
-
// Should not reach here, but TypeScript doesn't know that
|
|
330
|
-
/* istanbul ignore next */
|
|
331
|
-
throw lastError ?? new BridgeExecutionError('Unexpected execution flow');
|
|
332
318
|
}
|
|
333
319
|
/**
|
|
334
320
|
* Wrap a promise with a timeout.
|
|
@@ -391,32 +377,6 @@ export class DisposableBase {
|
|
|
391
377
|
});
|
|
392
378
|
});
|
|
393
379
|
}
|
|
394
|
-
/**
|
|
395
|
-
* Determine if an error is retryable.
|
|
396
|
-
* Override in subclasses to customize retry logic.
|
|
397
|
-
*
|
|
398
|
-
* @param error - The error to check
|
|
399
|
-
* @returns True if the operation should be retried
|
|
400
|
-
*/
|
|
401
|
-
isRetryable(error) {
|
|
402
|
-
// Timeout and connection errors are typically retryable
|
|
403
|
-
if (error instanceof BridgeTimeoutError) {
|
|
404
|
-
return true;
|
|
405
|
-
}
|
|
406
|
-
const message = error.message.toLowerCase();
|
|
407
|
-
return (message.includes('econnreset') ||
|
|
408
|
-
message.includes('econnrefused') ||
|
|
409
|
-
message.includes('epipe') ||
|
|
410
|
-
message.includes('connection reset'));
|
|
411
|
-
}
|
|
412
|
-
/**
|
|
413
|
-
* Delay for a specified duration.
|
|
414
|
-
*
|
|
415
|
-
* @param ms - Milliseconds to delay
|
|
416
|
-
*/
|
|
417
|
-
delay(ms) {
|
|
418
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
419
|
-
}
|
|
420
380
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
421
381
|
// RESOURCE OWNERSHIP (addresses #144, #148)
|
|
422
382
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bounded-context.js","sourceRoot":"","sources":["../../src/runtime/bounded-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"bounded-context.js","sourceRoot":"","sources":["../../src/runtime/bounded-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export interface CodecOptions {
|
|
|
18
18
|
/** Max payload size in bytes. Default: 10MB */
|
|
19
19
|
maxPayloadBytes?: number;
|
|
20
20
|
/** How to handle bytes/bytearray. Default: 'base64' */
|
|
21
|
-
bytesHandling?: 'base64' | 'reject'
|
|
21
|
+
bytesHandling?: 'base64' | 'reject';
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* BridgeCodec provides unified validation and serialization for JS<->Python
|
|
@@ -100,8 +100,8 @@ export declare class BridgeCodec {
|
|
|
100
100
|
*/
|
|
101
101
|
decodeResponse<T>(payload: string): T;
|
|
102
102
|
/**
|
|
103
|
-
* Async version that
|
|
104
|
-
* Use this when the response may contain encoded
|
|
103
|
+
* Async version that decodes scientific envelopes.
|
|
104
|
+
* Use this when the response may contain encoded scientific values.
|
|
105
105
|
*
|
|
106
106
|
* @param payload - The JSON string received from Python
|
|
107
107
|
* @returns Decoded and validated result with Arrow decoding applied
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-codec.d.ts","sourceRoot":"","sources":["../../src/runtime/bridge-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"bridge-codec.d.ts","sourceRoot":"","sources":["../../src/runtime/bridge-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACrC;AA0UD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2C;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACgC;gBAEzD,OAAO,GAAE,YAAiB;IAQtC,OAAO,CAAC,iBAAiB;IASzB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,sBAAsB;IAM9B;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,4BAA4B;IAiCpC;;;;;;;OAOG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAsDvC;;;;;;;;;OASG;IACH,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IAgBrC;;;;;;;;;OASG;IACG,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA0CzD;;OAEG;IACH,OAAO,CAAC,QAAQ;CAajB"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { BridgeCodecError, BridgeProtocolError, BridgeExecutionError } from './errors.js';
|
|
11
11
|
import { containsSpecialFloat } from './validators.js';
|
|
12
|
-
import { decodeValueAsync as
|
|
12
|
+
import { decodeValueAsync as decodeScientificValue, isScientificMarker, ScientificDecodeError, } from '../utils/codec.js';
|
|
13
13
|
import { PROTOCOL_ID } from './transport.js';
|
|
14
14
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
15
15
|
// CONSTANTS
|
|
@@ -29,6 +29,9 @@ function isPlainObject(value) {
|
|
|
29
29
|
const proto = Object.getPrototypeOf(value);
|
|
30
30
|
return proto === Object.prototype || proto === null;
|
|
31
31
|
}
|
|
32
|
+
function isPlainArray(value) {
|
|
33
|
+
return Array.isArray(value) && Object.getPrototypeOf(value) === Array.prototype;
|
|
34
|
+
}
|
|
32
35
|
/**
|
|
33
36
|
* Build a path string for error messages.
|
|
34
37
|
*/
|
|
@@ -38,56 +41,105 @@ function buildPath(basePath, key) {
|
|
|
38
41
|
}
|
|
39
42
|
return typeof key === 'number' ? `${basePath}[${key}]` : `${basePath}.${key}`;
|
|
40
43
|
}
|
|
44
|
+
function containsScientificEnvelope(value) {
|
|
45
|
+
const pending = [value];
|
|
46
|
+
while (pending.length > 0) {
|
|
47
|
+
const current = pending.pop();
|
|
48
|
+
if (isPlainArray(current)) {
|
|
49
|
+
for (const item of current) {
|
|
50
|
+
pending.push(item);
|
|
51
|
+
}
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (!isPlainObject(current)) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (typeof current.__tywrap__ === 'string') {
|
|
58
|
+
return isScientificMarker(current.__tywrap__);
|
|
59
|
+
}
|
|
60
|
+
for (const item of Object.values(current)) {
|
|
61
|
+
pending.push(item);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
41
66
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
67
|
+
* Validate request-only restrictions in one traversal.
|
|
68
|
+
*
|
|
69
|
+
* Request validation historically checked every finite number before checking
|
|
70
|
+
* structure. Keep that precedence while combining the walks: capture the first
|
|
71
|
+
* structural error (Map, Set, or symbol key) in traversal order, and prefer
|
|
72
|
+
* the special-float error after the traversal.
|
|
44
73
|
*/
|
|
45
|
-
function
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (value instanceof Map) {
|
|
55
|
-
for (const key of value.keys()) {
|
|
56
|
-
if (typeof key !== 'string') {
|
|
57
|
-
const keyDesc = typeof key === 'symbol' ? key.toString() : String(key);
|
|
58
|
-
const location = path ? ` at ${path}` : '';
|
|
59
|
-
throw new BridgeCodecError(`Non-string key found in Map${location}: ${keyDesc} (${typeof key})`, { codecPhase: 'encode' });
|
|
74
|
+
function assertValidRequestValues(value, rejectSpecialFloats, rejectNonStringKeys, path = '') {
|
|
75
|
+
let specialFloatPath;
|
|
76
|
+
let structuralError;
|
|
77
|
+
const specialVisited = new WeakSet();
|
|
78
|
+
const structVisited = new WeakSet();
|
|
79
|
+
const visit = (current, currentPath, structuralScope) => {
|
|
80
|
+
if (typeof current === 'number' && !Number.isFinite(current)) {
|
|
81
|
+
if (rejectSpecialFloats) {
|
|
82
|
+
specialFloatPath ??= currentPath || 'root';
|
|
60
83
|
}
|
|
84
|
+
return;
|
|
61
85
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
assertStringKeys(val, buildPath(path, key), visited);
|
|
86
|
+
if (current === null || typeof current !== 'object') {
|
|
87
|
+
return;
|
|
65
88
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
89
|
+
if (current instanceof Map || current instanceof Set) {
|
|
90
|
+
// JSON.stringify serializes every Map and Set as {}, including Maps with
|
|
91
|
+
// string keys — reject unconditionally. Special-float validation
|
|
92
|
+
// historically does not inspect Map/Set contents, so no recursion.
|
|
93
|
+
if (structuralScope && !structVisited.has(current)) {
|
|
94
|
+
structVisited.add(current);
|
|
95
|
+
const location = currentPath ? ` at ${currentPath}` : '';
|
|
96
|
+
structuralError ??= new BridgeCodecError(current instanceof Map
|
|
97
|
+
? `Cannot encode request: Map found${location}; convert it to a plain object before sending`
|
|
98
|
+
: `Cannot encode request: Set found${location}; convert it to an array before sending`, { codecPhase: 'encode' });
|
|
99
|
+
}
|
|
100
|
+
return;
|
|
72
101
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// Symbol keys are not enumerated by Object.keys, use getOwnPropertySymbols
|
|
78
|
-
const symbolKeys = Object.getOwnPropertySymbols(value);
|
|
79
|
-
const firstSymbol = symbolKeys[0];
|
|
80
|
-
if (firstSymbol !== undefined) {
|
|
81
|
-
const symbolDesc = firstSymbol.toString();
|
|
82
|
-
const location = path ? ` at ${path}` : '';
|
|
83
|
-
throw new BridgeCodecError(`Symbol key found in object${location}: ${symbolDesc}`, {
|
|
84
|
-
codecPhase: 'encode',
|
|
85
|
-
});
|
|
102
|
+
const needsSpecialWalk = rejectSpecialFloats && !specialVisited.has(current);
|
|
103
|
+
const needsStructWalk = structuralScope && !structVisited.has(current);
|
|
104
|
+
if (!needsSpecialWalk && !needsStructWalk) {
|
|
105
|
+
return;
|
|
86
106
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
107
|
+
if (needsSpecialWalk) {
|
|
108
|
+
specialVisited.add(current);
|
|
109
|
+
}
|
|
110
|
+
if (needsStructWalk) {
|
|
111
|
+
structVisited.add(current);
|
|
112
|
+
}
|
|
113
|
+
if (Array.isArray(current)) {
|
|
114
|
+
for (const [index, item] of current.entries()) {
|
|
115
|
+
visit(item, buildPath(currentPath, index), structuralScope);
|
|
116
|
+
}
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const plainObject = isPlainObject(current);
|
|
120
|
+
if (plainObject && needsStructWalk && rejectNonStringKeys) {
|
|
121
|
+
// Symbol keys are not enumerated by Object.keys, use getOwnPropertySymbols
|
|
122
|
+
const firstSymbol = Object.getOwnPropertySymbols(current)[0];
|
|
123
|
+
if (firstSymbol !== undefined) {
|
|
124
|
+
const location = currentPath ? ` at ${currentPath}` : '';
|
|
125
|
+
structuralError ??= new BridgeCodecError(`Symbol key found in object${location}: ${firstSymbol.toString()}`, { codecPhase: 'encode' });
|
|
126
|
+
}
|
|
90
127
|
}
|
|
128
|
+
// Special-float detection historically traversed every non-array object
|
|
129
|
+
// with enumerable values, including class instances. Structural validation
|
|
130
|
+
// remains restricted to arrays and plain objects, matching its prior scope.
|
|
131
|
+
if (needsSpecialWalk || plainObject) {
|
|
132
|
+
for (const [key, item] of Object.entries(current)) {
|
|
133
|
+
visit(item, buildPath(currentPath, key), structuralScope && plainObject);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
visit(value, path, true);
|
|
138
|
+
if (rejectSpecialFloats && specialFloatPath !== undefined) {
|
|
139
|
+
throw new BridgeCodecError(`Cannot encode request: contains non-finite number (NaN or Infinity) at ${specialFloatPath}`, { codecPhase: 'encode', valueType: 'number' });
|
|
140
|
+
}
|
|
141
|
+
if (structuralError !== undefined) {
|
|
142
|
+
throw structuralError;
|
|
91
143
|
}
|
|
92
144
|
}
|
|
93
145
|
/**
|
|
@@ -401,15 +453,9 @@ export class BridgeCodec {
|
|
|
401
453
|
* @throws BridgeCodecError if validation fails or encoding fails
|
|
402
454
|
*/
|
|
403
455
|
encodeRequest(message) {
|
|
404
|
-
//
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
throw new BridgeCodecError(`Cannot encode request: contains non-finite number (NaN or Infinity) at ${floatPath}`, { codecPhase: 'encode', valueType: 'number' });
|
|
408
|
-
}
|
|
409
|
-
// Validate string keys if enabled
|
|
410
|
-
if (this.rejectNonStringKeys) {
|
|
411
|
-
assertStringKeys(message);
|
|
412
|
-
}
|
|
456
|
+
// Reject, in one traversal, values JSON.stringify would silently mangle:
|
|
457
|
+
// non-finite numbers, Map/Set, and (optionally) non-string keys.
|
|
458
|
+
assertValidRequestValues(message, this.rejectSpecialFloats, this.rejectNonStringKeys);
|
|
413
459
|
// Serialize to JSON with error handling
|
|
414
460
|
let payload;
|
|
415
461
|
try {
|
|
@@ -424,9 +470,6 @@ export class BridgeCodec {
|
|
|
424
470
|
const b64 = this.toBase64(bytes);
|
|
425
471
|
return { __tywrap_bytes__: true, b64 };
|
|
426
472
|
}
|
|
427
|
-
case 'passthrough':
|
|
428
|
-
default:
|
|
429
|
-
return value;
|
|
430
473
|
}
|
|
431
474
|
}
|
|
432
475
|
return value;
|
|
@@ -445,7 +488,9 @@ export class BridgeCodec {
|
|
|
445
488
|
});
|
|
446
489
|
}
|
|
447
490
|
// Check payload size
|
|
448
|
-
const payloadBytes =
|
|
491
|
+
const payloadBytes = typeof Buffer !== 'undefined'
|
|
492
|
+
? Buffer.byteLength(payload, 'utf8')
|
|
493
|
+
: new TextEncoder().encode(payload).length;
|
|
449
494
|
if (payloadBytes > this.maxPayloadBytes) {
|
|
450
495
|
throw new BridgeCodecError(`Payload size ${payloadBytes} bytes exceeds maximum ${this.maxPayloadBytes} bytes`, { codecPhase: 'encode', valueType: 'payload' });
|
|
451
496
|
}
|
|
@@ -463,13 +508,19 @@ export class BridgeCodec {
|
|
|
463
508
|
*/
|
|
464
509
|
decodeResponse(payload) {
|
|
465
510
|
const result = this.parseResponseResult(payload);
|
|
511
|
+
if (containsScientificEnvelope(result)) {
|
|
512
|
+
throw new BridgeCodecError('scientific envelopes require decodeResponseAsync', {
|
|
513
|
+
codecPhase: 'decode',
|
|
514
|
+
valueType: 'scientific-envelope',
|
|
515
|
+
});
|
|
516
|
+
}
|
|
466
517
|
// Post-decode validation for special floats if enabled
|
|
467
518
|
this.assertNoSpecialFloats(result);
|
|
468
519
|
return result;
|
|
469
520
|
}
|
|
470
521
|
/**
|
|
471
|
-
* Async version that
|
|
472
|
-
* Use this when the response may contain encoded
|
|
522
|
+
* Async version that decodes scientific envelopes.
|
|
523
|
+
* Use this when the response may contain encoded scientific values.
|
|
473
524
|
*
|
|
474
525
|
* @param payload - The JSON string received from Python
|
|
475
526
|
* @returns Decoded and validated result with Arrow decoding applied
|
|
@@ -479,21 +530,37 @@ export class BridgeCodec {
|
|
|
479
530
|
*/
|
|
480
531
|
async decodeResponseAsync(payload) {
|
|
481
532
|
const result = this.parseResponseResult(payload);
|
|
482
|
-
//
|
|
533
|
+
// Decode scientific envelopes in the result.
|
|
483
534
|
let decoded;
|
|
484
535
|
try {
|
|
485
|
-
decoded = await
|
|
536
|
+
decoded = await decodeScientificValue(result);
|
|
486
537
|
}
|
|
487
538
|
catch (err) {
|
|
488
539
|
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
489
|
-
|
|
540
|
+
const decodeError = err instanceof ScientificDecodeError ? err : undefined;
|
|
541
|
+
const marker = decodeError?.marker ??
|
|
542
|
+
(isPlainObject(result) && isScientificMarker(result.__tywrap__)
|
|
543
|
+
? result.__tywrap__
|
|
544
|
+
: 'unknown');
|
|
545
|
+
const genuineArrowError = decodeError?.kind === 'arrow';
|
|
546
|
+
const valueType = genuineArrowError
|
|
547
|
+
? 'arrow'
|
|
548
|
+
: marker === 'unknown'
|
|
549
|
+
? 'scientific-envelope'
|
|
550
|
+
: marker;
|
|
551
|
+
throw new BridgeCodecError(genuineArrowError
|
|
552
|
+
? `Arrow decoding failed: ${errorMessage}`
|
|
553
|
+
: `Scientific envelope decoding failed (${marker}): ${errorMessage}`, {
|
|
490
554
|
codecPhase: 'decode',
|
|
491
|
-
valueType
|
|
555
|
+
valueType,
|
|
492
556
|
});
|
|
493
557
|
}
|
|
494
558
|
// Post-decode validation for special floats if enabled
|
|
495
559
|
// Note: Arrow decoders can introduce NaN/Infinity from binary representations.
|
|
496
560
|
this.assertNoSpecialFloats(decoded);
|
|
561
|
+
// Return-contract validation is intentionally downstream of this codec. At
|
|
562
|
+
// this boundary we guarantee only a sound wire envelope and decoded value;
|
|
563
|
+
// generated wrappers validate the Python annotation after Arrow/JSON decode.
|
|
497
564
|
return decoded;
|
|
498
565
|
}
|
|
499
566
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-codec.js","sourceRoot":"","sources":["../../src/runtime/bridge-codec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge-codec.js","sourceRoot":"","sources":["../../src/runtime/bridge-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,gBAAgB,IAAI,qBAAqB,EACzC,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA4C7C,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAC3D,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEzC,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;GAEG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,QAAgB,EAAE,GAAoB;IACvD,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,CAAC;IACD,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,MAAM,OAAO,GAAc,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAC/B,KAAc,EACd,mBAA4B,EAC5B,mBAA4B,EAC5B,OAAe,EAAE;IAEjB,IAAI,gBAAoC,CAAC;IACzC,IAAI,eAA6C,CAAC;IAClD,MAAM,cAAc,GAAG,IAAI,OAAO,EAAU,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,OAAO,EAAU,CAAC;IAE5C,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAE,WAAmB,EAAE,eAAwB,EAAQ,EAAE;QACtF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,IAAI,mBAAmB,EAAE,CAAC;gBACxB,gBAAgB,KAAK,WAAW,IAAI,MAAM,CAAC;YAC7C,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,YAAY,GAAG,IAAI,OAAO,YAAY,GAAG,EAAE,CAAC;YACrD,yEAAyE;YACzE,iEAAiE;YACjE,mEAAmE;YACnE,IAAI,eAAe,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,eAAe,KAAK,IAAI,gBAAgB,CACtC,OAAO,YAAY,GAAG;oBACpB,CAAC,CAAC,mCAAmC,QAAQ,+CAA+C;oBAC5F,CAAC,CAAC,mCAAmC,QAAQ,yCAAyC,EACxF,EAAE,UAAU,EAAE,QAAQ,EAAE,CACzB,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,mBAAmB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7E,MAAM,eAAe,GAAG,eAAe,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,gBAAgB,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC9C,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,WAAW,IAAI,eAAe,IAAI,mBAAmB,EAAE,CAAC;YAC1D,2EAA2E;YAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,eAAe,KAAK,IAAI,gBAAgB,CACtC,6BAA6B,QAAQ,KAAK,WAAW,CAAC,QAAQ,EAAE,EAAE,EAClE,EAAE,UAAU,EAAE,QAAQ,EAAE,CACzB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,2EAA2E;QAC3E,4EAA4E;QAC5E,IAAI,gBAAgB,IAAI,WAAW,EAAE,CAAC;YACpC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClD,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,eAAe,IAAI,WAAW,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,IAAI,mBAAmB,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,IAAI,gBAAgB,CACxB,0EAA0E,gBAAgB,EAAE,EAC5F,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAC9C,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,eAAe,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAgC,CAAC;IACnD,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,GAAW;IAC3C,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,GAA8B,CAAC;IACjD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAA0B;QACxC,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IACF,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC5C,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IAC7C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAAC,GAAY;IAC/C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,4DAA4D,CAAC;IACtE,CAAC;IACD,MAAM,SAAS,GAAG,GAA8B,CAAC;IACjD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,yBAAyB,CAAC;IACnC,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,4BAA4B,CAAC;IACtC,CAAC;IACD,IAAI,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjF,OAAO,4CAA4C,CAAC;IACtD,CAAC;IACD,OAAO,4DAA4D,CAAC;AACtE,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,IAAI,4BAA4B,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,KAAK,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,sEAAsE;IACtE,kFAAkF;IAClF,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IACD,IAAI,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACtD,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,WAAW,WAAW,GAAG,CAAC,QAAQ,GAAG,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,KAAc,EACd,OAAe,EAAE,EACjB,UAA2B,IAAI,OAAO,EAAU;IAEhD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,IAAI,MAAM,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YACzE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,WAAW;IACL,mBAAmB,CAAU;IAC7B,mBAAmB,CAAU;IAC7B,eAAe,CAAS;IACxB,aAAa,CAAsB;IACnC,gBAAgB,CAA2C;IACpE,MAAM,CAAU,aAAa,GACnC,kEAAkE,CAAC;IAErE,YAAY,UAAwB,EAAE;QACpC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAC/D,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAC/D,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,yBAAyB,CAAC;QAC5E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEO,iBAAiB,CAAC,GAAW;QACnC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,gBAAgB,CAAC,kCAAkC,EAAE;gBAC7D,UAAU,EAAE,QAAQ;gBACpB,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAAC,GAAW;QAC5B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACvC,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,kDAAkD,EAAE;YAC7E,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CAAC,IAAY,EAAE,KAAc;QAC9C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,GAAG,GAAG,KAAgC,CAAC;QAE7C,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACjE,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtE,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,YAAY,EAAE,EAAE;oBAC1E,UAAU,EAAE,QAAQ;oBACpB,SAAS,EAAE,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1F,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtE,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,YAAY,EAAE,EAAE;oBAC1E,UAAU,EAAE,QAAQ;oBACpB,SAAS,EAAE,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,sBAAsB,CAAC,KAA4B;QACzD,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACxC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACK,mBAAmB,CAAC,OAAe;QACzC,2BAA2B;QAC3B,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC9D,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,YAAY,0BAA0B,IAAI,CAAC,eAAe,QAAQ,EAC3F,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAC/C,CAAC;QACJ,CAAC;QAED,aAAa;QACb,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBAC1E,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,IAAI,gBAAgB,CACxB,sBAAsB,YAAY,sBAAsB,wBAAwB,CAAC,OAAO,CAAC,EAAE,EAC3F,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,KAAc;QAC1C,IAAI,IAAI,CAAC,mBAAmB,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,IAAI,gBAAgB,CACxB,4DAA4D,SAAS,EAAE,EACvE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAC9C,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,4BAA4B,CAAC,MAAe;QAClD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC;YACxB,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE9C,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,mBAAmB,CAAC,4DAA4D,CAAC,CAAC;YAC9F,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,eAAe,GAAG,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,MAAM,OAAO,GAAG,2BAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC5D,MAAM,IAAI,mBAAmB,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;gBAChF,CAAC;gBACD,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,mBAAmB,CAAC,qDAAqD,CAAC,CAAC;YACvF,CAAC;YAED,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,OAAgB;QAC5B,yEAAyE;QACzE,iEAAiE;QACjE,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEtF,wCAAwC;QACxC,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC/C,sCAAsC;gBACtC,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;oBAChE,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;wBAC3B,KAAK,QAAQ;4BACX,MAAM,IAAI,gBAAgB,CACxB,+CAA+C,GAAG,IAAI,MAAM,0BAA0B,EACtF,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAC7C,CAAC;wBACJ,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACd,MAAM,KAAK,GAAG,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;4BAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BACjC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;gBACpC,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBACvC,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,IAAI,gBAAgB,CAAC,8BAA8B,YAAY,EAAE,EAAE;gBACvE,UAAU,EAAE,QAAQ;aACrB,CAAC,CAAC;QACL,CAAC;QAED,qBAAqB;QACrB,MAAM,YAAY,GAChB,OAAO,MAAM,KAAK,WAAW;YAC3B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;YACpC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC/C,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CACxB,gBAAgB,YAAY,0BAA0B,IAAI,CAAC,eAAe,QAAQ,EAClF,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAC/C,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACH,cAAc,CAAI,OAAe;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAI,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,gBAAgB,CAAC,kDAAkD,EAAE;gBAC7E,UAAU,EAAE,QAAQ;gBACpB,SAAS,EAAE,qBAAqB;aACjC,CAAC,CAAC;QACL,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAEnC,OAAO,MAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,mBAAmB,CAAI,OAAe;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEjD,6CAA6C;QAC7C,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,WAAW,GAAG,GAAG,YAAY,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,MAAM,MAAM,GACV,WAAW,EAAE,MAAM;gBACnB,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC;oBAC7D,CAAC,CAAC,MAAM,CAAC,UAAU;oBACnB,CAAC,CAAC,SAAS,CAAC,CAAC;YACjB,MAAM,iBAAiB,GAAG,WAAW,EAAE,IAAI,KAAK,OAAO,CAAC;YACxD,MAAM,SAAS,GAAG,iBAAiB;gBACjC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,KAAK,SAAS;oBACpB,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,MAAM,CAAC;YACb,MAAM,IAAI,gBAAgB,CACxB,iBAAiB;gBACf,CAAC,CAAC,0BAA0B,YAAY,EAAE;gBAC1C,CAAC,CAAC,wCAAwC,MAAM,MAAM,YAAY,EAAE,EACtE;gBACE,UAAU,EAAE,QAAQ;gBACpB,SAAS;aACV,CACF,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,+EAA+E;QAC/E,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEpC,2EAA2E;QAC3E,2EAA2E;QAC3E,6EAA6E;QAC7E,OAAO,OAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,KAAiB;QAChC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;YAC7C,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,kDAAkD,EAAE;YAC7E,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;IACL,CAAC"}
|
package/dist/runtime/errors.d.ts
CHANGED
|
@@ -11,6 +11,22 @@ export declare class BridgeTimeoutError extends BridgeError {
|
|
|
11
11
|
}
|
|
12
12
|
export declare class BridgeDisposedError extends BridgeError {
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* A decoded value did not match the return annotation emitted into a wrapper.
|
|
16
|
+
*
|
|
17
|
+
* This is deliberately separate from protocol/codec errors: the wire response
|
|
18
|
+
* was sound, but the Python implementation violated its declared contract.
|
|
19
|
+
*/
|
|
20
|
+
export declare class BridgeValidationError extends BridgeError {
|
|
21
|
+
readonly declaredType: string;
|
|
22
|
+
readonly receivedShape: string;
|
|
23
|
+
readonly callSite: string;
|
|
24
|
+
constructor(options: {
|
|
25
|
+
declaredType: string;
|
|
26
|
+
receivedShape: string;
|
|
27
|
+
callSite: string;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
14
30
|
export declare class BridgeCodecError extends BridgeError {
|
|
15
31
|
codecPhase?: string;
|
|
16
32
|
valueType?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAQ1E;AAED,qBAAa,mBAAoB,SAAQ,WAAW;CAAG;AACvD,qBAAa,kBAAmB,SAAQ,WAAW;CAAG;AACtD,qBAAa,mBAAoB,SAAQ,WAAW;CAAG;AAEvD,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAGjB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;CAMxF;AAED,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAQ1E;AAED,qBAAa,mBAAoB,SAAQ,WAAW;CAAG;AACvD,qBAAa,kBAAmB,SAAQ,WAAW;CAAG;AACtD,qBAAa,mBAAoB,SAAQ,WAAW;CAAG;AAEvD;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;CAQvF;AAED,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAGjB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;CAMxF;AAED,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/dist/runtime/errors.js
CHANGED
|
@@ -15,6 +15,23 @@ export class BridgeTimeoutError extends BridgeError {
|
|
|
15
15
|
}
|
|
16
16
|
export class BridgeDisposedError extends BridgeError {
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* A decoded value did not match the return annotation emitted into a wrapper.
|
|
20
|
+
*
|
|
21
|
+
* This is deliberately separate from protocol/codec errors: the wire response
|
|
22
|
+
* was sound, but the Python implementation violated its declared contract.
|
|
23
|
+
*/
|
|
24
|
+
export class BridgeValidationError extends BridgeError {
|
|
25
|
+
declaredType;
|
|
26
|
+
receivedShape;
|
|
27
|
+
callSite;
|
|
28
|
+
constructor(options) {
|
|
29
|
+
super(`Return validation failed for ${options.callSite}: expected ${options.declaredType}, received ${options.receivedShape}`);
|
|
30
|
+
this.declaredType = options.declaredType;
|
|
31
|
+
this.receivedShape = options.receivedShape;
|
|
32
|
+
this.callSite = options.callSite;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
18
35
|
export class BridgeCodecError extends BridgeError {
|
|
19
36
|
codecPhase;
|
|
20
37
|
valueType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAU;IACd,YAAY,OAAe,EAAE,OAA4C;QACvE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YAClB,IAAoC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;CAAG;AACvD,MAAM,OAAO,kBAAmB,SAAQ,WAAW;CAAG;AACtD,MAAM,OAAO,mBAAoB,SAAQ,WAAW;CAAG;AAEvD,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C,UAAU,CAAU;IACpB,SAAS,CAAU;IAEnB,YACE,OAAe,EACf,OAAqF;QAErF,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IACnD,SAAS,CAAU;CACpB"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAU;IACd,YAAY,OAAe,EAAE,OAA4C;QACvE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YAClB,IAAoC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;CAAG;AACvD,MAAM,OAAO,kBAAmB,SAAQ,WAAW;CAAG;AACtD,MAAM,OAAO,mBAAoB,SAAQ,WAAW;CAAG;AAEvD;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IAC3C,YAAY,CAAS;IACrB,aAAa,CAAS;IACtB,QAAQ,CAAS;IAE1B,YAAY,OAA0E;QACpF,KAAK,CACH,gCAAgC,OAAO,CAAC,QAAQ,cAAc,OAAO,CAAC,YAAY,cAAc,OAAO,CAAC,aAAa,EAAE,CACxH,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C,UAAU,CAAU;IACpB,SAAS,CAAU;IAEnB,YACE,OAAe,EACf,OAAqF;QAErF,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IACnD,SAAS,CAAU;CACpB"}
|
|
@@ -92,7 +92,7 @@ export declare class HttpTransport implements Transport {
|
|
|
92
92
|
* @throws BridgeExecutionError if the server returns a non-2xx status
|
|
93
93
|
* @throws BridgeProtocolError if the response cannot be read
|
|
94
94
|
*/
|
|
95
|
-
send(message: string, timeoutMs: number, signal?: AbortSignal): Promise<string>;
|
|
95
|
+
send(message: string, timeoutMs: number, signal?: AbortSignal, _requestId?: number): Promise<string>;
|
|
96
96
|
/**
|
|
97
97
|
* Safely read response body as text, returning empty string on failure.
|
|
98
98
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../src/runtime/http-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAMvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAEhB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,oBAAoB;IAczC;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;OAIG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;;;OAQG;IACH,YAAY,IAAI,qBAAqB;IAerC;;;;;;;;;;;;OAYG;IACG,IAAI,
|
|
1
|
+
{"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../src/runtime/http-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAMvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAEhB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,oBAAoB;IAczC;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;OAIG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;;;OAQG;IACH,YAAY,IAAI,qBAAqB;IAerC;;;;;;;;;;;;OAYG;IACG,IAAI,CACR,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IAwGlB;;OAEG;YACW,YAAY;CAO3B"}
|
|
@@ -113,7 +113,7 @@ export class HttpTransport {
|
|
|
113
113
|
* @throws BridgeExecutionError if the server returns a non-2xx status
|
|
114
114
|
* @throws BridgeProtocolError if the response cannot be read
|
|
115
115
|
*/
|
|
116
|
-
async send(message, timeoutMs, signal) {
|
|
116
|
+
async send(message, timeoutMs, signal, _requestId) {
|
|
117
117
|
if (this._isDisposed) {
|
|
118
118
|
throw new BridgeDisposedError('Transport has been disposed');
|
|
119
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../src/runtime/http-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAqBrB,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,aAAa;IACP,OAAO,CAAS;IAChB,OAAO,CAAyB;IAChC,gBAAgB,CAAS;IAClC,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,OAA6B;QACvC,wCAAwC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG;YACb,cAAc,EAAE,kBAAkB;YAClC,GAAG,OAAO,CAAC,OAAO;SACnB,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;IAC5D,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E;;;;;OAKG;IACH,KAAK,CAAC,IAAI;QACR,4CAA4C;IAC9C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY;QACV,OAAO;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,KAAK;YACvB,iBAAiB,EAAE,KAAK;YACxB,aAAa,EAAE,MAAM,CAAC,iBAAiB;SACxC,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,OAAO;IACP,8EAA8E;IAE9E;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../src/runtime/http-transport.ts"],"names":[],"mappings":"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"}
|