@workflow/cli 5.0.0-beta.16 → 5.0.0-beta.18

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.
@@ -9,6 +9,7 @@ export default class Inspect extends BaseCommand {
9
9
  readonly id: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
10
10
  };
11
11
  static flags: {
12
+ readonly url: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
13
  readonly verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
14
  readonly json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
15
  readonly cursor: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmBzC,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;IActB,MAAM,CAAC,IAAI;;;MA+BA;IAEX,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;MA4DD;IAEE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiHlC"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmBzC,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;IActB,MAAM,CAAC,IAAI;;;MA+BA;IAEX,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;MA6DD;IAEE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwHlC"}
@@ -2,10 +2,10 @@ import { Args, Flags } from '@oclif/core';
2
2
  import { VERCEL_403_ERROR_MESSAGE } from '@workflow/errors';
3
3
  import { BaseCommand } from '../base.js';
4
4
  import { LOGGING_CONFIG, logger } from '../lib/config/log.js';
5
- import { cliFlags } from '../lib/inspect/flags.js';
5
+ import { cliFlags, urlFlag } from '../lib/inspect/flags.js';
6
6
  import { listEvents, listHooks, listRuns, listSleeps, listSteps, listStreamsByRunId, showHook, showRun, showStep, showStream, } from '../lib/inspect/output.js';
7
7
  import { setupCliWorld } from '../lib/inspect/setup.js';
8
- import { launchWebUI } from '../lib/inspect/web.js';
8
+ import { launchWebUI, printDeepLink } from '../lib/inspect/web.js';
9
9
  export default class Inspect extends BaseCommand {
10
10
  static description = 'Inspect runs, steps, streams, or events';
11
11
  static aliases = ['i'];
@@ -121,6 +121,7 @@ export default class Inspect extends BaseCommand {
121
121
  helpLabel: '--decrypt',
122
122
  }),
123
123
  ...cliFlags,
124
+ ...urlFlag,
124
125
  };
