tywrap 0.6.0 → 0.7.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/dist/core/annotation-parser.d.ts.map +1 -1
- package/dist/core/annotation-parser.js +19 -14
- package/dist/core/annotation-parser.js.map +1 -1
- package/dist/core/discovery.d.ts +17 -0
- package/dist/core/discovery.d.ts.map +1 -1
- package/dist/core/discovery.js +59 -49
- package/dist/core/discovery.js.map +1 -1
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +40 -9
- package/dist/core/generator.js.map +1 -1
- package/dist/core/validation.d.ts +23 -0
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +52 -48
- package/dist/core/validation.js.map +1 -1
- package/dist/dev.d.ts.map +1 -1
- package/dist/dev.js +175 -133
- package/dist/dev.js.map +1 -1
- package/dist/runtime/base-bridge.d.ts +57 -0
- package/dist/runtime/base-bridge.d.ts.map +1 -0
- package/dist/runtime/base-bridge.js +72 -0
- package/dist/runtime/base-bridge.js.map +1 -0
- package/dist/runtime/bridge-codec.d.ts +15 -0
- package/dist/runtime/bridge-codec.d.ts.map +1 -1
- package/dist/runtime/bridge-codec.js +45 -48
- package/dist/runtime/bridge-codec.js.map +1 -1
- package/dist/runtime/http-transport.d.ts +11 -1
- package/dist/runtime/http-transport.d.ts.map +1 -1
- package/dist/runtime/http-transport.js +19 -0
- package/dist/runtime/http-transport.js.map +1 -1
- package/dist/runtime/http.d.ts +5 -12
- package/dist/runtime/http.d.ts.map +1 -1
- package/dist/runtime/http.js +6 -29
- package/dist/runtime/http.js.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/node.d.ts +12 -19
- package/dist/runtime/node.d.ts.map +1 -1
- package/dist/runtime/node.js +14 -34
- package/dist/runtime/node.js.map +1 -1
- package/dist/runtime/pooled-transport.d.ts +21 -2
- package/dist/runtime/pooled-transport.d.ts.map +1 -1
- package/dist/runtime/pooled-transport.js +16 -0
- 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 +12 -1
- package/dist/runtime/pyodide-transport.d.ts.map +1 -1
- package/dist/runtime/pyodide-transport.js +20 -0
- package/dist/runtime/pyodide-transport.js.map +1 -1
- package/dist/runtime/pyodide.d.ts +5 -12
- package/dist/runtime/pyodide.d.ts.map +1 -1
- package/dist/runtime/pyodide.js +6 -29
- package/dist/runtime/pyodide.js.map +1 -1
- package/dist/runtime/rpc-client.d.ts +32 -1
- package/dist/runtime/rpc-client.d.ts.map +1 -1
- package/dist/runtime/rpc-client.js +45 -24
- package/dist/runtime/rpc-client.js.map +1 -1
- package/dist/runtime/subprocess-transport.d.ts +26 -1
- package/dist/runtime/subprocess-transport.d.ts.map +1 -1
- package/dist/runtime/subprocess-transport.js +72 -35
- package/dist/runtime/subprocess-transport.js.map +1 -1
- package/dist/runtime/transport.d.ts +59 -0
- package/dist/runtime/transport.d.ts.map +1 -1
- package/dist/runtime/transport.js +1 -0
- package/dist/runtime/transport.js.map +1 -1
- package/dist/types/index.d.ts +35 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/tywrap.d.ts +0 -5
- package/dist/tywrap.d.ts.map +1 -1
- package/dist/tywrap.js +212 -169
- package/dist/tywrap.js.map +1 -1
- package/dist/utils/cache.d.ts +11 -0
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/cache.js +50 -58
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/codec.d.ts +2 -0
- package/dist/utils/codec.d.ts.map +1 -1
- package/dist/utils/codec.js +53 -2
- package/dist/utils/codec.js.map +1 -1
- package/dist/utils/python.d.ts.map +1 -1
- package/dist/utils/python.js +28 -17
- package/dist/utils/python.js.map +1 -1
- package/dist/utils/runtime.d.ts.map +1 -1
- package/dist/utils/runtime.js +22 -16
- package/dist/utils/runtime.js.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +7 -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/tywrap_bridge_core.py +55 -3
- package/src/core/annotation-parser.ts +23 -18
- package/src/core/discovery.ts +70 -54
- package/src/core/generator.ts +50 -11
- package/src/core/validation.ts +84 -48
- package/src/dev.ts +237 -153
- package/src/runtime/base-bridge.ts +106 -0
- package/src/runtime/bridge-codec.ts +58 -70
- package/src/runtime/http-transport.ts +21 -1
- package/src/runtime/http.ts +7 -51
- package/src/runtime/index.ts +1 -0
- package/src/runtime/node.ts +17 -52
- package/src/runtime/pooled-transport.ts +25 -2
- package/src/runtime/pyodide-bootstrap-core.generated.ts +1 -1
- package/src/runtime/pyodide-transport.ts +22 -0
- package/src/runtime/pyodide.ts +7 -52
- package/src/runtime/rpc-client.ts +56 -32
- package/src/runtime/subprocess-transport.ts +89 -40
- package/src/runtime/transport.ts +71 -0
- package/src/types/index.ts +37 -0
- package/src/tywrap.ts +274 -187
- package/src/utils/cache.ts +59 -61
- package/src/utils/codec.ts +61 -4
- package/src/utils/python.ts +33 -20
- package/src/utils/runtime.ts +24 -13
- package/src/version.ts +1 -1
package/dist/dev.js
CHANGED
|
@@ -204,38 +204,40 @@ async function listExistingManagedFiles(outputDir) {
|
|
|
204
204
|
}
|
|
205
205
|
return managedFiles;
|
|
206
206
|
}
|
|
207
|
+
async function listChildDirectories(current) {
|
|
208
|
+
let entries;
|
|
209
|
+
try {
|
|
210
|
+
entries = await readdir(current, { withFileTypes: true });
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
return [];
|
|
214
|
+
}
|
|
215
|
+
return entries
|
|
216
|
+
.filter(entry => entry.isDirectory())
|
|
217
|
+
.map(entry => join(current, entry.name));
|
|
218
|
+
}
|
|
219
|
+
async function isWatchableDirectory(current, ignoredPaths) {
|
|
220
|
+
if (shouldIgnoreWatchPath(current, ignoredPaths)) {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
try {
|
|
224
|
+
const currentStats = await stat(current);
|
|
225
|
+
return currentStats.isDirectory();
|
|
226
|
+
}
|
|
227
|
+
catch {
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
207
231
|
async function collectWatchDirectories(root, ignoredPaths) {
|
|
208
232
|
const queue = [resolve(root)];
|
|
209
233
|
const directories = [];
|
|
210
234
|
while (queue.length > 0) {
|
|
211
235
|
const current = queue.shift();
|
|
212
|
-
if (
|
|
213
|
-
continue;
|
|
214
|
-
}
|
|
215
|
-
let currentStats;
|
|
216
|
-
try {
|
|
217
|
-
currentStats = await stat(current);
|
|
218
|
-
}
|
|
219
|
-
catch {
|
|
220
|
-
continue;
|
|
221
|
-
}
|
|
222
|
-
if (!currentStats.isDirectory()) {
|
|
236
|
+
if (!(await isWatchableDirectory(current, ignoredPaths))) {
|
|
223
237
|
continue;
|
|
224
238
|
}
|
|
225
239
|
directories.push(current);
|
|
226
|
-
|
|
227
|
-
try {
|
|
228
|
-
entries = await readdir(current, { withFileTypes: true });
|
|
229
|
-
}
|
|
230
|
-
catch {
|
|
231
|
-
continue;
|
|
232
|
-
}
|
|
233
|
-
for (const entry of entries) {
|
|
234
|
-
if (!entry.isDirectory()) {
|
|
235
|
-
continue;
|
|
236
|
-
}
|
|
237
|
-
queue.push(join(current, entry.name));
|
|
238
|
-
}
|
|
240
|
+
queue.push(...(await listChildDirectories(current)));
|
|
239
241
|
}
|
|
240
242
|
return normalizePaths(directories);
|
|
241
243
|
}
|
|
@@ -295,7 +297,37 @@ async function promoteManagedFiles(outputDir, nextFiles, previousManagedFiles) {
|
|
|
295
297
|
throw error;
|
|
296
298
|
}
|
|
297
299
|
}
|
|
298
|
-
|
|
300
|
+
const WATCH_TARGET_RESOLUTION_SCRIPT = [
|
|
301
|
+
'import importlib',
|
|
302
|
+
'import importlib.util',
|
|
303
|
+
'import json',
|
|
304
|
+
'import sys',
|
|
305
|
+
'',
|
|
306
|
+
'module_name = sys.argv[1]',
|
|
307
|
+
'spec = importlib.util.find_spec(module_name)',
|
|
308
|
+
'if spec is None:',
|
|
309
|
+
" print(json.dumps({'missing': True}))",
|
|
310
|
+
' raise SystemExit(0)',
|
|
311
|
+
'',
|
|
312
|
+
'module_path = None',
|
|
313
|
+
'module_origin = spec.origin',
|
|
314
|
+
'if spec.submodule_search_locations:',
|
|
315
|
+
' try:',
|
|
316
|
+
' module = importlib.import_module(module_name)',
|
|
317
|
+
' except Exception:',
|
|
318
|
+
' module = None',
|
|
319
|
+
' if module is not None:',
|
|
320
|
+
' module_path = getattr(module, "__path__", None)',
|
|
321
|
+
' module_origin = getattr(module, "__file__", None) or spec.origin',
|
|
322
|
+
'payload = {',
|
|
323
|
+
" 'missing': False,",
|
|
324
|
+
" 'origin': module_origin,",
|
|
325
|
+
" 'locations': list(module_path) if module_path is not None else list(spec.submodule_search_locations or []),",
|
|
326
|
+
" 'has_location': bool(spec.has_location),",
|
|
327
|
+
'}',
|
|
328
|
+
'print(json.dumps(payload))',
|
|
329
|
+
].join('\n');
|
|
330
|
+
async function resolveWatchPythonEnv(config) {
|
|
299
331
|
const pythonPath = await resolvePythonExecutable({
|
|
300
332
|
pythonPath: config.runtime?.node?.pythonPath,
|
|
301
333
|
virtualEnv: config.runtime?.node?.virtualEnv,
|
|
@@ -309,76 +341,62 @@ async function resolveWatchTargets(config) {
|
|
|
309
341
|
.join(delimiter);
|
|
310
342
|
const env = mergedPyPath ? { PYTHONPATH: mergedPyPath } : undefined;
|
|
311
343
|
const timeoutMs = config.runtime?.node?.timeout ?? 30000;
|
|
344
|
+
return { pythonPath, env, timeoutMs };
|
|
345
|
+
}
|
|
346
|
+
async function resolveWatchTargetPayload(moduleName, pythonEnv) {
|
|
347
|
+
const result = await processUtils.exec(pythonEnv.pythonPath, ['-c', WATCH_TARGET_RESOLUTION_SCRIPT, moduleName], {
|
|
348
|
+
timeoutMs: pythonEnv.timeoutMs,
|
|
349
|
+
env: pythonEnv.env,
|
|
350
|
+
});
|
|
351
|
+
if (result.code !== 0) {
|
|
352
|
+
throw new Error(`Failed to resolve watch target for module "${moduleName}": ${result.stderr.trim() || result.stdout.trim() || 'unknown error'}`);
|
|
353
|
+
}
|
|
354
|
+
try {
|
|
355
|
+
return JSON.parse(result.stdout);
|
|
356
|
+
}
|
|
357
|
+
catch (error) {
|
|
358
|
+
throw new Error(`Failed to parse watch target for module "${moduleName}": ${error.message}`);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
async function resolvePackageWatchTargets(moduleName, packageLocations) {
|
|
362
|
+
const targets = [];
|
|
363
|
+
for (const location of packageLocations) {
|
|
364
|
+
const packageDir = resolve(location);
|
|
365
|
+
const stats = await stat(packageDir);
|
|
366
|
+
if (!stats.isDirectory()) {
|
|
367
|
+
throw new Error(`Module "${moduleName}" resolved to "${packageDir}", but it is not a package directory`);
|
|
368
|
+
}
|
|
369
|
+
targets.push({ moduleName, path: packageDir, kind: 'directory' });
|
|
370
|
+
}
|
|
371
|
+
return targets;
|
|
372
|
+
}
|
|
373
|
+
async function resolveFileWatchTarget(moduleName, payload) {
|
|
374
|
+
if (typeof payload.origin !== 'string' || !payload.origin.endsWith('.py')) {
|
|
375
|
+
throw new Error(`Module "${moduleName}" is not backed by a local Python source file or package directory and cannot be watched`);
|
|
376
|
+
}
|
|
377
|
+
const modulePath = resolve(payload.origin);
|
|
378
|
+
const stats = await stat(modulePath);
|
|
379
|
+
if (!stats.isFile()) {
|
|
380
|
+
throw new Error(`Module "${moduleName}" resolved to "${modulePath}", but it is not a Python source file`);
|
|
381
|
+
}
|
|
382
|
+
return { moduleName, path: modulePath, kind: 'file' };
|
|
383
|
+
}
|
|
384
|
+
async function resolveModuleWatchTargets(moduleName, pythonEnv) {
|
|
385
|
+
const payload = await resolveWatchTargetPayload(moduleName, pythonEnv);
|
|
386
|
+
if (payload.missing) {
|
|
387
|
+
throw new Error(`Module "${moduleName}" could not be resolved for watching`);
|
|
388
|
+
}
|
|
389
|
+
const packageLocations = Array.isArray(payload.locations) ? payload.locations : [];
|
|
390
|
+
if (packageLocations.length > 0) {
|
|
391
|
+
return resolvePackageWatchTargets(moduleName, packageLocations);
|
|
392
|
+
}
|
|
393
|
+
return [await resolveFileWatchTarget(moduleName, payload)];
|
|
394
|
+
}
|
|
395
|
+
async function resolveWatchTargets(config) {
|
|
396
|
+
const pythonEnv = await resolveWatchPythonEnv(config);
|
|
312
397
|
const watchTargets = [];
|
|
313
398
|
for (const moduleName of Object.keys(config.pythonModules ?? {})) {
|
|
314
|
-
|
|
315
|
-
'import importlib',
|
|
316
|
-
'import importlib.util',
|
|
317
|
-
'import json',
|
|
318
|
-
'import sys',
|
|
319
|
-
'',
|
|
320
|
-
'module_name = sys.argv[1]',
|
|
321
|
-
'spec = importlib.util.find_spec(module_name)',
|
|
322
|
-
'if spec is None:',
|
|
323
|
-
" print(json.dumps({'missing': True}))",
|
|
324
|
-
' raise SystemExit(0)',
|
|
325
|
-
'',
|
|
326
|
-
'module_path = None',
|
|
327
|
-
'module_origin = spec.origin',
|
|
328
|
-
'if spec.submodule_search_locations:',
|
|
329
|
-
' try:',
|
|
330
|
-
' module = importlib.import_module(module_name)',
|
|
331
|
-
' except Exception:',
|
|
332
|
-
' module = None',
|
|
333
|
-
' if module is not None:',
|
|
334
|
-
' module_path = getattr(module, "__path__", None)',
|
|
335
|
-
' module_origin = getattr(module, "__file__", None) or spec.origin',
|
|
336
|
-
'payload = {',
|
|
337
|
-
" 'missing': False,",
|
|
338
|
-
" 'origin': module_origin,",
|
|
339
|
-
" 'locations': list(module_path) if module_path is not None else list(spec.submodule_search_locations or []),",
|
|
340
|
-
" 'has_location': bool(spec.has_location),",
|
|
341
|
-
'}',
|
|
342
|
-
'print(json.dumps(payload))',
|
|
343
|
-
].join('\n');
|
|
344
|
-
const result = await processUtils.exec(pythonPath, ['-c', resolutionScript, moduleName], {
|
|
345
|
-
timeoutMs,
|
|
346
|
-
env,
|
|
347
|
-
});
|
|
348
|
-
if (result.code !== 0) {
|
|
349
|
-
throw new Error(`Failed to resolve watch target for module "${moduleName}": ${result.stderr.trim() || result.stdout.trim() || 'unknown error'}`);
|
|
350
|
-
}
|
|
351
|
-
let payload;
|
|
352
|
-
try {
|
|
353
|
-
payload = JSON.parse(result.stdout);
|
|
354
|
-
}
|
|
355
|
-
catch (error) {
|
|
356
|
-
throw new Error(`Failed to parse watch target for module "${moduleName}": ${error.message}`);
|
|
357
|
-
}
|
|
358
|
-
if (payload.missing) {
|
|
359
|
-
throw new Error(`Module "${moduleName}" could not be resolved for watching`);
|
|
360
|
-
}
|
|
361
|
-
const packageLocations = Array.isArray(payload.locations) ? payload.locations : [];
|
|
362
|
-
if (packageLocations.length > 0) {
|
|
363
|
-
for (const location of packageLocations) {
|
|
364
|
-
const packageDir = resolve(location);
|
|
365
|
-
const stats = await stat(packageDir);
|
|
366
|
-
if (!stats.isDirectory()) {
|
|
367
|
-
throw new Error(`Module "${moduleName}" resolved to "${packageDir}", but it is not a package directory`);
|
|
368
|
-
}
|
|
369
|
-
watchTargets.push({ moduleName, path: packageDir, kind: 'directory' });
|
|
370
|
-
}
|
|
371
|
-
continue;
|
|
372
|
-
}
|
|
373
|
-
if (typeof payload.origin !== 'string' || !payload.origin.endsWith('.py')) {
|
|
374
|
-
throw new Error(`Module "${moduleName}" is not backed by a local Python source file or package directory and cannot be watched`);
|
|
375
|
-
}
|
|
376
|
-
const modulePath = resolve(payload.origin);
|
|
377
|
-
const stats = await stat(modulePath);
|
|
378
|
-
if (!stats.isFile()) {
|
|
379
|
-
throw new Error(`Module "${moduleName}" resolved to "${modulePath}", but it is not a Python source file`);
|
|
380
|
-
}
|
|
381
|
-
watchTargets.push({ moduleName, path: modulePath, kind: 'file' });
|
|
399
|
+
watchTargets.push(...(await resolveModuleWatchTargets(moduleName, pythonEnv)));
|
|
382
400
|
}
|
|
383
401
|
return watchTargets;
|
|
384
402
|
}
|
|
@@ -567,32 +585,41 @@ export async function startNodeWatchSession(options) {
|
|
|
567
585
|
watcherRefreshPromise = watcherRefreshPromise.then(() => refreshActiveWatchers(), () => refreshActiveWatchers());
|
|
568
586
|
return watcherRefreshPromise;
|
|
569
587
|
};
|
|
588
|
+
const disposeReloadFailure = async (state) => {
|
|
589
|
+
if (state.preparedWatchers) {
|
|
590
|
+
closePreparedWatchers(state.preparedWatchers);
|
|
591
|
+
}
|
|
592
|
+
if (state.nextBridge) {
|
|
593
|
+
await state.nextBridge.dispose().catch(() => { });
|
|
594
|
+
}
|
|
595
|
+
};
|
|
570
596
|
const runReload = async (trigger) => {
|
|
571
597
|
if (closed) {
|
|
572
598
|
return false;
|
|
573
599
|
}
|
|
574
600
|
emit({ type: 'reload-start', path: trigger.path, manual: trigger.manual });
|
|
575
|
-
|
|
576
|
-
let nextBridge = null;
|
|
577
|
-
let preparedWatchers = null;
|
|
601
|
+
const state = { stage: null, nextBridge: null, preparedWatchers: null };
|
|
578
602
|
const abortReload = async (managerToDispose = null) => {
|
|
579
|
-
if (preparedWatchers) {
|
|
580
|
-
closePreparedWatchers(preparedWatchers);
|
|
581
|
-
preparedWatchers = null;
|
|
603
|
+
if (state.preparedWatchers) {
|
|
604
|
+
closePreparedWatchers(state.preparedWatchers);
|
|
605
|
+
state.preparedWatchers = null;
|
|
582
606
|
}
|
|
583
|
-
if (nextBridge) {
|
|
584
|
-
await nextBridge.dispose().catch(() => { });
|
|
585
|
-
nextBridge = null;
|
|
607
|
+
if (state.nextBridge) {
|
|
608
|
+
await state.nextBridge.dispose().catch(() => { });
|
|
609
|
+
state.nextBridge = null;
|
|
586
610
|
}
|
|
587
611
|
if (managerToDispose) {
|
|
588
612
|
await managerToDispose.dispose().catch(() => { });
|
|
589
613
|
}
|
|
590
614
|
return false;
|
|
591
615
|
};
|
|
592
|
-
|
|
593
|
-
|
|
616
|
+
// Generate the next stage, prepare watchers, and warm the next bridge.
|
|
617
|
+
// Returns null when the session closed mid-flight (caller aborts).
|
|
618
|
+
const prepareReload = async () => {
|
|
619
|
+
const stage = await generateToStage(configFile);
|
|
620
|
+
state.stage = stage;
|
|
594
621
|
if (closed) {
|
|
595
|
-
return
|
|
622
|
+
return null;
|
|
596
623
|
}
|
|
597
624
|
currentBridgeConfig = stage.config;
|
|
598
625
|
const nextIgnoredPaths = buildIgnoredPaths(stage.outputDir);
|
|
@@ -603,16 +630,46 @@ export async function startNodeWatchSession(options) {
|
|
|
603
630
|
...extraWatchSources,
|
|
604
631
|
]);
|
|
605
632
|
const watchPaths = normalizePaths(watchSources.map(source => source.path));
|
|
606
|
-
preparedWatchers = await prepareWatchers(watchSources, nextIgnoredPaths);
|
|
633
|
+
const preparedWatchers = await prepareWatchers(watchSources, nextIgnoredPaths);
|
|
634
|
+
state.preparedWatchers = preparedWatchers;
|
|
607
635
|
if (closed) {
|
|
608
|
-
return
|
|
636
|
+
return null;
|
|
609
637
|
}
|
|
610
638
|
if (bridgeManager) {
|
|
611
|
-
nextBridge = await bridgeManager.prepareNextBridge();
|
|
639
|
+
state.nextBridge = await bridgeManager.prepareNextBridge();
|
|
612
640
|
if (closed) {
|
|
613
|
-
return
|
|
641
|
+
return null;
|
|
614
642
|
}
|
|
615
643
|
}
|
|
644
|
+
return { stage, preparedWatchers, nextIgnoredPaths, watchPaths };
|
|
645
|
+
};
|
|
646
|
+
// Activate (or create) the bridge for the freshly prepared stage.
|
|
647
|
+
// Returns the manager to dispose (or null) when the session closed
|
|
648
|
+
// mid-flight, otherwise null; sets `closedDuringActivation` accordingly.
|
|
649
|
+
let closedDuringActivation = false;
|
|
650
|
+
const activateReloadBridge = async () => {
|
|
651
|
+
if (bridgeManager && state.nextBridge) {
|
|
652
|
+
await bridgeManager.activatePreparedBridge(state.nextBridge);
|
|
653
|
+
state.nextBridge = null;
|
|
654
|
+
closedDuringActivation = closed;
|
|
655
|
+
return null;
|
|
656
|
+
}
|
|
657
|
+
if (!bridgeManager) {
|
|
658
|
+
const createdBridgeManager = await ManagedBridgeReloader.create(createBridgeForSession);
|
|
659
|
+
if (closed) {
|
|
660
|
+
closedDuringActivation = true;
|
|
661
|
+
return createdBridgeManager;
|
|
662
|
+
}
|
|
663
|
+
bridgeManager = createdBridgeManager;
|
|
664
|
+
}
|
|
665
|
+
return null;
|
|
666
|
+
};
|
|
667
|
+
try {
|
|
668
|
+
const prepared = await prepareReload();
|
|
669
|
+
if (!prepared) {
|
|
670
|
+
return abortReload();
|
|
671
|
+
}
|
|
672
|
+
const { stage } = prepared;
|
|
616
673
|
const previousManagedFiles = activeOutputDir === stage.outputDir
|
|
617
674
|
? managedFiles
|
|
618
675
|
: await listExistingManagedFiles(stage.outputDir);
|
|
@@ -620,29 +677,19 @@ export async function startNodeWatchSession(options) {
|
|
|
620
677
|
if (closed) {
|
|
621
678
|
return abortReload();
|
|
622
679
|
}
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
if (closed) {
|
|
627
|
-
return abortReload();
|
|
628
|
-
}
|
|
629
|
-
}
|
|
630
|
-
else if (!bridgeManager) {
|
|
631
|
-
const createdBridgeManager = await ManagedBridgeReloader.create(createBridgeForSession);
|
|
632
|
-
if (closed) {
|
|
633
|
-
return abortReload(createdBridgeManager);
|
|
634
|
-
}
|
|
635
|
-
bridgeManager = createdBridgeManager;
|
|
680
|
+
const managerToDispose = await activateReloadBridge();
|
|
681
|
+
if (closedDuringActivation) {
|
|
682
|
+
return abortReload(managerToDispose);
|
|
636
683
|
}
|
|
637
684
|
managedFiles = promotedManagedFiles;
|
|
638
685
|
activeOutputDir = stage.outputDir;
|
|
639
|
-
ignoredPaths = nextIgnoredPaths;
|
|
640
|
-
commitWatchers(preparedWatchers);
|
|
686
|
+
ignoredPaths = prepared.nextIgnoredPaths;
|
|
687
|
+
commitWatchers(prepared.preparedWatchers);
|
|
641
688
|
emit({
|
|
642
689
|
type: 'reload-success',
|
|
643
690
|
path: trigger.path,
|
|
644
691
|
manual: trigger.manual,
|
|
645
|
-
paths: watchPaths,
|
|
692
|
+
paths: prepared.watchPaths,
|
|
646
693
|
written: [...stage.files.keys()].sort(),
|
|
647
694
|
warnings: stage.warnings,
|
|
648
695
|
});
|
|
@@ -651,12 +698,7 @@ export async function startNodeWatchSession(options) {
|
|
|
651
698
|
}
|
|
652
699
|
catch (error) {
|
|
653
700
|
lastReloadError = error instanceof Error ? error : new Error(String(error));
|
|
654
|
-
|
|
655
|
-
closePreparedWatchers(preparedWatchers);
|
|
656
|
-
}
|
|
657
|
-
if (nextBridge) {
|
|
658
|
-
await nextBridge.dispose().catch(() => { });
|
|
659
|
-
}
|
|
701
|
+
await disposeReloadFailure(state);
|
|
660
702
|
emit({
|
|
661
703
|
type: 'reload-error',
|
|
662
704
|
path: trigger.path,
|
|
@@ -666,8 +708,8 @@ export async function startNodeWatchSession(options) {
|
|
|
666
708
|
return false;
|
|
667
709
|
}
|
|
668
710
|
finally {
|
|
669
|
-
if (stage) {
|
|
670
|
-
await rm(stage.tempDir, { recursive: true, force: true });
|
|
711
|
+
if (state.stage) {
|
|
712
|
+
await rm(state.stage.tempDir, { recursive: true, force: true });
|
|
671
713
|
}
|
|
672
714
|
}
|
|
673
715
|
};
|
package/dist/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,IAAI,aAAa,EAAkB,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG5F,OAAO,EAAE,QAAQ,EAAwB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAc5D,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC;IAC5C,aAAa;IACb,eAAe;IACf,aAAa;IACb,aAAa;CACd,CAAC,CAAC;AAmEH,SAAS,QAAQ,CACf,OAA+E,EAC/E,KAAqB;IAErB,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAAuB,CAAC,IAAI,KAAK,UAAU,CACpD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAA0C,MAAS;IAChF,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB;IAC3B,IAAI,CAAC;QACH,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB;IAMN;IACA;IANX,aAAa,GAAa,IAAI,CAAC;IAC/B,QAAQ,GAAG,KAAK,CAAC;IACjB,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEjD,YACmB,YAA8B,EAC9B,OAAwC;QADxC,iBAAY,GAAZ,YAAY,CAAkB;QAC9B,YAAO,GAAP,OAAO,CAAiC;IACxD,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,YAA8B,EAC9B,UAAiC,EAAE;QAEnC,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,YAAY,EAAE;YACtD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;SACzC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,UAAa;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7B,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,cAAc,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YACpD,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBAClC,wDAAwD;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,YAAY,IAAI,oBAAoB,EAAE,KAAK,YAAY,EAAE,CAAC;gBACxF,kBAAkB,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBACtC,mCAAmC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,OAAO,CAAI,IAAsB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CACtB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,SAAS,cAAc,CAAC,KAAuB;IAC7C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA8B;IAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEnD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5D,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,IAAY;IACzD,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,CACL,iBAAiB,KAAK,YAAY,IAAI,iBAAiB,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,GAAG,EAAE,CAAC,CAC5F,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,YAAsB;IACtE,OAAO,CACL,wBAAwB,CAAC,SAAS,CAAC;QACnC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA2B;IACpD,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,iCAAiC;QACnC,CAAC,CAAC,yBAAyB,QAAQ,CAAC,MAAM,WAAW,CAAC;IAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,OAAO,IAAI,KAAK,CAAC,GAAG,OAAO,KAAK,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,SAAiB;IACvD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IACE,KAAK,CAAC,MAAM,EAAE;gBACd,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,EAC3C,CAAC;gBACD,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAAe;IACjD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,OAAO;SACX,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SACpC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAAe,EAAE,YAAsB;IACzE,IAAI,qBAAqB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,YAAY,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAY,EAAE,YAAsB;IACzE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,IAAI,CAAC,CAAC,MAAM,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YACzD,SAAS;QACX,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,MAAmB;IACxC,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;KACpD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAAe;IACrD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,8BAA8B,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,SAAiB,EACjB,SAA8B,EAC9B,oBAAiC;IAEjC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,oBAAoB,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE1D,KAAK,MAAM,YAAY,IAAI,YAAY,EAAE,CAAC;QACxC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,MAAM,YAAY,IAAI,oBAAoB,EAAE,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAClD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM,SAAS,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAeD,MAAM,8BAA8B,GAAG;IACrC,kBAAkB;IAClB,uBAAuB;IACvB,aAAa;IACb,YAAY;IACZ,EAAE;IACF,2BAA2B;IAC3B,8CAA8C;IAC9C,kBAAkB;IAClB,0CAA0C;IAC1C,yBAAyB;IACzB,EAAE;IACF,oBAAoB;IACpB,6BAA6B;IAC7B,qCAAqC;IACrC,UAAU;IACV,uDAAuD;IACvD,uBAAuB;IACvB,uBAAuB;IACvB,4BAA4B;IAC5B,yDAAyD;IACzD,0EAA0E;IAC1E,aAAa;IACb,uBAAuB;IACvB,8BAA8B;IAC9B,iHAAiH;IACjH,8CAA8C;IAC9C,GAAG;IACH,4BAA4B;CAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,KAAK,UAAU,qBAAqB,CAAC,MAAqB;IACxD,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC;QAC/C,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU;QAC5C,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU;KAC7C,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACvD,MAAM,YAAY,GAAG;QACnB,GAAG,gBAAgB;QACnB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,SAAS,CAAC,CAAC;IACnB,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;IAEzD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,UAAkB,EAClB,SAAyB;IAEzB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CACpC,SAAS,CAAC,UAAU,EACpB,CAAC,IAAI,EAAE,8BAA8B,EAAE,UAAU,CAAC,EAClD;QACE,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,GAAG,EAAE,SAAS,CAAC,GAAG;KACnB,CACF,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,8CAA8C,UAAU,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,eAAe,EAAE,CAChI,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAuB,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,4CAA4C,UAAU,MAAO,KAAe,CAAC,OAAO,EAAE,CACvF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,UAAkB,EAClB,gBAA0B;IAE1B,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,kBAAkB,UAAU,sCAAsC,CACxF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,UAAkB,EAClB,OAA2B;IAE3B,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,0FAA0F,CAChH,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,kBAAkB,UAAU,uCAAuC,CACzF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,UAAkB,EAClB,SAAyB;IAEzB,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEvE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,sCAAsC,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,0BAA0B,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,MAAM,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAqB;IACtD,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,UAAkB;IAC/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;YAC5B,GAAG,MAAM;YACT,MAAM,EAAE;gBACN,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,EAAE,cAAc;aACpB;YACD,WAAW,EAAE;gBACX,GAAG,MAAM,CAAC,WAAW;gBACrB,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC3D,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,qBAAqB,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QAE5E,OAAO;YACL,MAAM;YACN,OAAO;YACP,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY;YACZ,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,OAAO,cAAc,CAAC;QACpB,SAAS;QACT,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC;QAC1C,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAA8B,EAC9B,UAAiC,EAAE;IAEnC,OAAO,qBAAqB,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAwC;IAExC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,cAAc,CACpC,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAC3D,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;IAE7C,IAAI,aAAa,GAAoC,IAAI,CAAC;IAC1D,IAAI,mBAAmB,GAAyB,IAAI,CAAC;IACrD,IAAI,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,kBAAkB,GAAkB,EAAE,CAAC;IAC3C,IAAI,QAAQ,GAAgB,EAAE,CAAC;IAC/B,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,aAAa,GAA4B,IAAI,CAAC;IAClD,IAAI,qBAAqB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7D,IAAI,aAAa,GAA8C,IAAI,CAAC;IACpE,IAAI,aAAyC,CAAC;IAC9C,IAAI,eAAe,GAAiB,IAAI,CAAC;IACzC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,IAAI,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC3C,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAE9F,MAAM,sBAAsB,GAAG,KAAK,IAAgB,EAAE;QACpD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,QAAQ,GAAG,EAAE,CAAC;QACd,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAQ,EAAE;QACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,EAC3B,OAAsB,EACtB,gBAA0B,EACC,EAAE;QAC7B,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;gBACvC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC3B,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBACjF,KAAK,MAAM,aAAa,IAAI,WAAW,EAAE,CAAC;wBACxC,MAAM,OAAO,GAAG,aAAa,CAC3B,aAAa,EACb,CAAC,SAAiB,EAAE,QAAgC,EAAQ,EAAE;4BAC5D,MAAM,QAAQ,GACZ,OAAO,QAAQ,KAAK,QAAQ;gCAC1B,CAAC,CAAC,QAAQ;gCACV,CAAC,CAAC,QAAQ,YAAY,MAAM;oCAC1B,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;oCACrB,CAAC,CAAC,EAAE,CAAC;4BACX,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;4BACzE,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;gCAClC,OAAO;4BACT,CAAC;4BACD,IAAI,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gCACpD,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oCAC/B,kEAAkE;gCACpE,CAAC,CAAC,CAAC;4BACL,CAAC;4BACD,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;4BAC3D,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;wBACvD,CAAC,CACF,CAAC;wBACF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;4BACvB,kEAAkE;wBACpE,CAAC,CAAC,CAAC;wBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACzB,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC9C,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClC,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3D,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACvB,kEAAkE;gBACpE,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnE,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,QAAQ;aACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qBAAqB,CAAC;gBACpB,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,QAA0B,EAAQ,EAAE;QAC1D,aAAa,EAAE,CAAC;QAChB,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC;QACtC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,KAAK,IAAmB,EAAE;QACtD,IAAI,MAAM,IAAI,aAAa,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,GAA4B,IAAI,CAAC;QAC7C,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,eAAe,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACnE,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;gBAC5B,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,IAAmB,EAAE;QACpD,qBAAqB,GAAG,qBAAqB,CAAC,IAAI,CAChD,GAAG,EAAE,CAAC,qBAAqB,EAAE,EAC7B,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAC9B,CAAC;QACF,OAAO,qBAAqB,CAAC;IAC/B,CAAC,CAAC;IAeF,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAAkB,EAAiB,EAAE;QACvE,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,qBAAqB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,EAAE,OAA2C,EAAoB,EAAE;QACxF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3E,MAAM,KAAK,GAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAErF,MAAM,WAAW,GAAG,KAAK,EACvB,mBAAoD,IAAI,EACtC,EAAE;YACpB,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,qBAAqB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAChC,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACjD,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,aAAa,GAAG,KAAK,IAAoC,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;YAChD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YACD,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC;YACnC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5D,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,CAAC,eAAe,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,qBAAqB,CAAC;gBACzC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;gBAClC,GAAG,KAAK,CAAC,YAAY;gBACrB,GAAG,iBAAiB;aACrB,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3E,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAC/E,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAC;gBAC3D,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;QACnE,CAAC,CAAC;QAEF,kEAAkE;QAClE,mEAAmE;QACnE,yEAAyE;QACzE,IAAI,sBAAsB,GAAG,KAAK,CAAC;QACnC,MAAM,oBAAoB,GAAG,KAAK,IAA8C,EAAE;YAChF,IAAI,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACtC,MAAM,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC7D,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;gBACxB,sBAAsB,GAAG,MAAM,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,oBAAoB,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBACxF,IAAI,MAAM,EAAE,CAAC;oBACX,sBAAsB,GAAG,IAAI,CAAC;oBAC9B,OAAO,oBAAoB,CAAC;gBAC9B,CAAC;gBACD,aAAa,GAAG,oBAAoB,CAAC;YACvC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;YAE3B,MAAM,oBAAoB,GACxB,eAAe,KAAK,KAAK,CAAC,SAAS;gBACjC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,MAAM,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,CACpD,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,KAAK,EACX,oBAAoB,CACrB,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,WAAW,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,EAAE,CAAC;YACtD,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,OAAO,WAAW,CAAC,gBAAgB,CAAC,CAAC;YACvC,CAAC;YAED,YAAY,GAAG,oBAAoB,CAAC;YACpC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC;YAClC,YAAY,GAAG,QAAQ,CAAC,gBAAgB,CAAC;YACzC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,QAAQ,CAAC,UAAU;gBAC1B,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;gBACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YACH,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5E,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,eAAe;aACvB,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,IAAsB,EAAE;QACpD,MAAM,OAAO,GAAG,aAAa,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAClD,aAAa,GAAG,IAAI,CAAC;QACrB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,OAA2C,EAAoB,EAAE;QAC5F,aAAa,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,gBAAgB,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC9C,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,OAA2C,EAAQ,EAAE;QAC3E,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,aAAa,GAAG,OAAO,CAAC;QACxB,IAAI,aAAa,EAAE,CAAC;YAClB,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QACD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,aAAa,GAAG,SAAS,CAAC;YAC1B,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChC,wDAAwD;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,aAAa,EAAE,CAAC;QAChB,MAAM,oBAAoB,GAAG,KAAK,EAChC,OAAwC,EACzB,EAAE;YACjB,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;QACF,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,eAAe,IAAI,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO;QACL,KAAK,CAAC,SAAS;YACb,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,aAAa,GAAG,SAAS,CAAC;YAC5B,CAAC;YACD,OAAO,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,KAAK;YACT,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,aAAa,GAAG,SAAS,CAAC;YAC5B,CAAC;YACD,aAAa,EAAE,CAAC;YAChB,MAAM,aAAa,EAAE,OAAO,EAAE,CAAC;QACjC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BasePythonBridge - shared RPC delegation for the bridge facades.
|
|
3
|
+
*
|
|
4
|
+
* The three bridge facades (NodeBridge/HttpBridge/PyodideBridge) all extend
|
|
5
|
+
* DisposableBase (lifecycle/resources) and implement PythonRuntime by HOLDING
|
|
6
|
+
* an RpcClient. The PythonRuntime delegation was byte-identical across all
|
|
7
|
+
* three: each method does `await this.ensureReady()` then forwards to the held
|
|
8
|
+
* RpcClient. This base collapses that duplication onto a single
|
|
9
|
+
* `getRpcClient()` accessor while leaving each facade free to own its own
|
|
10
|
+
* RpcClient field (for constructor wiring, resource tracking, and — in
|
|
11
|
+
* NodeBridge's case — a caching override of call()).
|
|
12
|
+
*
|
|
13
|
+
* It carries no transport/codec/lifecycle specifics: doInit/doDispose remain
|
|
14
|
+
* abstract on DisposableBase and stay per-facade.
|
|
15
|
+
*
|
|
16
|
+
* @see https://github.com/bbopen/tywrap/issues/149
|
|
17
|
+
*/
|
|
18
|
+
import type { PythonRuntime, BridgeInfo } from '../types/index.js';
|
|
19
|
+
import { DisposableBase } from './bounded-context.js';
|
|
20
|
+
import type { RpcClient, GetBridgeInfoOptions } from './rpc-client.js';
|
|
21
|
+
import type { TransportCapabilities } from './transport.js';
|
|
22
|
+
/**
|
|
23
|
+
* Shared base for the bridge facades. Implements the PythonRuntime RPC
|
|
24
|
+
* delegation (plus getBridgeInfo) over a single held RpcClient, exposed by the
|
|
25
|
+
* abstract {@link getRpcClient} accessor. Lifecycle (doInit/doDispose) and the
|
|
26
|
+
* RpcClient's construction/ownership remain the subclass's responsibility.
|
|
27
|
+
*/
|
|
28
|
+
export declare abstract class BasePythonBridge extends DisposableBase implements PythonRuntime {
|
|
29
|
+
/**
|
|
30
|
+
* Return the held RpcClient that the shared delegating methods forward to.
|
|
31
|
+
* Subclasses construct, track, and own the RpcClient; this accessor lets the
|
|
32
|
+
* base reach it without dictating how it is stored.
|
|
33
|
+
*/
|
|
34
|
+
protected abstract getRpcClient(): RpcClient;
|
|
35
|
+
call<T = unknown>(module: string, functionName: string, args: unknown[], kwargs?: Record<string, unknown>): Promise<T>;
|
|
36
|
+
instantiate<T = unknown>(module: string, className: string, args: unknown[], kwargs?: Record<string, unknown>): Promise<T>;
|
|
37
|
+
callMethod<T = unknown>(handle: string, methodName: string, args: unknown[], kwargs?: Record<string, unknown>): Promise<T>;
|
|
38
|
+
disposeInstance(handle: string): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Fetch bridge diagnostics and feature availability.
|
|
41
|
+
*/
|
|
42
|
+
getBridgeInfo(options?: GetBridgeInfoOptions): Promise<BridgeInfo>;
|
|
43
|
+
/**
|
|
44
|
+
* Describe this backend's transport-level capabilities (Arrow/binary/chunking/
|
|
45
|
+
* streaming support, max frame size). The descriptor is static and does NOT
|
|
46
|
+
* depend on lifecycle state, so this intentionally does not `ensureReady()` —
|
|
47
|
+
* callers can query it before connecting to decide how to use the bridge.
|
|
48
|
+
*/
|
|
49
|
+
capabilities(): TransportCapabilities;
|
|
50
|
+
/**
|
|
51
|
+
* Ensure the facade is initialized before delegating an RPC. Replicates the
|
|
52
|
+
* auto-init that the bounded execute path provided pre-composition, so the
|
|
53
|
+
* facade's own doInit pre-work runs before any RPC.
|
|
54
|
+
*/
|
|
55
|
+
protected ensureReady(): Promise<void>;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=base-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-bridge.d.ts","sourceRoot":"","sources":["../../src/runtime/base-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D;;;;;GAKG;AACH,8BAAsB,gBAAiB,SAAQ,cAAe,YAAW,aAAa;IACpF;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,SAAS;IAMtC,IAAI,CAAC,CAAC,GAAG,OAAO,EACpB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,EAAE,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IAKP,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,OAAO,EAAE,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IAKP,UAAU,CAAC,CAAC,GAAG,OAAO,EAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EAAE,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IAKP,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD;;OAEG;IACG,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKxE;;;;;OAKG;IACH,YAAY,IAAI,qBAAqB;IAIrC;;;;OAIG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7C"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BasePythonBridge - shared RPC delegation for the bridge facades.
|
|
3
|
+
*
|
|
4
|
+
* The three bridge facades (NodeBridge/HttpBridge/PyodideBridge) all extend
|
|
5
|
+
* DisposableBase (lifecycle/resources) and implement PythonRuntime by HOLDING
|
|
6
|
+
* an RpcClient. The PythonRuntime delegation was byte-identical across all
|
|
7
|
+
* three: each method does `await this.ensureReady()` then forwards to the held
|
|
8
|
+
* RpcClient. This base collapses that duplication onto a single
|
|
9
|
+
* `getRpcClient()` accessor while leaving each facade free to own its own
|
|
10
|
+
* RpcClient field (for constructor wiring, resource tracking, and — in
|
|
11
|
+
* NodeBridge's case — a caching override of call()).
|
|
12
|
+
*
|
|
13
|
+
* It carries no transport/codec/lifecycle specifics: doInit/doDispose remain
|
|
14
|
+
* abstract on DisposableBase and stay per-facade.
|
|
15
|
+
*
|
|
16
|
+
* @see https://github.com/bbopen/tywrap/issues/149
|
|
17
|
+
*/
|
|
18
|
+
import { DisposableBase } from './bounded-context.js';
|
|
19
|
+
/**
|
|
20
|
+
* Shared base for the bridge facades. Implements the PythonRuntime RPC
|
|
21
|
+
* delegation (plus getBridgeInfo) over a single held RpcClient, exposed by the
|
|
22
|
+
* abstract {@link getRpcClient} accessor. Lifecycle (doInit/doDispose) and the
|
|
23
|
+
* RpcClient's construction/ownership remain the subclass's responsibility.
|
|
24
|
+
*/
|
|
25
|
+
export class BasePythonBridge extends DisposableBase {
|
|
26
|
+
// ===========================================================================
|
|
27
|
+
// RPC METHODS (delegate to the held RpcClient)
|
|
28
|
+
// ===========================================================================
|
|
29
|
+
async call(module, functionName, args, kwargs) {
|
|
30
|
+
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);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Fetch bridge diagnostics and feature availability.
|
|
47
|
+
*/
|
|
48
|
+
async getBridgeInfo(options) {
|
|
49
|
+
await this.ensureReady();
|
|
50
|
+
return this.getRpcClient().getBridgeInfo(options);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Describe this backend's transport-level capabilities (Arrow/binary/chunking/
|
|
54
|
+
* streaming support, max frame size). The descriptor is static and does NOT
|
|
55
|
+
* depend on lifecycle state, so this intentionally does not `ensureReady()` —
|
|
56
|
+
* callers can query it before connecting to decide how to use the bridge.
|
|
57
|
+
*/
|
|
58
|
+
capabilities() {
|
|
59
|
+
return this.getRpcClient().capabilities();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Ensure the facade is initialized before delegating an RPC. Replicates the
|
|
63
|
+
* auto-init that the bounded execute path provided pre-composition, so the
|
|
64
|
+
* facade's own doInit pre-work runs before any RPC.
|
|
65
|
+
*/
|
|
66
|
+
async ensureReady() {
|
|
67
|
+
if (!this.isReady) {
|
|
68
|
+
await this.init();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=base-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-bridge.js","sourceRoot":"","sources":["../../src/runtime/base-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;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;QAEhC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAI,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAc,EACd,SAAiB,EACjB,IAAe,EACf,MAAgC;QAEhC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,CAAI,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAAc,EACd,UAAkB,EAClB,IAAe,EACf,MAAgC;QAEhC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAI,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACrD,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"}
|