tywrap 0.7.0 → 0.9.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 +36 -11
- package/SECURITY.md +39 -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/emit-call.d.ts.map +1 -1
- package/dist/core/emit-call.js +1 -1
- package/dist/core/emit-call.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 +243 -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/dev.d.ts.map +1 -1
- package/dist/dev.js +1 -3
- package/dist/dev.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 +1 -1
- package/dist/runtime/bridge-codec.d.ts.map +1 -1
- package/dist/runtime/bridge-codec.js +78 -55
- 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/frame-codec.d.ts +111 -0
- package/dist/runtime/frame-codec.d.ts.map +1 -0
- package/dist/runtime/frame-codec.js +352 -0
- package/dist/runtime/frame-codec.js.map +1 -0
- 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 +2 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +2 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/node.d.ts +7 -23
- package/dist/runtime/node.d.ts.map +1 -1
- package/dist/runtime/node.js +5 -78
- 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 +37 -72
- package/dist/runtime/rpc-client.js.map +1 -1
- package/dist/runtime/subprocess-transport.d.ts +134 -8
- package/dist/runtime/subprocess-transport.d.ts.map +1 -1
- package/dist/runtime/subprocess-transport.js +490 -65
- 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 +90 -18
- package/dist/runtime/transport.d.ts.map +1 -1
- package/dist/runtime/transport.js +21 -1
- package/dist/runtime/transport.js.map +1 -1
- package/dist/runtime/validators.d.ts +49 -0
- package/dist/runtime/validators.d.ts.map +1 -1
- package/dist/runtime/validators.js +152 -0
- package/dist/runtime/validators.js.map +1 -1
- package/dist/types/index.d.ts +14 -15
- 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 -21
- 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 +1 -0
- package/dist/utils/codec.d.ts.map +1 -1
- package/dist/utils/codec.js +165 -17
- 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.js +1 -1
- package/package.json +7 -6
- package/runtime/frame_codec.py +430 -0
- package/runtime/python_bridge.py +213 -54
- package/runtime/tywrap_bridge_core.py +217 -147
- package/src/config/index.ts +11 -0
- package/src/core/annotation-parser.ts +9 -5
- package/src/core/emit-call.ts +1 -7
- package/src/core/generator.ts +315 -205
- package/src/core/mapper.ts +8 -8
- package/src/dev.ts +1 -3
- package/src/index.ts +7 -3
- package/src/runtime/base-bridge.ts +5 -30
- package/src/runtime/bounded-context.ts +12 -67
- package/src/runtime/bridge-codec.ts +94 -65
- package/src/runtime/errors.ts +21 -0
- package/src/runtime/frame-codec.ts +469 -0
- package/src/runtime/http-transport.ts +6 -1
- package/src/runtime/index.ts +7 -6
- package/src/runtime/node.ts +17 -104
- 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 +58 -93
- package/src/runtime/subprocess-transport.ts +585 -80
- package/src/runtime/timed-out-request-tracker.ts +1 -1
- package/src/runtime/transport.ts +112 -22
- package/src/runtime/validators.ts +204 -0
- package/src/types/index.ts +21 -35
- package/src/tywrap.ts +157 -30
- package/src/utils/cache.ts +3 -3
- package/src/utils/codec.ts +205 -16
- 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_member_fixtures.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
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The three bridge facades (NodeBridge/HttpBridge/PyodideBridge) all extend
|
|
5
5
|
* DisposableBase (lifecycle/resources) and implement PythonRuntime by HOLDING
|
|
6
|
-
* an RpcClient. The PythonRuntime delegation
|
|
6
|
+
* an RpcClient. The PythonRuntime delegation is byte-identical across all
|
|
7
7
|
* three: each method does `await this.ensureReady()` then forwards to the held
|
|
8
8
|
* RpcClient. This base collapses that duplication onto a single
|
|
9
9
|
* `getRpcClient()` accessor while leaving each facade free to own its own
|
|
10
|
-
* RpcClient field
|
|
11
|
-
* NodeBridge's case — a caching override of call()).
|
|
10
|
+
* RpcClient field for constructor wiring and resource tracking.
|
|
12
11
|
*
|
|
13
12
|
* It carries no transport/codec/lifecycle specifics: doInit/doDispose remain
|
|
14
13
|
* abstract on DisposableBase and stay per-facade.
|
|
@@ -26,21 +25,9 @@ export class BasePythonBridge extends DisposableBase {
|
|
|
26
25
|
// ===========================================================================
|
|
27
26
|
// RPC METHODS (delegate to the held RpcClient)
|
|
28
27
|
// ===========================================================================
|
|
29
|
-
async call(module, functionName, args, kwargs) {
|
|
28
|
+
async call(module, functionName, args, kwargs, validate) {
|
|
30
29
|
await this.ensureReady();
|
|
31
|
-
return this.getRpcClient().call(module, functionName, args, kwargs);
|
|
32
|
-
}
|
|
33
|
-
async instantiate(module, className, args, kwargs) {
|
|
34
|
-
await this.ensureReady();
|
|
35
|
-
return this.getRpcClient().instantiate(module, className, args, kwargs);
|
|
36
|
-
}
|
|
37
|
-
async callMethod(handle, methodName, args, kwargs) {
|
|
38
|
-
await this.ensureReady();
|
|
39
|
-
return this.getRpcClient().callMethod(handle, methodName, args, kwargs);
|
|
40
|
-
}
|
|
41
|
-
async disposeInstance(handle) {
|
|
42
|
-
await this.ensureReady();
|
|
43
|
-
return this.getRpcClient().disposeInstance(handle);
|
|
30
|
+
return this.getRpcClient().call(module, functionName, args, kwargs, validate);
|
|
44
31
|
}
|
|
45
32
|
/**
|
|
46
33
|
* Fetch bridge diagnostics and feature availability.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-bridge.js","sourceRoot":"","sources":["../../src/runtime/base-bridge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"base-bridge.js","sourceRoot":"","sources":["../../src/runtime/base-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;;;GAKG;AACH,MAAM,OAAgB,gBAAiB,SAAQ,cAAc;IAQ3D,8EAA8E;IAC9E,+CAA+C;IAC/C,8EAA8E;IAE9E,KAAK,CAAC,IAAI,CACR,MAAc,EACd,YAAoB,EACpB,IAAe,EACf,MAAgC,EAChC,QAA8B;QAE9B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAI,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAA8B;QAChD,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,WAAW;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -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
|
|
@@ -32,10 +32,6 @@ export type ContextState = 'idle' | 'initializing' | 'ready' | 'disposing' | 'di
|
|
|
32
32
|
export interface ExecuteOptions<T = unknown> {
|
|
33
33
|
/** Timeout in milliseconds. Default: 30000 (30s). Set to 0 to disable. */
|
|
34
34
|
timeoutMs?: number;
|
|
35
|
-
/** Number of retry attempts on retryable errors. Default: 0. */
|
|
36
|
-
retries?: number;
|
|
37
|
-
/** Base delay between retries in ms. Multiplied by attempt number. Default: 100. */
|
|
38
|
-
retryDelayMs?: number;
|
|
39
35
|
/** Optional validation function applied to the result. */
|
|
40
36
|
validate?: (result: T) => T;
|
|
41
37
|
/** Optional abort signal for external cancellation. */
|
|
@@ -172,12 +168,11 @@ export declare abstract class DisposableBase {
|
|
|
172
168
|
* This method:
|
|
173
169
|
* - Auto-initializes if not ready
|
|
174
170
|
* - Enforces timeout limits
|
|
175
|
-
* - Supports retry on retryable errors
|
|
176
171
|
* - Respects abort signals
|
|
177
172
|
* - Validates results if a validator is provided
|
|
178
173
|
*
|
|
179
174
|
* @param operation - The async operation to execute
|
|
180
|
-
* @param options - Execution options (timeout,
|
|
175
|
+
* @param options - Execution options (timeout, validation, and abort)
|
|
181
176
|
* @returns The operation result
|
|
182
177
|
* @throws BridgeTimeoutError if the operation times out
|
|
183
178
|
* @throws BridgeDisposedError if the context is disposed
|
|
@@ -194,20 +189,6 @@ export declare abstract class DisposableBase {
|
|
|
194
189
|
* @throws BridgeTimeoutError if the timeout expires
|
|
195
190
|
*/
|
|
196
191
|
private withTimeout;
|
|
197
|
-
/**
|
|
198
|
-
* Determine if an error is retryable.
|
|
199
|
-
* Override in subclasses to customize retry logic.
|
|
200
|
-
*
|
|
201
|
-
* @param error - The error to check
|
|
202
|
-
* @returns True if the operation should be retried
|
|
203
|
-
*/
|
|
204
|
-
protected isRetryable(error: BridgeError): boolean;
|
|
205
|
-
/**
|
|
206
|
-
* Delay for a specified duration.
|
|
207
|
-
*
|
|
208
|
-
* @param ms - Milliseconds to delay
|
|
209
|
-
*/
|
|
210
|
-
private delay;
|
|
211
192
|
/**
|
|
212
193
|
* Track a disposable resource for automatic cleanup.
|
|
213
194
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bounded-context.d.ts","sourceRoot":"","sources":["../../src/runtime/bounded-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAEL,WAAW,EAIZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAclD;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"bounded-context.d.ts","sourceRoot":"","sources":["../../src/runtime/bounded-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAEL,WAAW,EAIZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAclD;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5B,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAMD;;;;GAIG;AACH,8BAAsB,cAAc;IAKlC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IAEpD;;OAEG;IACH,IAAI,KAAK,IAAI,YAAY,CAExB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAMD;;;;;;;;;;;OAWG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC3B;;;;;;;;;;;OAWG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC9B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1C;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7C;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ/D;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAQhE;;;;;;;;OAQG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ9D;;;;;;;;OAQG;IACH,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAQtE;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAIvC;;;;;;OAMG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;IAQzC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW;IA+CpD;;;;;;;;;;;;;;;OAeG;cACa,OAAO,CAAC,CAAC,EACvB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,GAAE,cAAc,CAAC,CAAC,CAAM,GAC9B,OAAO,CAAC,CAAC,CAAC;IAuBb;;;;;;;;OAQG;YACW,WAAW;IA8DzB;;;;;;;;OAQG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAK7D;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO;IAIxD;;OAEG;IACH,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;CACF"}
|
|
@@ -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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-codec.d.ts","sourceRoot":"","sources":["../../src/runtime/bridge-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH;;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,
|
|
1
|
+
{"version":3,"file":"bridge-codec.d.ts","sourceRoot":"","sources":["../../src/runtime/bridge-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH;;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;AA+SD;;;;;;;;;;;;;;;;;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;IASrC;;;;;;;;;OASG;IACG,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAyBzD;;OAEG;IACH,OAAO,CAAC,QAAQ;CAajB"}
|
|
@@ -39,55 +39,82 @@ function buildPath(basePath, key) {
|
|
|
39
39
|
return typeof key === 'number' ? `${basePath}[${key}]` : `${basePath}.${key}`;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
42
|
+
* Validate request-only restrictions in one traversal.
|
|
43
|
+
*
|
|
44
|
+
* Request validation historically checked every finite number before checking
|
|
45
|
+
* structure. Keep that precedence while combining the walks: capture the first
|
|
46
|
+
* structural error (Map, Set, or symbol key) in traversal order, and prefer
|
|
47
|
+
* the special-float error after the traversal.
|
|
44
48
|
*/
|
|
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' });
|
|
49
|
+
function assertValidRequestValues(value, rejectSpecialFloats, rejectNonStringKeys, path = '') {
|
|
50
|
+
let specialFloatPath;
|
|
51
|
+
let structuralError;
|
|
52
|
+
const specialVisited = new WeakSet();
|
|
53
|
+
const structVisited = new WeakSet();
|
|
54
|
+
const visit = (current, currentPath, structuralScope) => {
|
|
55
|
+
if (typeof current === 'number' && !Number.isFinite(current)) {
|
|
56
|
+
if (rejectSpecialFloats) {
|
|
57
|
+
specialFloatPath ??= currentPath || 'root';
|
|
60
58
|
}
|
|
59
|
+
return;
|
|
61
60
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
assertStringKeys(val, buildPath(path, key), visited);
|
|
61
|
+
if (current === null || typeof current !== 'object') {
|
|
62
|
+
return;
|
|
65
63
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
64
|
+
if (current instanceof Map || current instanceof Set) {
|
|
65
|
+
// JSON.stringify serializes every Map and Set as {}, including Maps with
|
|
66
|
+
// string keys — reject unconditionally. Special-float validation
|
|
67
|
+
// historically does not inspect Map/Set contents, so no recursion.
|
|
68
|
+
if (structuralScope && !structVisited.has(current)) {
|
|
69
|
+
structVisited.add(current);
|
|
70
|
+
const location = currentPath ? ` at ${currentPath}` : '';
|
|
71
|
+
structuralError ??= new BridgeCodecError(current instanceof Map
|
|
72
|
+
? `Cannot encode request: Map found${location}; convert it to a plain object before sending`
|
|
73
|
+
: `Cannot encode request: Set found${location}; convert it to an array before sending`, { codecPhase: 'encode' });
|
|
74
|
+
}
|
|
75
|
+
return;
|
|
72
76
|
}
|
|
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
|
-
});
|
|
77
|
+
const needsSpecialWalk = rejectSpecialFloats && !specialVisited.has(current);
|
|
78
|
+
const needsStructWalk = structuralScope && !structVisited.has(current);
|
|
79
|
+
if (!needsSpecialWalk && !needsStructWalk) {
|
|
80
|
+
return;
|
|
86
81
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
82
|
+
if (needsSpecialWalk) {
|
|
83
|
+
specialVisited.add(current);
|
|
84
|
+
}
|
|
85
|
+
if (needsStructWalk) {
|
|
86
|
+
structVisited.add(current);
|
|
87
|
+
}
|
|
88
|
+
if (Array.isArray(current)) {
|
|
89
|
+
for (const [index, item] of current.entries()) {
|
|
90
|
+
visit(item, buildPath(currentPath, index), structuralScope);
|
|
91
|
+
}
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const plainObject = isPlainObject(current);
|
|
95
|
+
if (plainObject && needsStructWalk && rejectNonStringKeys) {
|
|
96
|
+
// Symbol keys are not enumerated by Object.keys, use getOwnPropertySymbols
|
|
97
|
+
const firstSymbol = Object.getOwnPropertySymbols(current)[0];
|
|
98
|
+
if (firstSymbol !== undefined) {
|
|
99
|
+
const location = currentPath ? ` at ${currentPath}` : '';
|
|
100
|
+
structuralError ??= new BridgeCodecError(`Symbol key found in object${location}: ${firstSymbol.toString()}`, { codecPhase: 'encode' });
|
|
101
|
+
}
|
|
90
102
|
}
|
|
103
|
+
// Special-float detection historically traversed every non-array object
|
|
104
|
+
// with enumerable values, including class instances. Structural validation
|
|
105
|
+
// remains restricted to arrays and plain objects, matching its prior scope.
|
|
106
|
+
if (needsSpecialWalk || plainObject) {
|
|
107
|
+
for (const [key, item] of Object.entries(current)) {
|
|
108
|
+
visit(item, buildPath(currentPath, key), structuralScope && plainObject);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
visit(value, path, true);
|
|
113
|
+
if (rejectSpecialFloats && specialFloatPath !== undefined) {
|
|
114
|
+
throw new BridgeCodecError(`Cannot encode request: contains non-finite number (NaN or Infinity) at ${specialFloatPath}`, { codecPhase: 'encode', valueType: 'number' });
|
|
115
|
+
}
|
|
116
|
+
if (structuralError !== undefined) {
|
|
117
|
+
throw structuralError;
|
|
91
118
|
}
|
|
92
119
|
}
|
|
93
120
|
/**
|
|
@@ -401,15 +428,9 @@ export class BridgeCodec {
|
|
|
401
428
|
* @throws BridgeCodecError if validation fails or encoding fails
|
|
402
429
|
*/
|
|
403
430
|
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
|
-
}
|
|
431
|
+
// Reject, in one traversal, values JSON.stringify would silently mangle:
|
|
432
|
+
// non-finite numbers, Map/Set, and (optionally) non-string keys.
|
|
433
|
+
assertValidRequestValues(message, this.rejectSpecialFloats, this.rejectNonStringKeys);
|
|
413
434
|
// Serialize to JSON with error handling
|
|
414
435
|
let payload;
|
|
415
436
|
try {
|
|
@@ -424,9 +445,6 @@ export class BridgeCodec {
|
|
|
424
445
|
const b64 = this.toBase64(bytes);
|
|
425
446
|
return { __tywrap_bytes__: true, b64 };
|
|
426
447
|
}
|
|
427
|
-
case 'passthrough':
|
|
428
|
-
default:
|
|
429
|
-
return value;
|
|
430
448
|
}
|
|
431
449
|
}
|
|
432
450
|
return value;
|
|
@@ -445,7 +463,9 @@ export class BridgeCodec {
|
|
|
445
463
|
});
|
|
446
464
|
}
|
|
447
465
|
// Check payload size
|
|
448
|
-
const payloadBytes =
|
|
466
|
+
const payloadBytes = typeof Buffer !== 'undefined'
|
|
467
|
+
? Buffer.byteLength(payload, 'utf8')
|
|
468
|
+
: new TextEncoder().encode(payload).length;
|
|
449
469
|
if (payloadBytes > this.maxPayloadBytes) {
|
|
450
470
|
throw new BridgeCodecError(`Payload size ${payloadBytes} bytes exceeds maximum ${this.maxPayloadBytes} bytes`, { codecPhase: 'encode', valueType: 'payload' });
|
|
451
471
|
}
|
|
@@ -494,6 +514,9 @@ export class BridgeCodec {
|
|
|
494
514
|
// Post-decode validation for special floats if enabled
|
|
495
515
|
// Note: Arrow decoders can introduce NaN/Infinity from binary representations.
|
|
496
516
|
this.assertNoSpecialFloats(decoded);
|
|
517
|
+
// Return-contract validation is intentionally downstream of this codec. At
|
|
518
|
+
// this boundary we guarantee only a sound wire envelope and decoded value;
|
|
519
|
+
// generated wrappers validate the Python annotation after Arrow/JSON decode.
|
|
497
520
|
return decoded;
|
|
498
521
|
}
|
|
499
522
|
/**
|
|
@@ -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":"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"}
|
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"}
|