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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/runtime/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/runtime/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOtD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,6EAA6E;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEzC,iDAAiD;IACjD,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,iEAAiE;IACjE,cAAc,CAAC,EAAE,KAAK,CACpB;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CACjG,CAAC;IAMF;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAqKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,UAAW,SAAQ,gBAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAEhC;;;;OAIG;gBACS,OAAO,GAAE,iBAAsB;IAqF3C;;;;;;OAMG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBvC;;;OAGG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1C;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,SAAS;IAQnC;;OAEG;IACH,YAAY,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAQnF;;;;;OAKG;IACH,QAAQ,IAAI;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB;CAmBF"}
|
package/dist/runtime/node.js
CHANGED
|
@@ -14,7 +14,6 @@ import { createRequire } from 'node:module';
|
|
|
14
14
|
import { autoRegisterArrowDecoder } from '../utils/codec.js';
|
|
15
15
|
import { getDefaultPythonPath } from '../utils/python.js';
|
|
16
16
|
import { getVenvBinDir, getVenvPythonExe } from '../utils/runtime.js';
|
|
17
|
-
import { globalCache } from '../utils/cache.js';
|
|
18
17
|
import { BasePythonBridge } from './base-bridge.js';
|
|
19
18
|
import { RpcClient } from './rpc-client.js';
|
|
20
19
|
import { BridgeCodecError, BridgeExecutionError, BridgeProtocolError } from './errors.js';
|
|
@@ -136,7 +135,6 @@ function normalizeWarmupCommands(commands) {
|
|
|
136
135
|
* - Virtual environment support
|
|
137
136
|
* - Full BridgeCodec validation (NaN/Infinity rejection, key validation)
|
|
138
137
|
* - Automatic Arrow decoding for DataFrames/ndarrays
|
|
139
|
-
* - Optional result caching for pure functions
|
|
140
138
|
* - Process warmup commands
|
|
141
139
|
*
|
|
142
140
|
* @example
|
|
@@ -157,7 +155,6 @@ function normalizeWarmupCommands(commands) {
|
|
|
157
155
|
* const pooledBridge = new NodeBridge({
|
|
158
156
|
* maxProcesses: 4,
|
|
159
157
|
* maxConcurrentPerProcess: 2,
|
|
160
|
-
* enableCache: true,
|
|
161
158
|
* });
|
|
162
159
|
* await pooledBridge.init();
|
|
163
160
|
* ```
|
|
@@ -183,7 +180,7 @@ export class NodeBridge extends BasePythonBridge {
|
|
|
183
180
|
const resolvedOptions = {
|
|
184
181
|
minProcesses,
|
|
185
182
|
maxProcesses,
|
|
186
|
-
maxConcurrentPerProcess: options.maxConcurrentPerProcess ??
|
|
183
|
+
maxConcurrentPerProcess: options.maxConcurrentPerProcess ?? 1,
|
|
187
184
|
pythonPath: options.pythonPath ?? venv?.pythonPath ?? getDefaultPythonPath(),
|
|
188
185
|
scriptPath: resolvedScriptPath,
|
|
189
186
|
virtualEnv,
|
|
@@ -191,7 +188,6 @@ export class NodeBridge extends BasePythonBridge {
|
|
|
191
188
|
timeoutMs: options.timeoutMs ?? 30000,
|
|
192
189
|
queueTimeoutMs: options.queueTimeoutMs ?? 30000,
|
|
193
190
|
inheritProcessEnv: options.inheritProcessEnv ?? false,
|
|
194
|
-
enableCache: options.enableCache ?? false,
|
|
195
191
|
env: options.env ?? {},
|
|
196
192
|
codec: options.codec,
|
|
197
193
|
warmupCommands,
|
|
@@ -214,6 +210,9 @@ export class NodeBridge extends BasePythonBridge {
|
|
|
214
210
|
bridgeScript: resolvedOptions.scriptPath,
|
|
215
211
|
env: processEnv,
|
|
216
212
|
cwd: resolvedOptions.cwd,
|
|
213
|
+
// Bound chunked-response reassembly to the codec's logical payload cap
|
|
214
|
+
// so a huge response fails loud early instead of buffering to OOM.
|
|
215
|
+
maxReassemblyBytes: resolvedOptions.codec?.maxPayloadBytes,
|
|
217
216
|
}),
|
|
218
217
|
maxWorkers: resolvedOptions.maxProcesses,
|
|
219
218
|
minWorkers: resolvedOptions.minProcesses,
|
|
@@ -272,46 +271,11 @@ export class NodeBridge extends BasePythonBridge {
|
|
|
272
271
|
// ===========================================================================
|
|
273
272
|
/**
|
|
274
273
|
* Expose the held RpcClient to BasePythonBridge's shared delegating methods
|
|
275
|
-
* (
|
|
276
|
-
* overridden below to layer caching on top.
|
|
274
|
+
* (call/getBridgeInfo).
|
|
277
275
|
*/
|
|
278
276
|
getRpcClient() {
|
|
279
277
|
return this.rpc;
|
|
280
278
|
}
|
|
281
|
-
/**
|
|
282
|
-
* Call a Python function, with optional result caching.
|
|
283
|
-
*
|
|
284
|
-
* Overrides BasePythonBridge.call() to layer the cache lookup/writeback on
|
|
285
|
-
* top of the shared delegation. Cache lookup stays FIRST so cache hits return
|
|
286
|
-
* without forcing init, preserving the pre-composition behavior.
|
|
287
|
-
*/
|
|
288
|
-
async call(module, functionName, args, kwargs) {
|
|
289
|
-
// Check cache if enabled
|
|
290
|
-
if (this.resolvedOptions.enableCache) {
|
|
291
|
-
const cacheKey = this.safeCacheKey('runtime_call', module, functionName, args, kwargs);
|
|
292
|
-
if (cacheKey) {
|
|
293
|
-
const cached = await globalCache.get(cacheKey);
|
|
294
|
-
if (cached !== null) {
|
|
295
|
-
return cached;
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
// Execute and cache if pure function
|
|
299
|
-
const startTime = performance.now();
|
|
300
|
-
await this.ensureReady();
|
|
301
|
-
const result = await this.rpc.call(module, functionName, args, kwargs);
|
|
302
|
-
const duration = performance.now() - startTime;
|
|
303
|
-
if (cacheKey && this.isPureFunctionCandidate(functionName, args)) {
|
|
304
|
-
await globalCache.set(cacheKey, result, {
|
|
305
|
-
computeTime: duration,
|
|
306
|
-
dependencies: [module],
|
|
307
|
-
});
|
|
308
|
-
}
|
|
309
|
-
return result;
|
|
310
|
-
}
|
|
311
|
-
// No caching - direct call
|
|
312
|
-
await this.ensureReady();
|
|
313
|
-
return this.rpc.call(module, functionName, args, kwargs);
|
|
314
|
-
}
|
|
315
279
|
// ===========================================================================
|
|
316
280
|
// POOL STATISTICS
|
|
317
281
|
// ===========================================================================
|
|
@@ -350,43 +314,6 @@ export class NodeBridge extends BasePythonBridge {
|
|
|
350
314
|
busyWorkers: poolStats.totalInFlight,
|
|
351
315
|
};
|
|
352
316
|
}
|
|
353
|
-
// ===========================================================================
|
|
354
|
-
// PRIVATE HELPERS
|
|
355
|
-
// ===========================================================================
|
|
356
|
-
/**
|
|
357
|
-
* Generate a cache key, returning null if generation fails.
|
|
358
|
-
*/
|
|
359
|
-
safeCacheKey(prefix, ...inputs) {
|
|
360
|
-
try {
|
|
361
|
-
return globalCache.generateKey(prefix, ...inputs);
|
|
362
|
-
}
|
|
363
|
-
catch {
|
|
364
|
-
return null;
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
/**
|
|
368
|
-
* Heuristic to determine if function result should be cached.
|
|
369
|
-
*/
|
|
370
|
-
isPureFunctionCandidate(functionName, args) {
|
|
371
|
-
const pureFunctionPatterns = [
|
|
372
|
-
/^(get|fetch|read|load|find|search|query|select)_/i,
|
|
373
|
-
/^(compute|calculate|process|transform|convert)_/i,
|
|
374
|
-
/^(encode|decode|serialize|deserialize)_/i,
|
|
375
|
-
];
|
|
376
|
-
const impureFunctionPatterns = [
|
|
377
|
-
/^(set|save|write|update|insert|delete|create|modify)_/i,
|
|
378
|
-
/^(send|post|put|patch)_/i,
|
|
379
|
-
/random|uuid|timestamp|now|current/i,
|
|
380
|
-
];
|
|
381
|
-
if (impureFunctionPatterns.some(pattern => pattern.test(functionName))) {
|
|
382
|
-
return false;
|
|
383
|
-
}
|
|
384
|
-
if (pureFunctionPatterns.some(pattern => pattern.test(functionName))) {
|
|
385
|
-
return true;
|
|
386
|
-
}
|
|
387
|
-
const hasComplexArgs = args.some(arg => arg !== null && typeof arg === 'object' && !(arg instanceof Date));
|
|
388
|
-
return !hasComplexArgs && args.length <= 3;
|
|
389
|
-
}
|
|
390
317
|
}
|
|
391
318
|
// =============================================================================
|
|
392
319
|
// WARMUP CALLBACK
|
package/dist/runtime/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/runtime/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/runtime/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA6GxD,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;GAEG;AACH,SAAS,wBAAwB;IAC/B,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,0BAA0B,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,UAAkB,EAClB,GAAW;IAEX,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,GAAuC;IACzD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,GAA2B,EAAE,KAAa;IAC9D,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;YACnD,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AAEvF,SAAS,sBAAsB;IAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAA2B,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,GAA2B,EAAE,GAAW,EAAE,KAAa;IAC1E,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;QAC9B,KAAK;QACL,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAA2B,EAAE,GAAW;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAW;IAC3C,IAAI,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,mBAAmB,CAAC,qCAAqC,GAAG,kBAAkB,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,QAA6C;IAC5E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,mBAAmB,CAAC,+CAA+C,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,mBAAmB,CAC3B,mCAAmC,KAAK,GAAG,CAAC,4CAA4C,CACzF,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,OAAkC,CAAC;QACrD,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YACnD,MAAM,IAAI,mBAAmB,CAC3B,mCAAmC,KAAK,GAAG,CAAC,iGAAiG,CAC9I,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,mBAAmB,CAC3B,mCAAmC,KAAK,GAAG,CAAC,uCAAuC,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,mBAAmB,CAC3B,mCAAmC,KAAK,GAAG,CAAC,6CAA6C,CAC1F,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,mBAAmB,CAC3B,mCAAmC,KAAK,GAAG,CAAC,yCAAyC,CACtF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,IAAI,EAAE,SAAS,CAAC,IAA6B;SAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,OAAO,UAAW,SAAQ,gBAAgB;IAC7B,eAAe,CAAkB;IACjC,eAAe,CAAkB;IACjC,GAAG,CAAY;IAEhC;;;;OAIG;IACH,YAAY,UAA6B,EAAE;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,wBAAwB,EAAE,CAAC;QACpE,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE1F,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAEvE,MAAM,cAAc,GAAG,uBAAuB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEvE,MAAM,eAAe,GAAoB;YACvC,YAAY;YACZ,YAAY;YACZ,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IAAI,CAAC;YAC7D,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,UAAU,IAAI,oBAAoB,EAAE;YAC5E,UAAU,EAAE,kBAAkB;YAC9B,UAAU;YACV,GAAG;YACH,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;YACrC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;YAC/C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,KAAK;YACrD,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,cAAc;SACf,CAAC;QACF,4CAA4C;QAC5C,MAAM,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;QAEpD,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,yBAAyB,CAC7C,SAAS,EACT,eAAe,CAAC,cAAc,EAC9B,eAAe,CAAC,SAAS,CAC1B,CAAC;QAEF,2DAA2D;QAC3D,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC;YACpC,eAAe,EAAE,GAAwB,EAAE,CACzC,IAAI,mBAAmB,CAAC;gBACtB,UAAU,EAAE,eAAe,CAAC,UAAU;gBACtC,YAAY,EAAE,eAAe,CAAC,UAAU;gBACxC,GAAG,EAAE,UAAU;gBACf,GAAG,EAAE,eAAe,CAAC,GAAG;gBACxB,uEAAuE;gBACvE,mEAAmE;gBACnE,kBAAkB,EAAE,eAAe,CAAC,KAAK,EAAE,eAAe;aAC3D,CAAC;YACJ,UAAU,EAAE,eAAe,CAAC,YAAY;YACxC,UAAU,EAAE,eAAe,CAAC,YAAY;YACxC,cAAc,EAAE,eAAe,CAAC,cAAc;YAC9C,sBAAsB,EAAE,eAAe,CAAC,uBAAuB;YAC/D,aAAa;YACb,wBAAwB,EAAE,aAAa;SACxC,CAAC,CAAC;QAEH,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC;YACvB,SAAS;YACT,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,gBAAgB,EAAE,eAAe,CAAC,SAAS;SAC5C,CAAC,CAAC;QACH,wEAAwE;QACxE,6EAA6E;QAC7E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE7B,sEAAsE;QACtE,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E;;;;;;OAMG;IACO,KAAK,CAAC,MAAM;QACpB,yBAAyB;QACzB,qGAAqG;QACrG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,mBAAmB,CAC3B,qCAAqC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CACvE,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,wBAAwB,CAAC;YAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;SACtC,CAAC,CAAC;QAEH,0EAA0E;QAC1E,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,SAAS;QACvB,0DAA0D;IAC5D,CAAC;IAED,8EAA8E;IAC9E,sCAAsC;IACtC,8EAA8E;IAE9E;;;OAGG;IACO,YAAY;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAE9E;;OAEG;IACH,YAAY;QACV,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW;YAC7C,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW;YAC7C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa;SAClD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QAcN,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,OAAO;YACL,6CAA6C;YAC7C,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,qBAAqB;YACrB,QAAQ,EAAE,SAAS,CAAC,WAAW;YAC/B,WAAW,EAAE,SAAS,CAAC,aAAa;SACrC,CAAC;IACJ,CAAC;CACF;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CAAC,KAAa,EAAE,KAAc;IACpD,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvE,IAAI,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO,IAAI,oBAAoB,CAAC,GAAG,KAAK,8BAA8B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QACzC,uEAAuE;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,oBAAoB,CAAC,GAAG,KAAK,uCAAuC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,IAAI,oBAAoB,CAAC,GAAG,KAAK,oBAAoB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;QAC1C,uEAAuE;QACvE,OAAO,IAAI,oBAAoB,CAAC,GAAG,KAAK,YAAY,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,oBAAoB,CAAC,GAAG,KAAK,oBAAoB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAChC,SAA8B,EAC9B,cAA+B,EAC/B,SAAiB;IAEjB,OAAO,KAAK,EAAE,MAAsB,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,oBAAoB,CAAC,oDAAoD,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExF,sEAAsE;QACtE,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CACd,MAAM,CAAC,SAAS,EAChB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAC9B,EAAE,SAAS,EAAE,cAAc,EAAE,CAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,eAAe,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QAED,iCAAiC;QACjC,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,mBAAmB,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,YAAY,GAAG,CAAC;YACjF,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,MAAM,CACd,MAAM,CAAC,SAAS,EAChB;oBACE,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE;wBACN,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;wBACpB,MAAM,EAAE,EAAE;qBACX;iBACF,EACD,EAAE,SAAS,EAAE,CACd,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;GAEG;AACH,SAAS,eAAe,CAAC,OAAwB;IAC/C,MAAM,eAAe,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,sBAAsB,EAAE,CAAC;IAErC,yCAAyC;IACzC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,IACE,KAAK,KAAK,SAAS;gBACnB,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EACpF,CAAC;gBACD,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,wBAAwB,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAChE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9C,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5F,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,iBAAiB,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QAC/C,GAAG,CAAC,UAAU,GAAG,iBAAiB;YAChC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,GAAG,iBAAiB,EAAE;YAClD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;IACrB,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAC/B,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAC3B,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC;IAElC,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,34 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* PooledTransport -
|
|
2
|
+
* PooledTransport - Manages multiple Transport instances for concurrent request handling.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* and releases the worker back to the pool.
|
|
4
|
+
* Provides semaphore-based concurrency control with configurable limits per worker
|
|
5
|
+
* and a wait queue for callers when all workers are at capacity.
|
|
7
6
|
*
|
|
8
7
|
* @see https://github.com/bbopen/tywrap/issues/149
|
|
9
8
|
*/
|
|
10
9
|
import { DisposableBase } from './bounded-context.js';
|
|
11
10
|
import type { Transport, TransportCapabilities } from './transport.js';
|
|
12
|
-
import { type TransportLease } from './transport-pool.js';
|
|
13
11
|
/**
|
|
14
|
-
*
|
|
12
|
+
* Configuration options for the PooledTransport.
|
|
15
13
|
*/
|
|
16
14
|
export interface PooledTransportOptions {
|
|
17
|
-
/**
|
|
18
|
-
* Factory function to create transports for each worker.
|
|
19
|
-
*
|
|
20
|
-
* Construction MUST be side-effect-free — spawn processes/open connections in
|
|
21
|
-
* `init()`/`send()`, never in the constructor. The pool may build a probe
|
|
22
|
-
* instance solely to read its {@link Transport.capabilities} descriptor.
|
|
23
|
-
*/
|
|
15
|
+
/** Factory function to create transports */
|
|
24
16
|
createTransport: () => Transport;
|
|
25
|
-
/** Maximum number of workers in the pool
|
|
17
|
+
/** Maximum number of workers in the pool */
|
|
26
18
|
maxWorkers?: number;
|
|
27
19
|
/** Minimum number of workers to pre-spawn during init. Default: 0 (lazy) */
|
|
28
20
|
minWorkers?: number;
|
|
29
21
|
/** Timeout for waiting in queue (ms). Default: 30000 */
|
|
30
22
|
queueTimeoutMs?: number;
|
|
31
|
-
/** Maximum concurrent requests per worker. Default:
|
|
23
|
+
/** Maximum concurrent requests per worker. Default: 1 */
|
|
32
24
|
maxConcurrentPerWorker?: number;
|
|
33
25
|
/**
|
|
34
26
|
* Callback invoked after each worker is created and initialized.
|
|
@@ -36,44 +28,55 @@ export interface PooledTransportOptions {
|
|
|
36
28
|
*/
|
|
37
29
|
onWorkerReady?: (worker: TransportLease) => Promise<void>;
|
|
38
30
|
/**
|
|
39
|
-
* Optional callback used only for background replacement workers
|
|
31
|
+
* Optional callback used only for background replacement workers after a
|
|
32
|
+
* fatal timeout/crash. This lets callers publish a replacement only after it
|
|
33
|
+
* is proven ready, without charging hidden work to normal request startup.
|
|
40
34
|
*/
|
|
41
35
|
onReplacementWorkerReady?: (worker: TransportLease) => Promise<void>;
|
|
42
36
|
}
|
|
43
37
|
/**
|
|
44
|
-
*
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
38
|
+
* A pooled worker with its transport and current in-flight request count.
|
|
39
|
+
*/
|
|
40
|
+
export interface TransportLease {
|
|
41
|
+
/** The underlying transport instance */
|
|
42
|
+
transport: Transport;
|
|
43
|
+
/** Number of requests currently being processed by this worker */
|
|
44
|
+
inFlightCount: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Pool of Transport workers with semaphore-based concurrency control.
|
|
48
48
|
*
|
|
49
49
|
* Features:
|
|
50
|
-
* - Lazy worker creation (
|
|
51
|
-
* - Configurable
|
|
52
|
-
* -
|
|
53
|
-
* -
|
|
50
|
+
* - Lazy worker creation (workers created on demand)
|
|
51
|
+
* - Configurable concurrency per worker
|
|
52
|
+
* - Wait queue with timeout for callers when pool is at capacity
|
|
53
|
+
* - Automatic cleanup of timers and workers on disposal
|
|
54
54
|
*
|
|
55
55
|
* @example
|
|
56
56
|
* ```typescript
|
|
57
|
-
* const
|
|
58
|
-
* createTransport: () => new SubprocessTransport({
|
|
59
|
-
* bridgeScript: '/path/to/bridge.py',
|
|
60
|
-
* }),
|
|
57
|
+
* const pool = new PooledTransport({
|
|
58
|
+
* createTransport: () => new SubprocessTransport({ pythonPath: 'python3' }),
|
|
61
59
|
* maxWorkers: 4,
|
|
62
60
|
* maxConcurrentPerWorker: 2,
|
|
61
|
+
* queueTimeoutMs: 5000,
|
|
63
62
|
* });
|
|
64
63
|
*
|
|
65
|
-
* await
|
|
64
|
+
* await pool.init();
|
|
66
65
|
*
|
|
67
|
-
* //
|
|
68
|
-
* const
|
|
66
|
+
* // Use withWorker for automatic acquire/release
|
|
67
|
+
* const result = await pool.withWorker(async (worker) => {
|
|
68
|
+
* return worker.transport.send(message, timeout);
|
|
69
|
+
* });
|
|
69
70
|
*
|
|
70
|
-
* await
|
|
71
|
+
* await pool.dispose();
|
|
71
72
|
* ```
|
|
72
73
|
*/
|
|
73
74
|
export declare class PooledTransport extends DisposableBase implements Transport {
|
|
74
|
-
private readonly
|
|
75
|
-
private
|
|
76
|
-
|
|
75
|
+
private readonly options;
|
|
76
|
+
private readonly workers;
|
|
77
|
+
private readonly waitQueue;
|
|
78
|
+
/** Tracks workers being created to prevent race condition in acquire() */
|
|
79
|
+
private pendingCreations;
|
|
77
80
|
private cachedCapabilities?;
|
|
78
81
|
/**
|
|
79
82
|
* Create a new PooledTransport.
|
|
@@ -81,47 +84,79 @@ export declare class PooledTransport extends DisposableBase implements Transport
|
|
|
81
84
|
* @param options - Pool configuration options
|
|
82
85
|
*/
|
|
83
86
|
constructor(options: PooledTransportOptions);
|
|
87
|
+
send(message: string, timeoutMs: number, signal?: AbortSignal, requestId?: number): Promise<string>;
|
|
88
|
+
capabilities(): TransportCapabilities;
|
|
84
89
|
/**
|
|
85
|
-
* Initialize the
|
|
90
|
+
* Initialize the pool.
|
|
86
91
|
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
92
|
+
* If minWorkers > 0, pre-spawns workers during initialization.
|
|
93
|
+
* Otherwise, workers are created lazily on demand.
|
|
89
94
|
*/
|
|
90
95
|
protected doInit(): Promise<void>;
|
|
91
96
|
/**
|
|
92
|
-
* Dispose the
|
|
97
|
+
* Dispose the pool and all workers.
|
|
93
98
|
*
|
|
94
|
-
*
|
|
99
|
+
* - Rejects all waiters in the queue
|
|
100
|
+
* - Disposes all transport instances
|
|
101
|
+
* - Clears internal state
|
|
95
102
|
*/
|
|
96
103
|
protected doDispose(): Promise<void>;
|
|
97
104
|
/**
|
|
98
|
-
*
|
|
105
|
+
* Acquire a worker from the pool.
|
|
99
106
|
*
|
|
100
107
|
* This method:
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
108
|
+
* - Returns an available worker if one exists (inFlightCount < maxConcurrentPerWorker)
|
|
109
|
+
* - Creates a new worker if under the maxWorkers limit
|
|
110
|
+
* - Waits in queue if all workers are at capacity
|
|
111
|
+
*
|
|
112
|
+
* @returns Promise resolving to a pooled worker
|
|
113
|
+
* @throws BridgeTimeoutError if queue timeout expires
|
|
114
|
+
* @throws BridgeExecutionError if pool is disposed while waiting
|
|
115
|
+
*/
|
|
116
|
+
acquire(): Promise<TransportLease>;
|
|
117
|
+
/**
|
|
118
|
+
* Release a worker back to the pool.
|
|
104
119
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* @param signal - Optional AbortSignal for cancellation
|
|
108
|
-
* @returns The raw JSON response string
|
|
120
|
+
* Decrements the worker's in-flight count and notifies any waiters
|
|
121
|
+
* that a worker may be available.
|
|
109
122
|
*
|
|
110
|
-
* @
|
|
111
|
-
* @throws BridgeTimeoutError if queue timeout or request timeout expires
|
|
123
|
+
* @param worker - The worker to release
|
|
112
124
|
*/
|
|
113
|
-
|
|
125
|
+
release(worker: TransportLease): void;
|
|
114
126
|
/**
|
|
115
|
-
*
|
|
127
|
+
* Execute a function with an acquired worker, automatically releasing afterward.
|
|
116
128
|
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
129
|
+
* This is the recommended way to use the pool, as it ensures proper cleanup
|
|
130
|
+
* even if the function throws an error.
|
|
131
|
+
*
|
|
132
|
+
* @param fn - Async function to execute with the worker
|
|
133
|
+
* @returns Promise resolving to the function's return value
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* const result = await pool.withWorker(async (worker) => {
|
|
138
|
+
* return worker.transport.send(message, timeout);
|
|
139
|
+
* });
|
|
140
|
+
* ```
|
|
123
141
|
*/
|
|
124
|
-
|
|
142
|
+
withWorker<T>(fn: (worker: TransportLease) => Promise<T>): Promise<T>;
|
|
143
|
+
/**
|
|
144
|
+
* Check if an error indicates the worker is dead and should be removed.
|
|
145
|
+
*
|
|
146
|
+
* Fatal errors include:
|
|
147
|
+
* - Process not running
|
|
148
|
+
* - Process exited unexpectedly
|
|
149
|
+
* - Pipe errors (EPIPE)
|
|
150
|
+
* - Connection reset errors (ECONNRESET)
|
|
151
|
+
*/
|
|
152
|
+
private isFatalWorkerError;
|
|
153
|
+
/**
|
|
154
|
+
* Remove a worker from the pool.
|
|
155
|
+
*
|
|
156
|
+
* This is called when a worker is detected as dead (crashed, pipe error, etc.).
|
|
157
|
+
* The worker's transport is disposed in the background.
|
|
158
|
+
*/
|
|
159
|
+
private removeWorker;
|
|
125
160
|
/**
|
|
126
161
|
* Current number of workers in the pool.
|
|
127
162
|
*/
|
|
@@ -134,5 +169,31 @@ export declare class PooledTransport extends DisposableBase implements Transport
|
|
|
134
169
|
* Total number of in-flight requests across all workers.
|
|
135
170
|
*/
|
|
136
171
|
get totalInFlight(): number;
|
|
172
|
+
/**
|
|
173
|
+
* Find an available worker with capacity for another request.
|
|
174
|
+
*/
|
|
175
|
+
private findAvailableWorker;
|
|
176
|
+
private getMinimumWorkerDeficit;
|
|
177
|
+
private isShuttingDown;
|
|
178
|
+
private fillToMinimumWorkers;
|
|
179
|
+
private spawnWorkers;
|
|
180
|
+
/**
|
|
181
|
+
* Replace a removed worker in the background so the next caller does not pay
|
|
182
|
+
* the full worker cold-start penalty after a timeout or crash.
|
|
183
|
+
*/
|
|
184
|
+
private scheduleReplacementWorker;
|
|
185
|
+
private spawnWorkerToPool;
|
|
186
|
+
private publishAvailableWorker;
|
|
187
|
+
/**
|
|
188
|
+
* Create a new worker and add it to the pool.
|
|
189
|
+
*
|
|
190
|
+
* If onWorkerReady is configured, calls it after the transport is initialized.
|
|
191
|
+
* This is useful for per-worker warmup (importing modules, running setup).
|
|
192
|
+
*/
|
|
193
|
+
private createWorker;
|
|
194
|
+
/**
|
|
195
|
+
* Wait in queue for a worker to become available.
|
|
196
|
+
*/
|
|
197
|
+
private waitForWorker;
|
|
137
198
|
}
|
|
138
199
|
//# sourceMappingURL=pooled-transport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pooled-transport.d.ts","sourceRoot":"","sources":["../../src/runtime/pooled-transport.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pooled-transport.d.ts","sourceRoot":"","sources":["../../src/runtime/pooled-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOtD,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAMvE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,eAAe,EAAE,MAAM,SAAS,CAAC;IAEjC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,SAAS,EAAE,SAAS,CAAC;IAErB,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;CACvB;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,eAAgB,SAAQ,cAAe,YAAW,SAAS;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAMtB;IACF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,0EAA0E;IAC1E,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,kBAAkB,CAAC,CAAwB;IAEnD;;;;OAIG;gBACS,OAAO,EAAE,sBAAsB;IA4BrC,IAAI,CACR,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC;IAUlB,YAAY,IAAI,qBAAqB;IASrC;;;;;OAKG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvC;;;;;;OAMG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC1C;;;;;;;;;;;OAWG;IACG,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAqCxC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAWrC;;;;;;;;;;;;;;;OAeG;IACG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAyB3E;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAkBpB;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAMD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,cAAc;YAIR,oBAAoB;YAIpB,YAAY;IAY1B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;YAmBnB,iBAAiB;IAc/B,OAAO,CAAC,sBAAsB;IAe9B;;;;;OAKG;YACW,YAAY;IAoC1B;;OAEG;IACH,OAAO,CAAC,aAAa;CAuBtB"}
|