@workflow/cli 5.0.0-beta.36 → 5.0.0-beta.38
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/base.d.ts.map +1 -1
- package/dist/base.js +2 -8
- package/dist/commands/cancel.d.ts +1 -0
- package/dist/commands/cancel.d.ts.map +1 -1
- package/dist/commands/health.d.ts +1 -3
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +26 -50
- package/dist/commands/inspect.d.ts +1 -0
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/start.d.ts +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/web.d.ts +1 -0
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/lib/config/workflow-config.d.ts.map +1 -1
- package/dist/lib/config/workflow-config.js +2 -2
- package/dist/lib/inspect/flags.d.ts +1 -0
- package/dist/lib/inspect/flags.d.ts.map +1 -1
- package/dist/lib/inspect/flags.js +9 -1
- package/dist/lib/inspect/hydration.d.ts.map +1 -1
- package/dist/lib/inspect/hydration.js +6 -3
- package/dist/lib/inspect/output.d.ts.map +1 -1
- package/dist/lib/inspect/output.js +5 -4
- package/dist/lib/inspect/run.js +2 -2
- package/dist/lib/inspect/web.d.ts.map +1 -1
- package/dist/lib/inspect/web.js +76 -1
- package/package.json +9 -9
package/dist/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AA6BtC,8BAAsB,WAAY,SAAQ,OAAO;IAC/C,MAAM,CAAC,cAAc,UAAQ;IAE7B;;;;OAIG;IACG,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBpD,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIxC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIxC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG1C"}
|
package/dist/base.js
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
import { getWorld } from '@workflow/core/runtime';
|
|
3
|
-
function isMissingStaticWorldInjectionError(err) {
|
|
4
|
-
return (err instanceof Error &&
|
|
5
|
-
err.message.includes('Workflow target world was not statically injected'));
|
|
6
|
-
}
|
|
7
3
|
async function flushStream(stream) {
|
|
8
4
|
if (!stream.writable ||
|
|
9
5
|
stream.destroyed ||
|
|
@@ -40,9 +36,7 @@ export class BaseCommand extends Command {
|
|
|
40
36
|
await world.close?.();
|
|
41
37
|
}
|
|
42
38
|
catch (closeErr) {
|
|
43
|
-
|
|
44
|
-
this.warn(`Failed to close world: ${closeErr instanceof Error ? closeErr.message : String(closeErr)}`);
|
|
45
|
-
}
|
|
39
|
+
this.warn(`Failed to close world: ${closeErr instanceof Error ? closeErr.message : String(closeErr)}`);
|
|
46
40
|
}
|
|
47
41
|
await super.finally(err);
|
|
48
42
|
// Force exit. World.close() cleaned up database connections and HTTP
|
|
@@ -65,4 +59,4 @@ export class BaseCommand extends Command {
|
|
|
65
59
|
this.error(message);
|
|
66
60
|
}
|
|
67
61
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELEtBQUssVUFBVSxXQUFXLENBQUMsTUFBMEI7SUFDbkQsSUFDRSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1FBQ2hCLE1BQU0sQ0FBQyxTQUFTO1FBQ2hCLE1BQU0sQ0FBQyxNQUFNO1FBQ2IsTUFBTSxDQUFDLGFBQWE7UUFDcEIsTUFBTSxDQUFDLGdCQUFnQixFQUN2QixDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFO2dCQUNwQixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3QixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLE9BQWdCLFdBQVksU0FBUSxPQUFPO0lBQy9DLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBRTdCOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQXNCO1FBQ2xDLElBQUksQ0FBQztZQUNILE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxFQUFFLENBQUM7WUFDL0IsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN4QixDQUFDO1FBQUMsT0FBTyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxDQUNQLDBCQUEwQixRQUFRLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDNUYsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIscUVBQXFFO1FBQ3JFLHdFQUF3RTtRQUN4RSx5RUFBeUU7UUFDekUscUVBQXFFO1FBQ3JFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNoQixXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUMzQixXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUM1QixDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRVMsT0FBTyxDQUFDLE9BQWU7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsT0FBTyxDQUFDLE9BQWU7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRVMsUUFBUSxDQUFDLE9BQWU7UUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ0BvY2xpZi9jb3JlJztcbmltcG9ydCB7IGdldFdvcmxkIH0gZnJvbSAnQHdvcmtmbG93L2NvcmUvcnVudGltZSc7XG5cbmFzeW5jIGZ1bmN0aW9uIGZsdXNoU3RyZWFtKHN0cmVhbTogTm9kZUpTLldyaXRlU3RyZWFtKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChcbiAgICAhc3RyZWFtLndyaXRhYmxlIHx8XG4gICAgc3RyZWFtLmRlc3Ryb3llZCB8fFxuICAgIHN0cmVhbS5jbG9zZWQgfHxcbiAgICBzdHJlYW0ud3JpdGFibGVFbmRlZCB8fFxuICAgIHN0cmVhbS53cml0YWJsZUZpbmlzaGVkXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3Qgb25FcnJvciA9ICgpID0+IHJlc29sdmUoKTtcbiAgICBzdHJlYW0ub25jZSgnZXJyb3InLCBvbkVycm9yKTtcbiAgICB0cnkge1xuICAgICAgc3RyZWFtLndyaXRlKCcnLCAoKSA9PiB7XG4gICAgICAgIHN0cmVhbS5vZmYoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgc3RyZWFtLm9mZignZXJyb3InLCBvbkVycm9yKTtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbW1hbmQgZXh0ZW5kcyBDb21tYW5kIHtcbiAgc3RhdGljIGVuYWJsZUpzb25GbGFnID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ2FsbGVkIGJ5IG9jbGlmIGFmdGVyIGBydW4oKWAgY29tcGxldGVzIChvciB0aHJvd3MpLlxuICAgKiBDbG9zZXMgdGhlIGNhY2hlZCBXb3JsZCBpbnN0YW5jZSBzbyB0aGUgcHJvY2VzcyBjYW4gZXhpdCBjbGVhbmx5XG4gICAqIHdpdGhvdXQgcmVseWluZyBvbiBgcHJvY2Vzcy5leGl0KClgLlxuICAgKi9cbiAgYXN5bmMgZmluYWxseShlcnI6IEVycm9yIHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHdvcmxkID0gYXdhaXQgZ2V0V29ybGQoKTtcbiAgICAgIGF3YWl0IHdvcmxkLmNsb3NlPy4oKTtcbiAgICB9IGNhdGNoIChjbG9zZUVycikge1xuICAgICAgdGhpcy53YXJuKFxuICAgICAgICBgRmFpbGVkIHRvIGNsb3NlIHdvcmxkOiAke2Nsb3NlRXJyIGluc3RhbmNlb2YgRXJyb3IgPyBjbG9zZUVyci5tZXNzYWdlIDogU3RyaW5nKGNsb3NlRXJyKX1gXG4gICAgICApO1xuICAgIH1cbiAgICBhd2FpdCBzdXBlci5maW5hbGx5KGVycik7XG4gICAgLy8gRm9yY2UgZXhpdC4gV29ybGQuY2xvc2UoKSBjbGVhbmVkIHVwIGRhdGFiYXNlIGNvbm5lY3Rpb25zIGFuZCBIVFRQXG4gICAgLy8gYWdlbnRzLCBidXQgdGhpcmQtcGFydHkgbGlicmFyaWVzIChvY2xpZiB1cGRhdGUgY2hlY2tlciwgcG9zdGdyZXMuanMpXG4gICAgLy8gbWF5IGxlYXZlIHRpbWVycyBvciBzb2NrZXRzIHRoYXQgcHJldmVudCB0aGUgZXZlbnQgbG9vcCBmcm9tIGRyYWluaW5nLlxuICAgIC8vIFRoaXMgaXMgc2FmZSBiZWNhdXNlIGFsbCBidXNpbmVzcyBsb2dpYyBhbmQgY2xlYW51cCBoYXMgY29tcGxldGVkLlxuICAgIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIGZsdXNoU3RyZWFtKHByb2Nlc3Muc3Rkb3V0KSxcbiAgICAgIGZsdXNoU3RyZWFtKHByb2Nlc3Muc3RkZXJyKSxcbiAgICBdKTtcbiAgICBwcm9jZXNzLmV4aXQoZXJyID8gMSA6IChwcm9jZXNzLmV4aXRDb2RlID8/IDApKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsb2dJbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubG9nKG1lc3NhZ2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxvZ1dhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy53YXJuKG1lc3NhZ2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxvZ0Vycm9yKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3IobWVzc2FnZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -24,6 +24,7 @@ export default class Cancel extends BaseCommand {
|
|
|
24
24
|
webPort: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
25
|
noBrowser: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
26
26
|
localUi: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
27
|
+
standalone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
27
28
|
sort: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
29
|
interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
29
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAUzC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,WAAW,SAC4C;IAE9D,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAKb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IAUtB,MAAM,CAAC,IAAI;;MAKA;IAEX,MAAM,CAAC,KAAK
|
|
1
|
+
{"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAUzC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,WAAW,SAC4C;IAE9D,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAKb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IAUtB,MAAM,CAAC,IAAI;;MAKA;IAEX,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;MAgCV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwIlC"}
|
|
@@ -3,7 +3,6 @@ export default class Health extends BaseCommand {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
readonly endpoint: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
6
|
readonly timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
7
|
readonly port: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
8
|
readonly verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
@@ -17,8 +16,7 @@ export default class Health extends BaseCommand {
|
|
|
17
16
|
catch(error: any): Promise<void>;
|
|
18
17
|
run(): Promise<void>;
|
|
19
18
|
private verifyLocalServer;
|
|
20
|
-
private
|
|
21
|
-
private checkSingleEndpoint;
|
|
19
|
+
private checkEndpoint;
|
|
22
20
|
private outputResults;
|
|
23
21
|
}
|
|
24
22
|
//# sourceMappingURL=health.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmMzC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,WAAW,SAC6C;IAE/D,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAyBD;IAEL,KAAK,CAAC,KAAK,EAAE,GAAG;IAIT,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAwDnB,iBAAiB;YAiCjB,aAAa;IAsC3B,OAAO,CAAC,aAAa;CAetB"}
|
package/dist/commands/health.js
CHANGED
|
@@ -6,28 +6,23 @@ import { BaseCommand } from '../base.js';
|
|
|
6
6
|
import { LOGGING_CONFIG, logger } from '../lib/config/log.js';
|
|
7
7
|
import { cliFlags } from '../lib/inspect/flags.js';
|
|
8
8
|
import { setupCliWorld } from '../lib/inspect/setup.js';
|
|
9
|
-
function formatHealthyResult(
|
|
10
|
-
return (chalk.green(
|
|
9
|
+
function formatHealthyResult(latencyMs) {
|
|
10
|
+
return (chalk.green(' ✓ workflow endpoint is healthy') +
|
|
11
11
|
chalk.gray(` (${latencyMs}ms)`));
|
|
12
12
|
}
|
|
13
|
-
function formatUnhealthyResult(
|
|
13
|
+
function formatUnhealthyResult(error) {
|
|
14
14
|
const errorSuffix = error ? chalk.gray(` - ${error}`) : '';
|
|
15
|
-
return chalk.red(
|
|
16
|
-
}
|
|
17
|
-
function getEndpointsToCheck(endpointFlag) {
|
|
18
|
-
return endpointFlag === 'both'
|
|
19
|
-
? ['workflow', 'step']
|
|
20
|
-
: [endpointFlag];
|
|
15
|
+
return chalk.red(' ✗ workflow endpoint is unhealthy') + errorSuffix;
|
|
21
16
|
}
|
|
22
17
|
function printSummary(results, backend) {
|
|
23
18
|
const allHealthy = results.every((r) => r.healthy);
|
|
24
19
|
logger.log('');
|
|
25
20
|
if (allHealthy) {
|
|
26
|
-
logger.log(chalk.green('
|
|
21
|
+
logger.log(chalk.green('Workflow endpoint is healthy!'));
|
|
27
22
|
}
|
|
28
23
|
else {
|
|
29
24
|
const unhealthyCount = results.filter((r) => !r.healthy).length;
|
|
30
|
-
logger.log(chalk.red(`${unhealthyCount}
|
|
25
|
+
logger.log(chalk.red(`${unhealthyCount} workflow endpoint(s) unhealthy`));
|
|
31
26
|
// Provide helpful hints for common issues
|
|
32
27
|
if (backend === 'local' || backend === '@workflow/world-local') {
|
|
33
28
|
logger.log('');
|
|
@@ -61,9 +56,9 @@ function resolveLocalBaseUrl(explicitPort, detectedPort) {
|
|
|
61
56
|
// Fall back to default port 3000 (common for Next.js, Nuxt, etc.)
|
|
62
57
|
return `http://localhost:${DEFAULT_LOCAL_PORT}`;
|
|
63
58
|
}
|
|
64
|
-
async function testHttpHealthEndpoint(baseUrl,
|
|
59
|
+
async function testHttpHealthEndpoint(baseUrl, verbose) {
|
|
65
60
|
try {
|
|
66
|
-
const healthUrl = `${baseUrl}/.well-known/workflow/v1
|
|
61
|
+
const healthUrl = `${baseUrl}/.well-known/workflow/v1/flow?__health`;
|
|
67
62
|
if (verbose) {
|
|
68
63
|
logger.debug(`Testing HTTP health at: ${healthUrl}`);
|
|
69
64
|
}
|
|
@@ -100,7 +95,7 @@ async function verifyLocalServerAccessible(verbose, explicitPort) {
|
|
|
100
95
|
if (verbose) {
|
|
101
96
|
logger.debug(`Resolved base URL: ${baseUrl}`);
|
|
102
97
|
}
|
|
103
|
-
const result = await testHttpHealthEndpoint(baseUrl,
|
|
98
|
+
const result = await testHttpHealthEndpoint(baseUrl, verbose);
|
|
104
99
|
if (result.ok) {
|
|
105
100
|
return baseUrl;
|
|
106
101
|
}
|
|
@@ -118,21 +113,21 @@ function logWorldConfig() {
|
|
|
118
113
|
logger.debug(`Base URL: ${process.env.WORKFLOW_LOCAL_BASE_URL || '(not set)'}`);
|
|
119
114
|
logger.debug(`PORT: ${process.env.PORT || '(not set)'}`);
|
|
120
115
|
}
|
|
121
|
-
async function runHealthCheckWithLogging(healthCheck, world,
|
|
116
|
+
async function runHealthCheckWithLogging(healthCheck, world, timeout, verbose) {
|
|
122
117
|
try {
|
|
123
118
|
if (verbose) {
|
|
124
|
-
logger.debug(
|
|
119
|
+
logger.debug('Starting health check for workflow endpoint...');
|
|
125
120
|
}
|
|
126
|
-
const result = await healthCheck(world,
|
|
121
|
+
const result = await healthCheck(world, { timeout });
|
|
127
122
|
if (verbose) {
|
|
128
|
-
logger.debug(`
|
|
123
|
+
logger.debug(`Workflow health check completed: ${JSON.stringify(result)}`);
|
|
129
124
|
}
|
|
130
125
|
return result;
|
|
131
126
|
}
|
|
132
127
|
catch (error) {
|
|
133
128
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
134
129
|
if (verbose) {
|
|
135
|
-
logger.debug(`
|
|
130
|
+
logger.debug(`Workflow health check threw: ${errorMessage}`);
|
|
136
131
|
}
|
|
137
132
|
return {
|
|
138
133
|
healthy: false,
|
|
@@ -141,22 +136,13 @@ async function runHealthCheckWithLogging(healthCheck, world, endpoint, timeout,
|
|
|
141
136
|
}
|
|
142
137
|
}
|
|
143
138
|
export default class Health extends BaseCommand {
|
|
144
|
-
static description = 'Check
|
|
139
|
+
static description = 'Check the workflow endpoint via a queue-based health check';
|
|
145
140
|
static examples = [
|
|
146
141
|
'$ workflow health',
|
|
147
|
-
'$ workflow health --
|
|
148
|
-
'$ workflow health --endpoint step --timeout 60000',
|
|
142
|
+
'$ workflow health --timeout 60000',
|
|
149
143
|
'$ workflow health --backend vercel --project my-project --team my-team',
|
|
150
144
|
];
|
|
151
145
|
static flags = {
|
|
152
|
-
endpoint: Flags.string({
|
|
153
|
-
description: 'Which endpoint(s) to check',
|
|
154
|
-
options: ['workflow', 'step', 'both'],
|
|
155
|
-
default: 'both',
|
|
156
|
-
helpGroup: 'Health Check',
|
|
157
|
-
helpLabel: '--endpoint',
|
|
158
|
-
helpValue: ['workflow', 'step', 'both'],
|
|
159
|
-
}),
|
|
160
146
|
timeout: Flags.integer({
|
|
161
147
|
char: 't',
|
|
162
148
|
description: 'Timeout in milliseconds for health check',
|
|
@@ -210,20 +196,18 @@ export default class Health extends BaseCommand {
|
|
|
210
196
|
throw new Error('Failed to connect to backend. Check your configuration.');
|
|
211
197
|
}
|
|
212
198
|
const { healthCheck } = await import('@workflow/core/runtime');
|
|
213
|
-
const endpoints = getEndpointsToCheck(flags.endpoint);
|
|
214
199
|
if (!flags.json) {
|
|
215
200
|
const backendName = flags.backend === 'local' ? 'local server' : flags.backend;
|
|
216
201
|
logger.log(chalk.gray(`Running queue-based health check against ${backendName}...`));
|
|
217
202
|
logger.log('');
|
|
218
203
|
}
|
|
219
|
-
const
|
|
204
|
+
const result = await this.checkEndpoint(healthCheck, world, {
|
|
220
205
|
timeout: flags.timeout,
|
|
221
206
|
json: flags.json,
|
|
222
207
|
verbose: flags.verbose,
|
|
223
208
|
});
|
|
224
|
-
this.outputResults(
|
|
225
|
-
|
|
226
|
-
process.exit(allHealthy ? 0 : 1);
|
|
209
|
+
this.outputResults([result], flags.json, flags.backend);
|
|
210
|
+
process.exit(result.healthy ? 0 : 1);
|
|
227
211
|
}
|
|
228
212
|
async verifyLocalServer(jsonMode, verbose, port) {
|
|
229
213
|
if (!jsonMode) {
|
|
@@ -252,30 +236,22 @@ export default class Health extends BaseCommand {
|
|
|
252
236
|
return false;
|
|
253
237
|
}
|
|
254
238
|
}
|
|
255
|
-
async
|
|
239
|
+
async checkEndpoint(healthCheck, world, flags) {
|
|
256
240
|
if (flags.verbose) {
|
|
257
241
|
logWorldConfig();
|
|
258
242
|
}
|
|
259
|
-
const results = [];
|
|
260
|
-
for (const endpoint of endpoints) {
|
|
261
|
-
const result = await this.checkSingleEndpoint(endpoint, healthCheck, world, flags);
|
|
262
|
-
results.push(result);
|
|
263
|
-
}
|
|
264
|
-
return results;
|
|
265
|
-
}
|
|
266
|
-
async checkSingleEndpoint(endpoint, healthCheck, world, flags) {
|
|
267
243
|
if (!flags.json) {
|
|
268
|
-
logger.log(
|
|
244
|
+
logger.log('Checking workflow endpoint...');
|
|
269
245
|
}
|
|
270
|
-
const result = await runHealthCheckWithLogging(healthCheck, world,
|
|
246
|
+
const result = await runHealthCheckWithLogging(healthCheck, world, flags.timeout, flags.verbose);
|
|
271
247
|
if (!flags.json) {
|
|
272
248
|
const message = result.healthy
|
|
273
|
-
? formatHealthyResult(
|
|
274
|
-
: formatUnhealthyResult(
|
|
249
|
+
? formatHealthyResult(result.latencyMs ?? 0)
|
|
250
|
+
: formatUnhealthyResult(result.error);
|
|
275
251
|
logger.log(message);
|
|
276
252
|
}
|
|
277
253
|
return {
|
|
278
|
-
endpoint,
|
|
254
|
+
endpoint: 'workflow',
|
|
279
255
|
healthy: result.healthy,
|
|
280
256
|
error: result.error,
|
|
281
257
|
latencyMs: result.latencyMs,
|
|
@@ -307,4 +283,4 @@ function handleHealthCheckError(error) {
|
|
|
307
283
|
}
|
|
308
284
|
process.exit(1);
|
|
309
285
|
}
|
|
310
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2hlYWx0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFpQnhELFNBQVMsbUJBQW1CLENBQUMsUUFBZ0IsRUFBRSxTQUFpQjtJQUM5RCxPQUFPLENBQ0wsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLFFBQVEsc0JBQXNCLENBQUM7UUFDbEQsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsS0FBSyxDQUFDLENBQ2hDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxRQUFnQixFQUFFLEtBQWM7SUFDN0QsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzNELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLFFBQVEsd0JBQXdCLENBQUMsR0FBRyxXQUFXLENBQUM7QUFDMUUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsWUFBb0I7SUFDL0MsT0FBTyxZQUFZLEtBQUssTUFBTTtRQUM1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QUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxhZ3MgfSBmcm9tICdAb2NsaWYvY29yZSc7XG5pbXBvcnQgeyBWRVJDRUxfNDAzX0VSUk9SX01FU1NBR0UgfSBmcm9tICdAd29ya2Zsb3cvZXJyb3JzJztcbmltcG9ydCB7IGdldFdvcmtmbG93UG9ydCB9IGZyb20gJ0B3b3JrZmxvdy91dGlscy9nZXQtcG9ydCc7XG5pbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgQmFzZUNvbW1hbmQgfSBmcm9tICcuLi9iYXNlLmpzJztcbmltcG9ydCB7IExPR0dJTkdfQ09ORklHLCBsb2dnZXIgfSBmcm9tICcuLi9saWIvY29uZmlnL2xvZy5qcyc7XG5pbXBvcnQgeyBjbGlGbGFncyB9IGZyb20gJy4uL2xpYi9pbnNwZWN0L2ZsYWdzLmpzJztcbmltcG9ydCB7IHNldHVwQ2xpV29ybGQgfSBmcm9tICcuLi9saWIvaW5zcGVjdC9zZXR1cC5qcyc7XG5cbnR5cGUgSGVhbHRoQ2hlY2tFbmRwb2ludCA9ICd3b3JrZmxvdycgfCAnc3RlcCc7XG5cbmludGVyZmFjZSBIZWFsdGhDaGVja1Jlc3VsdCB7XG4gIGhlYWx0aHk6IGJvb2xlYW47XG4gIGVycm9yPzogc3RyaW5nO1xuICBsYXRlbmN5TXM/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBFbmRwb2ludEhlYWx0aFJlc3VsdCB7XG4gIGVuZHBvaW50OiBIZWFsdGhDaGVja0VuZHBvaW50O1xuICBoZWFsdGh5OiBib29sZWFuO1xuICBlcnJvcj86IHN0cmluZztcbiAgbGF0ZW5jeU1zPzogbnVtYmVyO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRIZWFsdGh5UmVzdWx0KGVuZHBvaW50OiBzdHJpbmcsIGxhdGVuY3lNczogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIChcbiAgICBjaGFsay5ncmVlbihgICDinJMgJHtlbmRwb2ludH0gZW5kcG9pbnQgaXMgaGVhbHRoeWApICtcbiAgICBjaGFsay5ncmF5KGAgKCR7bGF0ZW5jeU1zfW1zKWApXG4gICk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdFVuaGVhbHRoeVJlc3VsdChlbmRwb2ludDogc3RyaW5nLCBlcnJvcj86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGVycm9yU3VmZml4ID0gZXJyb3IgPyBjaGFsay5ncmF5KGAgLSAke2Vycm9yfWApIDogJyc7XG4gIHJldHVybiBjaGFsay5yZWQoYCAg4pyXICR7ZW5kcG9pbnR9IGVuZHBvaW50IGlzIHVuaGVhbHRoeWApICsgZXJyb3JTdWZmaXg7XG59XG5cbmZ1bmN0aW9uIGdldEVuZHBvaW50c1RvQ2hlY2soZW5kcG9pbnRGbGFnOiBzdHJpbmcpOiBIZWFsdGhDaGVja0VuZHBvaW50W10ge1xuICByZXR1cm4gZW5kcG9pbnRGbGFnID09PSAnYm90aCdcbiAgICA/IFsnd29ya2Zsb3cnLCAnc3RlcCddXG4gICAgOiBbZW5kcG9pbnRGbGFnIGFzIEhlYWx0aENoZWNrRW5kcG9pbnRdO1xufVxuXG5mdW5jdGlvbiBwcmludFN1bW1hcnkocmVzdWx0czogRW5kcG9pbnRIZWFsdGhSZXN1bHRbXSwgYmFja2VuZDogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IGFsbEhlYWx0aHkgPSByZXN1bHRzLmV2ZXJ5KChyKSA9PiByLmhlYWx0aHkpO1xuICBsb2dnZXIubG9nKCcnKTtcbiAgaWYgKGFsbEhlYWx0aHkpIHtcbiAgICBsb2dnZXIubG9nKGNoYWxrLmdyZWVuKCdBbGwgZW5kcG9pbnRzIGFyZSBoZWFsdGh5IScpKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB1bmhlYWx0aHlDb3VudCA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiAhci5oZWFsdGh5KS5sZW5ndGg7XG4gICAgbG9nZ2VyLmxvZyhcbiAgICAgIGNoYWxrLnJlZChgJHt1bmhlYWx0aHlDb3VudH0gb2YgJHtyZXN1bHRzLmxlbmd0aH0gZW5kcG9pbnQocykgdW5oZWFsdGh5YClcbiAgICApO1xuICAgIC8vIFByb3ZpZGUgaGVscGZ1bCBoaW50cyBmb3IgY29tbW9uIGlzc3Vlc1xuICAgIGlmIChiYWNrZW5kID09PSAnbG9jYWwnIHx8IGJhY2tlbmQgPT09ICdAd29ya2Zsb3cvd29ybGQtbG9jYWwnKSB7XG4gICAgICBsb2dnZXIubG9nKCcnKTtcbiAgICAgIGxvZ2dlci5sb2coY2hhbGsueWVsbG93KCdIaW50OiBGb3IgbG9jYWwgaGVhbHRoIGNoZWNrcywgZW5zdXJlOicpKTtcbiAgICAgIGxvZ2dlci5sb2coY2hhbGsueWVsbG93KCcgIDEuIFlvdXIgZGV2ZWxvcG1lbnQgc2VydmVyIGlzIHJ1bm5pbmcnKSk7XG4gICAgICBsb2dnZXIubG9nKFxuICAgICAgICBjaGFsay55ZWxsb3coJyAgMi4gVGhlIHNlcnZlciBpcyBhY2Nlc3NpYmxlIGF0IHRoZSBjb25maWd1cmVkIFVSTCcpXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBsb2dQb3J0RGV0ZWN0aW9uRGVidWcoXG4gIGV4cGxpY2l0UG9ydDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBkZXRlY3RlZFBvcnQ6IG51bWJlciB8IHVuZGVmaW5lZFxuKTogdm9pZCB7XG4gIGxvZ2dlci5kZWJ1ZyhgRXhwbGljaXQgcG9ydCBmbGFnOiAke2V4cGxpY2l0UG9ydCB8fCAnKG5vdCBzZXQpJ31gKTtcbiAgbG9nZ2VyLmRlYnVnKGBQT1JUIGVudjogJHtwcm9jZXNzLmVudi5QT1JUIHx8ICcobm90IHNldCknfWApO1xuICBsb2dnZXIuZGVidWcoXG4gICAgYFdPUktGTE9XX0xPQ0FMX0JBU0VfVVJMIGVudjogJHtwcm9jZXNzLmVudi5XT1JLRkxPV19MT0NBTF9CQVNFX1VSTCB8fCAnKG5vdCBzZXQpJ31gXG4gICk7XG4gIGxvZ2dlci5kZWJ1ZyhgRGV0ZWN0ZWQvcmVzb2x2ZWQgcG9ydDogJHtkZXRlY3RlZFBvcnQgfHwgJyhub25lKSd9YCk7XG59XG5cbi8vIERlZmF1bHQgcG9ydCBmb3IgbG9jYWwgZGV2ZWxvcG1lbnQgc2VydmVyc1xuY29uc3QgREVGQVVMVF9MT0NBTF9QT1JUID0gMzAwMDtcblxuZnVuY3Rpb24gcmVzb2x2ZUxvY2FsQmFzZVVybChcbiAgZXhwbGljaXRQb3J0OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gIGRldGVjdGVkUG9ydDogbnVtYmVyIHwgdW5kZWZpbmVkXG4pOiBzdHJpbmcge1xuICBpZiAoZXhwbGljaXRQb3J0KSB7XG4gICAgcmV0dXJuIGBodHRwOi8vbG9jYWxob3N0OiR7ZXhwbGljaXRQb3J0fWA7XG4gIH1cbiAgaWYgKHByb2Nlc3MuZW52LldPUktGTE9XX0xPQ0FMX0JBU0VfVVJMKSB7XG4gICAgcmV0dXJuIHByb2Nlc3MuZW52LldPUktGTE9XX0xPQ0FMX0JBU0VfVVJMO1xuICB9XG4gIGlmIChwcm9jZXNzLmVudi5QT1JUKSB7XG4gICAgcmV0dXJuIGBodHRwOi8vbG9jYWxob3N0OiR7cHJvY2Vzcy5lbnYuUE9SVH1gO1xuICB9XG4gIGlmIChkZXRlY3RlZFBvcnQpIHtcbiAgICByZXR1cm4gYGh0dHA6Ly9sb2NhbGhvc3Q6JHtkZXRlY3RlZFBvcnR9YDtcbiAgfVxuICAvLyBGYWxsIGJhY2sgdG8gZGVmYXVsdCBwb3J0IDMwMDAgKGNvbW1vbiBmb3IgTmV4dC5qcywgTnV4dCwgZXRjLilcbiAgcmV0dXJuIGBodHRwOi8vbG9jYWxob3N0OiR7REVGQVVMVF9MT0NBTF9QT1JUfWA7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHRlc3RIdHRwSGVhbHRoRW5kcG9pbnQoXG4gIGJhc2VVcmw6IHN0cmluZyxcbiAgZW5kcG9pbnQ6ICdmbG93JyB8ICdzdGVwJyxcbiAgdmVyYm9zZTogYm9vbGVhblxuKTogUHJvbWlzZTx7IG9rOiBib29sZWFuOyBzdGF0dXM/OiBudW1iZXI7IGVycm9yPzogc3RyaW5nIH0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBoZWFsdGhVcmwgPSBgJHtiYXNlVXJsfS8ud2VsbC1rbm93bi93b3JrZmxvdy92MS8ke2VuZHBvaW50fT9fX2hlYWx0aGA7XG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgVGVzdGluZyBIVFRQIGhlYWx0aCBhdDogJHtoZWFsdGhVcmx9YCk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goaGVhbHRoVXJsLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCg1MDAwKSxcbiAgICB9KTtcbiAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgIHJldHVybiB7IG9rOiB0cnVlLCBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyB9O1xuICAgIH1cbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBIVFRQIGhlYWx0aCBjaGVjayByZXR1cm5lZCBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xuICAgIH1cbiAgICByZXR1cm4geyBvazogZmFsc2UsIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzIH07XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiBTdHJpbmcoZXJyKTtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBIVFRQIGhlYWx0aCBjaGVjayBmYWlsZWQ6ICR7ZXJyb3JNZXNzYWdlfWApO1xuICAgIH1cbiAgICByZXR1cm4geyBvazogZmFsc2UsIGVycm9yOiBlcnJvck1lc3NhZ2UgfTtcbiAgfVxufVxuXG4vKipcbiAqIEZvciBsb2NhbCBiYWNrZW5kLCB2ZXJpZnkgdGhlIHNlcnZlciBpcyBhY2Nlc3NpYmxlIGJlZm9yZSBhdHRlbXB0aW5nIGhlYWx0aCBjaGVjay5cbiAqIFJldHVybnMgdGhlIGJhc2UgVVJMIGlmIGFjY2Vzc2libGUsIG9yIHRocm93cyBhbiBlcnJvciB3aXRoIGEgaGVscGZ1bCBtZXNzYWdlLlxuICovXG5hc3luYyBmdW5jdGlvbiB2ZXJpZnlMb2NhbFNlcnZlckFjY2Vzc2libGUoXG4gIHZlcmJvc2U6IGJvb2xlYW4sXG4gIGV4cGxpY2l0UG9ydD86IG51bWJlclxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgZGV0ZWN0ZWRQb3J0ID0gZXhwbGljaXRQb3J0ID8/IChhd2FpdCBnZXRXb3JrZmxvd1BvcnQoKSk7XG5cbiAgaWYgKHZlcmJvc2UpIHtcbiAgICBsb2dQb3J0RGV0ZWN0aW9uRGVidWcoZXhwbGljaXRQb3J0LCBkZXRlY3RlZFBvcnQpO1xuICB9XG5cbiAgY29uc3QgYmFzZVVybCA9IHJlc29sdmVMb2NhbEJhc2VVcmwoZXhwbGljaXRQb3J0LCBkZXRlY3RlZFBvcnQpO1xuXG4gIGlmICh2ZXJib3NlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBSZXNvbHZlZCBiYXNlIFVSTDogJHtiYXNlVXJsfWApO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGVzdEh0dHBIZWFsdGhFbmRwb2ludChiYXNlVXJsLCAnZmxvdycsIHZlcmJvc2UpO1xuICBpZiAocmVzdWx0Lm9rKSB7XG4gICAgcmV0dXJuIGJhc2VVcmw7XG4gIH1cblxuICBjb25zdCBwb3J0SGludCA9XG4gICAgYmFzZVVybCA9PT0gYGh0dHA6Ly9sb2NhbGhvc3Q6JHtERUZBVUxUX0xPQ0FMX1BPUlR9YFxuICAgICAgPyAnSWYgeW91ciBzZXJ2ZXIgcnVucyBvbiBhIGRpZmZlcmVudCBwb3J0LCB1c2UgLS1wb3J0IDxwb3J0PiBvciBzZXQgV09SS0ZMT1dfTE9DQUxfQkFTRV9VUkwnXG4gICAgICA6IGBIaW50OiBVc2UgLS1wb3J0IDxwb3J0PiBvciBzZXQgV09SS0ZMT1dfTE9DQUxfQkFTRV9VUkw9aHR0cDovL2xvY2FsaG9zdDo8cG9ydD5gO1xuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgYENhbm5vdCByZWFjaCBsb2NhbCBzZXJ2ZXIgYXQgJHtiYXNlVXJsfS4gTWFrZSBzdXJlIHlvdXIgZGV2ZWxvcG1lbnQgc2VydmVyIGlzIHJ1bm5pbmcuXFxuYCArXG4gICAgICBwb3J0SGludFxuICApO1xufVxuXG5mdW5jdGlvbiBpc0xvY2FsQmFja2VuZChiYWNrZW5kOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGJhY2tlbmQgPT09ICdsb2NhbCcgfHwgYmFja2VuZCA9PT0gJ0B3b3JrZmxvdy93b3JsZC1sb2NhbCc7XG59XG5cbmZ1bmN0aW9uIGxvZ1dvcmxkQ29uZmlnKCk6IHZvaWQge1xuICBsb2dnZXIuZGVidWcoXG4gICAgYERhdGEgZGlyZWN0b3J5OiAke3Byb2Nlc3MuZW52LldPUktGTE9XX0xPQ0FMX0RBVEFfRElSIHx8ICcobm90IHNldCknfWBcbiAgKTtcbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGBCYXNlIFVSTDogJHtwcm9jZXNzLmVudi5XT1JLRkxPV19MT0NBTF9CQVNFX1VSTCB8fCAnKG5vdCBzZXQpJ31gXG4gICk7XG4gIGxvZ2dlci5kZWJ1ZyhgUE9SVDogJHtwcm9jZXNzLmVudi5QT1JUIHx8ICcobm90IHNldCknfWApO1xufVxuXG5hc3luYyBmdW5jdGlvbiBydW5IZWFsdGhDaGVja1dpdGhMb2dnaW5nKFxuICBoZWFsdGhDaGVjazogKFxuICAgIHdvcmxkOiBhbnksXG4gICAgZW5kcG9pbnQ6IEhlYWx0aENoZWNrRW5kcG9pbnQsXG4gICAgb3B0aW9uczogeyB0aW1lb3V0OiBudW1iZXIgfVxuICApID0+IFByb21pc2U8SGVhbHRoQ2hlY2tSZXN1bHQ+LFxuICB3b3JsZDogYW55LFxuICBlbmRwb2ludDogSGVhbHRoQ2hlY2tFbmRwb2ludCxcbiAgdGltZW91dDogbnVtYmVyLFxuICB2ZXJib3NlOiBib29sZWFuXG4pOiBQcm9taXNlPEhlYWx0aENoZWNrUmVzdWx0PiB7XG4gIHRyeSB7XG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgU3RhcnRpbmcgaGVhbHRoIGNoZWNrIGZvciAke2VuZHBvaW50fS4uLmApO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBoZWFsdGhDaGVjayh3b3JsZCwgZW5kcG9pbnQsIHsgdGltZW91dCB9KTtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICBgSGVhbHRoIGNoZWNrIGZvciAke2VuZHBvaW50fSBjb21wbGV0ZWQ6ICR7SlNPTi5zdHJpbmdpZnkocmVzdWx0KX1gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKTtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBIZWFsdGggY2hlY2sgZm9yICR7ZW5kcG9pbnR9IHRocmV3OiAke2Vycm9yTWVzc2FnZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlYWx0aHk6IGZhbHNlLFxuICAgICAgZXJyb3I6IGVycm9yTWVzc2FnZSB8fCAnVW5rbm93biBlcnJvciBkdXJpbmcgaGVhbHRoIGNoZWNrJyxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEhlYWx0aCBleHRlbmRzIEJhc2VDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID1cbiAgICAnQ2hlY2sgaGVhbHRoIG9mIHdvcmtmbG93IGFuZCBzdGVwIGVuZHBvaW50cyB2aWEgcXVldWUtYmFzZWQgaGVhbHRoIGNoZWNrJztcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgJyQgd29ya2Zsb3cgaGVhbHRoJyxcbiAgICAnJCB3b3JrZmxvdyBoZWFsdGggLS1lbmRwb2ludCB3b3JrZmxvdycsXG4gICAgJyQgd29ya2Zsb3cgaGVhbHRoIC0tZW5kcG9pbnQgc3RlcCAtLXRpbWVvdXQgNjAwMDAnLFxuICAgICckIHdvcmtmbG93IGhlYWx0aCAtLWJhY2tlbmQgdmVyY2VsIC0tcHJvamVjdCBteS1wcm9qZWN0IC0tdGVhbSBteS10ZWFtJyxcbiAgXTtcblxuICBzdGF0aWMgZmxhZ3MgPSB7XG4gICAgZW5kcG9pbnQ6IEZsYWdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjogJ1doaWNoIGVuZHBvaW50KHMpIHRvIGNoZWNrJyxcbiAgICAgIG9wdGlvbnM6IFsnd29ya2Zsb3cnLCAnc3RlcCcsICdib3RoJ10sXG4gICAgICBkZWZhdWx0OiAnYm90aCcsXG4gICAgICBoZWxwR3JvdXA6ICdIZWFsdGggQ2hlY2snLFxuICAgICAgaGVscExhYmVsOiAnLS1lbmRwb2ludCcsXG4gICAgICBoZWxwVmFsdWU6IFsnd29ya2Zsb3cnLCAnc3RlcCcsICdib3RoJ10sXG4gICAgfSksXG4gICAgdGltZW91dDogRmxhZ3MuaW50ZWdlcih7XG4gICAgICBjaGFyOiAndCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIGZvciBoZWFsdGggY2hlY2snLFxuICAgICAgZGVmYXVsdDogMzAwMDAsXG4gICAgICBoZWxwR3JvdXA6ICdIZWFsdGggQ2hlY2snLFxuICAgICAgaGVscExhYmVsOiAnLXQsIC0tdGltZW91dCcsXG4gICAgICBoZWxwVmFsdWU6ICdNUycsXG4gICAgfSksXG4gICAgcG9ydDogRmxhZ3MuaW50ZWdlcih7XG4gICAgICBjaGFyOiAncCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0xvY2FsIHNlcnZlciBwb3J0IChmb3IgbG9jYWwgYmFja2VuZCknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgaGVscEdyb3VwOiAnSGVhbHRoIENoZWNrJyxcbiAgICAgIGhlbHBMYWJlbDogJy1wLCAtLXBvcnQnLFxuICAgICAgaGVscFZhbHVlOiAnUE9SVCcsXG4gICAgfSksXG4gICAgLy8gSW5jbHVkZSByZWxldmFudCBmbGFncyBmcm9tIGNsaUZsYWdzIChleGNsdWRpbmcgb25lcyBub3QgcmVsZXZhbnQgdG8gaGVhbHRoIGNoZWNrKVxuICAgIHZlcmJvc2U6IGNsaUZsYWdzLnZlcmJvc2UsXG4gICAganNvbjogY2xpRmxhZ3MuanNvbixcbiAgICBiYWNrZW5kOiBjbGlGbGFncy5iYWNrZW5kLFxuICAgIGF1dGhUb2tlbjogY2xpRmxhZ3MuYXV0aFRva2VuLFxuICAgIHByb2plY3Q6IGNsaUZsYWdzLnByb2plY3QsXG4gICAgdGVhbTogY2xpRmxhZ3MudGVhbSxcbiAgICBlbnY6IGNsaUZsYWdzLmVudixcbiAgfSBhcyBjb25zdDtcblxuICBhc3luYyBjYXRjaChlcnJvcjogYW55KSB7XG4gICAgaGFuZGxlSGVhbHRoQ2hlY2tFcnJvcihlcnJvcik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoSGVhbHRoKTtcblxuICAgIC8vIEZvciBsb2NhbCBiYWNrZW5kLCBzZXQgdXAgcG9ydCBjb25maWd1cmF0aW9uIGVhcmx5XG4gICAgaWYgKGlzTG9jYWxCYWNrZW5kKGZsYWdzLmJhY2tlbmQpKSB7XG4gICAgICAvLyBJZiB1c2VyIHNwZWNpZmllcyBhIHBvcnQsIHNldCB0aGUgZW52IHZhciBzbyB0aGUgV29ybGQgdXNlcyBpdFxuICAgICAgaWYgKGZsYWdzLnBvcnQpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuV09SS0ZMT1dfTE9DQUxfQkFTRV9VUkwgPSBgaHR0cDovL2xvY2FsaG9zdDoke2ZsYWdzLnBvcnR9YDtcbiAgICAgIH1cbiAgICAgIC8vIFNldCBkZWZhdWx0IFdPUktGTE9XX0xPQ0FMX0JBU0VfVVJMIGlmIG5vdCBhbHJlYWR5IHNldFxuICAgICAgLy8gV2UgdXNlIFdPUktGTE9XX0xPQ0FMX0JBU0VfVVJMIGluc3RlYWQgb2YgUE9SVCB0byBhdm9pZCBjb25mbGljdHNcbiAgICAgIC8vIHdpdGggb3RoZXIgdG9vbHMgKGxpa2UgTmV4dC5qcykgdGhhdCBhbHNvIHVzZSB0aGUgUE9SVCBlbnYgdmFyXG4gICAgICBpZiAoIXByb2Nlc3MuZW52LldPUktGTE9XX0xPQ0FMX0JBU0VfVVJMICYmICFwcm9jZXNzLmVudi5QT1JUKSB7XG4gICAgICAgIHByb2Nlc3MuZW52LldPUktGTE9XX0xPQ0FMX0JBU0VfVVJMID0gYGh0dHA6Ly9sb2NhbGhvc3Q6JHtERUZBVUxUX0xPQ0FMX1BPUlR9YDtcbiAgICAgIH1cblxuICAgICAgLy8gVmVyaWZ5IHRoZSBzZXJ2ZXIgaXMgYWNjZXNzaWJsZSBiZWZvcmUgcHJvY2VlZGluZ1xuICAgICAgY29uc3QgYWNjZXNzaWJsZSA9IGF3YWl0IHRoaXMudmVyaWZ5TG9jYWxTZXJ2ZXIoXG4gICAgICAgIGZsYWdzLmpzb24sXG4gICAgICAgIGZsYWdzLnZlcmJvc2UsXG4gICAgICAgIGZsYWdzLnBvcnRcbiAgICAgICk7XG4gICAgICBpZiAoIWFjY2Vzc2libGUpIHtcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHdvcmxkID0gYXdhaXQgc2V0dXBDbGlXb3JsZChmbGFncywgdGhpcy5jb25maWcudmVyc2lvbik7XG4gICAgaWYgKCF3b3JsZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnRmFpbGVkIHRvIGNvbm5lY3QgdG8gYmFja2VuZC4gQ2hlY2sgeW91ciBjb25maWd1cmF0aW9uLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBoZWFsdGhDaGVjayB9ID0gYXdhaXQgaW1wb3J0KCdAd29ya2Zsb3cvY29yZS9ydW50aW1lJyk7XG4gICAgY29uc3QgZW5kcG9pbnRzID0gZ2V0RW5kcG9pbnRzVG9DaGVjayhmbGFncy5lbmRwb2ludCk7XG5cbiAgICBpZiAoIWZsYWdzLmpzb24pIHtcbiAgICAgIGNvbnN0IGJhY2tlbmROYW1lID1cbiAgICAgICAgZmxhZ3MuYmFja2VuZCA9PT0gJ2xvY2FsJyA/ICdsb2NhbCBzZXJ2ZXInIDogZmxhZ3MuYmFja2VuZDtcbiAgICAgIGxvZ2dlci5sb2coXG4gICAgICAgIGNoYWxrLmdyYXkoYFJ1bm5pbmcgcXVldWUtYmFzZWQgaGVhbHRoIGNoZWNrIGFnYWluc3QgJHtiYWNrZW5kTmFtZX0uLi5gKVxuICAgICAgKTtcbiAgICAgIGxvZ2dlci5sb2coJycpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLmNoZWNrRW5kcG9pbnRzKGVuZHBvaW50cywgaGVhbHRoQ2hlY2ssIHdvcmxkLCB7XG4gICAgICB0aW1lb3V0OiBmbGFncy50aW1lb3V0LFxuICAgICAganNvbjogZmxhZ3MuanNvbixcbiAgICAgIHZlcmJvc2U6IGZsYWdzLnZlcmJvc2UsXG4gICAgfSk7XG5cbiAgICB0aGlzLm91dHB1dFJlc3VsdHMocmVzdWx0cywgZmxhZ3MuanNvbiwgZmxhZ3MuYmFja2VuZCk7XG5cbiAgICBjb25zdCBhbGxIZWFsdGh5ID0gcmVzdWx0cy5ldmVyeSgocikgPT4gci5oZWFsdGh5KTtcbiAgICBwcm9jZXNzLmV4aXQoYWxsSGVhbHRoeSA/IDAgOiAxKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdmVyaWZ5TG9jYWxTZXJ2ZXIoXG4gICAganNvbk1vZGU6IGJvb2xlYW4sXG4gICAgdmVyYm9zZTogYm9vbGVhbixcbiAgICBwb3J0PzogbnVtYmVyXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghanNvbk1vZGUpIHtcbiAgICAgIGxvZ2dlci5sb2coY2hhbGsuZ3JheSgnQ2hlY2tpbmcgbG9jYWwgc2VydmVyIGFjY2Vzc2liaWxpdHkuLi4nKSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBiYXNlVXJsID0gYXdhaXQgdmVyaWZ5TG9jYWxTZXJ2ZXJBY2Nlc3NpYmxlKHZlcmJvc2UsIHBvcnQpO1xuICAgICAgaWYgKCFqc29uTW9kZSkge1xuICAgICAgICBsb2dnZXIubG9nKGNoYWxrLmdyZWVuKGAgIOKckyBMb2NhbCBzZXJ2ZXIgYWNjZXNzaWJsZSBhdCAke2Jhc2VVcmx9YCkpO1xuICAgICAgICBsb2dnZXIubG9nKCcnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG4gICAgICBpZiAoanNvbk1vZGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgcmVzdWx0czogW10sXG4gICAgICAgICAgICBhbGxIZWFsdGh5OiBmYWxzZSxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tFbmRwb2ludHMoXG4gICAgZW5kcG9pbnRzOiBIZWFsdGhDaGVja0VuZHBvaW50W10sXG4gICAgaGVhbHRoQ2hlY2s6IChcbiAgICAgIHdvcmxkOiBhbnksXG4gICAgICBlbmRwb2ludDogSGVhbHRoQ2hlY2tFbmRwb2ludCxcbiAgICAgIG9wdGlvbnM6IHsgdGltZW91dDogbnVtYmVyIH1cbiAgICApID0+IFByb21pc2U8SGVhbHRoQ2hlY2tSZXN1bHQ+LFxuICAgIHdvcmxkOiBhbnksXG4gICAgZmxhZ3M6IHsgdGltZW91dDogbnVtYmVyOyBqc29uOiBib29sZWFuOyB2ZXJib3NlOiBib29sZWFuIH1cbiAgKTogUHJvbWlzZTxFbmRwb2ludEhlYWx0aFJlc3VsdFtdPiB7XG4gICAgaWYgKGZsYWdzLnZlcmJvc2UpIHtcbiAgICAgIGxvZ1dvcmxkQ29uZmlnKCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0czogRW5kcG9pbnRIZWFsdGhSZXN1bHRbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgZW5kcG9pbnQgb2YgZW5kcG9pbnRzKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNoZWNrU2luZ2xlRW5kcG9pbnQoXG4gICAgICAgIGVuZHBvaW50LFxuICAgICAgICBoZWFsdGhDaGVjayxcbiAgICAgICAgd29ybGQsXG4gICAgICAgIGZsYWdzXG4gICAgICApO1xuICAgICAgcmVzdWx0cy5wdXNoKHJlc3VsdCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjaGVja1NpbmdsZUVuZHBvaW50KFxuICAgIGVuZHBvaW50OiBIZWFsdGhDaGVja0VuZHBvaW50LFxuICAgIGhlYWx0aENoZWNrOiAoXG4gICAgICB3b3JsZDogYW55LFxuICAgICAgZW5kcG9pbnQ6IEhlYWx0aENoZWNrRW5kcG9pbnQsXG4gICAgICBvcHRpb25zOiB7IHRpbWVvdXQ6IG51bWJlciB9XG4gICAgKSA9PiBQcm9taXNlPEhlYWx0aENoZWNrUmVzdWx0PixcbiAgICB3b3JsZDogYW55LFxuICAgIGZsYWdzOiB7IHRpbWVvdXQ6IG51bWJlcjsganNvbjogYm9vbGVhbjsgdmVyYm9zZTogYm9vbGVhbiB9XG4gICk6IFByb21pc2U8RW5kcG9pbnRIZWFsdGhSZXN1bHQ+IHtcbiAgICBpZiAoIWZsYWdzLmpzb24pIHtcbiAgICAgIGxvZ2dlci5sb2coYENoZWNraW5nICR7ZW5kcG9pbnR9IGVuZHBvaW50Li4uYCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcnVuSGVhbHRoQ2hlY2tXaXRoTG9nZ2luZyhcbiAgICAgIGhlYWx0aENoZWNrLFxuICAgICAgd29ybGQsXG4gICAgICBlbmRwb2ludCxcbiAgICAgIGZsYWdzLnRpbWVvdXQsXG4gICAgICBmbGFncy52ZXJib3NlXG4gICAgKTtcblxuICAgIGlmICghZmxhZ3MuanNvbikge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHJlc3VsdC5oZWFsdGh5XG4gICAgICAgID8gZm9ybWF0SGVhbHRoeVJlc3VsdChlbmRwb2ludCwgcmVzdWx0LmxhdGVuY3lNcyA/PyAwKVxuICAgICAgICA6IGZvcm1hdFVuaGVhbHRoeVJlc3VsdChlbmRwb2ludCwgcmVzdWx0LmVycm9yKTtcbiAgICAgIGxvZ2dlci5sb2cobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVuZHBvaW50LFxuICAgICAgaGVhbHRoeTogcmVzdWx0LmhlYWx0aHksXG4gICAgICBlcnJvcjogcmVzdWx0LmVycm9yLFxuICAgICAgbGF0ZW5jeU1zOiByZXN1bHQubGF0ZW5jeU1zLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIG91dHB1dFJlc3VsdHMoXG4gICAgcmVzdWx0czogRW5kcG9pbnRIZWFsdGhSZXN1bHRbXSxcbiAgICBqc29uTW9kZTogYm9vbGVhbixcbiAgICBiYWNrZW5kOiBzdHJpbmdcbiAgKTogdm9pZCB7XG4gICAgaWYgKGpzb25Nb2RlKSB7XG4gICAgICBjb25zdCBqc29uT3V0cHV0ID0ge1xuICAgICAgICByZXN1bHRzLFxuICAgICAgICBhbGxIZWFsdGh5OiByZXN1bHRzLmV2ZXJ5KChyKSA9PiByLmhlYWx0aHkpLFxuICAgICAgfTtcbiAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGpzb25PdXRwdXQsIG51bGwsIDIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJpbnRTdW1tYXJ5KHJlc3VsdHMsIGJhY2tlbmQpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBoYW5kbGVIZWFsdGhDaGVja0Vycm9yKGVycm9yOiBhbnkpOiBuZXZlciB7XG4gIGlmIChlcnJvcj8uc3RhdHVzID09PSA0MDMpIHtcbiAgICBsb2dnZXIuZXJyb3IoVkVSQ0VMXzQwM19FUlJPUl9NRVNTQUdFKTtcbiAgfSBlbHNlIGlmIChMT0dHSU5HX0NPTkZJRy5WRVJCT1NFX01PREUpIHtcbiAgICBsb2dnZXIuZXJyb3IoZXJyb3IpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yPy5tZXNzYWdlIHx8IFN0cmluZyhlcnJvcikgfHwgJ1Vua25vd24gZXJyb3InO1xuICAgIGxvZ2dlci5lcnJvcihgRXJyb3I6ICR7ZXJyb3JNZXNzYWdlfWApO1xuICB9XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn1cbiJdfQ==
|
|
286
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2hlYWx0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFleEQsU0FBUyxtQkFBbUIsQ0FBQyxTQUFpQjtJQUM1QyxPQUFPLENBQ0wsS0FBSyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQztRQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxLQUFLLENBQUMsQ0FDaEMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLEtBQWM7SUFDM0MsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzNELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxHQUFHLFdBQVcsQ0FBQztBQUN2RSxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsT0FBK0IsRUFBRSxPQUFlO0lBQ3BFLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFD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Q0FBQztJQUVPLGFBQWEsQ0FDbkIsT0FBK0IsRUFDL0IsUUFBaUIsRUFDakIsT0FBZTtRQUVmLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLFVBQVUsR0FBRztnQkFDakIsT0FBTztnQkFDUCxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQzthQUM1QyxDQUFDO1lBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNOLFlBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7O0FBR0gsU0FBUyxzQkFBc0IsQ0FBQyxLQUFVO0lBQ3hDLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUMxQixNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDekMsQ0FBQztTQUFNLElBQUksY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxlQUFlLENBQUM7UUFDeEUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsYWdzIH0gZnJvbSAnQG9jbGlmL2NvcmUnO1xuaW1wb3J0IHsgVkVSQ0VMXzQwM19FUlJPUl9NRVNTQUdFIH0gZnJvbSAnQHdvcmtmbG93L2Vycm9ycyc7XG5pbXBvcnQgeyBnZXRXb3JrZmxvd1BvcnQgfSBmcm9tICdAd29ya2Zsb3cvdXRpbHMvZ2V0LXBvcnQnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IEJhc2VDb21tYW5kIH0gZnJvbSAnLi4vYmFzZS5qcyc7XG5pbXBvcnQgeyBMT0dHSU5HX0NPTkZJRywgbG9nZ2VyIH0gZnJvbSAnLi4vbGliL2NvbmZpZy9sb2cuanMnO1xuaW1wb3J0IHsgY2xpRmxhZ3MgfSBmcm9tICcuLi9saWIvaW5zcGVjdC9mbGFncy5qcyc7XG5pbXBvcnQgeyBzZXR1cENsaVdvcmxkIH0gZnJvbSAnLi4vbGliL2luc3BlY3Qvc2V0dXAuanMnO1xuXG5pbnRlcmZhY2UgSGVhbHRoQ2hlY2tSZXN1bHQge1xuICBoZWFsdGh5OiBib29sZWFuO1xuICBlcnJvcj86IHN0cmluZztcbiAgbGF0ZW5jeU1zPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgRW5kcG9pbnRIZWFsdGhSZXN1bHQge1xuICBlbmRwb2ludDogJ3dvcmtmbG93JztcbiAgaGVhbHRoeTogYm9vbGVhbjtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGxhdGVuY3lNcz86IG51bWJlcjtcbn1cblxuZnVuY3Rpb24gZm9ybWF0SGVhbHRoeVJlc3VsdChsYXRlbmN5TXM6IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiAoXG4gICAgY2hhbGsuZ3JlZW4oJyAg4pyTIHdvcmtmbG93IGVuZHBvaW50IGlzIGhlYWx0aHknKSArXG4gICAgY2hhbGsuZ3JheShgICgke2xhdGVuY3lNc31tcylgKVxuICApO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRVbmhlYWx0aHlSZXN1bHQoZXJyb3I/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBlcnJvclN1ZmZpeCA9IGVycm9yID8gY2hhbGsuZ3JheShgIC0gJHtlcnJvcn1gKSA6ICcnO1xuICByZXR1cm4gY2hhbGsucmVkKCcgIOKclyB3b3JrZmxvdyBlbmRwb2ludCBpcyB1bmhlYWx0aHknKSArIGVycm9yU3VmZml4O1xufVxuXG5mdW5jdGlvbiBwcmludFN1bW1hcnkocmVzdWx0czogRW5kcG9pbnRIZWFsdGhSZXN1bHRbXSwgYmFja2VuZDogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IGFsbEhlYWx0aHkgPSByZXN1bHRzLmV2ZXJ5KChyKSA9PiByLmhlYWx0aHkpO1xuICBsb2dnZXIubG9nKCcnKTtcbiAgaWYgKGFsbEhlYWx0aHkpIHtcbiAgICBsb2dnZXIubG9nKGNoYWxrLmdyZWVuKCdXb3JrZmxvdyBlbmRwb2ludCBpcyBoZWFsdGh5IScpKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB1bmhlYWx0aHlDb3VudCA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiAhci5oZWFsdGh5KS5sZW5ndGg7XG4gICAgbG9nZ2VyLmxvZyhjaGFsay5yZWQoYCR7dW5oZWFsdGh5Q291bnR9IHdvcmtmbG93IGVuZHBvaW50KHMpIHVuaGVhbHRoeWApKTtcbiAgICAvLyBQcm92aWRlIGhlbHBmdWwgaGludHMgZm9yIGNvbW1vbiBpc3N1ZXNcbiAgICBpZiAoYmFja2VuZCA9PT0gJ2xvY2FsJyB8fCBiYWNrZW5kID09PSAnQHdvcmtmbG93L3dvcmxkLWxvY2FsJykge1xuICAgICAgbG9nZ2VyLmxvZygnJyk7XG4gICAgICBsb2dnZXIubG9nKGNoYWxrLnllbGxvdygnSGludDogRm9yIGxvY2FsIGhlYWx0aCBjaGVja3MsIGVuc3VyZTonKSk7XG4gICAgICBsb2dnZXIubG9nKGNoYWxrLnllbGxvdygnICAxLiBZb3VyIGRldmVsb3BtZW50IHNlcnZlciBpcyBydW5uaW5nJykpO1xuICAgICAgbG9nZ2VyLmxvZyhcbiAgICAgICAgY2hhbGsueWVsbG93KCcgIDIuIFRoZSBzZXJ2ZXIgaXMgYWNjZXNzaWJsZSBhdCB0aGUgY29uZmlndXJlZCBVUkwnKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbG9nUG9ydERldGVjdGlvbkRlYnVnKFxuICBleHBsaWNpdFBvcnQ6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgZGV0ZWN0ZWRQb3J0OiBudW1iZXIgfCB1bmRlZmluZWRcbik6IHZvaWQge1xuICBsb2dnZXIuZGVidWcoYEV4cGxpY2l0IHBvcnQgZmxhZzogJHtleHBsaWNpdFBvcnQgfHwgJyhub3Qgc2V0KSd9YCk7XG4gIGxvZ2dlci5kZWJ1ZyhgUE9SVCBlbnY6ICR7cHJvY2Vzcy5lbnYuUE9SVCB8fCAnKG5vdCBzZXQpJ31gKTtcbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGBXT1JLRkxPV19MT0NBTF9CQVNFX1VSTCBlbnY6ICR7cHJvY2Vzcy5lbnYuV09SS0ZMT1dfTE9DQUxfQkFTRV9VUkwgfHwgJyhub3Qgc2V0KSd9YFxuICApO1xuICBsb2dnZXIuZGVidWcoYERldGVjdGVkL3Jlc29sdmVkIHBvcnQ6ICR7ZGV0ZWN0ZWRQb3J0IHx8ICcobm9uZSknfWApO1xufVxuXG4vLyBEZWZhdWx0IHBvcnQgZm9yIGxvY2FsIGRldmVsb3BtZW50IHNlcnZlcnNcbmNvbnN0IERFRkFVTFRfTE9DQUxfUE9SVCA9IDMwMDA7XG5cbmZ1bmN0aW9uIHJlc29sdmVMb2NhbEJhc2VVcmwoXG4gIGV4cGxpY2l0UG9ydDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBkZXRlY3RlZFBvcnQ6IG51bWJlciB8IHVuZGVmaW5lZFxuKTogc3RyaW5nIHtcbiAgaWYgKGV4cGxpY2l0UG9ydCkge1xuICAgIHJldHVybiBgaHR0cDovL2xvY2FsaG9zdDoke2V4cGxpY2l0UG9ydH1gO1xuICB9XG4gIGlmIChwcm9jZXNzLmVudi5XT1JLRkxPV19MT0NBTF9CQVNFX1VSTCkge1xuICAgIHJldHVybiBwcm9jZXNzLmVudi5XT1JLRkxPV19MT0NBTF9CQVNFX1VSTDtcbiAgfVxuICBpZiAocHJvY2Vzcy5lbnYuUE9SVCkge1xuICAgIHJldHVybiBgaHR0cDovL2xvY2FsaG9zdDoke3Byb2Nlc3MuZW52LlBPUlR9YDtcbiAgfVxuICBpZiAoZGV0ZWN0ZWRQb3J0KSB7XG4gICAgcmV0dXJuIGBodHRwOi8vbG9jYWxob3N0OiR7ZGV0ZWN0ZWRQb3J0fWA7XG4gIH1cbiAgLy8gRmFsbCBiYWNrIHRvIGRlZmF1bHQgcG9ydCAzMDAwIChjb21tb24gZm9yIE5leHQuanMsIE51eHQsIGV0Yy4pXG4gIHJldHVybiBgaHR0cDovL2xvY2FsaG9zdDoke0RFRkFVTFRfTE9DQUxfUE9SVH1gO1xufVxuXG5hc3luYyBmdW5jdGlvbiB0ZXN0SHR0cEhlYWx0aEVuZHBvaW50KFxuICBiYXNlVXJsOiBzdHJpbmcsXG4gIHZlcmJvc2U6IGJvb2xlYW5cbik6IFByb21pc2U8eyBvazogYm9vbGVhbjsgc3RhdHVzPzogbnVtYmVyOyBlcnJvcj86IHN0cmluZyB9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgaGVhbHRoVXJsID0gYCR7YmFzZVVybH0vLndlbGwta25vd24vd29ya2Zsb3cvdjEvZmxvdz9fX2hlYWx0aGA7XG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgVGVzdGluZyBIVFRQIGhlYWx0aCBhdDogJHtoZWFsdGhVcmx9YCk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goaGVhbHRoVXJsLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCg1MDAwKSxcbiAgICB9KTtcbiAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgIHJldHVybiB7IG9rOiB0cnVlLCBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyB9O1xuICAgIH1cbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBIVFRQIGhlYWx0aCBjaGVjayByZXR1cm5lZCBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xuICAgIH1cbiAgICByZXR1cm4geyBvazogZmFsc2UsIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzIH07XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiBTdHJpbmcoZXJyKTtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBIVFRQIGhlYWx0aCBjaGVjayBmYWlsZWQ6ICR7ZXJyb3JNZXNzYWdlfWApO1xuICAgIH1cbiAgICByZXR1cm4geyBvazogZmFsc2UsIGVycm9yOiBlcnJvck1lc3NhZ2UgfTtcbiAgfVxufVxuXG4vKipcbiAqIEZvciBsb2NhbCBiYWNrZW5kLCB2ZXJpZnkgdGhlIHNlcnZlciBpcyBhY2Nlc3NpYmxlIGJlZm9yZSBhdHRlbXB0aW5nIGhlYWx0aCBjaGVjay5cbiAqIFJldHVybnMgdGhlIGJhc2UgVVJMIGlmIGFjY2Vzc2libGUsIG9yIHRocm93cyBhbiBlcnJvciB3aXRoIGEgaGVscGZ1bCBtZXNzYWdlLlxuICovXG5hc3luYyBmdW5jdGlvbiB2ZXJpZnlMb2NhbFNlcnZlckFjY2Vzc2libGUoXG4gIHZlcmJvc2U6IGJvb2xlYW4sXG4gIGV4cGxpY2l0UG9ydD86IG51bWJlclxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgZGV0ZWN0ZWRQb3J0ID0gZXhwbGljaXRQb3J0ID8/IChhd2FpdCBnZXRXb3JrZmxvd1BvcnQoKSk7XG5cbiAgaWYgKHZlcmJvc2UpIHtcbiAgICBsb2dQb3J0RGV0ZWN0aW9uRGVidWcoZXhwbGljaXRQb3J0LCBkZXRlY3RlZFBvcnQpO1xuICB9XG5cbiAgY29uc3QgYmFzZVVybCA9IHJlc29sdmVMb2NhbEJhc2VVcmwoZXhwbGljaXRQb3J0LCBkZXRlY3RlZFBvcnQpO1xuXG4gIGlmICh2ZXJib3NlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBSZXNvbHZlZCBiYXNlIFVSTDogJHtiYXNlVXJsfWApO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGVzdEh0dHBIZWFsdGhFbmRwb2ludChiYXNlVXJsLCB2ZXJib3NlKTtcbiAgaWYgKHJlc3VsdC5vaykge1xuICAgIHJldHVybiBiYXNlVXJsO1xuICB9XG5cbiAgY29uc3QgcG9ydEhpbnQgPVxuICAgIGJhc2VVcmwgPT09IGBodHRwOi8vbG9jYWxob3N0OiR7REVGQVVMVF9MT0NBTF9QT1JUfWBcbiAgICAgID8gJ0lmIHlvdXIgc2VydmVyIHJ1bnMgb24gYSBkaWZmZXJlbnQgcG9ydCwgdXNlIC0tcG9ydCA8cG9ydD4gb3Igc2V0IFdPUktGTE9XX0xPQ0FMX0JBU0VfVVJMJ1xuICAgICAgOiBgSGludDogVXNlIC0tcG9ydCA8cG9ydD4gb3Igc2V0IFdPUktGTE9XX0xPQ0FMX0JBU0VfVVJMPWh0dHA6Ly9sb2NhbGhvc3Q6PHBvcnQ+YDtcbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgIGBDYW5ub3QgcmVhY2ggbG9jYWwgc2VydmVyIGF0ICR7YmFzZVVybH0uIE1ha2Ugc3VyZSB5b3VyIGRldmVsb3BtZW50IHNlcnZlciBpcyBydW5uaW5nLlxcbmAgK1xuICAgICAgcG9ydEhpbnRcbiAgKTtcbn1cblxuZnVuY3Rpb24gaXNMb2NhbEJhY2tlbmQoYmFja2VuZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBiYWNrZW5kID09PSAnbG9jYWwnIHx8IGJhY2tlbmQgPT09ICdAd29ya2Zsb3cvd29ybGQtbG9jYWwnO1xufVxuXG5mdW5jdGlvbiBsb2dXb3JsZENvbmZpZygpOiB2b2lkIHtcbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGBEYXRhIGRpcmVjdG9yeTogJHtwcm9jZXNzLmVudi5XT1JLRkxPV19MT0NBTF9EQVRBX0RJUiB8fCAnKG5vdCBzZXQpJ31gXG4gICk7XG4gIGxvZ2dlci5kZWJ1ZyhcbiAgICBgQmFzZSBVUkw6ICR7cHJvY2Vzcy5lbnYuV09SS0ZMT1dfTE9DQUxfQkFTRV9VUkwgfHwgJyhub3Qgc2V0KSd9YFxuICApO1xuICBsb2dnZXIuZGVidWcoYFBPUlQ6ICR7cHJvY2Vzcy5lbnYuUE9SVCB8fCAnKG5vdCBzZXQpJ31gKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuSGVhbHRoQ2hlY2tXaXRoTG9nZ2luZyhcbiAgaGVhbHRoQ2hlY2s6IChcbiAgICB3b3JsZDogYW55LFxuICAgIG9wdGlvbnM6IHsgdGltZW91dDogbnVtYmVyIH1cbiAgKSA9PiBQcm9taXNlPEhlYWx0aENoZWNrUmVzdWx0PixcbiAgd29ybGQ6IGFueSxcbiAgdGltZW91dDogbnVtYmVyLFxuICB2ZXJib3NlOiBib29sZWFuXG4pOiBQcm9taXNlPEhlYWx0aENoZWNrUmVzdWx0PiB7XG4gIHRyeSB7XG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygnU3RhcnRpbmcgaGVhbHRoIGNoZWNrIGZvciB3b3JrZmxvdyBlbmRwb2ludC4uLicpO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBoZWFsdGhDaGVjayh3b3JsZCwgeyB0aW1lb3V0IH0pO1xuICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgIGBXb3JrZmxvdyBoZWFsdGggY2hlY2sgY29tcGxldGVkOiAke0pTT04uc3RyaW5naWZ5KHJlc3VsdCl9YFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgV29ya2Zsb3cgaGVhbHRoIGNoZWNrIHRocmV3OiAke2Vycm9yTWVzc2FnZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlYWx0aHk6IGZhbHNlLFxuICAgICAgZXJyb3I6IGVycm9yTWVzc2FnZSB8fCAnVW5rbm93biBlcnJvciBkdXJpbmcgaGVhbHRoIGNoZWNrJyxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEhlYWx0aCBleHRlbmRzIEJhc2VDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID1cbiAgICAnQ2hlY2sgdGhlIHdvcmtmbG93IGVuZHBvaW50IHZpYSBhIHF1ZXVlLWJhc2VkIGhlYWx0aCBjaGVjayc7XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgICckIHdvcmtmbG93IGhlYWx0aCcsXG4gICAgJyQgd29ya2Zsb3cgaGVhbHRoIC0tdGltZW91dCA2MDAwMCcsXG4gICAgJyQgd29ya2Zsb3cgaGVhbHRoIC0tYmFja2VuZCB2ZXJjZWwgLS1wcm9qZWN0IG15LXByb2plY3QgLS10ZWFtIG15LXRlYW0nLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICB0aW1lb3V0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICAgIGNoYXI6ICd0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGltZW91dCBpbiBtaWxsaXNlY29uZHMgZm9yIGhlYWx0aCBjaGVjaycsXG4gICAgICBkZWZhdWx0OiAzMDAwMCxcbiAgICAgIGhlbHBHcm91cDogJ0hlYWx0aCBDaGVjaycsXG4gICAgICBoZWxwTGFiZWw6ICctdCwgLS10aW1lb3V0JyxcbiAgICAgIGhlbHBWYWx1ZTogJ01TJyxcbiAgICB9KSxcbiAgICBwb3J0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICAgIGNoYXI6ICdwJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnTG9jYWwgc2VydmVyIHBvcnQgKGZvciBsb2NhbCBiYWNrZW5kKScsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6ICdIZWFsdGggQ2hlY2snLFxuICAgICAgaGVscExhYmVsOiAnLXAsIC0tcG9ydCcsXG4gICAgICBoZWxwVmFsdWU6ICdQT1JUJyxcbiAgICB9KSxcbiAgICAvLyBJbmNsdWRlIHJlbGV2YW50IGZsYWdzIGZyb20gY2xpRmxhZ3MgKGV4Y2x1ZGluZyBvbmVzIG5vdCByZWxldmFudCB0byBoZWFsdGggY2hlY2spXG4gICAgdmVyYm9zZTogY2xpRmxhZ3MudmVyYm9zZSxcbiAgICBqc29uOiBjbGlGbGFncy5qc29uLFxuICAgIGJhY2tlbmQ6IGNsaUZsYWdzLmJhY2tlbmQsXG4gICAgYXV0aFRva2VuOiBjbGlGbGFncy5hdXRoVG9rZW4sXG4gICAgcHJvamVjdDogY2xpRmxhZ3MucHJvamVjdCxcbiAgICB0ZWFtOiBjbGlGbGFncy50ZWFtLFxuICAgIGVudjogY2xpRmxhZ3MuZW52LFxuICB9IGFzIGNvbnN0O1xuXG4gIGFzeW5jIGNhdGNoKGVycm9yOiBhbnkpIHtcbiAgICBoYW5kbGVIZWFsdGhDaGVja0Vycm9yKGVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBmbGFncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShIZWFsdGgpO1xuXG4gICAgLy8gRm9yIGxvY2FsIGJhY2tlbmQsIHNldCB1cCBwb3J0IGNvbmZpZ3VyYXRpb24gZWFybHlcbiAgICBpZiAoaXNMb2NhbEJhY2tlbmQoZmxhZ3MuYmFja2VuZCkpIHtcbiAgICAgIC8vIElmIHVzZXIgc3BlY2lmaWVzIGEgcG9ydCwgc2V0IHRoZSBlbnYgdmFyIHNvIHRoZSBXb3JsZCB1c2VzIGl0XG4gICAgICBpZiAoZmxhZ3MucG9ydCkge1xuICAgICAgICBwcm9jZXNzLmVudi5XT1JLRkxPV19MT0NBTF9CQVNFX1VSTCA9IGBodHRwOi8vbG9jYWxob3N0OiR7ZmxhZ3MucG9ydH1gO1xuICAgICAgfVxuICAgICAgLy8gU2V0IGRlZmF1bHQgV09SS0ZMT1dfTE9DQUxfQkFTRV9VUkwgaWYgbm90IGFscmVhZHkgc2V0XG4gICAgICAvLyBXZSB1c2UgV09SS0ZMT1dfTE9DQUxfQkFTRV9VUkwgaW5zdGVhZCBvZiBQT1JUIHRvIGF2b2lkIGNvbmZsaWN0c1xuICAgICAgLy8gd2l0aCBvdGhlciB0b29scyAobGlrZSBOZXh0LmpzKSB0aGF0IGFsc28gdXNlIHRoZSBQT1JUIGVudiB2YXJcbiAgICAgIGlmICghcHJvY2Vzcy5lbnYuV09SS0ZMT1dfTE9DQUxfQkFTRV9VUkwgJiYgIXByb2Nlc3MuZW52LlBPUlQpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuV09SS0ZMT1dfTE9DQUxfQkFTRV9VUkwgPSBgaHR0cDovL2xvY2FsaG9zdDoke0RFRkFVTFRfTE9DQUxfUE9SVH1gO1xuICAgICAgfVxuXG4gICAgICAvLyBWZXJpZnkgdGhlIHNlcnZlciBpcyBhY2Nlc3NpYmxlIGJlZm9yZSBwcm9jZWVkaW5nXG4gICAgICBjb25zdCBhY2Nlc3NpYmxlID0gYXdhaXQgdGhpcy52ZXJpZnlMb2NhbFNlcnZlcihcbiAgICAgICAgZmxhZ3MuanNvbixcbiAgICAgICAgZmxhZ3MudmVyYm9zZSxcbiAgICAgICAgZmxhZ3MucG9ydFxuICAgICAgKTtcbiAgICAgIGlmICghYWNjZXNzaWJsZSkge1xuICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgd29ybGQgPSBhd2FpdCBzZXR1cENsaVdvcmxkKGZsYWdzLCB0aGlzLmNvbmZpZy52ZXJzaW9uKTtcbiAgICBpZiAoIXdvcmxkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdGYWlsZWQgdG8gY29ubmVjdCB0byBiYWNrZW5kLiBDaGVjayB5b3VyIGNvbmZpZ3VyYXRpb24uJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGhlYWx0aENoZWNrIH0gPSBhd2FpdCBpbXBvcnQoJ0B3b3JrZmxvdy9jb3JlL3J1bnRpbWUnKTtcblxuICAgIGlmICghZmxhZ3MuanNvbikge1xuICAgICAgY29uc3QgYmFja2VuZE5hbWUgPVxuICAgICAgICBmbGFncy5iYWNrZW5kID09PSAnbG9jYWwnID8gJ2xvY2FsIHNlcnZlcicgOiBmbGFncy5iYWNrZW5kO1xuICAgICAgbG9nZ2VyLmxvZyhcbiAgICAgICAgY2hhbGsuZ3JheShgUnVubmluZyBxdWV1ZS1iYXNlZCBoZWFsdGggY2hlY2sgYWdhaW5zdCAke2JhY2tlbmROYW1lfS4uLmApXG4gICAgICApO1xuICAgICAgbG9nZ2VyLmxvZygnJyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jaGVja0VuZHBvaW50KGhlYWx0aENoZWNrLCB3b3JsZCwge1xuICAgICAgdGltZW91dDogZmxhZ3MudGltZW91dCxcbiAgICAgIGpzb246IGZsYWdzLmpzb24sXG4gICAgICB2ZXJib3NlOiBmbGFncy52ZXJib3NlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5vdXRwdXRSZXN1bHRzKFtyZXN1bHRdLCBmbGFncy5qc29uLCBmbGFncy5iYWNrZW5kKTtcblxuICAgIHByb2Nlc3MuZXhpdChyZXN1bHQuaGVhbHRoeSA/IDAgOiAxKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdmVyaWZ5TG9jYWxTZXJ2ZXIoXG4gICAganNvbk1vZGU6IGJvb2xlYW4sXG4gICAgdmVyYm9zZTogYm9vbGVhbixcbiAgICBwb3J0PzogbnVtYmVyXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghanNvbk1vZGUpIHtcbiAgICAgIGxvZ2dlci5sb2coY2hhbGsuZ3JheSgnQ2hlY2tpbmcgbG9jYWwgc2VydmVyIGFjY2Vzc2liaWxpdHkuLi4nKSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBiYXNlVXJsID0gYXdhaXQgdmVyaWZ5TG9jYWxTZXJ2ZXJBY2Nlc3NpYmxlKHZlcmJvc2UsIHBvcnQpO1xuICAgICAgaWYgKCFqc29uTW9kZSkge1xuICAgICAgICBsb2dnZXIubG9nKGNoYWxrLmdyZWVuKGAgIOKckyBMb2NhbCBzZXJ2ZXIgYWNjZXNzaWJsZSBhdCAke2Jhc2VVcmx9YCkpO1xuICAgICAgICBsb2dnZXIubG9nKCcnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG4gICAgICBpZiAoanNvbk1vZGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgcmVzdWx0czogW10sXG4gICAgICAgICAgICBhbGxIZWFsdGh5OiBmYWxzZSxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tFbmRwb2ludChcbiAgICBoZWFsdGhDaGVjazogKFxuICAgICAgd29ybGQ6IGFueSxcbiAgICAgIG9wdGlvbnM6IHsgdGltZW91dDogbnVtYmVyIH1cbiAgICApID0+IFByb21pc2U8SGVhbHRoQ2hlY2tSZXN1bHQ+LFxuICAgIHdvcmxkOiBhbnksXG4gICAgZmxhZ3M6IHsgdGltZW91dDogbnVtYmVyOyBqc29uOiBib29sZWFuOyB2ZXJib3NlOiBib29sZWFuIH1cbiAgKTogUHJvbWlzZTxFbmRwb2ludEhlYWx0aFJlc3VsdD4ge1xuICAgIGlmIChmbGFncy52ZXJib3NlKSB7XG4gICAgICBsb2dXb3JsZENvbmZpZygpO1xuICAgIH1cblxuICAgIGlmICghZmxhZ3MuanNvbikge1xuICAgICAgbG9nZ2VyLmxvZygnQ2hlY2tpbmcgd29ya2Zsb3cgZW5kcG9pbnQuLi4nKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBydW5IZWFsdGhDaGVja1dpdGhMb2dnaW5nKFxuICAgICAgaGVhbHRoQ2hlY2ssXG4gICAgICB3b3JsZCxcbiAgICAgIGZsYWdzLnRpbWVvdXQsXG4gICAgICBmbGFncy52ZXJib3NlXG4gICAgKTtcblxuICAgIGlmICghZmxhZ3MuanNvbikge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHJlc3VsdC5oZWFsdGh5XG4gICAgICAgID8gZm9ybWF0SGVhbHRoeVJlc3VsdChyZXN1bHQubGF0ZW5jeU1zID8/IDApXG4gICAgICAgIDogZm9ybWF0VW5oZWFsdGh5UmVzdWx0KHJlc3VsdC5lcnJvcik7XG4gICAgICBsb2dnZXIubG9nKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBlbmRwb2ludDogJ3dvcmtmbG93JyxcbiAgICAgIGhlYWx0aHk6IHJlc3VsdC5oZWFsdGh5LFxuICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvcixcbiAgICAgIGxhdGVuY3lNczogcmVzdWx0LmxhdGVuY3lNcyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBvdXRwdXRSZXN1bHRzKFxuICAgIHJlc3VsdHM6IEVuZHBvaW50SGVhbHRoUmVzdWx0W10sXG4gICAganNvbk1vZGU6IGJvb2xlYW4sXG4gICAgYmFja2VuZDogc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIGlmIChqc29uTW9kZSkge1xuICAgICAgY29uc3QganNvbk91dHB1dCA9IHtcbiAgICAgICAgcmVzdWx0cyxcbiAgICAgICAgYWxsSGVhbHRoeTogcmVzdWx0cy5ldmVyeSgocikgPT4gci5oZWFsdGh5KSxcbiAgICAgIH07XG4gICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uT3V0cHV0LCBudWxsLCAyKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByaW50U3VtbWFyeShyZXN1bHRzLCBiYWNrZW5kKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlSGVhbHRoQ2hlY2tFcnJvcihlcnJvcjogYW55KTogbmV2ZXIge1xuICBpZiAoZXJyb3I/LnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgbG9nZ2VyLmVycm9yKFZFUkNFTF80MDNfRVJST1JfTUVTU0FHRSk7XG4gIH0gZWxzZSBpZiAoTE9HR0lOR19DT05GSUcuVkVSQk9TRV9NT0RFKSB7XG4gICAgbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvcj8ubWVzc2FnZSB8fCBTdHJpbmcoZXJyb3IpIHx8ICdVbmtub3duIGVycm9yJztcbiAgICBsb2dnZXIuZXJyb3IoYEVycm9yOiAke2Vycm9yTWVzc2FnZX1gKTtcbiAgfVxuICBwcm9jZXNzLmV4aXQoMSk7XG59XG4iXX0=
|
|
@@ -22,6 +22,7 @@ export default class Inspect extends BaseCommand {
|
|
|
22
22
|
readonly webPort: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
23
|
readonly noBrowser: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
24
|
readonly localUi: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
25
|
+
readonly standalone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
25
26
|
readonly sort: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
27
|
readonly limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
28
|
readonly interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAuBzC,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAC,WAAW,SAA6C;IAE/D,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAOb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IAgBtB,MAAM,CAAC,IAAI;;;MA+BA;IAEX,MAAM,CAAC,KAAK
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAuBzC,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAC,WAAW,SAA6C;IAE/D,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAOb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IAgBtB,MAAM,CAAC,IAAI;;;MA+BA;IAEX,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8ED;IAEE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwHlC"}
|
package/dist/commands/start.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export default class Start extends BaseCommand {
|
|
|
21
21
|
webPort: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
22
|
noBrowser: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
23
23
|
localUi: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
|
+
standalone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
25
|
sort: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
26
|
limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
27
|
interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAUzC,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,MAAM,CAAC,WAAW,SAAsB;IAExC,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAGb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IAUtB,MAAM,CAAC,IAAI;;;MAaA;IAEX,MAAM,CAAC,KAAK
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAUzC,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,MAAM,CAAC,WAAW,SAAsB;IAExC,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAGb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IAUtB,MAAM,CAAC,IAAI;;;MAaA;IAEX,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;MAAY;IAEX,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBlC"}
|
package/dist/commands/web.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export default class Web extends BaseCommand {
|
|
|
21
21
|
readonly webPort: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
22
|
readonly noBrowser: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
23
23
|
readonly localUi: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
|
+
readonly standalone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
25
|
readonly sort: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
26
|
readonly limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
27
|
readonly interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW;IAC1C,MAAM,CAAC,WAAW,SAA8C;IAEhE,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAIb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IActB,MAAM,CAAC,IAAI;;MAKA;IAEX,MAAM,CAAC,KAAK
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW;IAC1C,MAAM,CAAC,WAAW,SAA8C;IAEhE,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAIb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IActB,MAAM,CAAC,IAAI;;MAKA;IAEX,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;MAGD;IAEE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwBlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-config.d.ts","sourceRoot":"","sources":["../../../src/lib/config/workflow-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow-config.d.ts","sourceRoot":"","sources":["../../../src/lib/config/workflow-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAY9D,eAAO,MAAM,iBAAiB,GAC5B,qCAGG;IACD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAG3B,mBAeF,CAAC"}
|
|
@@ -15,7 +15,7 @@ export const getWorkflowConfig = ({ buildTarget, workflowManifest, } = {
|
|
|
15
15
|
dirs: ['./workflows'],
|
|
16
16
|
workingDir: resolveObservabilityCwd(),
|
|
17
17
|
buildTarget: buildTarget,
|
|
18
|
-
stepsBundlePath: './.well-known/workflow/v1/
|
|
18
|
+
stepsBundlePath: './.well-known/workflow/v1/__step_registrations.mjs',
|
|
19
19
|
workflowsBundlePath: './.well-known/workflow/v1/flow.mjs',
|
|
20
20
|
webhookBundlePath: './.well-known/workflow/v1/webhook.mjs',
|
|
21
21
|
workflowManifestPath: workflowManifest,
|
|
@@ -24,4 +24,4 @@ export const getWorkflowConfig = ({ buildTarget, workflowManifest, } = {
|
|
|
24
24
|
};
|
|
25
25
|
return config;
|
|
26
26
|
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25maWcvd29ya2Zsb3ctY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHcEMsU0FBUyx1QkFBdUI7SUFDOUIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQztJQUNuRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDVCxPQUFPLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBQ0Qsc0VBQXNFO0lBQ3RFLG9DQUFvQztJQUNwQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLEVBQ0UsV0FBVyxFQUNYLGdCQUFnQixNQUlkO0lBQ0YsV0FBVyxFQUFFLFlBQVk7Q0FDMUIsRUFDRCxFQUFFO0lBQ0YsTUFBTSxNQUFNLEdBQW1CO1FBQzdCLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNyQixVQUFVLEVBQUUsdUJBQXVCLEVBQUU7UUFDckMsV0FBVyxFQUFFLFdBQTBCO1FBQ3ZDLGVBQWUsRUFBRSxvREFBb0Q7UUFDckUsbUJBQW1CLEVBQUUsb0NBQW9DO1FBQ3pELGlCQUFpQixFQUFFLHVDQUF1QztRQUMxRCxvQkFBb0IsRUFBRSxnQkFBZ0I7UUFFdEMsbUVBQW1FO1FBQ25FLG9EQUFvRDtLQUNyRCxDQUFDO0lBQ0YsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgdHlwZSB7IEJ1aWxkVGFyZ2V0LCBXb3JrZmxvd0NvbmZpZyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5mdW5jdGlvbiByZXNvbHZlT2JzZXJ2YWJpbGl0eUN3ZCgpOiBzdHJpbmcge1xuICBjb25zdCByYXcgPSBwcm9jZXNzLmVudi5XT1JLRkxPV19PQlNFUlZBQklMSVRZX0NXRDtcbiAgaWYgKCFyYXcpIHtcbiAgICByZXR1cm4gcHJvY2Vzcy5jd2QoKTtcbiAgfVxuICAvLyBBbGxvdyByZWxhdGl2ZSBwYXRoczsgcmVzb2x2ZSByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBwcm9jZXNzLmN3ZCgpXG4gIC8vIChpLmUuIHdoZXJlIHRoZSBDTEkgd2FzIGludm9rZWQpLlxuICByZXR1cm4gcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCByYXcpO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0V29ya2Zsb3dDb25maWcgPSAoXG4gIHtcbiAgICBidWlsZFRhcmdldCxcbiAgICB3b3JrZmxvd01hbmlmZXN0LFxuICB9OiB7XG4gICAgYnVpbGRUYXJnZXQ/OiBCdWlsZFRhcmdldDtcbiAgICB3b3JrZmxvd01hbmlmZXN0Pzogc3RyaW5nO1xuICB9ID0ge1xuICAgIGJ1aWxkVGFyZ2V0OiAnc3RhbmRhbG9uZScsXG4gIH1cbikgPT4ge1xuICBjb25zdCBjb25maWc6IFdvcmtmbG93Q29uZmlnID0ge1xuICAgIGRpcnM6IFsnLi93b3JrZmxvd3MnXSxcbiAgICB3b3JraW5nRGlyOiByZXNvbHZlT2JzZXJ2YWJpbGl0eUN3ZCgpLFxuICAgIGJ1aWxkVGFyZ2V0OiBidWlsZFRhcmdldCBhcyBCdWlsZFRhcmdldCxcbiAgICBzdGVwc0J1bmRsZVBhdGg6ICcuLy53ZWxsLWtub3duL3dvcmtmbG93L3YxL19fc3RlcF9yZWdpc3RyYXRpb25zLm1qcycsXG4gICAgd29ya2Zsb3dzQnVuZGxlUGF0aDogJy4vLndlbGwta25vd24vd29ya2Zsb3cvdjEvZmxvdy5tanMnLFxuICAgIHdlYmhvb2tCdW5kbGVQYXRoOiAnLi8ud2VsbC1rbm93bi93b3JrZmxvdy92MS93ZWJob29rLm1qcycsXG4gICAgd29ya2Zsb3dNYW5pZmVzdFBhdGg6IHdvcmtmbG93TWFuaWZlc3QsXG5cbiAgICAvLyBXSVA6IGdlbmVyYXRlIGEgY2xpZW50IGxpYnJhcnkgdG8gZWFzaWx5IGV4ZWN1dGUgd29ya2Zsb3dzL3N0ZXBzXG4gICAgLy8gY2xpZW50QnVuZGxlUGF0aDogJy4vbGliL2dlbmVyYXRlZC93b3JrZmxvd3MuanMnLFxuICB9O1xuICByZXR1cm4gY29uZmlnO1xufTtcbiJdfQ==
|
|
@@ -11,6 +11,7 @@ export declare const cliFlags: {
|
|
|
11
11
|
webPort: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
12
|
noBrowser: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
13
|
localUi: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
standalone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
15
|
sort: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
16
|
limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
17
|
interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/flags.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/flags.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;CAyJpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO;;CASnB,CAAC"}
|
|
@@ -113,6 +113,14 @@ export const cliFlags = {
|
|
|
113
113
|
helpGroup: 'Output',
|
|
114
114
|
helpLabel: '--localUi',
|
|
115
115
|
}),
|
|
116
|
+
standalone: Flags.boolean({
|
|
117
|
+
description: 'Always start the standalone web UI, even if an embedded dashboard (e.g. /_workflow) is already running',
|
|
118
|
+
required: false,
|
|
119
|
+
default: false,
|
|
120
|
+
env: 'WORKFLOW_STANDALONE_UI',
|
|
121
|
+
helpGroup: 'Output',
|
|
122
|
+
helpLabel: '--standalone',
|
|
123
|
+
}),
|
|
116
124
|
sort: Flags.string({
|
|
117
125
|
description: 'sort order for list commands',
|
|
118
126
|
required: false,
|
|
@@ -154,4 +162,4 @@ export const urlFlag = {
|
|
|
154
162
|
helpLabel: '--url',
|
|
155
163
|
}),
|
|
156
164
|
};
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luc3BlY3QvZmxhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDckIsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxHQUFHO1FBQ1QsU0FBUyxFQUFFLFFBQVE7UUFDbkIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsR0FBRyxFQUFFLE9BQU87UUFDWixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7SUFDRixJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNsQixXQUFXLEVBQUUsc0RBQXNEO1FBQ25FLFFBQVEsRUFBRSxLQUFLO1FBQ2YsSUFBSSxFQUFFLEdBQUc7UUFDVCxPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxRQUFRO1FBQ25CLFNBQVMsRUFBRSxZQUFZO0tBQ3hCLENBQUM7SUFDRixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNuQixXQUFXLEVBQUUscUNBQXFDO1FBQ2xELFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLEVBQUU7UUFDWCxTQUFTLEVBQUUsV0FBVztRQUN0QixTQUFTLEVBQUUsVUFBVTtRQUNyQixTQUFTLEVBQUUsUUFBUTtLQUNwQixDQUFDO0lBQ0YsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDcEIsV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxHQUFHO1FBQ1QsT0FBTyxFQUFFLE9BQU87UUFDaEIsR0FBRyxFQUFFLHVCQUF1QjtRQUM1QixTQUFTLEVBQUUsUUFBUTtRQUNuQixTQUFTLEVB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Y29yZSc7XG5cbmV4cG9ydCBjb25zdCBjbGlGbGFncyA9IHtcbiAgdmVyYm9zZTogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdWZXJib3NlIG91dHB1dCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICd2JyxcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy12LCAtLXZlcmJvc2UnLFxuICAgIGVudjogJ0RFQlVHJyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSksXG4gIGpzb246IEZsYWdzLmJvb2xlYW4oe1xuICAgIGRlc2NyaXB0aW9uOiAnb3V0cHV0IEpTT04gaW5zdGVhZCBvZiBodW1hbi1yZWFkYWJsZSB0YWJsZXMvc3RyZWFtcycsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICdqJyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy1qLCAtLWpzb24nLFxuICB9KSxcbiAgY3Vyc29yOiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOiAncGFnaW5hdGlvbiBjdXJzb3IgZm9yIGxpc3QgY29tbWFuZHMnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiAnJyxcbiAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgIGhlbHBMYWJlbDogJy0tY3Vyc29yJyxcbiAgICBoZWxwVmFsdWU6ICdDVVJTT1InLFxuICB9KSxcbiAgYmFja2VuZDogRmxhZ3Muc3RyaW5nKHtcbiAgICBkZXNjcmlwdGlvbjogJ2JhY2tlbmQgdG8gaW5zcGVjdCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICdiJyxcbiAgICBkZWZhdWx0OiAnbG9jYWwnLFxuICAgIGVudjogJ1dPUktGTE9XX1RBUkdFVF9XT1JMRCcsXG4gICAgaGVscEdyb3VwOiAnVGFyZ2V0JyxcbiAgICBoZWxwTGFiZWw6ICctYiwgLS1iYWNrZW5kJyxcbiAgICBoZWxwVmFsdWU6IFsnbG9jYWwnLCAndmVyY2VsJywgJzx5b3VyLXBhY2thZ2UtbmFtZT4nXSxcbiAgICBkZWZhdWx0SGVscDogJ2xvY2FsJyxcbiAgfSksXG4gIGF1dGhUb2tlbjogRmxhZ3Muc3RyaW5nKHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdBdXRoZW50aWNhdGlvbiB0b2tlbiB0byBiZSBwYXNzZWQgdG8gdGhlIGJhY2tlbmQuIElmIG5vdCBwcm92aWRlZCBhbmQgdGhlIGJhY2tlbmQgaXMgdmVyY2VsLCB3aWxsIGZhbGwgYmFjayB0byB0aGUgdG9rZW4gZ2VuZXJhdGVkIGJ5IGB2YyBsb2dpbmAuJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY2hhcjogJ2EnLFxuICAgIGRlcGVuZHNPbjogWydiYWNrZW5kJ10sXG4gICAgZGVmYXVsdDogJycsXG4gICAgZW52OiAnV09SS0ZMT1dfVkVSQ0VMX0FVVEhfVE9LRU4nLFxuICAgIGhlbHBHcm91cDogJ1RhcmdldCcsXG4gICAgaGVscExhYmVsOiAnLWEsIC0tYXV0aFRva2VuJyxcbiAgICBoZWxwVmFsdWU6ICdUT0tFTicsXG4gIH0pLFxuICBwcm9qZWN0OiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0lmIGJhY2tlbmQgaXMgdmVyY2VsLCB0aGUgdmVyY2VsIHByb2plY3QgdG8gYXV0aGVudGljYXRlIGFnYWluc3QnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiAnJyxcbiAgICBkZXBlbmRzT246IFsnYmFja2VuZCddLFxuICAgIGVudjogJ1dPUktGTE9XX1ZFUkNFTF9QUk9KRUNUJyxcbiAgICBoZWxwR3JvdXA6ICdUYXJnZXQnLFxuICAgIGhlbHBMYWJlbDogJy0tcHJvamVjdCcsXG4gICAgaGVscFZhbHVlOiAnUFJPSkVDVCcsXG4gIH0pLFxuICB0ZWFtOiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0lmIGJhY2tlbmQgaXMgdmVyY2VsLCB0aGUgdmVyY2VsIHRlYW0gdG8gYXV0aGVudGljYXRlIGFnYWluc3QnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXBlbmRzT246IFsnYmFja2VuZCddLFxuICAgIGRlZmF1bHQ6ICcnLFxuICAgIGVudjogJ1dPUktGTE9XX1ZFUkNFTF9URUFNJyxcbiAgICBoZWxwR3JvdXA6ICdUYXJnZXQnLFxuICAgIGhlbHBMYWJlbDogJy0tdGVhbScsXG4gICAgaGVscFZhbHVlOiAnVEVBTScsXG4gIH0pLFxuICBlbnY6IEZsYWdzLnN0cmluZyh7XG4gICAgZGVzY3JpcHRpb246ICdJZiBiYWNrZW5kIGlzIHZlcmNlbCwgdGhlIHZlcmNlbCBlbnZpcm9ubWVudCB0byB1c2UnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBvcHRpb25zOiBbJ3Byb2R1Y3Rpb24nLCAncHJldmlldyddLFxuICAgIGRlZmF1bHQ6ICdwcm9kdWN0aW9uJyxcbiAgICBjaGFyOiAnZScsXG4gICAgZGVwZW5kc09uOiBbJ2JhY2tlbmQnXSxcbiAgICBlbnY6ICdXT1JLRkxPV19WRVJDRUxfRU5WJyxcbiAgICBoZWxwR3JvdXA6ICdUYXJnZXQnLFxuICAgIGhlbHBMYWJlbDogJy1lLCAtLWVudicsXG4gICAgaGVscFZhbHVlOiBbJ3Byb2R1Y3Rpb24nLCAncHJldmlldyddLFxuICAgIGRlZmF1bHRIZWxwOiAncHJvZHVjdGlvbicsXG4gIH0pLFxuICB3ZWI6IEZsYWdzLmJvb2xlYW4oe1xuICAgIGRlc2NyaXB0aW9uOiAnT3BlbiB0aGUgd2ViIFVJIGluc3RlYWQgb2YgZGlzcGxheWluZyBpbiB0ZXJtaW5hbCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICd3JyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy13LCAtLXdlYicsXG4gIH0pLFxuICB3ZWJQb3J0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICBkZXNjcmlwdGlvbjogJ1BvcnQgdG8gdXNlIHdoZW4gbGF1bmNoaW5nIHRoZSB3ZWIgVUkgKGRlZmF1bHQ6IDM0NTYpJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdDogMzQ1NixcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy0td2ViUG9ydCcsXG4gICAgaGVscFZhbHVlOiAnV0VCX1BPUlQnLFxuICAgIGVudjogJ1dPUktGTE9XX1dFQl9QT1JUJyxcbiAgfSksXG4gIG5vQnJvd3NlcjogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdEaXNhYmxlIGF1dG9tYXRpYyBicm93c2VyIG9wZW5pbmcgd2hlbiBsYXVuY2hpbmcgd2ViIFVJJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgZW52OiAnV09SS0ZMT1dfRElTQUJMRV9CUk9XU0VSX09QRU4nLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS1ub0Jyb3dzZXInLFxuICB9KSxcbiAgbG9jYWxVaTogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnVXNlIGxvY2FsIHdlYiBVSSBpbnN0ZWFkIG9mIFZlcmNlbCBkYXNoYm9hcmQgKHdoZW4gYmFja2VuZCBpcyB2ZXJjZWwpJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgZW52OiAnV09SS0ZMT1dfTE9DQUxfVUknLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS1sb2NhbFVpJyxcbiAgfSksXG4gIHNvcnQ6IEZsYWdzLnN0cmluZyh7XG4gICAgZGVzY3JpcHRpb246ICdzb3J0IG9yZGVyIGZvciBsaXN0IGNvbW1hbmRzJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgb3B0aW9uczogWydhc2MnLCAnZGVzYyddLFxuICAgIGRlZmF1bHQ6ICdkZXNjJyxcbiAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgIGhlbHBMYWJlbDogJy0tc29ydCcsXG4gICAgaGVscFZhbHVlOiBbJ2FzYycsICdkZXNjJ10sXG4gICAgZGVmYXVsdEhlbHA6ICdkZXNjJyxcbiAgfSksXG4gIGxpbWl0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICBkZXNjcmlwdGlvbjogJ251bWJlciBvZiBpdGVtcyB0byByZXR1cm4gcGVyIHBhZ2UnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiAyMCxcbiAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgIGhlbHBMYWJlbDogJy0tbGltaXQnLFxuICAgIGhlbHBWYWx1ZTogJ05VTUJFUicsXG4gIH0pLFxuICBpbnRlcmFjdGl2ZTogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdFbmFibGUgaW50ZXJhY3RpdmUgcGFnaW5hdGlvbiB3aXRoIGtleWJvYXJkIGNvbnRyb2xzJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY2hhcjogJ2knLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLWksIC0taW50ZXJhY3RpdmUnLFxuICB9KSxcbn07XG5cbi8qKlxuICogRmxhZyBmb3IgcHJpbnRpbmcgYSBzaGFyZWFibGUgZGVlcC1saW5rIFVSTCBpbnN0ZWFkIG9mIG9wZW5pbmcgdGhlIHdlYiBVSS5cbiAqIE9ubHkgcmVsZXZhbnQgdG8gY29tbWFuZHMgdGhhdCBjYW4gb3BlbiBhIGRhc2hib2FyZCAoYGluc3BlY3RgLCBgd2ViYCksIHNvIGl0XG4gKiBpcyBleHBvcnRlZCBzZXBhcmF0ZWx5IHJhdGhlciB0aGFuIGJ1bmRsZWQgaW50byBgY2xpRmxhZ3NgLlxuICovXG5leHBvcnQgY29uc3QgdXJsRmxhZyA9IHtcbiAgdXJsOiBGbGFncy5ib29sZWFuKHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdQcmludCB0aGUgZGVlcC1saW5rIFVSTCB0byB0aGUgcnVuL2Rhc2hib2FyZCBhbmQgZXhpdCAobm8gYnJvd3Nlciwgbm8gc2VydmVyKScsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS11cmwnLFxuICB9KSxcbn07XG4iXX0=
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luc3BlY3QvZmxhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDckIsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxHQUFHO1FBQ1QsU0FBUyxFQUFFLFFBQVE7UUFDbkIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsR0FBRyxFQUFFLE9BQU87UUFDWixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7SUFDRixJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNsQixXQUFXLEVBQUUsc0RBQXNEO1FBQ25FLFFBQVEsRUFBRSxLQUFLO1FBQ2YsSUFBSSxFQUFFLEdBQUc7UUFDVCxPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxRQUFRO1FBQ25CLFNBQVMsRUFBRSxZQUFZO0tBQ3hCLENBQUM7SUFDRixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNuQixXQUFXLEVBQUUscUNBQXFDO1FBQ2xELFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLEVBQUU7UUFDWCxTQUFTLEVBQUUsV0FBVztRQUN0QixTQUFTLEVBQUUsVUFBVTtRQUNyQixTQUFTLEVBQUUsUUFBUTtLQUNwQixDQUFDO0lBQ0YsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDcEIsV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxHQUFHO1FBQ1QsT0FBTyxFQUFFLE9BQU87UUFDaEIsR0FBRyxFQUFFLHVCQUF1QjtRQUM1QixTQUFTLEVBQUUsUUFBUTtRQUNuQixTQUFTLEVB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Q2pCLFdBQVcsRUFDVCwrRUFBK0U7UUFDakYsUUFBUSxFQUFFLEtBQUs7UUFDZixPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxRQUFRO1FBQ25CLFNBQVMsRUFBRSxPQUFPO0tBQ25CLENBQUM7Q0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxhZ3MgfSBmcm9tICdAb2NsaWYvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBjbGlGbGFncyA9IHtcbiAgdmVyYm9zZTogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdWZXJib3NlIG91dHB1dCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICd2JyxcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy12LCAtLXZlcmJvc2UnLFxuICAgIGVudjogJ0RFQlVHJyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSksXG4gIGpzb246IEZsYWdzLmJvb2xlYW4oe1xuICAgIGRlc2NyaXB0aW9uOiAnb3V0cHV0IEpTT04gaW5zdGVhZCBvZiBodW1hbi1yZWFkYWJsZSB0YWJsZXMvc3RyZWFtcycsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICdqJyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy1qLCAtLWpzb24nLFxuICB9KSxcbiAgY3Vyc29yOiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOiAncGFnaW5hdGlvbiBjdXJzb3IgZm9yIGxpc3QgY29tbWFuZHMnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiAnJyxcbiAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgIGhlbHBMYWJlbDogJy0tY3Vyc29yJyxcbiAgICBoZWxwVmFsdWU6ICdDVVJTT1InLFxuICB9KSxcbiAgYmFja2VuZDogRmxhZ3Muc3RyaW5nKHtcbiAgICBkZXNjcmlwdGlvbjogJ2JhY2tlbmQgdG8gaW5zcGVjdCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICdiJyxcbiAgICBkZWZhdWx0OiAnbG9jYWwnLFxuICAgIGVudjogJ1dPUktGTE9XX1RBUkdFVF9XT1JMRCcsXG4gICAgaGVscEdyb3VwOiAnVGFyZ2V0JyxcbiAgICBoZWxwTGFiZWw6ICctYiwgLS1iYWNrZW5kJyxcbiAgICBoZWxwVmFsdWU6IFsnbG9jYWwnLCAndmVyY2VsJywgJzx5b3VyLXBhY2thZ2UtbmFtZT4nXSxcbiAgICBkZWZhdWx0SGVscDogJ2xvY2FsJyxcbiAgfSksXG4gIGF1dGhUb2tlbjogRmxhZ3Muc3RyaW5nKHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdBdXRoZW50aWNhdGlvbiB0b2tlbiB0byBiZSBwYXNzZWQgdG8gdGhlIGJhY2tlbmQuIElmIG5vdCBwcm92aWRlZCBhbmQgdGhlIGJhY2tlbmQgaXMgdmVyY2VsLCB3aWxsIGZhbGwgYmFjayB0byB0aGUgdG9rZW4gZ2VuZXJhdGVkIGJ5IGB2YyBsb2dpbmAuJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY2hhcjogJ2EnLFxuICAgIGRlcGVuZHNPbjogWydiYWNrZW5kJ10sXG4gICAgZGVmYXVsdDogJycsXG4gICAgZW52OiAnV09SS0ZMT1dfVkVSQ0VMX0FVVEhfVE9LRU4nLFxuICAgIGhlbHBHcm91cDogJ1RhcmdldCcsXG4gICAgaGVscExhYmVsOiAnLWEsIC0tYXV0aFRva2VuJyxcbiAgICBoZWxwVmFsdWU6ICdUT0tFTicsXG4gIH0pLFxuICBwcm9qZWN0OiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0lmIGJhY2tlbmQgaXMgdmVyY2VsLCB0aGUgdmVyY2VsIHByb2plY3QgdG8gYXV0aGVudGljYXRlIGFnYWluc3QnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiAnJyxcbiAgICBkZXBlbmRzT246IFsnYmFja2VuZCddLFxuICAgIGVudjogJ1dPUktGTE9XX1ZFUkNFTF9QUk9KRUNUJyxcbiAgICBoZWxwR3JvdXA6ICdUYXJnZXQnLFxuICAgIGhlbHBMYWJlbDogJy0tcHJvamVjdCcsXG4gICAgaGVscFZhbHVlOiAnUFJPSkVDVCcsXG4gIH0pLFxuICB0ZWFtOiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0lmIGJhY2tlbmQgaXMgdmVyY2VsLCB0aGUgdmVyY2VsIHRlYW0gdG8gYXV0aGVudGljYXRlIGFnYWluc3QnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXBlbmRzT246IFsnYmFja2VuZCddLFxuICAgIGRlZmF1bHQ6ICcnLFxuICAgIGVudjogJ1dPUktGTE9XX1ZFUkNFTF9URUFNJyxcbiAgICBoZWxwR3JvdXA6ICdUYXJnZXQnLFxuICAgIGhlbHBMYWJlbDogJy0tdGVhbScsXG4gICAgaGVscFZhbHVlOiAnVEVBTScsXG4gIH0pLFxuICBlbnY6IEZsYWdzLnN0cmluZyh7XG4gICAgZGVzY3JpcHRpb246ICdJZiBiYWNrZW5kIGlzIHZlcmNlbCwgdGhlIHZlcmNlbCBlbnZpcm9ubWVudCB0byB1c2UnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBvcHRpb25zOiBbJ3Byb2R1Y3Rpb24nLCAncHJldmlldyddLFxuICAgIGRlZmF1bHQ6ICdwcm9kdWN0aW9uJyxcbiAgICBjaGFyOiAnZScsXG4gICAgZGVwZW5kc09uOiBbJ2JhY2tlbmQnXSxcbiAgICBlbnY6ICdXT1JLRkxPV19WRVJDRUxfRU5WJyxcbiAgICBoZWxwR3JvdXA6ICdUYXJnZXQnLFxuICAgIGhlbHBMYWJlbDogJy1lLCAtLWVudicsXG4gICAgaGVscFZhbHVlOiBbJ3Byb2R1Y3Rpb24nLCAncHJldmlldyddLFxuICAgIGRlZmF1bHRIZWxwOiAncHJvZHVjdGlvbicsXG4gIH0pLFxuICB3ZWI6IEZsYWdzLmJvb2xlYW4oe1xuICAgIGRlc2NyaXB0aW9uOiAnT3BlbiB0aGUgd2ViIFVJIGluc3RlYWQgb2YgZGlzcGxheWluZyBpbiB0ZXJtaW5hbCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICd3JyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy13LCAtLXdlYicsXG4gIH0pLFxuICB3ZWJQb3J0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICBkZXNjcmlwdGlvbjogJ1BvcnQgdG8gdXNlIHdoZW4gbGF1bmNoaW5nIHRoZSB3ZWIgVUkgKGRlZmF1bHQ6IDM0NTYpJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdDogMzQ1NixcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy0td2ViUG9ydCcsXG4gICAgaGVscFZhbHVlOiAnV0VCX1BPUlQnLFxuICAgIGVudjogJ1dPUktGTE9XX1dFQl9QT1JUJyxcbiAgfSksXG4gIG5vQnJvd3NlcjogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdEaXNhYmxlIGF1dG9tYXRpYyBicm93c2VyIG9wZW5pbmcgd2hlbiBsYXVuY2hpbmcgd2ViIFVJJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgZW52OiAnV09SS0ZMT1dfRElTQUJMRV9CUk9XU0VSX09QRU4nLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS1ub0Jyb3dzZXInLFxuICB9KSxcbiAgbG9jYWxVaTogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnVXNlIGxvY2FsIHdlYiBVSSBpbnN0ZWFkIG9mIFZlcmNlbCBkYXNoYm9hcmQgKHdoZW4gYmFja2VuZCBpcyB2ZXJjZWwpJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgZW52OiAnV09SS0ZMT1dfTE9DQUxfVUknLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS1sb2NhbFVpJyxcbiAgfSksXG4gIHN0YW5kYWxvbmU6IEZsYWdzLmJvb2xlYW4oe1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0Fsd2F5cyBzdGFydCB0aGUgc3RhbmRhbG9uZSB3ZWIgVUksIGV2ZW4gaWYgYW4gZW1iZWRkZWQgZGFzaGJvYXJkIChlLmcuIC9fd29ya2Zsb3cpIGlzIGFscmVhZHkgcnVubmluZycsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIGVudjogJ1dPUktGTE9XX1NUQU5EQUxPTkVfVUknLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS1zdGFuZGFsb25lJyxcbiAgfSksXG4gIHNvcnQ6IEZsYWdzLnN0cmluZyh7XG4gICAgZGVzY3JpcHRpb246ICdzb3J0IG9yZGVyIGZvciBsaXN0IGNvbW1hbmRzJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgb3B0aW9uczogWydhc2MnLCAnZGVzYyddLFxuICAgIGRlZmF1bHQ6ICdkZXNjJyxcbiAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgIGhlbHBMYWJlbDogJy0tc29ydCcsXG4gICAgaGVscFZhbHVlOiBbJ2FzYycsICdkZXNjJ10sXG4gICAgZGVmYXVsdEhlbHA6ICdkZXNjJyxcbiAgfSksXG4gIGxpbWl0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICBkZXNjcmlwdGlvbjogJ251bWJlciBvZiBpdGVtcyB0byByZXR1cm4gcGVyIHBhZ2UnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiAyMCxcbiAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgIGhlbHBMYWJlbDogJy0tbGltaXQnLFxuICAgIGhlbHBWYWx1ZTogJ05VTUJFUicsXG4gIH0pLFxuICBpbnRlcmFjdGl2ZTogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdFbmFibGUgaW50ZXJhY3RpdmUgcGFnaW5hdGlvbiB3aXRoIGtleWJvYXJkIGNvbnRyb2xzJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY2hhcjogJ2knLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLWksIC0taW50ZXJhY3RpdmUnLFxuICB9KSxcbn07XG5cbi8qKlxuICogRmxhZyBmb3IgcHJpbnRpbmcgYSBzaGFyZWFibGUgZGVlcC1saW5rIFVSTCBpbnN0ZWFkIG9mIG9wZW5pbmcgdGhlIHdlYiBVSS5cbiAqIE9ubHkgcmVsZXZhbnQgdG8gY29tbWFuZHMgdGhhdCBjYW4gb3BlbiBhIGRhc2hib2FyZCAoYGluc3BlY3RgLCBgd2ViYCksIHNvIGl0XG4gKiBpcyBleHBvcnRlZCBzZXBhcmF0ZWx5IHJhdGhlciB0aGFuIGJ1bmRsZWQgaW50byBgY2xpRmxhZ3NgLlxuICovXG5leHBvcnQgY29uc3QgdXJsRmxhZyA9IHtcbiAgdXJsOiBGbGFncy5ib29sZWFuKHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdQcmludCB0aGUgZGVlcC1saW5rIFVSTCB0byB0aGUgcnVuL2Rhc2hib2FyZCBhbmQgZXhpdCAobm8gYnJvd3Nlciwgbm8gc2VydmVyKScsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS11cmwnLFxuICB9KSxcbn07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/hydration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAQL,KAAK,QAAQ,EAEd,MAAM,qCAAqC,CAAC;AAK7C;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAC7B,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,GACpD,IAAI,CAAC;AAGT,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,eAAe,EACf,KAAK,SAAS,EACd,UAAU,GACX,MAAM,qCAAqC,CAAC;AA8B7C;;;;;;GAMG;AACH,cAAM,gBAAgB;IACpB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM;IAI1B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;CAGnB;AAKD,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAExE;AAMD;;;;;;GAMG;AACH,cAAM,cAAc;IAClB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM;IAI1B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;CAGnB;AAKD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAEpE;AAwED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CA6DzC;
|
|
1
|
+
{"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/hydration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAQL,KAAK,QAAQ,EAEd,MAAM,qCAAqC,CAAC;AAK7C;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAC7B,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,GACpD,IAAI,CAAC;AAGT,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,eAAe,EACf,KAAK,SAAS,EACd,UAAU,GACX,MAAM,qCAAqC,CAAC;AA8B7C;;;;;;GAMG;AACH,cAAM,gBAAgB;IACpB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM;IAI1B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;CAGnB;AAKD,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAExE;AAMD;;;;;;GAMG;AACH,cAAM,cAAc;IAClB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM;IAI1B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;CAGnB;AAKD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAEpE;AAwED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CA6DzC;AAgID;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,QAAQ,EAAE,CAAC,EACX,WAAW,CAAC,EAAE,qBAAqB,GAClC,OAAO,CAAC,CAAC,CAAC,CASZ"}
|