125
126
  async run() {
126
127
  try {
@@ -132,6 +133,12 @@ export default class Inspect extends BaseCommand {
132
133
  return;
133
134
  }
134
135
  const id = args.id;
136
+ // Print-only deep link: resolve config and emit the URL, no browser/server.
137
+ if (flags.url) {
138
+ const actualResource = resource === 'web' ? 'run' : resource;
139
+ await printDeepLink(actualResource, id, flags, this.config.version);
140
+ return;
141
+ }
135
142
  // For web mode, allow config errors so we can open the web UI for configuration
136
143
  const isWebMode = flags.web || resource === 'web';
137
144
  const world = await setupCliWorld(flags, this.config.version, isWebMode);
@@ -252,4 +259,4 @@ function normalizeResource(value) {
252
259
  return 'web';
253
260
  return undefined;
254
261
  }
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9pbnNwZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1Qsa0JBQWtCLEVBQ2xCLFFBQVEsRUFDUixPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsR0FDWCxNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsTUFBTSxDQUFDLE9BQU8sT0FBTyxPQUFRLFNBQVEsV0FBVztJQUM5QyxNQUFNLENBQUMsV0FBVyxHQUFHLHlDQUF5QyxDQUFDO0lBRS9ELE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV2QixNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLHlCQUF5QjtRQUN6Qix5QkFBeUI7UUFDekIsa0VBQWtFO1FBQ2xFLDBCQUEwQjtRQUMxQix5REFBeUQ7UUFDekQsa0VBQWtFO0tBQ25FLENBQUM7SUFFRixLQUFLLENBQUMsS0FBSyxDQUFDLEtBQVU7UUFDcEIsdURBQXVEO1FBQ3ZELElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztZ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TyxLQUFLLENBQUM7SUFDcEMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sT0FBTyxDQUFDO0lBQ3RDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUN6QyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQUUsT0FBTyxPQUFPLENBQUM7SUFDdkMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQ3JDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUNyQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDcEMsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFyZ3MsIEZsYWdzIH0gZnJvbSAnQG9jbGlmL2NvcmUnO1xuaW1wb3J0IHsgVkVSQ0VMXzQwM19FUlJPUl9NRVNTQUdFIH0gZnJvbSAnQHdvcmtmbG93L2Vycm9ycyc7XG5pbXBvcnQgeyBCYXNlQ29tbWFuZCB9IGZyb20gJy4uL2Jhc2UuanMnO1xuaW1wb3J0IHsgTE9HR0lOR19DT05GSUcsIGxvZ2dlciB9IGZyb20gJy4uL2xpYi9jb25maWcvbG9nLmpzJztcbmltcG9ydCB0eXBlIHsgSW5zcGVjdENMSU9wdGlvbnMgfSBmcm9tICcuLi9saWIvY29uZmlnL3R5cGVzLmpzJztcbmltcG9ydCB7IGNsaUZsYWdzIH0gZnJvbSAnLi4vbGliL2luc3BlY3QvZmxhZ3MuanMnO1xuaW1wb3J0IHtcbiAgbGlzdEV2ZW50cyxcbiAgbGlzdEhvb2tzLFxuICBsaXN0UnVucyxcbiAgbGlzdFNsZWVwcyxcbiAgbGlzdFN0ZXBzLFxuICBsaXN0U3RyZWFtc0J5UnVuSWQsXG4gIHNob3dIb29rLFxuICBzaG93UnVuLFxuICBzaG93U3RlcCxcbiAgc2hvd1N0cmVhbSxcbn0gZnJvbSAnLi4vbGliL2luc3BlY3Qvb3V0cHV0LmpzJztcbmltcG9ydCB7IHNldHVwQ2xpV29ybGQgfSBmcm9tICcuLi9saWIvaW5zcGVjdC9zZXR1cC5qcyc7XG5pbXBvcnQgeyBsYXVuY2hXZWJVSSB9IGZyb20gJy4uL2xpYi9pbnNwZWN0L3dlYi5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEluc3BlY3QgZXh0ZW5kcyBCYXNlQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9ICdJbnNwZWN0IHJ1bnMsIHN0ZXBzLCBzdHJlYW1zLCBvciBldmVudHMnO1xuXG4gIHN0YXRpYyBhbGlhc2VzID0gWydpJ107XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgICckIHdvcmtmbG93IGluc3BlY3QgcnVucycsXG4gICAgJyQgd29ya2Zsb3cgaW5zcGVjdCBydW5zJyxcbiAgICAnJCB3b3JrZmxvdyBpbnNwZWN0IGV2ZW50cyAtLXN0ZXA9c3RlcF8wMUs1V0FKWjhXMzY3Q1YyUkZLRFNETldCOCcsXG4gICAgJyQgd29ya2Zsb3cgaW5zcGVjdCBob29rcycsXG4gICAgJyQgd29ya2Zsb3cgaW5zcGVjdCBob29rIGhvb2tfMDFLNVdBSlo4VzM2N0NWMlJGS0RTRE5XQjgnLFxuICAgICckIHdvcmtmbG93IGluc3BlY3Qgc2xlZXBzIC0tcnVuSWQ9cnVuXzAxSzVXQUpaOFczNjdDVjJSRktEU0ROV0I4JyxcbiAgXTtcblxuICBhc3luYyBjYXRjaChlcnJvcjogYW55KSB7XG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIDQwMyBlcnJvciBmcm9tIHRoZSBWZXJjZWwgYmFja2VuZFxuICAgIGlmIChlcnJvcj8uc3RhdHVzID09PSA0MDMpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBWRVJDRUxfNDAzX0VSUk9SX01FU1NBR0U7XG4gICAgICBsb2dnZXIuZXJyb3IobWVzc2FnZSk7XG4gICAgfSBlbHNlIGlmIChMT0dHSU5HX0NPTkZJRy5WRVJCT1NFX01PREUpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yPy5tZXNzYWdlIHx8IFN0cmluZyhlcnJvcikgfHwgJ1Vua25vd24gZXJyb3InO1xuICAgICAgbG9nZ2VyLmVycm9yKGBFcnJvcjogJHtlcnJvck1lc3NhZ2V9YCk7XG4gICAgfVxuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfVxuXG4gIHN0YXRpYyBhcmdzID0ge1xuICAgIHJlc291cmNlOiBBcmdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ3doYXQgdG8gaW5zcGVjdDogcnVuKHMpIHwgc3RlcChzKSB8IHN0cmVhbShzKSB8IGV2ZW50KHMpIHwgaG9vayhzKSB8IHNsZWVwKHMpJyxcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICAncicsXG4gICAgICAgICdydW4nLFxuICAgICAgICAncnVucycsXG4gICAgICAgICdzJyxcbiAgICAgICAgJ3N0ZXAnLFxuICAgICAgICAnc3RlcHMnLFxuICAgICAgICAnZScsXG4gICAgICAgICdldmVudCcsXG4gICAgICAgICdldmVudHMnLFxuICAgICAgICAnc3QnLFxuICAgICAgICAnc3RyZWFtJyxcbiAgICAgICAgJ3N0cmVhbXMnLFxuICAgICAgICAnaCcsXG4gICAgICAgICdob29rJyxcbiAgICAgICAgJ2hvb2tzJyxcbiAgICAgICAgJ3cnLFxuICAgICAgICAnd2ViJyxcbiAgICAgICAgJ3NsZWVwJyxcbiAgICAgICAgJ3NsZWVwcycsXG4gICAgICBdLFxuICAgIH0pLFxuICAgIGlkOiBBcmdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjogJ0lEIG9mIHRoZSByZXNvdXJjZSBpZiBpbnNwZWN0aW5nIGEgc3BlY2lmaWMgaXRlbScsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgfSksXG4gIH0gYXMgY29uc3Q7XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIHJ1bklkOiBGbGFncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdSdW4gSUQgdG8gZmlsdGVyIGJ5IChyZXF1aXJlZCBmb3Igc3RlcHMsIHNsZWVwcywgYW5kIGV2ZW50cy4gT3B0aW9uYWwgZm9yIGhvb2tzLiknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgY2hhcjogJ3InLFxuICAgICAgYWxpYXNlczogWydydW4nXSxcbiAgICAgIGhlbHBHcm91cDogJ0ZpbHRlcmluZycsXG4gICAgICBoZWxwTGFiZWw6ICctciwgLS1ydW5JZCcsXG4gICAgICBoZWxwVmFsdWU6ICdSVU5fSUQnLFxuICAgIH0pLFxuICAgIHN0ZXBJZDogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3RlcCBJRCB0byBmaWx0ZXIgYnkgKG9ubHkgZm9yIGV2ZW50cyknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgY2hhcjogJ3MnLFxuICAgICAgYWxpYXNlczogWydzdGVwJ10sXG4gICAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgICAgaGVscExhYmVsOiAnLXMsIC0tc3RlcElkJyxcbiAgICAgIGhlbHBWYWx1ZTogJ1NURVBfSUQnLFxuICAgIH0pLFxuICAgIGhvb2tJZDogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnaG9vayBJRCB0byBmaWx0ZXIgYnkgKG9ubHkgZm9yIGV2ZW50cyknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgYWxpYXNlczogWydob29rJ10sXG4gICAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgICAgaGVscExhYmVsOiAnLS1ob29rSWQnLFxuICAgICAgaGVscFZhbHVlOiAnSE9PS19JRCcsXG4gICAgfSksXG4gICAgd29ya2Zsb3dOYW1lOiBGbGFncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246ICd3b3JrZmxvdyBuYW1lIHRvIGZpbHRlciBieSAob25seSBmb3IgcnVucyknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgY2hhcjogJ24nLFxuICAgICAgYWxpYXNlczogWyd3b3JrZmxvdyddLFxuICAgICAgaGVscEdyb3VwOiAnRmlsdGVyaW5nJyxcbiAgICAgIGhlbHBMYWJlbDogJy1uLCAtLXdvcmtmbG93TmFtZScsXG4gICAgfSksXG4gICAgc3RhdHVzOiBGbGFncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246ICdmaWx0ZXIgcnVucyBieSBzdGF0dXMgKG9ubHkgZm9yIHJ1bnMpJyxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIG9wdGlvbnM6IFsncnVubmluZycsICdjb21wbGV0ZWQnLCAnZmFpbGVkJywgJ2NhbmNlbGxlZCcsICdwZW5kaW5nJ10sXG4gICAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgICAgaGVscExhYmVsOiAnLS1zdGF0dXMnLFxuICAgIH0pLFxuICAgIHdpdGhEYXRhOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnaW5jbHVkZSBmdWxsIGlucHV0L291dHB1dCBkYXRhIGluIGxpc3Qgdmlld3MnLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgY2hhcjogJ2QnLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6ICdEaXNwbGF5JyxcbiAgICAgIGhlbHBMYWJlbDogJy1kLCAtLXdpdGhEYXRhJyxcbiAgICB9KSxcbiAgICBkZWNyeXB0OiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnZGVjcnlwdCBlbmNyeXB0ZWQgdmFsdWVzICh0cmlnZ2VycyBhdWRpdC1sb2dnZWQga2V5IHJldHJpZXZhbCknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6ICdEaXNwbGF5JyxcbiAgICAgIGhlbHBMYWJlbDogJy0tZGVjcnlwdCcsXG4gICAgfSksXG4gICAgLi4uY2xpRmxhZ3MsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHVibGljIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBhcmdzLCBmbGFncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShJbnNwZWN0KTtcblxuICAgICAgY29uc3QgcmVzb3VyY2UgPSBub3JtYWxpemVSZXNvdXJjZShhcmdzLnJlc291cmNlKTtcbiAgICAgIGlmICghcmVzb3VyY2UpIHtcbiAgICAgICAgdGhpcy5sb2dFcnJvcihcbiAgICAgICAgICBgVW5rbm93biByZXNvdXJjZSBcIiR7YXJncy5yZXNvdXJjZX1cIjogbXVzdCBiZSBvbmUgb2Y6IHJ1bihzKSwgc3RlcChzKSwgc3RyZWFtKHMpLCBldmVudChzKSwgaG9vayhzKSwgc2xlZXAocylgXG4gICAgICAgICk7XG4gICAgICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlkID0gYXJncy5pZDtcblxuICAgICAgLy8gRm9yIHdlYiBtb2RlLCBhbGxvdyBjb25maWcgZXJyb3JzIHNvIHdlIGNhbiBvcGVuIHRoZSB3ZWIgVUkgZm9yIGNvbmZpZ3VyYXRpb25cbiAgICAgIGNvbnN0IGlzV2ViTW9kZSA9IGZsYWdzLndlYiB8fCByZXNvdXJjZSA9PT0gJ3dlYic7XG4gICAgICBjb25zdCB3b3JsZCA9IGF3YWl0IHNldHVwQ2xpV29ybGQoZmxhZ3MsIHRoaXMuY29uZmlnLnZlcnNpb24sIGlzV2ViTW9kZSk7XG5cbiAgICAgIC8vIEhhbmRsZSB3ZWIgVUkgbW9kZVxuICAgICAgaWYgKGlzV2ViTW9kZSkge1xuICAgICAgICBjb25zdCBhY3R1YWxSZXNvdXJjZSA9IHJlc291cmNlID09PSAnd2ViJyA/ICdydW4nIDogcmVzb3VyY2U7XG4gICAgICAgIGF3YWl0IGxhdW5jaFdlYlVJKGFjdHVhbFJlc291cmNlLCBpZCwgZmxhZ3MsIHRoaXMuY29uZmlnLnZlcnNpb24pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIEZvciBub24td2ViIGNvbW1hbmRzLCB3ZSBuZWVkIGEgdmFsaWQgd29ybGRcbiAgICAgIGlmICghd29ybGQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdGYWlsZWQgdG8gY29ubmVjdCB0byBiYWNrZW5kLiBDaGVjayB5b3VyIGNvbmZpZ3VyYXRpb24uJ1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBDb252ZXJ0IGZsYWdzIHRvIEluc3BlY3RDTElPcHRpb25zIHdpdGggcHJvcGVyIHR5cGluZ1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHRvSW5zcGVjdE9wdGlvbnMoZmxhZ3MpO1xuXG4gICAgICBpZiAocmVzb3VyY2UgPT09ICdydW4nKSB7XG4gICAgICAgIGlmIChpZCkge1xuICAgICAgICAgIGF3YWl0IHNob3dSdW4od29ybGQsIGlkLCBvcHRpb25zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCBsaXN0UnVucyh3b3JsZCwgb3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzb3VyY2UgPT09ICdzdGVwJykge1xuICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICBhd2FpdCBzaG93U3RlcCh3b3JsZCwgaWQsIG9wdGlvbnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IGxpc3RTdGVwcyh3b3JsZCwgb3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzb3VyY2UgPT09ICdzdHJlYW0nKSB7XG4gICAgICAgIGlmIChpZCkge1xuICAgICAgICAgIGF3YWl0IHNob3dTdHJlYW0od29ybGQsIGlkLCBvcHRpb25zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCBsaXN0U3RyZWFtc0J5UnVuSWQod29ybGQsIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc291cmNlID09PSAnZXZlbnQnKSB7XG4gICAgICAgIGlmIChpZCkge1xuICAgICAgICAgIHRoaXMubG9nRXJyb3IoXG4gICAgICAgICAgICAnRXZlbnQtSUQgaXMgbm90IHN1cHBvcnRlZCBmb3IgZXZlbnRzLiBGaWx0ZXIgYnkgcnVuLWlkIG9yIHN0ZXAtaWQgaW5zdGVhZC4gVXNhZ2U6IGB3b3JrZmxvdyBpbnNwZWN0IGV2ZW50cyAtLXJ1bklkPTxpZD5gJ1xuICAgICAgICAgICk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGxpc3RFdmVudHMod29ybGQsIG9wdGlvbnMpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNvdXJjZSA9PT0gJ2hvb2snKSB7XG4gICAgICAgIGlmIChpZCkge1xuICAgICAgICAgIGF3YWl0IHNob3dIb29rKHdvcmxkLCBpZCwgb3B0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgbGlzdEhvb2tzKHdvcmxkLCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNvdXJjZSA9PT0gJ3NsZWVwJykge1xuICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICB0aGlzLmxvZ0Vycm9yKFxuICAgICAgICAgICAgJ1NsZWVwLUlEIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHNsZWVwcy4gRmlsdGVyIGJ5IHJ1bi1pZCBpbnN0ZWFkLiBVc2FnZTogYHdvcmtmbG93IGluc3BlY3Qgc2xlZXBzIC0tcnVuSWQ9PGlkPmAnXG4gICAgICAgICAgKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFmbGFncy5ydW5JZCkge1xuICAgICAgICAgIHRoaXMubG9nRXJyb3IoXG4gICAgICAgICAgICAncnVuLWlkIGlzIHJlcXVpcmVkIGZvciBsaXN0aW5nIHNsZWVwcy4gVXNhZ2U6IGB3b3JrZmxvdyBpbnNwZWN0IHNsZWVwcyAtLXJ1bklkPTxpZD5gJ1xuICAgICAgICAgICk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGxpc3RTbGVlcHMod29ybGQsIG9wdGlvbnMpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubG9nRXJyb3IoXG4gICAgICAgIGBVbmtub3duIHJlc291cmNlOiAke3Jlc291cmNlfS4gVXNhZ2U6ICR7SW5zcGVjdC5leGFtcGxlcy5qb2luKCdcXG4nKX1gXG4gICAgICApO1xuICAgICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgICByZXR1cm47XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIExldCB0aGUgY2F0Y2ggaGFuZGxlciBkZWFsIHdpdGggaXQsIGJ1dCBlbnN1cmUgd2UgZXhpdFxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRvSW5zcGVjdE9wdGlvbnMoZmxhZ3M6IGFueSk6IEluc3BlY3RDTElPcHRpb25zIHtcbiAgcmV0dXJuIHtcbiAgICBqc29uOiBmbGFncy5qc29uLFxuICAgIHJ1bklkOiBmbGFncy5ydW5JZCxcbiAgICBzdGVwSWQ6IGZsYWdzLnN0ZXBJZCxcbiAgICBjdXJzb3I6IGZsYWdzLmN1cnNvcixcbiAgICBzb3J0OiBmbGFncy5zb3J0IGFzICdhc2MnIHwgJ2Rlc2MnIHwgdW5kZWZpbmVkLFxuICAgIGxpbWl0OiBmbGFncy5saW1pdCxcbiAgICB3b3JrZmxvd05hbWU6IGZsYWdzLndvcmtmbG93TmFtZSxcbiAgICBzdGF0dXM6IGZsYWdzLnN0YXR1cyxcbiAgICB3aXRoRGF0YTogZmxhZ3Mud2l0aERhdGEsXG4gICAgZGVjcnlwdDogZmxhZ3MuZGVjcnlwdCxcbiAgICBiYWNrZW5kOiBmbGFncy5iYWNrZW5kLFxuICAgIGludGVyYWN0aXZlOiBmbGFncy5pbnRlcmFjdGl2ZSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplUmVzb3VyY2UoXG4gIHZhbHVlPzogc3RyaW5nXG4pOiAncnVuJyB8ICdzdGVwJyB8ICdzdHJlYW0nIHwgJ2V2ZW50JyB8ICdob29rJyB8ICd3ZWInIHwgJ3NsZWVwJyB8IHVuZGVmaW5lZCB7XG4gIGlmICghdmFsdWUpIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IHYgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICBpZiAodi5zdGFydHNXaXRoKCdyJykpIHJldHVybiAncnVuJztcbiAgaWYgKHYuc3RhcnRzV2l0aCgnZScpKSByZXR1cm4gJ2V2ZW50JztcbiAgaWYgKHYuc3RhcnRzV2l0aCgnc3RyJykpIHJldHVybiAnc3RyZWFtJztcbiAgaWYgKHYuc3RhcnRzV2l0aCgnc2wnKSkgcmV0dXJuICdzbGVlcCc7XG4gIGlmICh2LnN0YXJ0c1dpdGgoJ3MnKSkgcmV0dXJuICdzdGVwJztcbiAgaWYgKHYuc3RhcnRzV2l0aCgnaCcpKSByZXR1cm4gJ2hvb2snO1xuICBpZiAodi5zdGFydHNXaXRoKCd3JykpIHJldHVybiAnd2ViJztcbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9pbnNwZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFDTCxVQUFVLEVBQ1YsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxFQUNULGtCQUFrQixFQUNsQixRQUFRLEVBQ1IsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRSxNQUFNLENBQUMsT0FBTyxPQUFPLE9BQVEsU0FBUSxXQUFXO0lBQzlDLE1BQU0sQ0FBQyxXQUFXLEdBQUcseUNBQXlDLENBQUM7SUFFL0QsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZCLE1BQU0sQ0FBQyxRQUFRLEdBQUc7UUFDaEIseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6QixrRUFBa0U7UUFDbEUsMEJBQTBCO1FBQzFCLHlEQUF5RDtRQUN6RCxrRUFBa0U7S0FDbkUsQ0FBQztJQUVGLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBVTtRQUNwQix1REFBdUQ7UUFDdkQsSUFBSSxLQUFLLEVBQUUsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzFCLE1BQU0sT0FBTyxHQUFHLHdCQUF3QixDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEIsQ0FBQzthQUFNLElBQUksY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxlQUFlLENBQUM7WUFDeEUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLEdBQUc7UUFDWixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNwQixXQUFXLEVBQ1QsK0VBQStFO1lBQ2pGLFFBQVEsRUFBRSxJQUFJO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLEdBQUc7Z0JBQ0gsS0FBSztnQkFDTCxNQUFNO2dCQUNOLEdBQUc7Z0JBQ0gsTUFBTTtnQkFDTixPQUFPO2dCQUNQLEdBQUc7Z0JBQ0gsT0FBTztnQkFDUCxRQUFRO2dCQUNSLElBQUk7Z0JBQ0osUUFBUTtnQkFDUixTQUFTO2dCQUNULEdBQUc7Z0JBQ0gsTUFBTTtnQkFDTixPQUFPO2dCQUNQLEdBQUc7Z0JBQ0gsS0FBSztnQkFDTCxPQUFPO2dCQUNQLFFBQVE7YUFDVDtTQUNGLENBQUM7UUFDRixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNkLFdBQVcsRUFBRSxrREFBa0Q7WUFDL0QsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQztLQUNNLENBQUM7SUFFWCxNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDbEIsV0FBVyxFQUNULG1GQUFtRjtZQUNyRixRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxHQUFHO1lBQ1QsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLFNBQVMsRUFBRSxhQUFhO1lBQ3hCLFNBQVMsRUFBRSxRQUFRO1NBQ3BCLENBQUM7UUFDRixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNuQixXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELFFBQVEsRUFBRSxLQUFLO1lBQ2YsSUFBSSxFQUFFLEdBQUc7WUFDVCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsU0FBUyxFQUFFLGNBQWM7WUFDekIsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQztRQUNGLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ25CLFdBQVcsRUFBRSx3Q0FBd0M7WUFDckQsUUFBUSxFQUFFLEtBQUs7WUFDZixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsU0FBUyxFQUFFLFVBQVU7WUFDckIsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQztRQUNGLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3pCLFdBQVcsRUFBRSw0Q0FBNEM7WUFDekQsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsR0FBRztZQUNULE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQztZQUNyQixTQUFTLEVBQUUsV0FBVztZQUN0QixTQUFTLEVBQUUsb0JBQW9CO1NBQ2hDLENBQUM7UUFDRixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNuQixXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQztZQUNuRSxTQUFTLEVBQUUsV0FBVztZQUN0QixTQUFTLEVBQUUsVUFBVTtTQUN0QixDQUFDO1FBQ0YsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDdEIsV0FBVyxFQUFFLDhDQUE4QztZQUMzRCxRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxHQUFHO1lBQ1QsT0FBTyxFQUFFLEtBQUs7WUFDZCxTQUFTLEVBQUUsU0FBUztZQUNwQixTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCLENBQUM7UUFDRixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNyQixXQUFXLEVBQ1QsZ0VBQWdFO1lBQ2xFLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLEtBQUs7WUFDZCxTQUFTLEVBQUUsU0FBUztZQUNwQixTQUFTLEVBQUUsV0FBVztTQUN2QixDQUFDO1FBQ0YsR0FBRyxRQUFRO1FBQ1gsR0FBRyxPQUFPO0tBQ0YsQ0FBQztJQUVKLEtBQUssQ0FBQyxHQUFHO1FBQ2QsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFbEQsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsUUFBUSxDQUNYLHFCQUFxQixJQUFJLENBQUMsUUFBUSw0RUFBNEUsQ0FDL0csQ0FBQztnQkFDRixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDckIsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBRW5CLDRFQUE0RTtZQUM1RSxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxNQUFNLGNBQWMsR0FBRyxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFDN0QsTUFBTSxhQUFhLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDcEUsT0FBTztZQUNULENBQUM7WUFFRCxnRkFBZ0Y7WUFDaEYsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxRQUFRLEtBQUssS0FBSyxDQUFDO1lBQ2xELE1BQU0sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUV6RSxxQkFBcUI7WUFDckIsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZCxNQUFNLGNBQWMsR0FBRyxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFDN0QsTUFBTSxXQUFXLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbEUsT0FBTztZQUNULENBQUM7WUFFRCw4Q0FBOEM7WUFDOUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNYLE1BQU0sSUFBSSxLQUFLLENBQ2IseURBQXlELENBQzFELENBQUM7WUFDSixDQUFDO1lBRUQsd0RBQXdEO1lBQ3hELE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXhDLElBQUksUUFBUSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUNQLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7Z0JBQ0QsT0FBTztZQUNULENBQUM7WUFFRCxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDUCxNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzFCLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ1AsTUFBTSxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDdkMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sa0JBQWtCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FDWCwwSEFBMEgsQ0FDM0gsQ0FBQztvQkFDRixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztvQkFDckIsT0FBTztnQkFDVCxDQUFDO2dCQUNELE1BQU0sVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDakMsT0FBTztZQUNULENBQUM7WUFFRCxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDUCxNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FDWCwrR0FBK0csQ0FDaEgsQ0FBQztvQkFDRixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztvQkFDckIsT0FBTztnQkFDVCxDQUFDO2dCQUNELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQ1gsc0ZBQXNGLENBQ3ZGLENBQUM7b0JBQ0YsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7b0JBQ3JCLE9BQU87Z0JBQ1QsQ0FBQztnQkFDRCxNQUFNLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ2pDLE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FDWCxxQkFBcUIsUUFBUSxZQUFZLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3ZFLENBQUM7WUFDRixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNyQixPQUFPO1FBQ1QsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZix5REFBeUQ7WUFDekQsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzs7QUFHSCxTQUFTLGdCQUFnQixDQUFDLEtBQVU7SUFDbEMsT0FBTztRQUNMLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7UUFDbEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1FBQ3BCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtRQUNwQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQWtDO1FBQzlDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztRQUNsQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7UUFDaEMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1FBQ3BCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN4QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztLQUMvQixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQ3hCLEtBQWM7SUFFZCxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQzdCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDcEMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sT0FBTyxDQUFDO0lBQ3RDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUN6QyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQUUsT0FBTyxPQUFPLENBQUM7SUFDdkMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQ3JDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUNyQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDcEMsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFyZ3MsIEZsYWdzIH0gZnJvbSAnQG9jbGlmL2NvcmUnO1xuaW1wb3J0IHsgVkVSQ0VMXzQwM19FUlJPUl9NRVNTQUdFIH0gZnJvbSAnQHdvcmtmbG93L2Vycm9ycyc7XG5pbXBvcnQgeyBCYXNlQ29tbWFuZCB9IGZyb20gJy4uL2Jhc2UuanMnO1xuaW1wb3J0IHsgTE9HR0lOR19DT05GSUcsIGxvZ2dlciB9IGZyb20gJy4uL2xpYi9jb25maWcvbG9nLmpzJztcbmltcG9ydCB0eXBlIHsgSW5zcGVjdENMSU9wdGlvbnMgfSBmcm9tICcuLi9saWIvY29uZmlnL3R5cGVzLmpzJztcbmltcG9ydCB7IGNsaUZsYWdzLCB1cmxGbGFnIH0gZnJvbSAnLi4vbGliL2luc3BlY3QvZmxhZ3MuanMnO1xuaW1wb3J0IHtcbiAgbGlzdEV2ZW50cyxcbiAgbGlzdEhvb2tzLFxuICBsaXN0UnVucyxcbiAgbGlzdFNsZWVwcyxcbiAgbGlzdFN0ZXBzLFxuICBsaXN0U3RyZWFtc0J5UnVuSWQsXG4gIHNob3dIb29rLFxuICBzaG93UnVuLFxuICBzaG93U3RlcCxcbiAgc2hvd1N0cmVhbSxcbn0gZnJvbSAnLi4vbGliL2luc3BlY3Qvb3V0cHV0LmpzJztcbmltcG9ydCB7IHNldHVwQ2xpV29ybGQgfSBmcm9tICcuLi9saWIvaW5zcGVjdC9zZXR1cC5qcyc7XG5pbXBvcnQgeyBsYXVuY2hXZWJVSSwgcHJpbnREZWVwTGluayB9IGZyb20gJy4uL2xpYi9pbnNwZWN0L3dlYi5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEluc3BlY3QgZXh0ZW5kcyBCYXNlQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9ICdJbnNwZWN0IHJ1bnMsIHN0ZXBzLCBzdHJlYW1zLCBvciBldmVudHMnO1xuXG4gIHN0YXRpYyBhbGlhc2VzID0gWydpJ107XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgICckIHdvcmtmbG93IGluc3BlY3QgcnVucycsXG4gICAgJyQgd29ya2Zsb3cgaW5zcGVjdCBydW5zJyxcbiAgICAnJCB3b3JrZmxvdyBpbnNwZWN0IGV2ZW50cyAtLXN0ZXA9c3RlcF8wMUs1V0FKWjhXMzY3Q1YyUkZLRFNETldCOCcsXG4gICAgJyQgd29ya2Zsb3cgaW5zcGVjdCBob29rcycsXG4gICAgJyQgd29ya2Zsb3cgaW5zcGVjdCBob29rIGhvb2tfMDFLNVdBSlo4VzM2N0NWMlJGS0RTRE5XQjgnLFxuICAgICckIHdvcmtmbG93IGluc3BlY3Qgc2xlZXBzIC0tcnVuSWQ9cnVuXzAxSzVXQUpaOFczNjdDVjJSRktEU0ROV0I4JyxcbiAgXTtcblxuICBhc3luYyBjYXRjaChlcnJvcjogYW55KSB7XG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIDQwMyBlcnJvciBmcm9tIHRoZSBWZXJjZWwgYmFja2VuZFxuICAgIGlmIChlcnJvcj8uc3RhdHVzID09PSA0MDMpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBWRVJDRUxfNDAzX0VSUk9SX01FU1NBR0U7XG4gICAgICBsb2dnZXIuZXJyb3IobWVzc2FnZSk7XG4gICAgfSBlbHNlIGlmIChMT0dHSU5HX0NPTkZJRy5WRVJCT1NFX01PREUpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yPy5tZXNzYWdlIHx8IFN0cmluZyhlcnJvcikgfHwgJ1Vua25vd24gZXJyb3InO1xuICAgICAgbG9nZ2VyLmVycm9yKGBFcnJvcjogJHtlcnJvck1lc3NhZ2V9YCk7XG4gICAgfVxuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfVxuXG4gIHN0YXRpYyBhcmdzID0ge1xuICAgIHJlc291cmNlOiBBcmdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ3doYXQgdG8gaW5zcGVjdDogcnVuKHMpIHwgc3RlcChzKSB8IHN0cmVhbShzKSB8IGV2ZW50KHMpIHwgaG9vayhzKSB8IHNsZWVwKHMpJyxcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICAncicsXG4gICAgICAgICdydW4nLFxuICAgICAgICAncnVucycsXG4gICAgICAgICdzJyxcbiAgICAgICAgJ3N0ZXAnLFxuICAgICAgICAnc3RlcHMnLFxuICAgICAgICAnZScsXG4gICAgICAgICdldmVudCcsXG4gICAgICAgICdldmVudHMnLFxuICAgICAgICAnc3QnLFxuICAgICAgICAnc3RyZWFtJyxcbiAgICAgICAgJ3N0cmVhbXMnLFxuICAgICAgICAnaCcsXG4gICAgICAgICdob29rJyxcbiAgICAgICAgJ2hvb2tzJyxcbiAgICAgICAgJ3cnLFxuICAgICAgICAnd2ViJyxcbiAgICAgICAgJ3NsZWVwJyxcbiAgICAgICAgJ3NsZWVwcycsXG4gICAgICBdLFxuICAgIH0pLFxuICAgIGlkOiBBcmdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjogJ0lEIG9mIHRoZSByZXNvdXJjZSBpZiBpbnNwZWN0aW5nIGEgc3BlY2lmaWMgaXRlbScsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgfSksXG4gIH0gYXMgY29uc3Q7XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIHJ1bklkOiBGbGFncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdSdW4gSUQgdG8gZmlsdGVyIGJ5IChyZXF1aXJlZCBmb3Igc3RlcHMsIHNsZWVwcywgYW5kIGV2ZW50cy4gT3B0aW9uYWwgZm9yIGhvb2tzLiknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgY2hhcjogJ3InLFxuICAgICAgYWxpYXNlczogWydydW4nXSxcbiAgICAgIGhlbHBHcm91cDogJ0ZpbHRlcmluZycsXG4gICAgICBoZWxwTGFiZWw6ICctciwgLS1ydW5JZCcsXG4gICAgICBoZWxwVmFsdWU6ICdSVU5fSUQnLFxuICAgIH0pLFxuICAgIHN0ZXBJZDogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3RlcCBJRCB0byBmaWx0ZXIgYnkgKG9ubHkgZm9yIGV2ZW50cyknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgY2hhcjogJ3MnLFxuICAgICAgYWxpYXNlczogWydzdGVwJ10sXG4gICAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgICAgaGVscExhYmVsOiAnLXMsIC0tc3RlcElkJyxcbiAgICAgIGhlbHBWYWx1ZTogJ1NURVBfSUQnLFxuICAgIH0pLFxuICAgIGhvb2tJZDogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnaG9vayBJRCB0byBmaWx0ZXIgYnkgKG9ubHkgZm9yIGV2ZW50cyknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgYWxpYXNlczogWydob29rJ10sXG4gICAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgICAgaGVscExhYmVsOiAnLS1ob29rSWQnLFxuICAgICAgaGVscFZhbHVlOiAnSE9PS19JRCcsXG4gICAgfSksXG4gICAgd29ya2Zsb3dOYW1lOiBGbGFncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246ICd3b3JrZmxvdyBuYW1lIHRvIGZpbHRlciBieSAob25seSBmb3IgcnVucyknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgY2hhcjogJ24nLFxuICAgICAgYWxpYXNlczogWyd3b3JrZmxvdyddLFxuICAgICAgaGVscEdyb3VwOiAnRmlsdGVyaW5nJyxcbiAgICAgIGhlbHBMYWJlbDogJy1uLCAtLXdvcmtmbG93TmFtZScsXG4gICAgfSksXG4gICAgc3RhdHVzOiBGbGFncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246ICdmaWx0ZXIgcnVucyBieSBzdGF0dXMgKG9ubHkgZm9yIHJ1bnMpJyxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIG9wdGlvbnM6IFsncnVubmluZycsICdjb21wbGV0ZWQnLCAnZmFpbGVkJywgJ2NhbmNlbGxlZCcsICdwZW5kaW5nJ10sXG4gICAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgICAgaGVscExhYmVsOiAnLS1zdGF0dXMnLFxuICAgIH0pLFxuICAgIHdpdGhEYXRhOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnaW5jbHVkZSBmdWxsIGlucHV0L291dHB1dCBkYXRhIGluIGxpc3Qgdmlld3MnLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgY2hhcjogJ2QnLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6ICdEaXNwbGF5JyxcbiAgICAgIGhlbHBMYWJlbDogJy1kLCAtLXdpdGhEYXRhJyxcbiAgICB9KSxcbiAgICBkZWNyeXB0OiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnZGVjcnlwdCBlbmNyeXB0ZWQgdmFsdWVzICh0cmlnZ2VycyBhdWRpdC1sb2dnZWQga2V5IHJldHJpZXZhbCknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6ICdEaXNwbGF5JyxcbiAgICAgIGhlbHBMYWJlbDogJy0tZGVjcnlwdCcsXG4gICAgfSksXG4gICAgLi4uY2xpRmxhZ3MsXG4gICAgLi4udXJsRmxhZyxcbiAgfSBhcyBjb25zdDtcblxuICBwdWJsaWMgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGFyZ3MsIGZsYWdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKEluc3BlY3QpO1xuXG4gICAgICBjb25zdCByZXNvdXJjZSA9IG5vcm1hbGl6ZVJlc291cmNlKGFyZ3MucmVzb3VyY2UpO1xuICAgICAgaWYgKCFyZXNvdXJjZSkge1xuICAgICAgICB0aGlzLmxvZ0Vycm9yKFxuICAgICAgICAgIGBVbmtub3duIHJlc291cmNlIFwiJHthcmdzLnJlc291cmNlfVwiOiBtdXN0IGJlIG9uZSBvZjogcnVuKHMpLCBzdGVwKHMpLCBzdHJlYW0ocyksIGV2ZW50KHMpLCBob29rKHMpLCBzbGVlcChzKWBcbiAgICAgICAgKTtcbiAgICAgICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaWQgPSBhcmdzLmlkO1xuXG4gICAgICAvLyBQcmludC1vbmx5IGRlZXAgbGluazogcmVzb2x2ZSBjb25maWcgYW5kIGVtaXQgdGhlIFVSTCwgbm8gYnJvd3Nlci9zZXJ2ZXIuXG4gICAgICBpZiAoZmxhZ3MudXJsKSB7XG4gICAgICAgIGNvbnN0IGFjdHVhbFJlc291cmNlID0gcmVzb3VyY2UgPT09ICd3ZWInID8gJ3J1bicgOiByZXNvdXJjZTtcbiAgICAgICAgYXdhaXQgcHJpbnREZWVwTGluayhhY3R1YWxSZXNvdXJjZSwgaWQsIGZsYWdzLCB0aGlzLmNvbmZpZy52ZXJzaW9uKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBGb3Igd2ViIG1vZGUsIGFsbG93IGNvbmZpZyBlcnJvcnMgc28gd2UgY2FuIG9wZW4gdGhlIHdlYiBVSSBmb3IgY29uZmlndXJhdGlvblxuICAgICAgY29uc3QgaXNXZWJNb2RlID0gZmxhZ3Mud2ViIHx8IHJlc291cmNlID09PSAnd2ViJztcbiAgICAgIGNvbnN0IHdvcmxkID0gYXdhaXQgc2V0dXBDbGlXb3JsZChmbGFncywgdGhpcy5jb25maWcudmVyc2lvbiwgaXNXZWJNb2RlKTtcblxuICAgICAgLy8gSGFuZGxlIHdlYiBVSSBtb2RlXG4gICAgICBpZiAoaXNXZWJNb2RlKSB7XG4gICAgICAgIGNvbnN0IGFjdHVhbFJlc291cmNlID0gcmVzb3VyY2UgPT09ICd3ZWInID8gJ3J1bicgOiByZXNvdXJjZTtcbiAgICAgICAgYXdhaXQgbGF1bmNoV2ViVUkoYWN0dWFsUmVzb3VyY2UsIGlkLCBmbGFncywgdGhpcy5jb25maWcudmVyc2lvbik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gRm9yIG5vbi13ZWIgY29tbWFuZHMsIHdlIG5lZWQgYSB2YWxpZCB3b3JsZFxuICAgICAgaWYgKCF3b3JsZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ0ZhaWxlZCB0byBjb25uZWN0IHRvIGJhY2tlbmQuIENoZWNrIHlvdXIgY29uZmlndXJhdGlvbi4nXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIENvbnZlcnQgZmxhZ3MgdG8gSW5zcGVjdENMSU9wdGlvbnMgd2l0aCBwcm9wZXIgdHlwaW5nXG4gICAgICBjb25zdCBvcHRpb25zID0gdG9JbnNwZWN0T3B0aW9ucyhmbGFncyk7XG5cbiAgICAgIGlmIChyZXNvdXJjZSA9PT0gJ3J1bicpIHtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgYXdhaXQgc2hvd1J1bih3b3JsZCwgaWQsIG9wdGlvbnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IGxpc3RSdW5zKHdvcmxkLCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNvdXJjZSA9PT0gJ3N0ZXAnKSB7XG4gICAgICAgIGlmIChpZCkge1xuICAgICAgICAgIGF3YWl0IHNob3dTdGVwKHdvcmxkLCBpZCwgb3B0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgbGlzdFN0ZXBzKHdvcmxkLCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNvdXJjZSA9PT0gJ3N0cmVhbScpIHtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgYXdhaXQgc2hvd1N0cmVhbSh3b3JsZCwgaWQsIG9wdGlvbnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IGxpc3RTdHJlYW1zQnlSdW5JZCh3b3JsZCwgb3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzb3VyY2UgPT09ICdldmVudCcpIHtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgdGhpcy5sb2dFcnJvcihcbiAgICAgICAgICAgICdFdmVudC1JRCBpcyBub3Qgc3VwcG9ydGVkIGZvciBldmVudHMuIEZpbHRlciBieSBydW4taWQgb3Igc3RlcC1pZCBpbnN0ZWFkLiBVc2FnZTogYHdvcmtmbG93IGluc3BlY3QgZXZlbnRzIC0tcnVuSWQ9PGlkPmAnXG4gICAgICAgICAgKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgbGlzdEV2ZW50cyh3b3JsZCwgb3B0aW9ucyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc291cmNlID09PSAnaG9vaycpIHtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgYXdhaXQgc2hvd0hvb2sod29ybGQsIGlkLCBvcHRpb25zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCBsaXN0SG9va3Mod29ybGQsIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc291cmNlID09PSAnc2xlZXAnKSB7XG4gICAgICAgIGlmIChpZCkge1xuICAgICAgICAgIHRoaXMubG9nRXJyb3IoXG4gICAgICAgICAgICAnU2xlZXAtSUQgaXMgbm90IHN1cHBvcnRlZCBmb3Igc2xlZXBzLiBGaWx0ZXIgYnkgcnVuLWlkIGluc3RlYWQuIFVzYWdlOiBgd29ya2Zsb3cgaW5zcGVjdCBzbGVlcHMgLS1ydW5JZD08aWQ+YCdcbiAgICAgICAgICApO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWZsYWdzLnJ1bklkKSB7XG4gICAgICAgICAgdGhpcy5sb2dFcnJvcihcbiAgICAgICAgICAgICdydW4taWQgaXMgcmVxdWlyZWQgZm9yIGxpc3Rpbmcgc2xlZXBzLiBVc2FnZTogYHdvcmtmbG93IGluc3BlY3Qgc2xlZXBzIC0tcnVuSWQ9PGlkPmAnXG4gICAgICAgICAgKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgbGlzdFNsZWVwcyh3b3JsZCwgb3B0aW9ucyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2dFcnJvcihcbiAgICAgICAgYFVua25vd24gcmVzb3VyY2U6ICR7cmVzb3VyY2V9LiBVc2FnZTogJHtJbnNwZWN0LmV4YW1wbGVzLmpvaW4oJ1xcbicpfWBcbiAgICAgICk7XG4gICAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICAgIHJldHVybjtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gTGV0IHRoZSBjYXRjaCBoYW5kbGVyIGRlYWwgd2l0aCBpdCwgYnV0IGVuc3VyZSB3ZSBleGl0XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdG9JbnNwZWN0T3B0aW9ucyhmbGFnczogYW55KTogSW5zcGVjdENMSU9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIGpzb246IGZsYWdzLmpzb24sXG4gICAgcnVuSWQ6IGZsYWdzLnJ1bklkLFxuICAgIHN0ZXBJZDogZmxhZ3Muc3RlcElkLFxuICAgIGN1cnNvcjogZmxhZ3MuY3Vyc29yLFxuICAgIHNvcnQ6IGZsYWdzLnNvcnQgYXMgJ2FzYycgfCAnZGVzYycgfCB1bmRlZmluZWQsXG4gICAgbGltaXQ6IGZsYWdzLmxpbWl0LFxuICAgIHdvcmtmbG93TmFtZTogZmxhZ3Mud29ya2Zsb3dOYW1lLFxuICAgIHN0YXR1czogZmxhZ3Muc3RhdHVzLFxuICAgIHdpdGhEYXRhOiBmbGFncy53aXRoRGF0YSxcbiAgICBkZWNyeXB0OiBmbGFncy5kZWNyeXB0LFxuICAgIGJhY2tlbmQ6IGZsYWdzLmJhY2tlbmQsXG4gICAgaW50ZXJhY3RpdmU6IGZsYWdzLmludGVyYWN0aXZlLFxuICB9O1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVSZXNvdXJjZShcbiAgdmFsdWU/OiBzdHJpbmdcbik6ICdydW4nIHwgJ3N0ZXAnIHwgJ3N0cmVhbScgfCAnZXZlbnQnIHwgJ2hvb2snIHwgJ3dlYicgfCAnc2xlZXAnIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgdiA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gIGlmICh2LnN0YXJ0c1dpdGgoJ3InKSkgcmV0dXJuICdydW4nO1xuICBpZiAodi5zdGFydHNXaXRoKCdlJykpIHJldHVybiAnZXZlbnQnO1xuICBpZiAodi5zdGFydHNXaXRoKCdzdHInKSkgcmV0dXJuICdzdHJlYW0nO1xuICBpZiAodi5zdGFydHNXaXRoKCdzbCcpKSByZXR1cm4gJ3NsZWVwJztcbiAgaWYgKHYuc3RhcnRzV2l0aCgncycpKSByZXR1cm4gJ3N0ZXAnO1xuICBpZiAodi5zdGFydHNXaXRoKCdoJykpIHJldHVybiAnaG9vayc7XG4gIGlmICh2LnN0YXJ0c1dpdGgoJ3cnKSkgcmV0dXJuICd3ZWInO1xuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
@@ -8,6 +8,7 @@ export default class Web extends BaseCommand {
8
8
  readonly id: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
9
9
  };
10
10
  static flags: {
11
+ readonly url: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
12
  readonly verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
13
  readonly json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
14
  readonly cursor: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
@@ -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;;;;;;;;;;;;;;;;MAED;IAEE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkBlC"}
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"}
@@ -2,9 +2,9 @@ import { Args } from '@oclif/core';
2
2
  import { VERCEL_403_ERROR_MESSAGE } from '@workflow/errors';
3
3
  import { BaseCommand } from '../base.js';
4
4
  import { LOGGING_CONFIG, logger } from '../lib/config/log.js';
5
- import { cliFlags } from '../lib/inspect/flags.js';
5
+ import { cliFlags, urlFlag } from '../lib/inspect/flags.js';
6
6
  import { setupCliWorld } from '../lib/inspect/setup.js';
7
- import { launchWebUI } from '../lib/inspect/web.js';
7
+ import { launchWebUI, printDeepLink } from '../lib/inspect/web.js';
8
8
  export default class Web extends BaseCommand {
9
9
  static description = 'Open the web UI to inspect workflow runs';
10
10
  static aliases = ['w'];
@@ -36,11 +36,17 @@ export default class Web extends BaseCommand {
36
36
  };
37
37
  static flags = {
38
38
  ...cliFlags,
39
+ ...urlFlag,
39
40
  };
40
41
  async run() {
41
42
  try {
42
43
  const { args, flags } = await this.parse(Web);
43
44
  const id = args.id;
45
+ // Print-only deep link: resolve config and emit the URL, no browser/server.
46
+ if (flags.url) {
47
+ await printDeepLink('run', id, flags, this.config.version);
48
+ process.exit(0);
49
+ }
44
50
  // Setup the CLI world to write env vars from flags
45
51
  // This ensures backend, authToken, team, project, etc. are properly set
46
52
  // Don't throw on config errors - let the web UI handle them
@@ -55,4 +61,4 @@ export default class Web extends BaseCommand {
55
61
  }
56
62
  }
57
63
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3dlYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxNQUFNLENBQUMsT0FBTyxPQUFPLEdBQUksU0FBUSxXQUFXO0lBQzFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsMENBQTBDLENBQUM7SUFFaEUsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZCLE1BQU0sQ0FBQyxRQUFRLEdBQUc7UUFDaEIsZ0JBQWdCO1FBQ2hCLCtDQUErQztRQUMvQyxpQ0FBaUM7S0FDbEMsQ0FBQztJQUVGLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBVTtRQUNwQix1REFBdUQ7UUFDdkQsSUFBSSxLQUFLLEVBQUUsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzFCLE1BQU0sT0FBTyxHQUFHLHdCQUF3QixDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEIsQ0FBQzthQUFNLElBQUksY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxlQUFlLENBQUM7WUFDeEUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLEdBQUc7UUFDWixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNkLFdBQVcsRUFBRSxrQ0FBa0M7WUFDL0MsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQztLQUNNLENBQUM7SUFFWCxNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxRQUFRO0tBQ0gsQ0FBQztJQUVKLEtBQUssQ0FBQyxHQUFHO1FBQ2QsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUVuQixtREFBbUQ7WUFDbkQsd0VBQXdFO1lBQ3hFLDREQUE0RDtZQUM1RCxNQUFNLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFdEQsbURBQW1EO1lBQ25ELE1BQU0sV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLHlEQUF5RDtZQUN6RCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJncyB9IGZyb20gJ0BvY2xpZi9jb3JlJztcbmltcG9ydCB7IFZFUkNFTF80MDNfRVJST1JfTUVTU0FHRSB9IGZyb20gJ0B3b3JrZmxvdy9lcnJvcnMnO1xuaW1wb3J0IHsgQmFzZUNvbW1hbmQgfSBmcm9tICcuLi9iYXNlLmpzJztcbmltcG9ydCB7IExPR0dJTkdfQ09ORklHLCBsb2dnZXIgfSBmcm9tICcuLi9saWIvY29uZmlnL2xvZy5qcyc7XG5pbXBvcnQgeyBjbGlGbGFncyB9IGZyb20gJy4uL2xpYi9pbnNwZWN0L2ZsYWdzLmpzJztcbmltcG9ydCB7IHNldHVwQ2xpV29ybGQgfSBmcm9tICcuLi9saWIvaW5zcGVjdC9zZXR1cC5qcyc7XG5pbXBvcnQgeyBsYXVuY2hXZWJVSSB9IGZyb20gJy4uL2xpYi9pbnNwZWN0L3dlYi5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYiBleHRlbmRzIEJhc2VDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID0gJ09wZW4gdGhlIHdlYiBVSSB0byBpbnNwZWN0IHdvcmtmbG93IHJ1bnMnO1xuXG4gIHN0YXRpYyBhbGlhc2VzID0gWyd3J107XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgICckIHdvcmtmbG93IHdlYicsXG4gICAgJyQgd29ya2Zsb3cgd2ViIHJ1bl8wMUs1V0FKWjhXMzY3Q1YyUkZLRFNETldCOCcsXG4gICAgJyQgd29ya2Zsb3cgd2ViIC0tYmFja2VuZD12ZXJjZWwnLFxuICBdO1xuXG4gIGFzeW5jIGNhdGNoKGVycm9yOiBhbnkpIHtcbiAgICAvLyBDaGVjayBpZiB0aGlzIGlzIGEgNDAzIGVycm9yIGZyb20gdGhlIFZlcmNlbCBiYWNrZW5kXG4gICAgaWYgKGVycm9yPy5zdGF0dXMgPT09IDQwMykge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IFZFUkNFTF80MDNfRVJST1JfTUVTU0FHRTtcbiAgICAgIGxvZ2dlci5lcnJvcihtZXNzYWdlKTtcbiAgICB9IGVsc2UgaWYgKExPR0dJTkdfQ09ORklHLlZFUkJPU0VfTU9ERSkge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3I/Lm1lc3NhZ2UgfHwgU3RyaW5nKGVycm9yKSB8fCAnVW5rbm93biBlcnJvcic7XG4gICAgICBsb2dnZXIuZXJyb3IoYEVycm9yOiAke2Vycm9yTWVzc2FnZX1gKTtcbiAgICB9XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgc3RhdGljIGFyZ3MgPSB7XG4gICAgaWQ6IEFyZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW9uYWwgcnVuIElEIHRvIG9wZW4gZGlyZWN0bHknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIH0pLFxuICB9IGFzIGNvbnN0O1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5jbGlGbGFncyxcbiAgfSBhcyBjb25zdDtcblxuICBwdWJsaWMgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGFyZ3MsIGZsYWdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKFdlYik7XG4gICAgICBjb25zdCBpZCA9IGFyZ3MuaWQ7XG5cbiAgICAgIC8vIFNldHVwIHRoZSBDTEkgd29ybGQgdG8gd3JpdGUgZW52IHZhcnMgZnJvbSBmbGFnc1xuICAgICAgLy8gVGhpcyBlbnN1cmVzIGJhY2tlbmQsIGF1dGhUb2tlbiwgdGVhbSwgcHJvamVjdCwgZXRjLiBhcmUgcHJvcGVybHkgc2V0XG4gICAgICAvLyBEb24ndCB0aHJvdyBvbiBjb25maWcgZXJyb3JzIC0gbGV0IHRoZSB3ZWIgVUkgaGFuZGxlIHRoZW1cbiAgICAgIGF3YWl0IHNldHVwQ2xpV29ybGQoZmxhZ3MsIHRoaXMuY29uZmlnLnZlcnNpb24sIHRydWUpO1xuXG4gICAgICAvLyBMYXVuY2ggd2ViIFVJIHdpdGggJ3J1bicgYXMgdGhlIGRlZmF1bHQgcmVzb3VyY2VcbiAgICAgIGF3YWl0IGxhdW5jaFdlYlVJKCdydW4nLCBpZCwgZmxhZ3MsIHRoaXMuY29uZmlnLnZlcnNpb24pO1xuICAgICAgcHJvY2Vzcy5leGl0KDApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBMZXQgdGhlIGNhdGNoIGhhbmRsZXIgZGVhbCB3aXRoIGl0LCBidXQgZW5zdXJlIHdlIGV4aXRcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxufVxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3dlYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5FLE1BQU0sQ0FBQyxPQUFPLE9BQU8sR0FBSSxTQUFRLFdBQVc7SUFDMUMsTUFBTSxDQUFDLFdBQVcsR0FBRywwQ0FBMEMsQ0FBQztJQUVoRSxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFdkIsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQixnQkFBZ0I7UUFDaEIsK0NBQStDO1FBQy9DLGlDQUFpQztLQUNsQyxDQUFDO0lBRUYsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFVO1FBQ3BCLHVEQUF1RDtRQUN2RCxJQUFJLEtBQUssRUFBRSxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDMUIsTUFBTSxPQUFPLEdBQUcsd0JBQXdCLENBQUM7WUFDekMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QixDQUFDO2FBQU0sSUFBSSxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLGVBQWUsQ0FBQztZQUN4RSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksR0FBRztRQUNaLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2QsV0FBVyxFQUFFLGtDQUFrQztZQUMvQyxRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO0tBQ00sQ0FBQztJQUVYLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLFFBQVE7UUFDWCxHQUFHLE9BQU87S0FDRixDQUFDO0lBRUosS0FBSyxDQUFDLEdBQUc7UUFDZCxJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBRW5CLDRFQUE0RTtZQUM1RSxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxNQUFNLGFBQWEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLENBQUM7WUFFRCxtREFBbUQ7WUFDbkQsd0VBQXdFO1lBQ3hFLDREQUE0RDtZQUM1RCxNQUFNLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFdEQsbURBQW1EO1lBQ25ELE1BQU0sV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLHlEQUF5RDtZQUN6RCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJncyB9IGZyb20gJ0BvY2xpZi9jb3JlJztcbmltcG9ydCB7IFZFUkNFTF80MDNfRVJST1JfTUVTU0FHRSB9IGZyb20gJ0B3b3JrZmxvdy9lcnJvcnMnO1xuaW1wb3J0IHsgQmFzZUNvbW1hbmQgfSBmcm9tICcuLi9iYXNlLmpzJztcbmltcG9ydCB7IExPR0dJTkdfQ09ORklHLCBsb2dnZXIgfSBmcm9tICcuLi9saWIvY29uZmlnL2xvZy5qcyc7XG5pbXBvcnQgeyBjbGlGbGFncywgdXJsRmxhZyB9IGZyb20gJy4uL2xpYi9pbnNwZWN0L2ZsYWdzLmpzJztcbmltcG9ydCB7IHNldHVwQ2xpV29ybGQgfSBmcm9tICcuLi9saWIvaW5zcGVjdC9zZXR1cC5qcyc7XG5pbXBvcnQgeyBsYXVuY2hXZWJVSSwgcHJpbnREZWVwTGluayB9IGZyb20gJy4uL2xpYi9pbnNwZWN0L3dlYi5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYiBleHRlbmRzIEJhc2VDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID0gJ09wZW4gdGhlIHdlYiBVSSB0byBpbnNwZWN0IHdvcmtmbG93IHJ1bnMnO1xuXG4gIHN0YXRpYyBhbGlhc2VzID0gWyd3J107XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgICckIHdvcmtmbG93IHdlYicsXG4gICAgJyQgd29ya2Zsb3cgd2ViIHJ1bl8wMUs1V0FKWjhXMzY3Q1YyUkZLRFNETldCOCcsXG4gICAgJyQgd29ya2Zsb3cgd2ViIC0tYmFja2VuZD12ZXJjZWwnLFxuICBdO1xuXG4gIGFzeW5jIGNhdGNoKGVycm9yOiBhbnkpIHtcbiAgICAvLyBDaGVjayBpZiB0aGlzIGlzIGEgNDAzIGVycm9yIGZyb20gdGhlIFZlcmNlbCBiYWNrZW5kXG4gICAgaWYgKGVycm9yPy5zdGF0dXMgPT09IDQwMykge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IFZFUkNFTF80MDNfRVJST1JfTUVTU0FHRTtcbiAgICAgIGxvZ2dlci5lcnJvcihtZXNzYWdlKTtcbiAgICB9IGVsc2UgaWYgKExPR0dJTkdfQ09ORklHLlZFUkJPU0VfTU9ERSkge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3I/Lm1lc3NhZ2UgfHwgU3RyaW5nKGVycm9yKSB8fCAnVW5rbm93biBlcnJvcic7XG4gICAgICBsb2dnZXIuZXJyb3IoYEVycm9yOiAke2Vycm9yTWVzc2FnZX1gKTtcbiAgICB9XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgc3RhdGljIGFyZ3MgPSB7XG4gICAgaWQ6IEFyZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW9uYWwgcnVuIElEIHRvIG9wZW4gZGlyZWN0bHknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIH0pLFxuICB9IGFzIGNvbnN0O1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5jbGlGbGFncyxcbiAgICAuLi51cmxGbGFnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHB1YmxpYyBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgYXJncywgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoV2ViKTtcbiAgICAgIGNvbnN0IGlkID0gYXJncy5pZDtcblxuICAgICAgLy8gUHJpbnQtb25seSBkZWVwIGxpbms6IHJlc29sdmUgY29uZmlnIGFuZCBlbWl0IHRoZSBVUkwsIG5vIGJyb3dzZXIvc2VydmVyLlxuICAgICAgaWYgKGZsYWdzLnVybCkge1xuICAgICAgICBhd2FpdCBwcmludERlZXBMaW5rKCdydW4nLCBpZCwgZmxhZ3MsIHRoaXMuY29uZmlnLnZlcnNpb24pO1xuICAgICAgICBwcm9jZXNzLmV4aXQoMCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldHVwIHRoZSBDTEkgd29ybGQgdG8gd3JpdGUgZW52IHZhcnMgZnJvbSBmbGFnc1xuICAgICAgLy8gVGhpcyBlbnN1cmVzIGJhY2tlbmQsIGF1dGhUb2tlbiwgdGVhbSwgcHJvamVjdCwgZXRjLiBhcmUgcHJvcGVybHkgc2V0XG4gICAgICAvLyBEb24ndCB0aHJvdyBvbiBjb25maWcgZXJyb3JzIC0gbGV0IHRoZSB3ZWIgVUkgaGFuZGxlIHRoZW1cbiAgICAgIGF3YWl0IHNldHVwQ2xpV29ybGQoZmxhZ3MsIHRoaXMuY29uZmlnLnZlcnNpb24sIHRydWUpO1xuXG4gICAgICAvLyBMYXVuY2ggd2ViIFVJIHdpdGggJ3J1bicgYXMgdGhlIGRlZmF1bHQgcmVzb3VyY2VcbiAgICAgIGF3YWl0IGxhdW5jaFdlYlVJKCdydW4nLCBpZCwgZmxhZ3MsIHRoaXMuY29uZmlnLnZlcnNpb24pO1xuICAgICAgcHJvY2Vzcy5leGl0KDApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBMZXQgdGhlIGNhdGNoIGhhbmRsZXIgZGVhbCB3aXRoIGl0LCBidXQgZW5zdXJlIHdlIGV4aXRcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -15,4 +15,12 @@ export declare const cliFlags: {
15
15
  limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
16
16
  interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
17
  };
18
+ /**
19
+ * Flag for printing a shareable deep-link URL instead of opening the web UI.
20
+ * Only relevant to commands that can open a dashboard (`inspect`, `web`), so it
21
+ * is exported separately rather than bundled into `cliFlags`.
22
+ */
23
+ export declare const urlFlag: {
24
+ url: import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
+ };
18
26
  //# sourceMappingURL=flags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/flags.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;CAgJpB,CAAC"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/flags.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;CAgJpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO;;CASnB,CAAC"}
@@ -140,4 +140,18 @@ export const cliFlags = {
140
140
  helpLabel: '-i, --interactive',
141
141
  }),
142
142
  };
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luc3BlY3QvZmxhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDckIsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxHQUFHO1FBQ1QsU0FBUyxFQUFFLFFBQVE7UUFDbkIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsR0FBRyxFQUFFLE9BQU87UUFDWixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7SUFDRixJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNsQixXQUFXLEVBQUUsc0RBQXNEO1FBQ25FLFFBQVEsRUFBRSxLQUFLO1FBQ2YsSUFBSSxFQUFFLEdBQUc7UUFDVCxPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxRQUFRO1FBQ25CLFNBQVMsRUFBRSxZQUFZO0tBQ3hCLENBQUM7SUFDRixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNuQixXQUFXLEVBQUUscUNBQXFDO1FBQ2xELFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLEVBQUU7UUFDWCxTQUFTLEVBQUUsV0FBVztRQUN0QixTQUFTLEVBQUUsVUFBVTtRQUNyQixTQUFTLEVBQUUsUUFBUTtLQUNwQixDQUFDO0lBQ0YsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDcEIsV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxHQUFHO1FBQ1QsT0FBTyxFQUFFLE9BQU87UUFDaEIsR0FBRyxFQUFFLHVCQUF1QjtRQUM1QixTQUFTLEVBQUUsUUFBUTtRQUNuQixTQUFTLEVB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QUFRO1FBQ25CLFNBQVMsRUFBRSxXQUFXO0tBQ3ZCLENBQUM7SUFDRixJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNqQixXQUFXLEVBQUUsOEJBQThCO1FBQzNDLFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztRQUN4QixPQUFPLEVBQUUsTUFBTTtRQUNmLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLFNBQVMsRUFBRSxRQUFRO1FBQ25CLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7UUFDMUIsV0FBVyxFQUFFLE1BQU07S0FDcEIsQ0FBQztJQUNGLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ25CLFdBQVcsRUFBRSxvQ0FBb0M7UUFDakQsUUFBUSxFQUFFLEtBQUs7UUFDZixPQUFPLEVBQUUsRUFBRTtRQUNYLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFNBQVMsRUFBRSxRQUFRO0tBQ3BCLENBQUM7SUFDRixXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN6QixXQUFXLEVBQUUsc0RBQXNEO1FBQ25FLFFBQVEsRUFBRSxLQUFLO1FBQ2YsSUFBSSxFQUFFLEdBQUc7UUFDVCxPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxRQUFRO1FBQ25CLFNBQVMsRUFBRSxtQkFBbUI7S0FDL0IsQ0FBQztDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbGFncyB9IGZyb20gJ0BvY2xpZi9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGNsaUZsYWdzID0ge1xuICB2ZXJib3NlOiBGbGFncy5ib29sZWFuKHtcbiAgICBkZXNjcmlwdGlvbjogJ1ZlcmJvc2Ugb3V0cHV0JyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY2hhcjogJ3YnLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLXYsIC0tdmVyYm9zZScsXG4gICAgZW52OiAnREVCVUcnLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9KSxcbiAganNvbjogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdvdXRwdXQgSlNPTiBpbnN0ZWFkIG9mIGh1bWFuLXJlYWRhYmxlIHRhYmxlcy9zdHJlYW1zJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY2hhcjogJ2onLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLWosIC0tanNvbicsXG4gIH0pLFxuICBjdXJzb3I6IEZsYWdzLnN0cmluZyh7XG4gICAgZGVzY3JpcHRpb246ICdwYWdpbmF0aW9uIGN1cnNvciBmb3IgbGlzdCBjb21tYW5kcycsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHQ6ICcnLFxuICAgIGhlbHBHcm91cDogJ0ZpbHRlcmluZycsXG4gICAgaGVscExhYmVsOiAnLS1jdXJzb3InLFxuICAgIGhlbHBWYWx1ZTogJ0NVUlNPUicsXG4gIH0pLFxuICBiYWNrZW5kOiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOiAnYmFja2VuZCB0byBpbnNwZWN0JyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY2hhcjogJ2InLFxuICAgIGRlZmF1bHQ6ICdsb2NhbCcsXG4gICAgZW52OiAnV09SS0ZMT1dfVEFSR0VUX1dPUkxEJyxcbiAgICBoZWxwR3JvdXA6ICdUYXJnZXQnLFxuICAgIGhlbHBMYWJlbDogJy1iLCAtLWJhY2tlbmQnLFxuICAgIGhlbHBWYWx1ZTogWydsb2NhbCcsICd2ZXJjZWwnLCAnPHlvdXItcGFja2FnZS1uYW1lPiddLFxuICAgIGRlZmF1bHRIZWxwOiAnbG9jYWwnLFxuICB9KSxcbiAgYXV0aFRva2VuOiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0F1dGhlbnRpY2F0aW9uIHRva2VuIHRvIGJlIHBhc3NlZCB0byB0aGUgYmFja2VuZC4gSWYgbm90IHByb3ZpZGVkIGFuZCB0aGUgYmFja2VuZCBpcyB2ZXJjZWwsIHdpbGwgZmFsbCBiYWNrIHRvIHRoZSB0b2tlbiBnZW5lcmF0ZWQgYnkgYHZjIGxvZ2luYC4nLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBjaGFyOiAnYScsXG4gICAgZGVwZW5kc09uOiBbJ2JhY2tlbmQnXSxcbiAgICBkZWZhdWx0OiAnJyxcbiAgICBlbnY6ICdXT1JLRkxPV19WRVJDRUxfQVVUSF9UT0tFTicsXG4gICAgaGVscEdyb3VwOiAnVGFyZ2V0JyxcbiAgICBoZWxwTGFiZWw6ICctYSwgLS1hdXRoVG9rZW4nLFxuICAgIGhlbHBWYWx1ZTogJ1RPS0VOJyxcbiAgfSksXG4gIHByb2plY3Q6IEZsYWdzLnN0cmluZyh7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnSWYgYmFja2VuZCBpcyB2ZXJjZWwsIHRoZSB2ZXJjZWwgcHJvamVjdCB0byBhdXRoZW50aWNhdGUgYWdhaW5zdCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHQ6ICcnLFxuICAgIGRlcGVuZHNPbjogWydiYWNrZW5kJ10sXG4gICAgZW52OiAnV09SS0ZMT1dfVkVSQ0VMX1BST0pFQ1QnLFxuICAgIGhlbHBHcm91cDogJ1RhcmdldCcsXG4gICAgaGVscExhYmVsOiAnLS1wcm9qZWN0JyxcbiAgICBoZWxwVmFsdWU6ICdQUk9KRUNUJyxcbiAgfSksXG4gIHRlYW06IEZsYWdzLnN0cmluZyh7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnSWYgYmFja2VuZCBpcyB2ZXJjZWwsIHRoZSB2ZXJjZWwgdGVhbSB0byBhdXRoZW50aWNhdGUgYWdhaW5zdCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlcGVuZHNPbjogWydiYWNrZW5kJ10sXG4gICAgZGVmYXVsdDogJycsXG4gICAgZW52OiAnV09SS0ZMT1dfVkVSQ0VMX1RFQU0nLFxuICAgIGhlbHBHcm91cDogJ1RhcmdldCcsXG4gICAgaGVscExhYmVsOiAnLS10ZWFtJyxcbiAgICBoZWxwVmFsdWU6ICdURUFNJyxcbiAgfSksXG4gIGVudjogRmxhZ3Muc3RyaW5nKHtcbiAgICBkZXNjcmlwdGlvbjogJ0lmIGJhY2tlbmQgaXMgdmVyY2VsLCB0aGUgdmVyY2VsIGVudmlyb25tZW50IHRvIHVzZScsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIG9wdGlvbnM6IFsncHJvZHVjdGlvbicsICdwcmV2aWV3J10sXG4gICAgZGVmYXVsdDogJ3Byb2R1Y3Rpb24nLFxuICAgIGNoYXI6ICdlJyxcbiAgICBkZXBlbmRzT246IFsnYmFja2VuZCddLFxuICAgIGVudjogJ1dPUktGTE9XX1ZFUkNFTF9FTlYnLFxuICAgIGhlbHBHcm91cDogJ1RhcmdldCcsXG4gICAgaGVscExhYmVsOiAnLWUsIC0tZW52JyxcbiAgICBoZWxwVmFsdWU6IFsncHJvZHVjdGlvbicsICdwcmV2aWV3J10sXG4gICAgZGVmYXVsdEhlbHA6ICdwcm9kdWN0aW9uJyxcbiAgfSksXG4gIHdlYjogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdPcGVuIHRoZSB3ZWIgVUkgaW5zdGVhZCBvZiBkaXNwbGF5aW5nIGluIHRlcm1pbmFsJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY2hhcjogJ3cnLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLXcsIC0td2ViJyxcbiAgfSksXG4gIHdlYlBvcnQ6IEZsYWdzLmludGVnZXIoe1xuICAgIGRlc2NyaXB0aW9uOiAnUG9ydCB0byB1c2Ugd2hlbiBsYXVuY2hpbmcgdGhlIHdlYiBVSSAoZGVmYXVsdDogMzQ1NiknLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiAzNDU2LFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS13ZWJQb3J0JyxcbiAgICBoZWxwVmFsdWU6ICdXRUJfUE9SVCcsXG4gICAgZW52OiAnV09SS0ZMT1dfV0VCX1BPUlQnLFxuICB9KSxcbiAgbm9Ccm93c2VyOiBGbGFncy5ib29sZWFuKHtcbiAgICBkZXNjcmlwdGlvbjogJ0Rpc2FibGUgYXV0b21hdGljIGJyb3dzZXIgb3BlbmluZyB3aGVuIGxhdW5jaGluZyB3ZWIgVUknLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBlbnY6ICdXT1JLRkxPV19ESVNBQkxFX0JST1dTRVJfT1BFTicsXG4gICAgaGVscEdyb3VwOiAnT3V0cHV0JyxcbiAgICBoZWxwTGFiZWw6ICctLW5vQnJvd3NlcicsXG4gIH0pLFxuICBsb2NhbFVpOiBGbGFncy5ib29sZWFuKHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdVc2UgbG9jYWwgd2ViIFVJIGluc3RlYWQgb2YgVmVyY2VsIGRhc2hib2FyZCAod2hlbiBiYWNrZW5kIGlzIHZlcmNlbCknLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBlbnY6ICdXT1JLRkxPV19MT0NBTF9VSScsXG4gICAgaGVscEdyb3VwOiAnT3V0cHV0JyxcbiAgICBoZWxwTGFiZWw6ICctLWxvY2FsVWknLFxuICB9KSxcbiAgc29ydDogRmxhZ3Muc3RyaW5nKHtcbiAgICBkZXNjcmlwdGlvbjogJ3NvcnQgb3JkZXIgZm9yIGxpc3QgY29tbWFuZHMnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBvcHRpb25zOiBbJ2FzYycsICdkZXNjJ10sXG4gICAgZGVmYXVsdDogJ2Rlc2MnLFxuICAgIGhlbHBHcm91cDogJ0ZpbHRlcmluZycsXG4gICAgaGVscExhYmVsOiAnLS1zb3J0JyxcbiAgICBoZWxwVmFsdWU6IFsnYXNjJywgJ2Rlc2MnXSxcbiAgICBkZWZhdWx0SGVscDogJ2Rlc2MnLFxuICB9KSxcbiAgbGltaXQ6IEZsYWdzLmludGVnZXIoe1xuICAgIGRlc2NyaXB0aW9uOiAnbnVtYmVyIG9mIGl0ZW1zIHRvIHJldHVybiBwZXIgcGFnZScsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHQ6IDIwLFxuICAgIGhlbHBHcm91cDogJ0ZpbHRlcmluZycsXG4gICAgaGVscExhYmVsOiAnLS1saW1pdCcsXG4gICAgaGVscFZhbHVlOiAnTlVNQkVSJyxcbiAgfSksXG4gIGludGVyYWN0aXZlOiBGbGFncy5ib29sZWFuKHtcbiAgICBkZXNjcmlwdGlvbjogJ0VuYWJsZSBpbnRlcmFjdGl2ZSBwYWdpbmF0aW9uIHdpdGgga2V5Ym9hcmQgY29udHJvbHMnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBjaGFyOiAnaScsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgaGVscEdyb3VwOiAnT3V0cHV0JyxcbiAgICBoZWxwTGFiZWw6ICctaSwgLS1pbnRlcmFjdGl2ZScsXG4gIH0pLFxufTtcbiJdfQ==
143
+ /**
144
+ * Flag for printing a shareable deep-link URL instead of opening the web UI.
145
+ * Only relevant to commands that can open a dashboard (`inspect`, `web`), so it
146
+ * is exported separately rather than bundled into `cliFlags`.
147
+ */
148
+ export const urlFlag = {
149
+ url: Flags.boolean({
150
+ description: 'Print the deep-link URL to the run/dashboard and exit (no browser, no server)',
151
+ required: false,
152
+ default: false,
153
+ helpGroup: 'Output',
154
+ helpLabel: '--url',
155
+ }),
156
+ };
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luc3BlY3QvZmxhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDckIsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxHQUFHO1FBQ1QsU0FBUyxFQUFFLFFBQVE7UUFDbkIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsR0FBRyxFQUFFLE9BQU87UUFDWixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7SUFDRixJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNsQixXQUFXLEVBQUUsc0RBQXNEO1FBQ25FLFFBQVEsRUFBRSxLQUFLO1FBQ2YsSUFBSSxFQUFFLEdBQUc7UUFDVCxPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxRQUFRO1FBQ25CLFNBQVMsRUFBRSxZQUFZO0tBQ3hCLENBQUM7SUFDRixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNuQixXQUFXLEVBQUUscUNBQXFDO1FBQ2xELFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLEVBQUU7UUFDWCxTQUFTLEVBQUUsV0FBVztRQUN0QixTQUFTLEVBQUUsVUFBVTtRQUNyQixTQUFTLEVBQUUsUUFBUTtLQUNwQixDQUFDO0lBQ0YsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDcEIsV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxRQUFRLEVBQUUsS0FBSztRQUNmLElBQUksRUFBRSxHQUFHO1FBQ1QsT0FBTyxFQUFFLE9BQU87UUFDaEIsR0FBRyxFQUFFLHVCQUF1QjtRQUM1QixTQUFTLEVBQUUsUUFBUTtRQUNuQixTQUFTLEVB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Y29yZSc7XG5cbmV4cG9ydCBjb25zdCBjbGlGbGFncyA9IHtcbiAgdmVyYm9zZTogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdWZXJib3NlIG91dHB1dCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICd2JyxcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy12LCAtLXZlcmJvc2UnLFxuICAgIGVudjogJ0RFQlVHJyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSksXG4gIGpzb246IEZsYWdzLmJvb2xlYW4oe1xuICAgIGRlc2NyaXB0aW9uOiAnb3V0cHV0IEpTT04gaW5zdGVhZCBvZiBodW1hbi1yZWFkYWJsZSB0YWJsZXMvc3RyZWFtcycsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICdqJyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy1qLCAtLWpzb24nLFxuICB9KSxcbiAgY3Vyc29yOiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOiAncGFnaW5hdGlvbiBjdXJzb3IgZm9yIGxpc3QgY29tbWFuZHMnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiAnJyxcbiAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgIGhlbHBMYWJlbDogJy0tY3Vyc29yJyxcbiAgICBoZWxwVmFsdWU6ICdDVVJTT1InLFxuICB9KSxcbiAgYmFja2VuZDogRmxhZ3Muc3RyaW5nKHtcbiAgICBkZXNjcmlwdGlvbjogJ2JhY2tlbmQgdG8gaW5zcGVjdCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICdiJyxcbiAgICBkZWZhdWx0OiAnbG9jYWwnLFxuICAgIGVudjogJ1dPUktGTE9XX1RBUkdFVF9XT1JMRCcsXG4gICAgaGVscEdyb3VwOiAnVGFyZ2V0JyxcbiAgICBoZWxwTGFiZWw6ICctYiwgLS1iYWNrZW5kJyxcbiAgICBoZWxwVmFsdWU6IFsnbG9jYWwnLCAndmVyY2VsJywgJzx5b3VyLXBhY2thZ2UtbmFtZT4nXSxcbiAgICBkZWZhdWx0SGVscDogJ2xvY2FsJyxcbiAgfSksXG4gIGF1dGhUb2tlbjogRmxhZ3Muc3RyaW5nKHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdBdXRoZW50aWNhdGlvbiB0b2tlbiB0byBiZSBwYXNzZWQgdG8gdGhlIGJhY2tlbmQuIElmIG5vdCBwcm92aWRlZCBhbmQgdGhlIGJhY2tlbmQgaXMgdmVyY2VsLCB3aWxsIGZhbGwgYmFjayB0byB0aGUgdG9rZW4gZ2VuZXJhdGVkIGJ5IGB2YyBsb2dpbmAuJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY2hhcjogJ2EnLFxuICAgIGRlcGVuZHNPbjogWydiYWNrZW5kJ10sXG4gICAgZGVmYXVsdDogJycsXG4gICAgZW52OiAnV09SS0ZMT1dfVkVSQ0VMX0FVVEhfVE9LRU4nLFxuICAgIGhlbHBHcm91cDogJ1RhcmdldCcsXG4gICAgaGVscExhYmVsOiAnLWEsIC0tYXV0aFRva2VuJyxcbiAgICBoZWxwVmFsdWU6ICdUT0tFTicsXG4gIH0pLFxuICBwcm9qZWN0OiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0lmIGJhY2tlbmQgaXMgdmVyY2VsLCB0aGUgdmVyY2VsIHByb2plY3QgdG8gYXV0aGVudGljYXRlIGFnYWluc3QnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiAnJyxcbiAgICBkZXBlbmRzT246IFsnYmFja2VuZCddLFxuICAgIGVudjogJ1dPUktGTE9XX1ZFUkNFTF9QUk9KRUNUJyxcbiAgICBoZWxwR3JvdXA6ICdUYXJnZXQnLFxuICAgIGhlbHBMYWJlbDogJy0tcHJvamVjdCcsXG4gICAgaGVscFZhbHVlOiAnUFJPSkVDVCcsXG4gIH0pLFxuICB0ZWFtOiBGbGFncy5zdHJpbmcoe1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0lmIGJhY2tlbmQgaXMgdmVyY2VsLCB0aGUgdmVyY2VsIHRlYW0gdG8gYXV0aGVudGljYXRlIGFnYWluc3QnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXBlbmRzT246IFsnYmFja2VuZCddLFxuICAgIGRlZmF1bHQ6ICcnLFxuICAgIGVudjogJ1dPUktGTE9XX1ZFUkNFTF9URUFNJyxcbiAgICBoZWxwR3JvdXA6ICdUYXJnZXQnLFxuICAgIGhlbHBMYWJlbDogJy0tdGVhbScsXG4gICAgaGVscFZhbHVlOiAnVEVBTScsXG4gIH0pLFxuICBlbnY6IEZsYWdzLnN0cmluZyh7XG4gICAgZGVzY3JpcHRpb246ICdJZiBiYWNrZW5kIGlzIHZlcmNlbCwgdGhlIHZlcmNlbCBlbnZpcm9ubWVudCB0byB1c2UnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBvcHRpb25zOiBbJ3Byb2R1Y3Rpb24nLCAncHJldmlldyddLFxuICAgIGRlZmF1bHQ6ICdwcm9kdWN0aW9uJyxcbiAgICBjaGFyOiAnZScsXG4gICAgZGVwZW5kc09uOiBbJ2JhY2tlbmQnXSxcbiAgICBlbnY6ICdXT1JLRkxPV19WRVJDRUxfRU5WJyxcbiAgICBoZWxwR3JvdXA6ICdUYXJnZXQnLFxuICAgIGhlbHBMYWJlbDogJy1lLCAtLWVudicsXG4gICAgaGVscFZhbHVlOiBbJ3Byb2R1Y3Rpb24nLCAncHJldmlldyddLFxuICAgIGRlZmF1bHRIZWxwOiAncHJvZHVjdGlvbicsXG4gIH0pLFxuICB3ZWI6IEZsYWdzLmJvb2xlYW4oe1xuICAgIGRlc2NyaXB0aW9uOiAnT3BlbiB0aGUgd2ViIFVJIGluc3RlYWQgb2YgZGlzcGxheWluZyBpbiB0ZXJtaW5hbCcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNoYXI6ICd3JyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy13LCAtLXdlYicsXG4gIH0pLFxuICB3ZWJQb3J0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICBkZXNjcmlwdGlvbjogJ1BvcnQgdG8gdXNlIHdoZW4gbGF1bmNoaW5nIHRoZSB3ZWIgVUkgKGRlZmF1bHQ6IDM0NTYpJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdDogMzQ1NixcbiAgICBoZWxwR3JvdXA6ICdPdXRwdXQnLFxuICAgIGhlbHBMYWJlbDogJy0td2ViUG9ydCcsXG4gICAgaGVscFZhbHVlOiAnV0VCX1BPUlQnLFxuICAgIGVudjogJ1dPUktGTE9XX1dFQl9QT1JUJyxcbiAgfSksXG4gIG5vQnJvd3NlcjogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdEaXNhYmxlIGF1dG9tYXRpYyBicm93c2VyIG9wZW5pbmcgd2hlbiBsYXVuY2hpbmcgd2ViIFVJJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgZW52OiAnV09SS0ZMT1dfRElTQUJMRV9CUk9XU0VSX09QRU4nLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS1ub0Jyb3dzZXInLFxuICB9KSxcbiAgbG9jYWxVaTogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnVXNlIGxvY2FsIHdlYiBVSSBpbnN0ZWFkIG9mIFZlcmNlbCBkYXNoYm9hcmQgKHdoZW4gYmFja2VuZCBpcyB2ZXJjZWwpJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgZW52OiAnV09SS0ZMT1dfTE9DQUxfVUknLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS1sb2NhbFVpJyxcbiAgfSksXG4gIHNvcnQ6IEZsYWdzLnN0cmluZyh7XG4gICAgZGVzY3JpcHRpb246ICdzb3J0IG9yZGVyIGZvciBsaXN0IGNvbW1hbmRzJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgb3B0aW9uczogWydhc2MnLCAnZGVzYyddLFxuICAgIGRlZmF1bHQ6ICdkZXNjJyxcbiAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgIGhlbHBMYWJlbDogJy0tc29ydCcsXG4gICAgaGVscFZhbHVlOiBbJ2FzYycsICdkZXNjJ10sXG4gICAgZGVmYXVsdEhlbHA6ICdkZXNjJyxcbiAgfSksXG4gIGxpbWl0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICBkZXNjcmlwdGlvbjogJ251bWJlciBvZiBpdGVtcyB0byByZXR1cm4gcGVyIHBhZ2UnLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiAyMCxcbiAgICBoZWxwR3JvdXA6ICdGaWx0ZXJpbmcnLFxuICAgIGhlbHBMYWJlbDogJy0tbGltaXQnLFxuICAgIGhlbHBWYWx1ZTogJ05VTUJFUicsXG4gIH0pLFxuICBpbnRlcmFjdGl2ZTogRmxhZ3MuYm9vbGVhbih7XG4gICAgZGVzY3JpcHRpb246ICdFbmFibGUgaW50ZXJhY3RpdmUgcGFnaW5hdGlvbiB3aXRoIGtleWJvYXJkIGNvbnRyb2xzJyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY2hhcjogJ2knLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLWksIC0taW50ZXJhY3RpdmUnLFxuICB9KSxcbn07XG5cbi8qKlxuICogRmxhZyBmb3IgcHJpbnRpbmcgYSBzaGFyZWFibGUgZGVlcC1saW5rIFVSTCBpbnN0ZWFkIG9mIG9wZW5pbmcgdGhlIHdlYiBVSS5cbiAqIE9ubHkgcmVsZXZhbnQgdG8gY29tbWFuZHMgdGhhdCBjYW4gb3BlbiBhIGRhc2hib2FyZCAoYGluc3BlY3RgLCBgd2ViYCksIHNvIGl0XG4gKiBpcyBleHBvcnRlZCBzZXBhcmF0ZWx5IHJhdGhlciB0aGFuIGJ1bmRsZWQgaW50byBgY2xpRmxhZ3NgLlxuICovXG5leHBvcnQgY29uc3QgdXJsRmxhZyA9IHtcbiAgdXJsOiBGbGFncy5ib29sZWFuKHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdQcmludCB0aGUgZGVlcC1saW5rIFVSTCB0byB0aGUgcnVuL2Rhc2hib2FyZCBhbmQgZXhpdCAobm8gYnJvd3Nlciwgbm8gc2VydmVyKScsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIGhlbHBHcm91cDogJ091dHB1dCcsXG4gICAgaGVscExhYmVsOiAnLS11cmwnLFxuICB9KSxcbn07XG4iXX0=
@@ -6,7 +6,10 @@ export declare function fetchTeamInfo(teamId: string, authToken: string): Promis
6
6
  teamSlug: string;
7
7
  } | null>;
8
8
  /**
9
- * Get the Vercel dashboard URL for workflows
9
+ * Get the Vercel dashboard URL for workflows.
10
+ *
11
+ * Format: https://vercel.com/<teamSlug>/<projectSlug>/workflows/runs/<runId>?environment=<env>
12
+ * (the older `/observability/workflows` route is no longer used).
10
13
  */
11
- export declare function getVercelDashboardUrl(teamSlug: string, projectName: string, resource: string, id?: string): string;
14
+ export declare function getVercelDashboardUrl(teamSlug: string, projectName: string, resource: string, id?: string, environment?: string): string;
12
15
  //# sourceMappingURL=vercel-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-api.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/vercel-api.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAqDtC;AAmCD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,MAAM,GACV,MAAM,CAWR"}
1
+ {"version":3,"file":"vercel-api.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/vercel-api.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAqDtC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,MAAM,EACX,WAAW,SAAe,GACzB,MAAM,CAYR"}
@@ -43,47 +43,22 @@ export async function fetchTeamInfo(teamId, authToken) {
43
43
  return null;
44
44
  }
45
45
  }
46
- // /**
47
- // * Check if the Vercel dashboard workflows page is available
48
- // */
49
- // export async function checkVercelDashboardAvailable(
50
- // teamSlug: string,
51
- // projectName: string,
52
- // authToken: string
53
- // ): Promise<boolean> {
54
- // try {
55
- // const dashboardUrl = `https://vercel.com/${teamSlug}/${projectName}/ai/workflows`;
56
- // logger.debug(`Checking Vercel dashboard availability: ${dashboardUrl}`);
57
- // const response = await fetch(dashboardUrl, {
58
- // method: 'HEAD',
59
- // redirect: 'follow',
60
- // headers: {
61
- // Authorization: `Bearer ${authToken}`,
62
- // },
63
- // });
64
- // // Consider 2xx and 3xx as success
65
- // const isAvailable = response.status >= 200 && response.status < 400;
66
- // logger.debug(
67
- // `Dashboard check result: ${response.status} - ${isAvailable ? 'available' : 'not available'}`
68
- // );
69
- // return isAvailable;
70
- // } catch (error) {
71
- // logger.debug(`Error checking dashboard availability: ${error}`);
72
- // return false;
73
- // }
74
- // }
75
46
  /**
76
- * Get the Vercel dashboard URL for workflows
47
+ * Get the Vercel dashboard URL for workflows.
48
+ *
49
+ * Format: https://vercel.com/<teamSlug>/<projectSlug>/workflows/runs/<runId>?environment=<env>
50
+ * (the older `/observability/workflows` route is no longer used).
77
51
  */
78
- export function getVercelDashboardUrl(teamSlug, projectName, resource, id) {
79
- let url = `https://vercel.com/${teamSlug}/${projectName}/observability/workflows`;
52
+ export function getVercelDashboardUrl(teamSlug, projectName, resource, id, environment = 'production') {
53
+ const base = `https://vercel.com/${teamSlug}/${projectName}/workflows`;
54
+ const env = `environment=${environment}`;
80
55
  // Add resource-specific path segments
81
56
  if (resource === 'run' && id) {
82
- url += `/runs/${id}?environment=production`;
57
+ return `${base}/runs/${id}?${env}`;
83
58
  }
84
- else if (id) {
85
- url += `?${resource}Id=${id}`;
59
+ if (id) {
60
+ return `${base}?${resource}Id=${id}&${env}`;
86
61
  }
87
- return url;
62
+ return `${base}?${env}`;
88
63
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyY2VsLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaW5zcGVjdC92ZXJjZWwtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFPMUM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLENBQ2pDLE1BQWMsRUFDZCxTQUFpQjtJQUVqQixJQUFJLENBQUM7UUFDSCxvREFBb0Q7UUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUN6QyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTdELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLG1DQUFtQyxNQUFNLEVBQUUsRUFBRTtZQUN4RSxPQUFPLEVBQUU7Z0JBQ1AsYUFBYSxFQUFFLFVBQVUsU0FBUyxFQUFFO2FBQ3JDO1lBQ0QsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1NBQzFCLENBQUMsQ0FBQztRQUVILDBEQUEwRDtRQUMxRCxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFeEIsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxLQUFLLENBQ1YsS0FBSyxDQUFDLEdBQUcsQ0FDUCwwQkFBMEIsUUFBUSxDQUFDLE1BQU0sc0NBQXNDLENBQ2hGLENBQ0YsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQ1QsS0FBSyxDQUFDLE1BQU0sQ0FDVixnRUFBZ0UsQ0FDakUsQ0FDRixDQUFDO1lBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsQ0FBQztZQUNsRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxLQUFLLENBQ1YsOEJBQThCLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUN2RSxDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBZSxDQUFDO1FBQ25ELE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsK0RBQStEO1FBQy9ELElBQUksS0FBSyxZQUFZLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQzFELE1BQU0sQ0FBQyxLQUFLLENBQ1Ysd0VBQXdFLENBQ3pFLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNO0FBQ04sK0RBQStEO0FBQy9ELE1BQU07QUFDTix1REFBdUQ7QUFDdkQsc0JBQXNCO0FBQ3RCLHlCQUF5QjtBQUN6QixzQkFBc0I7QUFDdEIsd0JBQXdCO0FBQ3hCLFVBQVU7QUFDVix5RkFBeUY7QUFDekYsK0VBQStFO0FBRS9FLG1EQUFtRDtBQUNuRCx3QkFBd0I7QUFDeEIsNEJBQTRCO0FBQzVCLG1CQUFtQjtBQUNuQixnREFBZ0Q7QUFDaEQsV0FBVztBQUNYLFVBQVU7QUFFVix5Q0FBeUM7QUFDekMsMkVBQTJFO0FBQzNFLG9CQUFvQjtBQUNwQixzR0FBc0c7QUFDdEcsU0FBUztBQUVULDBCQUEwQjtBQUMxQixzQkFBc0I7QUFDdEIsdUVBQXVFO0FBQ3ZFLG9CQUFvQjtBQUNwQixNQUFNO0FBQ04sSUFBSTtBQUVKOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxRQUFnQixFQUNoQixXQUFtQixFQUNuQixRQUFnQixFQUNoQixFQUFXO0lBRVgsSUFBSSxHQUFHLEdBQUcsc0JBQXNCLFFBQVEsSUFBSSxXQUFXLDBCQUEwQixDQUFDO0lBRWxGLHNDQUFzQztJQUN0QyxJQUFJLFFBQVEsS0FBSyxLQUFLLElBQUksRUFBRSxFQUFFLENBQUM7UUFDN0IsR0FBRyxJQUFJLFNBQVMsRUFBRSx5QkFBeUIsQ0FBQztJQUM5QyxDQUFDO1NBQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNkLEdBQUcsSUFBSSxJQUFJLFFBQVEsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL2NvbmZpZy9sb2cuanMnO1xuXG5pbnRlcmZhY2UgVmVyY2VsVGVhbSB7XG4gIGlkOiBzdHJpbmc7XG4gIHNsdWc6IHN0cmluZztcbn1cblxuLyoqXG4gKiBGZXRjaCB0ZWFtIGluZm9ybWF0aW9uIGZyb20gVmVyY2VsIEFQSVxuICogVGltZW91dDogNSBzZWNvbmRzIC0gZmFsbHMgYmFjayB0byBsb2NhbCBVSSBpZiB0aGUgcmVxdWVzdCBmYWlscyBvciB0aW1lcyBvdXRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoVGVhbUluZm8oXG4gIHRlYW1JZDogc3RyaW5nLFxuICBhdXRoVG9rZW46IHN0cmluZ1xuKTogUHJvbWlzZTx7IHRlYW1TbHVnOiBzdHJpbmcgfSB8IG51bGw+IHtcbiAgdHJ5IHtcbiAgICAvLyBDcmVhdGUgYW4gQWJvcnRDb250cm9sbGVyIHdpdGggYSA1IHNlY29uZCB0aW1lb3V0XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKSwgNTAwMCk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGBodHRwczovL2FwaS52ZXJjZWwuY29tL3YyL3RlYW1zLyR7dGVhbUlkfWAsIHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2F1dGhUb2tlbn1gLFxuICAgICAgfSxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBDbGVhciB0aGUgdGltZW91dCBpZiB0aGUgcmVxdWVzdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDEgfHwgcmVzcG9uc2Uuc3RhdHVzID09PSA0MDMpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgY2hhbGsucmVkKFxuICAgICAgICAgIGBBdXRoZW50aWNhdGlvbiBmYWlsZWQgKCR7cmVzcG9uc2Uuc3RhdHVzfSk6IFVuYWJsZSB0byBhY2Nlc3MgdGVhbSBpbmZvcm1hdGlvbmBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGxvZ2dlci53YXJuKFxuICAgICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgICAgJ1xcblBsZWFzZSBlbnN1cmUgeW91IGFyZSBsb2dnZWQgaW4gYW5kIGhhdmUgYWNjZXNzIHRvIHRoZSB0ZWFtOidcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGxvZ2dlci53YXJuKGNoYWxrLnllbGxvdygnICBSdW4gYHZlcmNlbCBsb2dpbmAgdG8gYXV0aGVudGljYXRlJykpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICBgRmFpbGVkIHRvIGZldGNoIHRlYW0gaW5mbzogJHtyZXNwb25zZS5zdGF0dXN9ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gXG4gICAgICApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgdGVhbSA9IChhd2FpdCByZXNwb25zZS5qc29uKCkpIGFzIFZlcmNlbFRlYW07XG4gICAgcmV0dXJuIHtcbiAgICAgIHRlYW1TbHVnOiB0ZWFtLnNsdWcsXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBIYW5kbGUgYm90aCB0aW1lb3V0IGFuZCBvdGhlciBlcnJvcnMgLSBmYWxsIGJhY2sgdG8gbG9jYWwgVUlcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnJvci5uYW1lID09PSAnQWJvcnRFcnJvcicpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgJ1ZlcmNlbCBBUEkgcmVxdWVzdCB0aW1lZCBvdXQgYWZ0ZXIgNSBzZWNvbmRzLCBmYWxsaW5nIGJhY2sgdG8gbG9jYWwgVUknXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2dnZXIuZGVidWcoYEVycm9yIGZldGNoaW5nIHRlYW0gaW5mbzogJHtlcnJvcn1gKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLy8gLyoqXG4vLyAgKiBDaGVjayBpZiB0aGUgVmVyY2VsIGRhc2hib2FyZCB3b3JrZmxvd3MgcGFnZSBpcyBhdmFpbGFibGVcbi8vICAqL1xuLy8gZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoZWNrVmVyY2VsRGFzaGJvYXJkQXZhaWxhYmxlKFxuLy8gICB0ZWFtU2x1Zzogc3RyaW5nLFxuLy8gICBwcm9qZWN0TmFtZTogc3RyaW5nLFxuLy8gICBhdXRoVG9rZW46IHN0cmluZ1xuLy8gKTogUHJvbWlzZTxib29sZWFuPiB7XG4vLyAgIHRyeSB7XG4vLyAgICAgY29uc3QgZGFzaGJvYXJkVXJsID0gYGh0dHBzOi8vdmVyY2VsLmNvbS8ke3RlYW1TbHVnfS8ke3Byb2plY3ROYW1lfS9haS93b3JrZmxvd3NgO1xuLy8gICAgIGxvZ2dlci5kZWJ1ZyhgQ2hlY2tpbmcgVmVyY2VsIGRhc2hib2FyZCBhdmFpbGFiaWxpdHk6ICR7ZGFzaGJvYXJkVXJsfWApO1xuXG4vLyAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChkYXNoYm9hcmRVcmwsIHtcbi8vICAgICAgIG1ldGhvZDogJ0hFQUQnLFxuLy8gICAgICAgcmVkaXJlY3Q6ICdmb2xsb3cnLFxuLy8gICAgICAgaGVhZGVyczoge1xuLy8gICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7YXV0aFRva2VufWAsXG4vLyAgICAgICB9LFxuLy8gICAgIH0pO1xuXG4vLyAgICAgLy8gQ29uc2lkZXIgMnh4IGFuZCAzeHggYXMgc3VjY2Vzc1xuLy8gICAgIGNvbnN0IGlzQXZhaWxhYmxlID0gcmVzcG9uc2Uuc3RhdHVzID49IDIwMCAmJiByZXNwb25zZS5zdGF0dXMgPCA0MDA7XG4vLyAgICAgbG9nZ2VyLmRlYnVnKFxuLy8gICAgICAgYERhc2hib2FyZCBjaGVjayByZXN1bHQ6ICR7cmVzcG9uc2Uuc3RhdHVzfSAtICR7aXNBdmFpbGFibGUgPyAnYXZhaWxhYmxlJyA6ICdub3QgYXZhaWxhYmxlJ31gXG4vLyAgICAgKTtcblxuLy8gICAgIHJldHVybiBpc0F2YWlsYWJsZTtcbi8vICAgfSBjYXRjaCAoZXJyb3IpIHtcbi8vICAgICBsb2dnZXIuZGVidWcoYEVycm9yIGNoZWNraW5nIGRhc2hib2FyZCBhdmFpbGFiaWxpdHk6ICR7ZXJyb3J9YCk7XG4vLyAgICAgcmV0dXJuIGZhbHNlO1xuLy8gICB9XG4vLyB9XG5cbi8qKlxuICogR2V0IHRoZSBWZXJjZWwgZGFzaGJvYXJkIFVSTCBmb3Igd29ya2Zsb3dzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJjZWxEYXNoYm9hcmRVcmwoXG4gIHRlYW1TbHVnOiBzdHJpbmcsXG4gIHByb2plY3ROYW1lOiBzdHJpbmcsXG4gIHJlc291cmNlOiBzdHJpbmcsXG4gIGlkPzogc3RyaW5nXG4pOiBzdHJpbmcge1xuICBsZXQgdXJsID0gYGh0dHBzOi8vdmVyY2VsLmNvbS8ke3RlYW1TbHVnfS8ke3Byb2plY3ROYW1lfS9vYnNlcnZhYmlsaXR5L3dvcmtmbG93c2A7XG5cbiAgLy8gQWRkIHJlc291cmNlLXNwZWNpZmljIHBhdGggc2VnbWVudHNcbiAgaWYgKHJlc291cmNlID09PSAncnVuJyAmJiBpZCkge1xuICAgIHVybCArPSBgL3J1bnMvJHtpZH0/ZW52aXJvbm1lbnQ9cHJvZHVjdGlvbmA7XG4gIH0gZWxzZSBpZiAoaWQpIHtcbiAgICB1cmwgKz0gYD8ke3Jlc291cmNlfUlkPSR7aWR9YDtcbiAgfVxuXG4gIHJldHVybiB1cmw7XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyY2VsLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaW5zcGVjdC92ZXJjZWwtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFPMUM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLENBQ2pDLE1BQWMsRUFDZCxTQUFpQjtJQUVqQixJQUFJLENBQUM7UUFDSCxvREFBb0Q7UUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUN6QyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTdELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLG1DQUFtQyxNQUFNLEVBQUUsRUFBRTtZQUN4RSxPQUFPLEVBQUU7Z0JBQ1AsYUFBYSxFQUFFLFVBQVUsU0FBUyxFQUFFO2FBQ3JDO1lBQ0QsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1NBQzFCLENBQUMsQ0FBQztRQUVILDBEQUEwRDtRQUMxRCxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFeEIsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxLQUFLLENBQ1YsS0FBSyxDQUFDLEdBQUcsQ0FDUCwwQkFBMEIsUUFBUSxDQUFDLE1BQU0sc0NBQXNDLENBQ2hGLENBQ0YsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQ1QsS0FBSyxDQUFDLE1BQU0sQ0FDVixnRUFBZ0UsQ0FDakUsQ0FDRixDQUFDO1lBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsQ0FBQztZQUNsRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxLQUFLLENBQ1YsOEJBQThCLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUN2RSxDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBZSxDQUFDO1FBQ25ELE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsK0RBQStEO1FBQy9ELElBQUksS0FBSyxZQUFZLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQzFELE1BQU0sQ0FBQyxLQUFLLENBQ1Ysd0VBQXdFLENBQ3pFLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsUUFBZ0IsRUFDaEIsRUFBVyxFQUNYLFdBQVcsR0FBRyxZQUFZO0lBRTFCLE1BQU0sSUFBSSxHQUFHLHNCQUFzQixRQUFRLElBQUksV0FBVyxZQUFZLENBQUM7SUFDdkUsTUFBTSxHQUFHLEdBQUcsZUFBZSxXQUFXLEVBQUUsQ0FBQztJQUV6QyxzQ0FBc0M7SUFDdEMsSUFBSSxRQUFRLEtBQUssS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQzdCLE9BQU8sR0FBRyxJQUFJLFNBQVMsRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ1AsT0FBTyxHQUFHLElBQUksSUFBSSxRQUFRLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFDRCxPQUFPLEdBQUcsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vY29uZmlnL2xvZy5qcyc7XG5cbmludGVyZmFjZSBWZXJjZWxUZWFtIHtcbiAgaWQ6IHN0cmluZztcbiAgc2x1Zzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEZldGNoIHRlYW0gaW5mb3JtYXRpb24gZnJvbSBWZXJjZWwgQVBJXG4gKiBUaW1lb3V0OiA1IHNlY29uZHMgLSBmYWxscyBiYWNrIHRvIGxvY2FsIFVJIGlmIHRoZSByZXF1ZXN0IGZhaWxzIG9yIHRpbWVzIG91dFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hUZWFtSW5mbyhcbiAgdGVhbUlkOiBzdHJpbmcsXG4gIGF1dGhUb2tlbjogc3RyaW5nXG4pOiBQcm9taXNlPHsgdGVhbVNsdWc6IHN0cmluZyB9IHwgbnVsbD4ge1xuICB0cnkge1xuICAgIC8vIENyZWF0ZSBhbiBBYm9ydENvbnRyb2xsZXIgd2l0aCBhIDUgc2Vjb25kIHRpbWVvdXRcbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCA1MDAwKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vYXBpLnZlcmNlbC5jb20vdjIvdGVhbXMvJHt0ZWFtSWR9YCwge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7YXV0aFRva2VufWAsXG4gICAgICB9LFxuICAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIC8vIENsZWFyIHRoZSB0aW1lb3V0IGlmIHRoZSByZXF1ZXN0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHlcbiAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcblxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMSB8fCByZXNwb25zZS5zdGF0dXMgPT09IDQwMykge1xuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICBjaGFsay5yZWQoXG4gICAgICAgICAgYEF1dGhlbnRpY2F0aW9uIGZhaWxlZCAoJHtyZXNwb25zZS5zdGF0dXN9KTogVW5hYmxlIHRvIGFjY2VzcyB0ZWFtIGluZm9ybWF0aW9uYFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgbG9nZ2VyLndhcm4oXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICAnXFxuUGxlYXNlIGVuc3VyZSB5b3UgYXJlIGxvZ2dlZCBpbiBhbmQgaGF2ZSBhY2Nlc3MgdG8gdGhlIHRlYW06J1xuICAgICAgICApXG4gICAgICApO1xuICAgICAgbG9nZ2VyLndhcm4oY2hhbGsueWVsbG93KCcgIFJ1biBgdmVyY2VsIGxvZ2luYCB0byBhdXRoZW50aWNhdGUnKSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgIGBGYWlsZWQgdG8gZmV0Y2ggdGVhbSBpbmZvOiAke3Jlc3BvbnNlLnN0YXR1c30gJHtyZXNwb25zZS5zdGF0dXNUZXh0fWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB0ZWFtID0gKGF3YWl0IHJlc3BvbnNlLmpzb24oKSkgYXMgVmVyY2VsVGVhbTtcbiAgICByZXR1cm4ge1xuICAgICAgdGVhbVNsdWc6IHRlYW0uc2x1ZyxcbiAgICB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEhhbmRsZSBib3RoIHRpbWVvdXQgYW5kIG90aGVyIGVycm9ycyAtIGZhbGwgYmFjayB0byBsb2NhbCBVSVxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmIGVycm9yLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICAnVmVyY2VsIEFQSSByZXF1ZXN0IHRpbWVkIG91dCBhZnRlciA1IHNlY29uZHMsIGZhbGxpbmcgYmFjayB0byBsb2NhbCBVSSdcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgRXJyb3IgZmV0Y2hpbmcgdGVhbSBpbmZvOiAke2Vycm9yfWApO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIEdldCB0aGUgVmVyY2VsIGRhc2hib2FyZCBVUkwgZm9yIHdvcmtmbG93cy5cbiAqXG4gKiBGb3JtYXQ6IGh0dHBzOi8vdmVyY2VsLmNvbS88dGVhbVNsdWc+Lzxwcm9qZWN0U2x1Zz4vd29ya2Zsb3dzL3J1bnMvPHJ1bklkPj9lbnZpcm9ubWVudD08ZW52PlxuICogKHRoZSBvbGRlciBgL29ic2VydmFiaWxpdHkvd29ya2Zsb3dzYCByb3V0ZSBpcyBubyBsb25nZXIgdXNlZCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJjZWxEYXNoYm9hcmRVcmwoXG4gIHRlYW1TbHVnOiBzdHJpbmcsXG4gIHByb2plY3ROYW1lOiBzdHJpbmcsXG4gIHJlc291cmNlOiBzdHJpbmcsXG4gIGlkPzogc3RyaW5nLFxuICBlbnZpcm9ubWVudCA9ICdwcm9kdWN0aW9uJ1xuKTogc3RyaW5nIHtcbiAgY29uc3QgYmFzZSA9IGBodHRwczovL3ZlcmNlbC5jb20vJHt0ZWFtU2x1Z30vJHtwcm9qZWN0TmFtZX0vd29ya2Zsb3dzYDtcbiAgY29uc3QgZW52ID0gYGVudmlyb25tZW50PSR7ZW52aXJvbm1lbnR9YDtcblxuICAvLyBBZGQgcmVzb3VyY2Utc3BlY2lmaWMgcGF0aCBzZWdtZW50c1xuICBpZiAocmVzb3VyY2UgPT09ICdydW4nICYmIGlkKSB7XG4gICAgcmV0dXJuIGAke2Jhc2V9L3J1bnMvJHtpZH0/JHtlbnZ9YDtcbiAgfVxuICBpZiAoaWQpIHtcbiAgICByZXR1cm4gYCR7YmFzZX0/JHtyZXNvdXJjZX1JZD0ke2lkfSYke2Vudn1gO1xuICB9XG4gIHJldHVybiBgJHtiYXNlfT8ke2Vudn1gO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vercel-api.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vercel-api.test.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/vercel-api.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { getVercelDashboardUrl } from './vercel-api.js';
3
+ describe('getVercelDashboardUrl', () => {
4
+ it('builds a run deep link with the default (production) environment', () => {
5
+ expect(getVercelDashboardUrl('my-team', 'my-project', 'run', 'wrun_123')).toBe('https://vercel.com/my-team/my-project/workflows/runs/wrun_123?environment=production');
6
+ });
7
+ it('respects the preview environment', () => {
8
+ expect(getVercelDashboardUrl('my-team', 'my-project', 'run', 'wrun_123', 'preview')).toBe('https://vercel.com/my-team/my-project/workflows/runs/wrun_123?environment=preview');
9
+ });
10
+ it('never emits the legacy /observability segment', () => {
11
+ const url = getVercelDashboardUrl('my-team', 'my-project', 'run', 'wrun_123', 'preview');
12
+ expect(url).not.toContain('/observability');
13
+ });
14
+ it('builds an overview link when no id is provided', () => {
15
+ expect(getVercelDashboardUrl('my-team', 'my-project', 'run')).toBe('https://vercel.com/my-team/my-project/workflows?environment=production');
16
+ });
17
+ it('builds a resource-query link for non-run resources', () => {
18
+ expect(getVercelDashboardUrl('my-team', 'my-project', 'step', 'step_456', 'preview')).toBe('https://vercel.com/my-team/my-project/workflows?stepId=step_456&environment=preview');
19
+ });
20
+ });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyY2VsLWFwaS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pbnNwZWN0L3ZlcmNlbC1hcGkudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsUUFBUSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtJQUNyQyxFQUFFLENBQUMsa0VBQWtFLEVBQUUsR0FBRyxFQUFFO1FBQzFFLE1BQU0sQ0FDSixxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FDbEUsQ0FBQyxJQUFJLENBQ0osc0ZBQXNGLENBQ3ZGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxHQUFHLEVBQUU7UUFDMUMsTUFBTSxDQUNKLHFCQUFxQixDQUNuQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxVQUFVLEVBQ1YsU0FBUyxDQUNWLENBQ0YsQ0FBQyxJQUFJLENBQ0osbUZBQW1GLENBQ3BGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxHQUFHLEVBQUU7UUFDdkQsTUFBTSxHQUFHLEdBQUcscUJBQXFCLENBQy9CLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFVBQVUsRUFDVixTQUFTLENBQ1YsQ0FBQztRQUNGLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0RBQWdELEVBQUUsR0FBRyxFQUFFO1FBQ3hELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNoRSx3RUFBd0UsQ0FDekUsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEdBQUcsRUFBRTtRQUM1RCxNQUFNLENBQ0oscUJBQXFCLENBQ25CLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFVBQVUsRUFDVixTQUFTLENBQ1YsQ0FDRixDQUFDLElBQUksQ0FDSixxRkFBcUYsQ0FDdEYsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gJ3ZpdGVzdCc7XG5pbXBvcnQgeyBnZXRWZXJjZWxEYXNoYm9hcmRVcmwgfSBmcm9tICcuL3ZlcmNlbC1hcGkuanMnO1xuXG5kZXNjcmliZSgnZ2V0VmVyY2VsRGFzaGJvYXJkVXJsJywgKCkgPT4ge1xuICBpdCgnYnVpbGRzIGEgcnVuIGRlZXAgbGluayB3aXRoIHRoZSBkZWZhdWx0IChwcm9kdWN0aW9uKSBlbnZpcm9ubWVudCcsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBnZXRWZXJjZWxEYXNoYm9hcmRVcmwoJ215LXRlYW0nLCAnbXktcHJvamVjdCcsICdydW4nLCAnd3J1bl8xMjMnKVxuICAgICkudG9CZShcbiAgICAgICdodHRwczovL3ZlcmNlbC5jb20vbXktdGVhbS9teS1wcm9qZWN0L3dvcmtmbG93cy9ydW5zL3dydW5fMTIzP2Vudmlyb25tZW50PXByb2R1Y3Rpb24nXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Jlc3BlY3RzIHRoZSBwcmV2aWV3IGVudmlyb25tZW50JywgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIGdldFZlcmNlbERhc2hib2FyZFVybChcbiAgICAgICAgJ215LXRlYW0nLFxuICAgICAgICAnbXktcHJvamVjdCcsXG4gICAgICAgICdydW4nLFxuICAgICAgICAnd3J1bl8xMjMnLFxuICAgICAgICAncHJldmlldydcbiAgICAgIClcbiAgICApLnRvQmUoXG4gICAgICAnaHR0cHM6Ly92ZXJjZWwuY29tL215LXRlYW0vbXktcHJvamVjdC93b3JrZmxvd3MvcnVucy93cnVuXzEyMz9lbnZpcm9ubWVudD1wcmV2aWV3J1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCduZXZlciBlbWl0cyB0aGUgbGVnYWN5IC9vYnNlcnZhYmlsaXR5IHNlZ21lbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgdXJsID0gZ2V0VmVyY2VsRGFzaGJvYXJkVXJsKFxuICAgICAgJ215LXRlYW0nLFxuICAgICAgJ215LXByb2plY3QnLFxuICAgICAgJ3J1bicsXG4gICAgICAnd3J1bl8xMjMnLFxuICAgICAgJ3ByZXZpZXcnXG4gICAgKTtcbiAgICBleHBlY3QodXJsKS5ub3QudG9Db250YWluKCcvb2JzZXJ2YWJpbGl0eScpO1xuICB9KTtcblxuICBpdCgnYnVpbGRzIGFuIG92ZXJ2aWV3IGxpbmsgd2hlbiBubyBpZCBpcyBwcm92aWRlZCcsICgpID0+IHtcbiAgICBleHBlY3QoZ2V0VmVyY2VsRGFzaGJvYXJkVXJsKCdteS10ZWFtJywgJ215LXByb2plY3QnLCAncnVuJykpLnRvQmUoXG4gICAgICAnaHR0cHM6Ly92ZXJjZWwuY29tL215LXRlYW0vbXktcHJvamVjdC93b3JrZmxvd3M/ZW52aXJvbm1lbnQ9cHJvZHVjdGlvbidcbiAgICApO1xuICB9KTtcblxuICBpdCgnYnVpbGRzIGEgcmVzb3VyY2UtcXVlcnkgbGluayBmb3Igbm9uLXJ1biByZXNvdXJjZXMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgZ2V0VmVyY2VsRGFzaGJvYXJkVXJsKFxuICAgICAgICAnbXktdGVhbScsXG4gICAgICAgICdteS1wcm9qZWN0JyxcbiAgICAgICAgJ3N0ZXAnLFxuICAgICAgICAnc3RlcF80NTYnLFxuICAgICAgICAncHJldmlldydcbiAgICAgIClcbiAgICApLnRvQmUoXG4gICAgICAnaHR0cHM6Ly92ZXJjZWwuY29tL215LXRlYW0vbXktcHJvamVjdC93b3JrZmxvd3M/c3RlcElkPXN0ZXBfNDU2JmVudmlyb25tZW50PXByZXZpZXcnXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1,4 +1,11 @@
1
1
  export declare const getHostUrl: (webPort: number) => string;
2
+ /**
3
+ * Build a URL for opening the local web UI.
4
+ *
5
+ * The web UI reads world configuration from server-side environment variables.
6
+ * Query params are only used for deep-linking to specific resources (resource/id, runId, etc.)
7
+ */
8
+ export declare function buildWebUIUrl(hostUrl: string, resource: string, id: string | undefined, flags: Record<string, any>): string;
2
9
  /**
3
10
  * Launch the web UI with the specified configuration.
4
11
  * This starts the server (if not running), opens the browser, then keeps the server running.
@@ -7,4 +14,21 @@ export declare const getHostUrl: (webPort: number) => string;
7
14
  * The web UI reads these from process.env on the server side, not from query params.
8
15
  */
9
16
  export declare function launchWebUI(resource: string, id: string | undefined, flags: Record<string, any>, _cliVersion: string): Promise<void>;
17
+ /**
18
+ * Build the deep-link URL for a resource without any side effects (no server,
19
+ * no browser). Picks the Vercel dashboard for a Vercel backend (unless
20
+ * `--localUi`), otherwise the local web UI deep link.
21
+ *
22
+ * Assumes env vars have already been resolved (e.g. via `setupCliWorld`).
23
+ */
24
+ export declare function buildDeepLinkUrl(resource: string, id: string | undefined, flags: Record<string, any>): string;
25
+ /**
26
+ * Resolve and print a shareable deep-link URL to stdout, then return — without
27
+ * opening a browser or starting the local web server. Intended for scripting
28
+ * and agents that need the link rather than a rendered dashboard.
29
+ *
30
+ * Human-readable chatter (the startup box, info/debug logs) is routed to stderr
31
+ * so stdout contains only the URL (or `{ "url": "..." }` with `--json`).
32
+ */
33
+ export declare function printDeepLink(resource: string, id: string | undefined, flags: Record<string, any>, version: string): Promise<void>;
10
34
  //# sourceMappingURL=web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/web.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,WAAkC,CAAC;AAqE7E;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAsGf"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/web.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,WAAkC,CAAC;AAqC7E;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,MAAM,CAmBR;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAuGf;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,MAAM,CAyBR;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -2,6 +2,7 @@ import chalk from 'chalk';
2
2
  import open from 'open';
3
3
  import { logger } from '../config/log.js';
4
4
  import { getEnvVars } from './env.js';
5
+ import { setupCliWorld } from './setup.js';
5
6
  import { getVercelDashboardUrl } from './vercel-api.js';
6
7
  export const getHostUrl = (webPort) => `http://localhost:${webPort}`;
7
8
  let httpServer = null;
@@ -43,7 +44,7 @@ async function startWebServer(webPort) {
43
44
  * The web UI reads world configuration from server-side environment variables.
44
45
  * Query params are only used for deep-linking to specific resources (resource/id, runId, etc.)
45
46
  */
46
- function buildWebUIUrl(hostUrl, resource, id, flags) {
47
+ export function buildWebUIUrl(hostUrl, resource, id, flags) {
47
48
  const params = new URLSearchParams();
48
49
  // Deep-linking params
49
50
  params.set('resource', resource);
@@ -83,7 +84,7 @@ export async function launchWebUI(resource, id, flags, _cliVersion) {
83
84
  }
84
85
  if (isVercelBackend && teamSlug && projectName && !useLocalUi) {
85
86
  logger.debug(`Checking Vercel dashboard availability for team: ${teamSlug}, project: ${projectName}`);
86
- const dashboardUrl = getVercelDashboardUrl(teamSlug, projectName, resource, id);
87
+ const dashboardUrl = getVercelDashboardUrl(teamSlug, projectName, resource, id, envVars.WORKFLOW_VERCEL_ENV || 'production');
87
88
  if (disableBrowserOpen) {
88
89
  logger.info(chalk.cyan(`Vercel dashboard URL: ${dashboardUrl}`));
89
90
  logger.info(chalk.cyan('(Browser auto-open disabled)'));
@@ -146,4 +147,47 @@ export async function launchWebUI(resource, id, flags, _cliVersion) {
146
147
  });
147
148
  }
148
149
  }
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pbnNwZWN0L3dlYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFLENBQUMsb0JBQW9CLE9BQU8sRUFBRSxDQUFDO0FBRTdFLElBQUksVUFBVSxHQUFrQixJQUFJLENBQUM7QUFFckM7O0dBRUc7QUFDSCxLQUFLLFVBQVUsZUFBZSxDQUFDLE9BQWU7SUFDNUMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDMUQsT0FBTyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsY0FBYyxDQUFDLE9BQWU7SUFDM0MsSUFBSSxNQUFNLGVBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9DLE1BQU0sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUMxQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDekMsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDN0QsVUFBVSxHQUFHLE1BQU0sV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUEyQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsYUFBYSxDQUNwQixPQUFlLEVBQ2YsUUFBZ0IsRUFDaEIsRUFBc0IsRUFDdEIsS0FBMEI7SUFFMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQUVyQyxzQkFBc0I7SUFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNQLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsS0FBSyxNQUFNLFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFVLEVBQUUsQ0FBQztRQUM5RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNELE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RDLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQzdELENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFdBQVcsQ0FDL0IsUUFBZ0IsRUFDaEIsRUFBc0IsRUFDdEIsS0FBMEIsRUFDMUIsV0FBbUI7SUFFbkIsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFFN0Isd0VBQXdFO0lBQ3hFLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUUzQyxxREFBcUQ7SUFDckQsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FDakQsT0FBTyxDQUFDLHFCQUFxQixDQUM5QixDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDO0lBQzlDLE1BQU0sV0FBVyxHQUNmLE9BQU8sQ0FBQyw0QkFBNEIsSUFBSSxPQUFPLENBQUMsdUJBQXVCLENBQUM7SUFFMUUsZ0VBQWdFO0lBQ2hFLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFFakMsSUFBSSxDQUFDLFVBQVUsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNuQyxNQUFNLENBQUMsSUFBSSxDQUNULGtJQUFrSSxDQUNuSSxDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksZUFBZSxJQUFJLFFBQVEsSUFBSSxXQUFXLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5RCxNQUFNLENBQUMsS0FBSyxDQUNWLG9EQUFvRCxRQUFRLGNBQWMsV0FBVyxFQUFFLENBQ3hGLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FDeEMsUUFBUSxFQUNSLFdBQVcsRUFDWCxRQUFRLEVBQ1IsRUFBRSxDQUNILENBQUM7UUFFRixJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHlCQUF5QixZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztZQUN4RCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQ1QsS0FBSyxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsWUFBWSxFQUFFLENBQUMsQ0FDMUUsQ0FBQztRQUNGLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sQ0FBQywyQ0FBMkM7UUFDckQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUEyQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztZQUM5QyxPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDdEMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUV4RCxxQ0FBcUM7SUFDckMsTUFBTSxjQUFjLEdBQUcsTUFBTSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFdEQsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNuQixNQUFNLENBQUMsSUFBSSxDQUNULEtBQUssQ0FBQyxJQUFJLENBQUMsNENBQTRDLE9BQU8sR0FBRyxDQUFDLENBQ25FLENBQUM7SUFDSixDQUFDO1NBQU0sQ0FBQztRQUNOLG1CQUFtQjtRQUNuQixNQUFNLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixNQUFNLENBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDOUMsT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtJQUNmLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUEyQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxJQUFJLENBQUMsY0FBYyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpREFBaUQsQ0FBQyxDQUFDLENBQUM7UUFFM0UseURBQXlEO1FBQ3pELE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDMUMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNlcnZlciB9IGZyb20gJ25vZGU6aHR0cCc7XG5pbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IG9wZW4gZnJvbSAnb3Blbic7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi9jb25maWcvbG9nLmpzJztcbmltcG9ydCB7IGdldEVudlZhcnMgfSBmcm9tICcuL2Vudi5qcyc7XG5pbXBvcnQgeyBnZXRWZXJjZWxEYXNoYm9hcmRVcmwgfSBmcm9tICcuL3ZlcmNlbC1hcGkuanMnO1xuXG5leHBvcnQgY29uc3QgZ2V0SG9zdFVybCA9ICh3ZWJQb3J0OiBudW1iZXIpID0+IGBodHRwOi8vbG9jYWxob3N0OiR7d2ViUG9ydH1gO1xuXG5sZXQgaHR0cFNlcnZlcjogU2VydmVyIHwgbnVsbCA9IG51bGw7XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzZXJ2ZXIgaXMgYWxyZWFkeSBsaXN0ZW5pbmcgb24gdGhlIGdpdmVuIFVSTC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gaXNTZXJ2ZXJSdW5uaW5nKGhvc3RVcmw6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goaG9zdFVybCwgeyBtZXRob2Q6ICdIRUFEJyB9KTtcbiAgICByZXR1cm4gcmVzcG9uc2Uub2s7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFN0YXJ0IHRoZSBAd29ya2Zsb3cvd2ViIHNlcnZlciBpbiB0aGUgY3VycmVudCBwcm9jZXNzLlxuICovXG5hc3luYyBmdW5jdGlvbiBzdGFydFdlYlNlcnZlcih3ZWJQb3J0OiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgaWYgKGF3YWl0IGlzU2VydmVyUnVubmluZyhnZXRIb3N0VXJsKHdlYlBvcnQpKSkge1xuICAgIGxvZ2dlci5kZWJ1ZygnU2VydmVyIGlzIGFscmVhZHkgcnVubmluZycpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBsb2dnZXIuaW5mbygnU3RhcnRpbmcgd2ViIFVJIHNlcnZlci4uLicpO1xuICAgIGNvbnN0IHsgc3RhcnRTZXJ2ZXIgfSA9IGF3YWl0IGltcG9ydCgnQHdvcmtmbG93L3dlYi9zZXJ2ZXInKTtcbiAgICBodHRwU2VydmVyID0gYXdhaXQgc3RhcnRTZXJ2ZXIod2ViUG9ydCk7XG4gICAgbG9nZ2VyLnN1Y2Nlc3MoY2hhbGsuZ3JlZW4oYFdlYiBVSSBzZXJ2ZXIgc3RhcnRlZCBvbiBwb3J0ICR7d2ViUG9ydH1gKSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gc3RhcnQgc2VydmVyOiAke2Vycm9yfWApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkIGEgVVJMIGZvciBvcGVuaW5nIHRoZSBsb2NhbCB3ZWIgVUkuXG4gKlxuICogVGhlIHdlYiBVSSByZWFkcyB3b3JsZCBjb25maWd1cmF0aW9uIGZyb20gc2VydmVyLXNpZGUgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICogUXVlcnkgcGFyYW1zIGFyZSBvbmx5IHVzZWQgZm9yIGRlZXAtbGlua2luZyB0byBzcGVjaWZpYyByZXNvdXJjZXMgKHJlc291cmNlL2lkLCBydW5JZCwgZXRjLilcbiAqL1xuZnVuY3Rpb24gYnVpbGRXZWJVSVVybChcbiAgaG9zdFVybDogc3RyaW5nLFxuICByZXNvdXJjZTogc3RyaW5nLFxuICBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBmbGFnczogUmVjb3JkPHN0cmluZywgYW55PlxuKTogc3RyaW5nIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuXG4gIC8vIERlZXAtbGlua2luZyBwYXJhbXNcbiAgcGFyYW1zLnNldCgncmVzb3VyY2UnLCByZXNvdXJjZSk7XG4gIGlmIChpZCkge1xuICAgIHBhcmFtcy5zZXQoJ2lkJywgaWQpO1xuICB9XG5cbiAgLy8gT3B0aW9uYWwgZGVlcC1saW5raW5nIHRvIHNwZWNpZmljIHJ1bi9zdGVwL2hvb2tcbiAgZm9yIChjb25zdCBmbGFnTmFtZSBvZiBbJ3J1bklkJywgJ3N0ZXBJZCcsICdob29rSWQnXSBhcyBjb25zdCkge1xuICAgIGNvbnN0IHZhbHVlID0gZmxhZ3NbZmxhZ05hbWVdO1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSAnJyAmJiB2YWx1ZSAhPT0gZmFsc2UpIHtcbiAgICAgIHBhcmFtcy5zZXQoZmxhZ05hbWUsIFN0cmluZyh2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gcGFyYW1zLnRvU3RyaW5nKCk7XG4gIHJldHVybiBxdWVyeVN0cmluZyA/IGAke2hvc3RVcmx9PyR7cXVlcnlTdHJpbmd9YCA6IGhvc3RVcmw7XG59XG5cbi8qKlxuICogTGF1bmNoIHRoZSB3ZWIgVUkgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbmZpZ3VyYXRpb24uXG4gKiBUaGlzIHN0YXJ0cyB0aGUgc2VydmVyIChpZiBub3QgcnVubmluZyksIG9wZW5zIHRoZSBicm93c2VyLCB0aGVuIGtlZXBzIHRoZSBzZXJ2ZXIgcnVubmluZy5cbiAqXG4gKiBXb3JsZCBjb25maWd1cmF0aW9uIGlzIHBhc3NlZCB0byB0aGUgd2ViIHNlcnZlciB2aWEgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICogVGhlIHdlYiBVSSByZWFkcyB0aGVzZSBmcm9tIHByb2Nlc3MuZW52IG9uIHRoZSBzZXJ2ZXIgc2lkZSwgbm90IGZyb20gcXVlcnkgcGFyYW1zLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbGF1bmNoV2ViVUkoXG4gIHJlc291cmNlOiBzdHJpbmcsXG4gIGlkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGZsYWdzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBfY2xpVmVyc2lvbjogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgZW52VmFycyA9IGdldEVudlZhcnMoKTtcblxuICAvLyBDaGVjayBpZiBicm93c2VyIG9wZW5pbmcgaXMgZGlzYWJsZWQgdmlhIGZsYWcgb3IgZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgY29uc3QgZGlzYWJsZUJyb3dzZXJPcGVuID0gZmxhZ3Mubm9Ccm93c2VyO1xuXG4gIC8vIENoZWNrIGlmIHdlIHNob3VsZCB0cnkgdG8gdXNlIHRoZSBWZXJjZWwgZGFzaGJvYXJkXG4gIGNvbnN0IHZlcmNlbEJhY2tlbmROYW1lcyA9IFsndmVyY2VsJywgJ0B3b3JrZmxvdy93b3JsZC12ZXJjZWwnXTtcbiAgY29uc3QgaXNWZXJjZWxCYWNrZW5kID0gdmVyY2VsQmFja2VuZE5hbWVzLmluY2x1ZGVzKFxuICAgIGVudlZhcnMuV09SS0ZMT1dfVEFSR0VUX1dPUkxEXG4gICk7XG4gIGNvbnN0IHRlYW1TbHVnID0gZW52VmFycy5XT1JLRkxPV19WRVJDRUxfVEVBTTtcbiAgY29uc3QgcHJvamVjdE5hbWUgPVxuICAgIGVudlZhcnMuV09SS0ZMT1dfVkVSQ0VMX1BST0pFQ1RfTkFNRSB8fCBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9QUk9KRUNUO1xuXG4gIC8vIENoZWNrIGlmIHVzZXIgd2FudHMgbG9jYWwgVUkgdmlhIGZsYWcgb3IgZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgY29uc3QgdXNlTG9jYWxVaSA9IGZsYWdzLmxvY2FsVWk7XG5cbiAgaWYgKCF1c2VMb2NhbFVpICYmIGlzVmVyY2VsQmFja2VuZCkge1xuICAgIGxvZ2dlci5pbmZvKFxuICAgICAgJ0lmIHlvdSBkbyBub3Qgd2FudCB0byB1c2UgdGhlIFZlcmNlbCBkYXNoYm9hcmQsIHVzZSB0aGUgLS1sb2NhbFVpIGZsYWcgb3Igc2V0IFdPUktGTE9XX0xPQ0FMX1VJPTEgaW4geW91ciBlbnZpcm9ubWVudCB2YXJpYWJsZXMuJ1xuICAgICk7XG4gIH1cbiAgaWYgKGlzVmVyY2VsQmFja2VuZCAmJiB0ZWFtU2x1ZyAmJiBwcm9qZWN0TmFtZSAmJiAhdXNlTG9jYWxVaSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBDaGVja2luZyBWZXJjZWwgZGFzaGJvYXJkIGF2YWlsYWJpbGl0eSBmb3IgdGVhbTogJHt0ZWFtU2x1Z30sIHByb2plY3Q6ICR7cHJvamVjdE5hbWV9YFxuICAgICk7XG5cbiAgICBjb25zdCBkYXNoYm9hcmRVcmwgPSBnZXRWZXJjZWxEYXNoYm9hcmRVcmwoXG4gICAgICB0ZWFtU2x1ZyxcbiAgICAgIHByb2plY3ROYW1lLFxuICAgICAgcmVzb3VyY2UsXG4gICAgICBpZFxuICAgICk7XG5cbiAgICBpZiAoZGlzYWJsZUJyb3dzZXJPcGVuKSB7XG4gICAgICBsb2dnZXIuaW5mbyhjaGFsay5jeWFuKGBWZXJjZWwgZGFzaGJvYXJkIFVSTDogJHtkYXNoYm9hcmRVcmx9YCkpO1xuICAgICAgbG9nZ2VyLmluZm8oY2hhbGsuY3lhbignKEJyb3dzZXIgYXV0by1vcGVuIGRpc2FibGVkKScpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2dnZXIuaW5mbyhcbiAgICAgIGNoYWxrLmdyZWVuKGBPcGVuaW5nIFZlcmNlbCBkYXNoYm9hcmQgZm9yIHdvcmtmbG93cyBhdDogJHtkYXNoYm9hcmRVcmx9YClcbiAgICApO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBvcGVuKGRhc2hib2FyZFVybCk7XG4gICAgICByZXR1cm47IC8vIEV4aXQgZWFybHkgc2luY2Ugd2Ugb3BlbmVkIHRoZSBkYXNoYm9hcmRcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gb3BlbiBicm93c2VyOiAke2Vycm9yfWApO1xuICAgICAgbG9nZ2VyLmluZm8oYFBsZWFzZSBvcGVuIHRoZSBsaW5rIG1hbnVhbGx5LmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZhbGwgYmFjayB0byBsb2NhbCB3ZWIgVUlcbiAgY29uc3Qgd2ViUG9ydCA9IGZsYWdzLndlYlBvcnQgPz8gMzQ1NjtcbiAgY29uc3QgaG9zdFVybCA9IGdldEhvc3RVcmwod2ViUG9ydCk7XG4gIGNvbnN0IHVybCA9IGJ1aWxkV2ViVUlVcmwoaG9zdFVybCwgcmVzb3VyY2UsIGlkLCBmbGFncyk7XG5cbiAgLy8gQ2hlY2sgaWYgc2VydmVyIGlzIGFscmVhZHkgcnVubmluZ1xuICBjb25zdCBhbHJlYWR5UnVubmluZyA9IGF3YWl0IGlzU2VydmVyUnVubmluZyhob3N0VXJsKTtcblxuICBpZiAoYWxyZWFkeVJ1bm5pbmcpIHtcbiAgICBsb2dnZXIuaW5mbyhcbiAgICAgIGNoYWxrLmN5YW4oYFdlYiBVSSBzZXJ2ZXIgaXMgYWxyZWFkeSBydW5uaW5nIG9uIHBvcnQgJHt3ZWJQb3J0fS5gKVxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgLy8gU3RhcnQgdGhlIHNlcnZlclxuICAgIGNvbnN0IHN0YXJ0ZWQgPSBhd2FpdCBzdGFydFdlYlNlcnZlcih3ZWJQb3J0KTtcbiAgICBpZiAoIXN0YXJ0ZWQpIHtcbiAgICAgIGxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHN0YXJ0IHdlYiBVSSBzZXJ2ZXInKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICAvLyBPcGVuIGJyb3dzZXJcbiAgaWYgKGRpc2FibGVCcm93c2VyT3Blbikge1xuICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oYFdlYiBVSSBhdmFpbGFibGUgYXQ6ICR7dXJsfWApKTtcbiAgICBsb2dnZXIuaW5mbyhjaGFsay5jeWFuKCcoQnJvd3NlciBhdXRvLW9wZW4gZGlzYWJsZWQpJykpO1xuICB9IGVsc2Uge1xuICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oYE9wZW5pbmcgYnJvd3NlciB0bzogJHt1cmx9YCkpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBvcGVuKHVybCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihgRmFpbGVkIHRvIG9wZW4gYnJvd3NlcjogJHtlcnJvcn1gKTtcbiAgICAgIGxvZ2dlci5pbmZvKGBQbGVhc2Ugb3BlbiB0aGUgbGluayBtYW51YWxseS5gKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBzdGFydGVkIHRoZSBzZXJ2ZXIsIGtlZXAgdGhlIHByb2Nlc3MgcnVubmluZ1xuICBpZiAoIWFscmVhZHlSdW5uaW5nICYmIGh0dHBTZXJ2ZXIpIHtcbiAgICBsb2dnZXIuaW5mbyhjaGFsay5jeWFuKCdQcmVzcyBDdHJsK0MgdG8gc3RvcCB0aGUgd2ViIFVJIHNlcnZlciBhbmQgZXhpdCcpKTtcblxuICAgIC8vIEtlZXAgdGhlIENMSSBwcm9jZXNzIGFsaXZlIHdoaWxlIHRoZSBzZXJ2ZXIgaXMgcnVubmluZ1xuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICBpZiAoaHR0cFNlcnZlcikge1xuICAgICAgICBodHRwU2VydmVyLm9uKCdjbG9zZScsICgpID0+IHJlc29sdmUoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
150
+ /**
151
+ * Build the deep-link URL for a resource without any side effects (no server,
152
+ * no browser). Picks the Vercel dashboard for a Vercel backend (unless
153
+ * `--localUi`), otherwise the local web UI deep link.
154
+ *
155
+ * Assumes env vars have already been resolved (e.g. via `setupCliWorld`).
156
+ */
157
+ export function buildDeepLinkUrl(resource, id, flags) {
158
+ const envVars = getEnvVars();
159
+ const vercelBackendNames = ['vercel', '@workflow/world-vercel'];
160
+ const isVercelBackend = vercelBackendNames.includes(envVars.WORKFLOW_TARGET_WORLD);
161
+ const teamSlug = envVars.WORKFLOW_VERCEL_TEAM;
162
+ const projectName = envVars.WORKFLOW_VERCEL_PROJECT_NAME || envVars.WORKFLOW_VERCEL_PROJECT;
163
+ // Use the Vercel dashboard when targeting Vercel (and not forced local).
164
+ if (isVercelBackend && !flags.localUi && teamSlug && projectName) {
165
+ return getVercelDashboardUrl(teamSlug, projectName, resource, id, envVars.WORKFLOW_VERCEL_ENV || 'production');
166
+ }
167
+ // Fall back to the local web UI deep link.
168
+ const webPort = flags.webPort ?? 3456;
169
+ return buildWebUIUrl(getHostUrl(webPort), resource, id, flags);
170
+ }
171
+ /**
172
+ * Resolve and print a shareable deep-link URL to stdout, then return — without
173
+ * opening a browser or starting the local web server. Intended for scripting
174
+ * and agents that need the link rather than a rendered dashboard.
175
+ *
176
+ * Human-readable chatter (the startup box, info/debug logs) is routed to stderr
177
+ * so stdout contains only the URL (or `{ "url": "..." }` with `--json`).
178
+ */
179
+ export async function printDeepLink(resource, id, flags, version) {
180
+ const wantsJson = Boolean(flags.json);
181
+ // Force JSON logging mode during setup so the startup box and any info/debug
182
+ // logs go to stderr, keeping stdout clean for the URL. We print the URL
183
+ // ourselves below, respecting the user's actual `--json` choice.
184
+ await setupCliWorld({ ...flags, json: true }, version, true);
185
+ const url = buildDeepLinkUrl(resource, id, flags);
186
+ if (wantsJson) {
187
+ process.stdout.write(`${JSON.stringify({ url }, null, 2)}\n`);
188
+ }
189
+ else {
190
+ process.stdout.write(`${url}\n`);
191
+ }
192
+ }
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pbnNwZWN0L3dlYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsT0FBTyxFQUFFLENBQUM7QUFFN0UsSUFBSSxVQUFVLEdBQWtCLElBQUksQ0FBQztBQUVyQzs7R0FFRztBQUNILEtBQUssVUFBVSxlQUFlLENBQUMsT0FBZTtJQUM1QyxJQUFJLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMxRCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQUMsT0FBZTtJQUMzQyxJQUFJLE1BQU0sZUFBZSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0MsTUFBTSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sQ0FBQyxJQUFJ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QUMsS0FBSyxVQUFVLGFBQWEsQ0FDakMsUUFBZ0IsRUFDaEIsRUFBc0IsRUFDdEIsS0FBMEIsRUFDMUIsT0FBZTtJQUVmLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEMsNkVBQTZFO0lBQzdFLHdFQUF3RTtJQUN4RSxpRUFBaUU7SUFDakUsTUFBTSxhQUFhLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRXBFLE1BQU0sR0FBRyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFbEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNlcnZlciB9IGZyb20gJ25vZGU6aHR0cCc7XG5pbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IG9wZW4gZnJvbSAnb3Blbic7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi9jb25maWcvbG9nLmpzJztcbmltcG9ydCB7IGdldEVudlZhcnMgfSBmcm9tICcuL2Vudi5qcyc7XG5pbXBvcnQgeyBzZXR1cENsaVdvcmxkIH0gZnJvbSAnLi9zZXR1cC5qcyc7XG5pbXBvcnQgeyBnZXRWZXJjZWxEYXNoYm9hcmRVcmwgfSBmcm9tICcuL3ZlcmNlbC1hcGkuanMnO1xuXG5leHBvcnQgY29uc3QgZ2V0SG9zdFVybCA9ICh3ZWJQb3J0OiBudW1iZXIpID0+IGBodHRwOi8vbG9jYWxob3N0OiR7d2ViUG9ydH1gO1xuXG5sZXQgaHR0cFNlcnZlcjogU2VydmVyIHwgbnVsbCA9IG51bGw7XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzZXJ2ZXIgaXMgYWxyZWFkeSBsaXN0ZW5pbmcgb24gdGhlIGdpdmVuIFVSTC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gaXNTZXJ2ZXJSdW5uaW5nKGhvc3RVcmw6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goaG9zdFVybCwgeyBtZXRob2Q6ICdIRUFEJyB9KTtcbiAgICByZXR1cm4gcmVzcG9uc2Uub2s7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFN0YXJ0IHRoZSBAd29ya2Zsb3cvd2ViIHNlcnZlciBpbiB0aGUgY3VycmVudCBwcm9jZXNzLlxuICovXG5hc3luYyBmdW5jdGlvbiBzdGFydFdlYlNlcnZlcih3ZWJQb3J0OiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgaWYgKGF3YWl0IGlzU2VydmVyUnVubmluZyhnZXRIb3N0VXJsKHdlYlBvcnQpKSkge1xuICAgIGxvZ2dlci5kZWJ1ZygnU2VydmVyIGlzIGFscmVhZHkgcnVubmluZycpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBsb2dnZXIuaW5mbygnU3RhcnRpbmcgd2ViIFVJIHNlcnZlci4uLicpO1xuICAgIGNvbnN0IHsgc3RhcnRTZXJ2ZXIgfSA9IGF3YWl0IGltcG9ydCgnQHdvcmtmbG93L3dlYi9zZXJ2ZXInKTtcbiAgICBodHRwU2VydmVyID0gYXdhaXQgc3RhcnRTZXJ2ZXIod2ViUG9ydCk7XG4gICAgbG9nZ2VyLnN1Y2Nlc3MoY2hhbGsuZ3JlZW4oYFdlYiBVSSBzZXJ2ZXIgc3RhcnRlZCBvbiBwb3J0ICR7d2ViUG9ydH1gKSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gc3RhcnQgc2VydmVyOiAke2Vycm9yfWApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkIGEgVVJMIGZvciBvcGVuaW5nIHRoZSBsb2NhbCB3ZWIgVUkuXG4gKlxuICogVGhlIHdlYiBVSSByZWFkcyB3b3JsZCBjb25maWd1cmF0aW9uIGZyb20gc2VydmVyLXNpZGUgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICogUXVlcnkgcGFyYW1zIGFyZSBvbmx5IHVzZWQgZm9yIGRlZXAtbGlua2luZyB0byBzcGVjaWZpYyByZXNvdXJjZXMgKHJlc291cmNlL2lkLCBydW5JZCwgZXRjLilcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkV2ViVUlVcmwoXG4gIGhvc3RVcmw6IHN0cmluZyxcbiAgcmVzb3VyY2U6IHN0cmluZyxcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZmxhZ3M6IFJlY29yZDxzdHJpbmcsIGFueT5cbik6IHN0cmluZyB7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcblxuICAvLyBEZWVwLWxpbmtpbmcgcGFyYW1zXG4gIHBhcmFtcy5zZXQoJ3Jlc291cmNlJywgcmVzb3VyY2UpO1xuICBpZiAoaWQpIHtcbiAgICBwYXJhbXMuc2V0KCdpZCcsIGlkKTtcbiAgfVxuXG4gIC8vIE9wdGlvbmFsIGRlZXAtbGlua2luZyB0byBzcGVjaWZpYyBydW4vc3RlcC9ob29rXG4gIGZvciAoY29uc3QgZmxhZ05hbWUgb2YgWydydW5JZCcsICdzdGVwSWQnLCAnaG9va0lkJ10gYXMgY29uc3QpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGZsYWdzW2ZsYWdOYW1lXTtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gJycgJiYgdmFsdWUgIT09IGZhbHNlKSB7XG4gICAgICBwYXJhbXMuc2V0KGZsYWdOYW1lLCBTdHJpbmcodmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBxdWVyeVN0cmluZyA9IHBhcmFtcy50b1N0cmluZygpO1xuICByZXR1cm4gcXVlcnlTdHJpbmcgPyBgJHtob3N0VXJsfT8ke3F1ZXJ5U3RyaW5nfWAgOiBob3N0VXJsO1xufVxuXG4vKipcbiAqIExhdW5jaCB0aGUgd2ViIFVJIHdpdGggdGhlIHNwZWNpZmllZCBjb25maWd1cmF0aW9uLlxuICogVGhpcyBzdGFydHMgdGhlIHNlcnZlciAoaWYgbm90IHJ1bm5pbmcpLCBvcGVucyB0aGUgYnJvd3NlciwgdGhlbiBrZWVwcyB0aGUgc2VydmVyIHJ1bm5pbmcuXG4gKlxuICogV29ybGQgY29uZmlndXJhdGlvbiBpcyBwYXNzZWQgdG8gdGhlIHdlYiBzZXJ2ZXIgdmlhIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqIFRoZSB3ZWIgVUkgcmVhZHMgdGhlc2UgZnJvbSBwcm9jZXNzLmVudiBvbiB0aGUgc2VydmVyIHNpZGUsIG5vdCBmcm9tIHF1ZXJ5IHBhcmFtcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxhdW5jaFdlYlVJKFxuICByZXNvdXJjZTogc3RyaW5nLFxuICBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBmbGFnczogUmVjb3JkPHN0cmluZywgYW55PixcbiAgX2NsaVZlcnNpb246IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGVudlZhcnMgPSBnZXRFbnZWYXJzKCk7XG5cbiAgLy8gQ2hlY2sgaWYgYnJvd3NlciBvcGVuaW5nIGlzIGRpc2FibGVkIHZpYSBmbGFnIG9yIGVudmlyb25tZW50IHZhcmlhYmxlXG4gIGNvbnN0IGRpc2FibGVCcm93c2VyT3BlbiA9IGZsYWdzLm5vQnJvd3NlcjtcblxuICAvLyBDaGVjayBpZiB3ZSBzaG91bGQgdHJ5IHRvIHVzZSB0aGUgVmVyY2VsIGRhc2hib2FyZFxuICBjb25zdCB2ZXJjZWxCYWNrZW5kTmFtZXMgPSBbJ3ZlcmNlbCcsICdAd29ya2Zsb3cvd29ybGQtdmVyY2VsJ107XG4gIGNvbnN0IGlzVmVyY2VsQmFja2VuZCA9IHZlcmNlbEJhY2tlbmROYW1lcy5pbmNsdWRlcyhcbiAgICBlbnZWYXJzLldPUktGTE9XX1RBUkdFVF9XT1JMRFxuICApO1xuICBjb25zdCB0ZWFtU2x1ZyA9IGVudlZhcnMuV09SS0ZMT1dfVkVSQ0VMX1RFQU07XG4gIGNvbnN0IHByb2plY3ROYW1lID1cbiAgICBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9QUk9KRUNUX05BTUUgfHwgZW52VmFycy5XT1JLRkxPV19WRVJDRUxfUFJPSkVDVDtcblxuICAvLyBDaGVjayBpZiB1c2VyIHdhbnRzIGxvY2FsIFVJIHZpYSBmbGFnIG9yIGVudmlyb25tZW50IHZhcmlhYmxlXG4gIGNvbnN0IHVzZUxvY2FsVWkgPSBmbGFncy5sb2NhbFVpO1xuXG4gIGlmICghdXNlTG9jYWxVaSAmJiBpc1ZlcmNlbEJhY2tlbmQpIHtcbiAgICBsb2dnZXIuaW5mbyhcbiAgICAgICdJZiB5b3UgZG8gbm90IHdhbnQgdG8gdXNlIHRoZSBWZXJjZWwgZGFzaGJvYXJkLCB1c2UgdGhlIC0tbG9jYWxVaSBmbGFnIG9yIHNldCBXT1JLRkxPV19MT0NBTF9VST0xIGluIHlvdXIgZW52aXJvbm1lbnQgdmFyaWFibGVzLidcbiAgICApO1xuICB9XG4gIGlmIChpc1ZlcmNlbEJhY2tlbmQgJiYgdGVhbVNsdWcgJiYgcHJvamVjdE5hbWUgJiYgIXVzZUxvY2FsVWkpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgQ2hlY2tpbmcgVmVyY2VsIGRhc2hib2FyZCBhdmFpbGFiaWxpdHkgZm9yIHRlYW06ICR7dGVhbVNsdWd9LCBwcm9qZWN0OiAke3Byb2plY3ROYW1lfWBcbiAgICApO1xuXG4gICAgY29uc3QgZGFzaGJvYXJkVXJsID0gZ2V0VmVyY2VsRGFzaGJvYXJkVXJsKFxuICAgICAgdGVhbVNsdWcsXG4gICAgICBwcm9qZWN0TmFtZSxcbiAgICAgIHJlc291cmNlLFxuICAgICAgaWQsXG4gICAgICBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9FTlYgfHwgJ3Byb2R1Y3Rpb24nXG4gICAgKTtcblxuICAgIGlmIChkaXNhYmxlQnJvd3Nlck9wZW4pIHtcbiAgICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oYFZlcmNlbCBkYXNoYm9hcmQgVVJMOiAke2Rhc2hib2FyZFVybH1gKSk7XG4gICAgICBsb2dnZXIuaW5mbyhjaGFsay5jeWFuKCcoQnJvd3NlciBhdXRvLW9wZW4gZGlzYWJsZWQpJykpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxvZ2dlci5pbmZvKFxuICAgICAgY2hhbGsuZ3JlZW4oYE9wZW5pbmcgVmVyY2VsIGRhc2hib2FyZCBmb3Igd29ya2Zsb3dzIGF0OiAke2Rhc2hib2FyZFVybH1gKVxuICAgICk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG9wZW4oZGFzaGJvYXJkVXJsKTtcbiAgICAgIHJldHVybjsgLy8gRXhpdCBlYXJseSBzaW5jZSB3ZSBvcGVuZWQgdGhlIGRhc2hib2FyZFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoYEZhaWxlZCB0byBvcGVuIGJyb3dzZXI6ICR7ZXJyb3J9YCk7XG4gICAgICBsb2dnZXIuaW5mbyhgUGxlYXNlIG9wZW4gdGhlIGxpbmsgbWFudWFsbHkuYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgLy8gRmFsbCBiYWNrIHRvIGxvY2FsIHdlYiBVSVxuICBjb25zdCB3ZWJQb3J0ID0gZmxhZ3Mud2ViUG9ydCA/PyAzNDU2O1xuICBjb25zdCBob3N0VXJsID0gZ2V0SG9zdFVybCh3ZWJQb3J0KTtcbiAgY29uc3QgdXJsID0gYnVpbGRXZWJVSVVybChob3N0VXJsLCByZXNvdXJjZSwgaWQsIGZsYWdzKTtcblxuICAvLyBDaGVjayBpZiBzZXJ2ZXIgaXMgYWxyZWFkeSBydW5uaW5nXG4gIGNvbnN0IGFscmVhZHlSdW5uaW5nID0gYXdhaXQgaXNTZXJ2ZXJSdW5uaW5nKGhvc3RVcmwpO1xuXG4gIGlmIChhbHJlYWR5UnVubmluZykge1xuICAgIGxvZ2dlci5pbmZvKFxuICAgICAgY2hhbGsuY3lhbihgV2ViIFVJIHNlcnZlciBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gcG9ydCAke3dlYlBvcnR9LmApXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBTdGFydCB0aGUgc2VydmVyXG4gICAgY29uc3Qgc3RhcnRlZCA9IGF3YWl0IHN0YXJ0V2ViU2VydmVyKHdlYlBvcnQpO1xuICAgIGlmICghc3RhcnRlZCkge1xuICAgICAgbG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gc3RhcnQgd2ViIFVJIHNlcnZlcicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9wZW4gYnJvd3NlclxuICBpZiAoZGlzYWJsZUJyb3dzZXJPcGVuKSB7XG4gICAgbG9nZ2VyLmluZm8oY2hhbGsuY3lhbihgV2ViIFVJIGF2YWlsYWJsZSBhdDogJHt1cmx9YCkpO1xuICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oJyhCcm93c2VyIGF1dG8tb3BlbiBkaXNhYmxlZCknKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nZ2VyLmluZm8oY2hhbGsuY3lhbihgT3BlbmluZyBicm93c2VyIHRvOiAke3VybH1gKSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG9wZW4odXJsKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gb3BlbiBicm93c2VyOiAke2Vycm9yfWApO1xuICAgICAgbG9nZ2VyLmluZm8oYFBsZWFzZSBvcGVuIHRoZSBsaW5rIG1hbnVhbGx5LmApO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlIHN0YXJ0ZWQgdGhlIHNlcnZlciwga2VlcCB0aGUgcHJvY2VzcyBydW5uaW5nXG4gIGlmICghYWxyZWFkeVJ1bm5pbmcgJiYgaHR0cFNlcnZlcikge1xuICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oJ1ByZXNzIEN0cmwrQyB0byBzdG9wIHRoZSB3ZWIgVUkgc2VydmVyIGFuZCBleGl0JykpO1xuXG4gICAgLy8gS2VlcCB0aGUgQ0xJIHByb2Nlc3MgYWxpdmUgd2hpbGUgdGhlIHNlcnZlciBpcyBydW5uaW5nXG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgIGlmIChodHRwU2VydmVyKSB7XG4gICAgICAgIGh0dHBTZXJ2ZXIub24oJ2Nsb3NlJywgKCkgPT4gcmVzb2x2ZSgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkIHRoZSBkZWVwLWxpbmsgVVJMIGZvciBhIHJlc291cmNlIHdpdGhvdXQgYW55IHNpZGUgZWZmZWN0cyAobm8gc2VydmVyLFxuICogbm8gYnJvd3NlcikuIFBpY2tzIHRoZSBWZXJjZWwgZGFzaGJvYXJkIGZvciBhIFZlcmNlbCBiYWNrZW5kICh1bmxlc3NcbiAqIGAtLWxvY2FsVWlgKSwgb3RoZXJ3aXNlIHRoZSBsb2NhbCB3ZWIgVUkgZGVlcCBsaW5rLlxuICpcbiAqIEFzc3VtZXMgZW52IHZhcnMgaGF2ZSBhbHJlYWR5IGJlZW4gcmVzb2x2ZWQgKGUuZy4gdmlhIGBzZXR1cENsaVdvcmxkYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZERlZXBMaW5rVXJsKFxuICByZXNvdXJjZTogc3RyaW5nLFxuICBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBmbGFnczogUmVjb3JkPHN0cmluZywgYW55PlxuKTogc3RyaW5nIHtcbiAgY29uc3QgZW52VmFycyA9IGdldEVudlZhcnMoKTtcblxuICBjb25zdCB2ZXJjZWxCYWNrZW5kTmFtZXMgPSBbJ3ZlcmNlbCcsICdAd29ya2Zsb3cvd29ybGQtdmVyY2VsJ107XG4gIGNvbnN0IGlzVmVyY2VsQmFja2VuZCA9IHZlcmNlbEJhY2tlbmROYW1lcy5pbmNsdWRlcyhcbiAgICBlbnZWYXJzLldPUktGTE9XX1RBUkdFVF9XT1JMRFxuICApO1xuICBjb25zdCB0ZWFtU2x1ZyA9IGVudlZhcnMuV09SS0ZMT1dfVkVSQ0VMX1RFQU07XG4gIGNvbnN0IHByb2plY3ROYW1lID1cbiAgICBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9QUk9KRUNUX05BTUUgfHwgZW52VmFycy5XT1JLRkxPV19WRVJDRUxfUFJPSkVDVDtcblxuICAvLyBVc2UgdGhlIFZlcmNlbCBkYXNoYm9hcmQgd2hlbiB0YXJnZXRpbmcgVmVyY2VsIChhbmQgbm90IGZvcmNlZCBsb2NhbCkuXG4gIGlmIChpc1ZlcmNlbEJhY2tlbmQgJiYgIWZsYWdzLmxvY2FsVWkgJiYgdGVhbVNsdWcgJiYgcHJvamVjdE5hbWUpIHtcbiAgICByZXR1cm4gZ2V0VmVyY2VsRGFzaGJvYXJkVXJsKFxuICAgICAgdGVhbVNsdWcsXG4gICAgICBwcm9qZWN0TmFtZSxcbiAgICAgIHJlc291cmNlLFxuICAgICAgaWQsXG4gICAgICBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9FTlYgfHwgJ3Byb2R1Y3Rpb24nXG4gICAgKTtcbiAgfVxuXG4gIC8vIEZhbGwgYmFjayB0byB0aGUgbG9jYWwgd2ViIFVJIGRlZXAgbGluay5cbiAgY29uc3Qgd2ViUG9ydCA9IGZsYWdzLndlYlBvcnQgPz8gMzQ1NjtcbiAgcmV0dXJuIGJ1aWxkV2ViVUlVcmwoZ2V0SG9zdFVybCh3ZWJQb3J0KSwgcmVzb3VyY2UsIGlkLCBmbGFncyk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhbmQgcHJpbnQgYSBzaGFyZWFibGUgZGVlcC1saW5rIFVSTCB0byBzdGRvdXQsIHRoZW4gcmV0dXJuIOKAlCB3aXRob3V0XG4gKiBvcGVuaW5nIGEgYnJvd3NlciBvciBzdGFydGluZyB0aGUgbG9jYWwgd2ViIHNlcnZlci4gSW50ZW5kZWQgZm9yIHNjcmlwdGluZ1xuICogYW5kIGFnZW50cyB0aGF0IG5lZWQgdGhlIGxpbmsgcmF0aGVyIHRoYW4gYSByZW5kZXJlZCBkYXNoYm9hcmQuXG4gKlxuICogSHVtYW4tcmVhZGFibGUgY2hhdHRlciAodGhlIHN0YXJ0dXAgYm94LCBpbmZvL2RlYnVnIGxvZ3MpIGlzIHJvdXRlZCB0byBzdGRlcnJcbiAqIHNvIHN0ZG91dCBjb250YWlucyBvbmx5IHRoZSBVUkwgKG9yIGB7IFwidXJsXCI6IFwiLi4uXCIgfWAgd2l0aCBgLS1qc29uYCkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmludERlZXBMaW5rKFxuICByZXNvdXJjZTogc3RyaW5nLFxuICBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBmbGFnczogUmVjb3JkPHN0cmluZywgYW55PixcbiAgdmVyc2lvbjogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgd2FudHNKc29uID0gQm9vbGVhbihmbGFncy5qc29uKTtcblxuICAvLyBGb3JjZSBKU09OIGxvZ2dpbmcgbW9kZSBkdXJpbmcgc2V0dXAgc28gdGhlIHN0YXJ0dXAgYm94IGFuZCBhbnkgaW5mby9kZWJ1Z1xuICAvLyBsb2dzIGdvIHRvIHN0ZGVyciwga2VlcGluZyBzdGRvdXQgY2xlYW4gZm9yIHRoZSBVUkwuIFdlIHByaW50IHRoZSBVUkxcbiAgLy8gb3Vyc2VsdmVzIGJlbG93LCByZXNwZWN0aW5nIHRoZSB1c2VyJ3MgYWN0dWFsIGAtLWpzb25gIGNob2ljZS5cbiAgYXdhaXQgc2V0dXBDbGlXb3JsZCh7IC4uLmZsYWdzLCBqc29uOiB0cnVlIH0gYXMgYW55LCB2ZXJzaW9uLCB0cnVlKTtcblxuICBjb25zdCB1cmwgPSBidWlsZERlZXBMaW5rVXJsKHJlc291cmNlLCBpZCwgZmxhZ3MpO1xuXG4gIGlmICh3YW50c0pzb24pIHtcbiAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShgJHtKU09OLnN0cmluZ2lmeSh7IHVybCB9LCBudWxsLCAyKX1cXG5gKTtcbiAgfSBlbHNlIHtcbiAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShgJHt1cmx9XFxuYCk7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/cli",
3
- "version": "5.0.0-beta.16",
3
+ "version": "5.0.0-beta.18",
4
4
  "description": "Command-line interface for Workflow SDK",
5
5
  "type": "module",
6
6
  "bin": {
@@ -55,15 +55,15 @@
55
55
  "tinyglobby": "0.2.17",
56
56
  "xdg-app-paths": "5.1.0",
57
57
  "zod": "4.3.6",
58
- "@workflow/builders": "5.0.0-beta.16",
59
- "@workflow/core": "5.0.0-beta.16",
60
- "@workflow/errors": "5.0.0-beta.7",
61
- "@workflow/swc-plugin": "5.0.0-beta.4",
62
- "@workflow/utils": "5.0.0-beta.3",
63
- "@workflow/web": "5.0.0-beta.16",
64
- "@workflow/world": "5.0.0-beta.10",
65
- "@workflow/world-local": "5.0.0-beta.17",
66
- "@workflow/world-vercel": "5.0.0-beta.15"
58
+ "@workflow/builders": "5.0.0-beta.18",
59
+ "@workflow/core": "5.0.0-beta.18",
60
+ "@workflow/errors": "5.0.0-beta.8",
61
+ "@workflow/swc-plugin": "5.0.0-beta.5",
62
+ "@workflow/utils": "5.0.0-beta.4",
63
+ "@workflow/web": "5.0.0-beta.18",
64
+ "@workflow/world": "5.0.0-beta.11",
65
+ "@workflow/world-local": "5.0.0-beta.19",
66
+ "@workflow/world-vercel": "5.0.0-beta.17"
67
67
  },
68
68
  "scripts": {
69
69
  "build": "tsc && chmod +x bin/run.js",