@workflow/cli 5.0.0-beta.46 → 5.0.0-beta.48

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.
Files changed (49) hide show
  1. package/dist/commands/cancel.d.ts +10 -1
  2. package/dist/commands/cancel.d.ts.map +1 -1
  3. package/dist/commands/cancel.js +20 -7
  4. package/dist/commands/inspect-flag-forwarding.test.d.ts +2 -0
  5. package/dist/commands/inspect-flag-forwarding.test.d.ts.map +1 -0
  6. package/dist/commands/inspect-flag-forwarding.test.js +121 -0
  7. package/dist/commands/inspect-flag-scope.test.d.ts +2 -0
  8. package/dist/commands/inspect-flag-scope.test.d.ts.map +1 -0
  9. package/dist/commands/inspect-flag-scope.test.js +161 -0
  10. package/dist/commands/inspect.d.ts +13 -1
  11. package/dist/commands/inspect.d.ts.map +1 -1
  12. package/dist/commands/inspect.js +70 -10
  13. package/dist/commands/start.d.ts +1 -1
  14. package/dist/commands/web.d.ts +1 -1
  15. package/dist/lib/bulk-cancel.d.ts +15 -2
  16. package/dist/lib/bulk-cancel.d.ts.map +1 -1
  17. package/dist/lib/bulk-cancel.js +49 -18
  18. package/dist/lib/bulk-cancel.test.js +80 -8
  19. package/dist/lib/config/types.d.ts +6 -1
  20. package/dist/lib/config/types.d.ts.map +1 -1
  21. package/dist/lib/config/types.js +1 -1
  22. package/dist/lib/inspect/attribute-filter.d.ts +15 -0
  23. package/dist/lib/inspect/attribute-filter.d.ts.map +1 -0
  24. package/dist/lib/inspect/attribute-filter.js +51 -0
  25. package/dist/lib/inspect/attribute-filter.test.d.ts +2 -0
  26. package/dist/lib/inspect/attribute-filter.test.d.ts.map +1 -0
  27. package/dist/lib/inspect/attribute-filter.test.js +65 -0
  28. package/dist/lib/inspect/errors.d.ts +28 -0
  29. package/dist/lib/inspect/errors.d.ts.map +1 -1
  30. package/dist/lib/inspect/errors.js +59 -1
  31. package/dist/lib/inspect/errors.test.d.ts +2 -0
  32. package/dist/lib/inspect/errors.test.d.ts.map +1 -0
  33. package/dist/lib/inspect/errors.test.js +48 -0
  34. package/dist/lib/inspect/flag-bounds.d.ts +57 -0
  35. package/dist/lib/inspect/flag-bounds.d.ts.map +1 -0
  36. package/dist/lib/inspect/flag-bounds.js +112 -0
  37. package/dist/lib/inspect/flag-bounds.test.d.ts +2 -0
  38. package/dist/lib/inspect/flag-bounds.test.d.ts.map +1 -0
  39. package/dist/lib/inspect/flag-bounds.test.js +126 -0
  40. package/dist/lib/inspect/flags.d.ts +1 -1
  41. package/dist/lib/inspect/flags.d.ts.map +1 -1
  42. package/dist/lib/inspect/flags.js +5 -2
  43. package/dist/lib/inspect/hydration.d.ts.map +1 -1
  44. package/dist/lib/inspect/hydration.js +2 -1
  45. package/dist/lib/inspect/output.d.ts +10 -0
  46. package/dist/lib/inspect/output.d.ts.map +1 -1
  47. package/dist/lib/inspect/output.js +138 -24
  48. package/dist/lib/inspect/output.test.js +223 -2
  49. package/package.json +13 -13
@@ -3,6 +3,15 @@ export default class Cancel extends BaseCommand {
3
3
  static description: string;
4
4
  static aliases: string[];
5
5
  static examples: string[];
6
+ /**
7
+ * Recorded in `run()` so `catch()` can tell a Vercel 403 from any other
8
+ * one. oclif hands `catch` the error alone, with no parsed flags.
9
+ *
10
+ * Assigned after `this.parse()`, so a `catch` reached by a parse failure
11
+ * sees `undefined`. That costs nothing: a parse failure is not an API
12
+ * error, so there is no 403 to classify.
13
+ */
14
+ private backend?;
6
15
  catch(error: any): Promise<void>;
7
16
  static args: {
8
17
  readonly runId: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
@@ -25,7 +34,7 @@ export default class Cancel extends BaseCommand {
25
34
  noBrowser: import("@oclif/core/interfaces").BooleanFlag<boolean>;
26
35
  localUi: import("@oclif/core/interfaces").BooleanFlag<boolean>;
27
36
  standalone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
28
- sort: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
37
+ sort: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
38
  interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
30
39
  };
31
40
  run(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAezC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,WAAW,SAC4C;IAE9D,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAKb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IAUtB,MAAM,CAAC,IAAI;;MAKA;IAEX,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;MAmCV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwDlC"}
1
+ {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../src/commands/cancel.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAczC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,WAAW,SAC4C;IAE9D,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAKb;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,CAAC,CAAS;IAEnB,KAAK,CAAC,KAAK,EAAE,GAAG;IActB,MAAM,CAAC,IAAI;;MAKA;IAEX,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;MAmCV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyDlC"}
@@ -4,9 +4,9 @@ import { cancelRun } from '@workflow/core/runtime';
4
4
  import { WorkflowRunStatusSchema } from '@workflow/world';
5
5
  import chalk from 'chalk';
6
6
  import { BaseCommand } from '../base.js';
7
- import { CANCELLABLE_STATUSES, CLI_CANCEL_REASON, performBulkCancel, validateBulkCancelLimit, } from '../lib/bulk-cancel.js';
7
+ import { BULK_CANCEL_MAX_LIMIT, BULK_CANCEL_MIN_LIMIT, CANCELLABLE_STATUSES, CLI_CANCEL_REASON, performBulkCancel, validateBulkCancelLimit, } from '../lib/bulk-cancel.js';
8
8
  import { LOGGING_CONFIG, logger } from '../lib/config/log.js';
9
- import { getObservabilityUpgradeRequiredMessage, isObservabilityUpgradeRequiredError, } from '../lib/inspect/errors.js';
9
+ import { reportActionableApiError } from '../lib/inspect/errors.js';
10
10
  import { cliFlags } from '../lib/inspect/flags.js';
11
11
  import { setupCliWorld } from '../lib/inspect/setup.js';
12
12
  export default class Cancel extends BaseCommand {
@@ -18,12 +18,24 @@ export default class Cancel extends BaseCommand {
18
18
  '$ workflow cancel --status=running --workflowName=myWorkflow',
19
19
  '$ workflow cancel --status=running -y',
20
20
  ];
21
+ /**
22
+ * Recorded in `run()` so `catch()` can tell a Vercel 403 from any other
23
+ * one. oclif hands `catch` the error alone, with no parsed flags.
24
+ *
25
+ * Assigned after `this.parse()`, so a `catch` reached by a parse failure
26
+ * sees `undefined`. That costs nothing: a parse failure is not an API
27
+ * error, so there is no 403 to classify.
28
+ */
29
+ backend;
21
30
  async catch(error) {
22
- if (isObservabilityUpgradeRequiredError(error)) {
23
- logger.error(getObservabilityUpgradeRequiredMessage());
31
+ // Print the errors that name something the caller can fix. Only the plan
32
+ // gate was handled before, so an argument the World rejected locally —
33
+ // `--limit` above the listing cap, say — reached oclif's default handler
34
+ // and exited 1 with nothing on screen unless -v was set.
35
+ if (reportActionableApiError(error, this.backend)) {
24
36
  process.exit(1);
25
37
  }
26
- else if (LOGGING_CONFIG.VERBOSE_MODE) {
38
+ if (LOGGING_CONFIG.VERBOSE_MODE) {
27
39
  console.error(error);
28
40
  }
29
41
  throw error;
@@ -54,7 +66,7 @@ export default class Cancel extends BaseCommand {
54
66
  helpLabel: '-n, --workflowName',
55
67
  }),
56
68
  limit: Flags.integer({
57
- description: 'Max runs to cancel in bulk mode (1-500)',
69
+ description: `Max runs to cancel in bulk mode (${BULK_CANCEL_MIN_LIMIT}-${BULK_CANCEL_MAX_LIMIT})`,
58
70
  required: false,
59
71
  default: 50,
60
72
  helpGroup: 'Bulk Cancel',
@@ -72,6 +84,7 @@ export default class Cancel extends BaseCommand {
72
84
  };
73
85
  async run() {
74
86
  const { flags, args } = await this.parse(Cancel);
87
+ this.backend = flags.backend;
75
88
  const world = await setupCliWorld(flags, this.config.version);
76
89
  if (!world) {
77
90
  throw new Error('Failed to connect to backend. Check your configuration.');
@@ -132,4 +145,4 @@ async function promptConfirm(message) {
132
145
  });
133
146
  });
134
147
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2NhbmNlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQix1QkFBdUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFDTCxzQ0FBc0MsRUFDdEMsbUNBQW1DLEdBQ3BDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxNQUFNLENBQUMsT0FBTyxPQUFPLE1BQU8sU0FBUSxXQUFXO0lBQzdDLE1BQU0sQ0FBQyxXQUFXLEdBQ2hCLDJEQUEyRCxDQUFDO0lBRTlELE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV2QixNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLDRCQUE0QjtRQUM1QixvQ0FBb0M7UUFDcEMsOERBQThEO1FBQzlELHVDQUF1QztLQUN4QyxDQUFDO0lBRUYsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFVO1FBQ3BCLElBQUksbUNBQW1D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Q0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLE9BQU8sQ0FBVSxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ3RDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcmVhZGxpbmUgZnJvbSAnbm9kZTpyZWFkbGluZSc7XG5pbXBvcnQgeyBBcmdzLCBGbGFncyB9IGZyb20gJ0BvY2xpZi9jb3JlJztcbmltcG9ydCB7IGNhbmNlbFJ1biB9IGZyb20gJ0B3b3JrZmxvdy9jb3JlL3J1bnRpbWUnO1xuaW1wb3J0IHsgV29ya2Zsb3dSdW5TdGF0dXNTY2hlbWEgfSBmcm9tICdAd29ya2Zsb3cvd29ybGQnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IEJhc2VDb21tYW5kIH0gZnJvbSAnLi4vYmFzZS5qcyc7XG5pbXBvcnQge1xuICBDQU5DRUxMQUJMRV9TVEFUVVNFUyxcbiAgQ0xJX0NBTkNFTF9SRUFTT04sXG4gIHBlcmZvcm1CdWxrQ2FuY2VsLFxuICB2YWxpZGF0ZUJ1bGtDYW5jZWxMaW1pdCxcbn0gZnJvbSAnLi4vbGliL2J1bGstY2FuY2VsLmpzJztcbmltcG9ydCB7IExPR0dJTkdfQ09ORklHLCBsb2dnZXIgfSBmcm9tICcuLi9saWIvY29uZmlnL2xvZy5qcyc7XG5pbXBvcnQge1xuICBnZXRPYnNlcnZhYmlsaXR5VXBncmFkZVJlcXVpcmVkTWVzc2FnZSxcbiAgaXNPYnNlcnZhYmlsaXR5VXBncmFkZVJlcXVpcmVkRXJyb3IsXG59IGZyb20gJy4uL2xpYi9pbnNwZWN0L2Vycm9ycy5qcyc7XG5pbXBvcnQgeyBjbGlGbGFncyB9IGZyb20gJy4uL2xpYi9pbnNwZWN0L2ZsYWdzLmpzJztcbmltcG9ydCB7IHNldHVwQ2xpV29ybGQgfSBmcm9tICcuLi9saWIvaW5zcGVjdC9zZXR1cC5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENhbmNlbCBleHRlbmRzIEJhc2VDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID1cbiAgICAnQ2FuY2VsIGEgd29ya2Zsb3cgcnVuLCBvciBidWxrLWNhbmNlbCBydW5zIGJ5IHN0YXR1cy9uYW1lJztcblxuICBzdGF0aWMgYWxpYXNlcyA9IFsnYyddO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICAnJCB3b3JrZmxvdyBjYW5jZWwgPHJ1bi1pZD4nLFxuICAgICckIHdvcmtmbG93IGNhbmNlbCAtLXN0YXR1cz1ydW5uaW5nJyxcbiAgICAnJCB3b3JrZmxvdyBjYW5jZWwgLS1zdGF0dXM9cnVubmluZyAtLXdvcmtmbG93TmFtZT1teVdvcmtmbG93JyxcbiAgICAnJCB3b3JrZmxvdyBjYW5jZWwgLS1zdGF0dXM9cnVubmluZyAteScsXG4gIF07XG5cbiAgYXN5bmMgY2F0Y2goZXJyb3I6IGFueSkge1xuICAgIGlmIChpc09ic2VydmFiaWxpdHlVcGdyYWRlUmVxdWlyZWRFcnJvcihlcnJvcikpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihnZXRPYnNlcnZhYmlsaXR5VXBncmFkZVJlcXVpcmVkTWVzc2FnZSgpKTtcbiAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICB9IGVsc2UgaWYgKExPR0dJTkdfQ09ORklHLlZFUkJPU0VfTU9ERSkge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG5cbiAgc3RhdGljIGFyZ3MgPSB7XG4gICAgcnVuSWQ6IEFyZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnSUQgb2YgdGhlIHJ1biB0byBjYW5jZWwgKG9taXQgZm9yIGJ1bGsgbW9kZSB3aXRoIGZpbHRlcnMpJyxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICB9KSxcbiAgfSBhcyBjb25zdDtcblxuICBzdGF0aWMgZmxhZ3MgPSB7XG4gICAgLi4uY2xpRmxhZ3MsXG4gICAgc3RhdHVzOiBGbGFncy5zdHJpbmcoe1xuICAgICAgLy8gT25seSBjYW5jZWxsYWJsZSBzdGF0dXNlcyBhcmUgb2ZmZXJlZDogY2FuY2VsbGluZyBhIHRlcm1pbmFsIHJ1blxuICAgICAgLy8gKGNvbXBsZXRlZCAvIGZhaWxlZCAvIGNhbmNlbGxlZCkgaXMgYSBuby1vcCwgc28gcGlubmluZyBvbmUgd291bGQgbGlzdFxuICAgICAgLy8gdGhlIHNhbWUgcGFnZSBvbiBldmVyeSByZXJ1biBhbmQgbmV2ZXIgYWR2YW5jZS5cbiAgICAgIGRlc2NyaXB0aW9uOiAnRmlsdGVyIHJ1bnMgYnkgc3RhdHVzIGZvciBidWxrIGNhbmNlbCAocGVuZGluZyBvciBydW5uaW5nKScsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBvcHRpb25zOiBbLi4uQ0FOQ0VMTEFCTEVfU1RBVFVTRVNdLFxuICAgICAgaGVscEdyb3VwOiAnQnVsayBDYW5jZWwnLFxuICAgICAgaGVscExhYmVsOiAnLS1zdGF0dXMnLFxuICAgIH0pLFxuICAgIHdvcmtmbG93TmFtZTogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRmlsdGVyIHJ1bnMgYnkgd29ya2Zsb3cgbmFtZSBmb3IgYnVsayBjYW5jZWwnLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgY2hhcjogJ24nLFxuICAgICAgaGVscEdyb3VwOiAnQnVsayBDYW5jZWwnLFxuICAgICAgaGVscExhYmVsOiAnLW4sIC0td29ya2Zsb3dOYW1lJyxcbiAgICB9KSxcbiAgICBsaW1pdDogRmxhZ3MuaW50ZWdlcih7XG4gICAgICBkZXNjcmlwdGlvbjogJ01heCBydW5zIHRvIGNhbmNlbCBpbiBidWxrIG1vZGUgKDEtNTAwKScsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBkZWZhdWx0OiA1MCxcbiAgICAgIGhlbHBHcm91cDogJ0J1bGsgQ2FuY2VsJyxcbiAgICAgIGhlbHBMYWJlbDogJy0tbGltaXQnLFxuICAgICAgaGVscFZhbHVlOiAnTlVNQkVSJyxcbiAgICB9KSxcbiAgICBjb25maXJtOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2tpcCBpbnRlcmFjdGl2ZSBjb25maXJtYXRpb24gcHJvbXB0JyxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIGNoYXI6ICd5JyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgaGVscEdyb3VwOiAnQnVsayBDYW5jZWwnLFxuICAgICAgaGVscExhYmVsOiAnLXksIC0tY29uZmlybScsXG4gICAgfSksXG4gIH07XG5cbiAgcHVibGljIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGZsYWdzLCBhcmdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKENhbmNlbCk7XG5cbiAgICBjb25zdCB3b3JsZCA9IGF3YWl0IHNldHVwQ2xpV29ybGQoZmxhZ3MsIHRoaXMuY29uZmlnLnZlcnNpb24pO1xuICAgIGlmICghd29ybGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0ZhaWxlZCB0byBjb25uZWN0IHRvIGJhY2tlbmQuIENoZWNrIHlvdXIgY29uZmlndXJhdGlvbi4nXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFNpbmdsZS1ydW4gY2FuY2VsIChleGlzdGluZyBiZWhhdmlvcilcbiAgICBpZiAoYXJncy5ydW5JZCkge1xuICAgICAgYXdhaXQgY2FuY2VsUnVuKHdvcmxkLCBhcmdzLnJ1bklkLCB7XG4gICAgICAgIGNhbmNlbFJlYXNvbjogQ0xJX0NBTkNFTF9SRUFTT04sXG4gICAgICB9KTtcbiAgICAgIGxvZ2dlci5sb2coY2hhbGsuZ3JlZW4oYENhbmNlbGxlZCBydW4gJHthcmdzLnJ1bklkfWApKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBCdWxrIG1vZGUgcmVxdWlyZXMgYXQgbGVhc3Qgb25lIGZpbHRlclxuICAgIGlmICghZmxhZ3Muc3RhdHVzICYmICFmbGFncy53b3JrZmxvd05hbWUpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgJ1Byb3ZpZGUgYSBydW4gSUQgb3IgdXNlIC0tc3RhdHVzLy0td29ya2Zsb3dOYW1lIHRvIGJ1bGsgY2FuY2VsLlxcbicgK1xuICAgICAgICAgICdFeGFtcGxlczpcXG4nICtcbiAgICAgICAgICAnICB3b3JrZmxvdyBjYW5jZWwgPHJ1bi1pZD5cXG4nICtcbiAgICAgICAgICAnICB3b3JrZmxvdyBjYW5jZWwgLS1zdGF0dXM9cnVubmluZ1xcbicgK1xuICAgICAgICAgICcgIHdvcmtmbG93IGNhbmNlbCAtLXN0YXR1cz1ydW5uaW5nIC0td29ya2Zsb3dOYW1lPW15V29ya2Zsb3cnXG4gICAgICApO1xuICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgIH1cblxuICAgIGNvbnN0IGxpbWl0ID0gZmxhZ3MubGltaXQgPz8gNTA7XG4gICAgY29uc3QgbGltaXRFcnJvciA9IHZhbGlkYXRlQnVsa0NhbmNlbExpbWl0KGxpbWl0KTtcbiAgICBpZiAobGltaXRFcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKGxpbWl0RXJyb3IpO1xuICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXR1cyA9IGZsYWdzLnN0YXR1c1xuICAgICAgPyBXb3JrZmxvd1J1blN0YXR1c1NjaGVtYS5wYXJzZShmbGFncy5zdGF0dXMpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHsgZXhpdENvZGUgfSA9IGF3YWl0IHBlcmZvcm1CdWxrQ2FuY2VsKHtcbiAgICAgIHdvcmxkLFxuICAgICAgc3RhdHVzLFxuICAgICAgd29ya2Zsb3dOYW1lOiBmbGFncy53b3JrZmxvd05hbWUsXG4gICAgICBsaW1pdCxcbiAgICAgIGNvbmZpcm06IGZsYWdzLmNvbmZpcm0sXG4gICAgICBsb2dnZXIsXG4gICAgICBwcm9tcHRDb25maXJtLFxuICAgIH0pO1xuXG4gICAgaWYgKGV4aXRDb2RlICE9PSAwKSB7XG4gICAgICBwcm9jZXNzLmV4aXQoZXhpdENvZGUpO1xuICAgIH1cbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBwcm9tcHRDb25maXJtKG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAvLyBOb24tVFRZOiBhYm9ydCBzaW5jZSB1c2VyIGNhbm5vdCBjb25maXJtIGludGVyYWN0aXZlbHkgKHVzZSAteS8tLWNvbmZpcm0gdG8gc2tpcCBwcm9tcHQpXG4gIGlmICghcHJvY2Vzcy5zdGRpbi5pc1RUWSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHJsID0gcmVhZGxpbmUuY3JlYXRlSW50ZXJmYWNlKHtcbiAgICBpbnB1dDogcHJvY2Vzcy5zdGRpbixcbiAgICBvdXRwdXQ6IHByb2Nlc3Muc3Rkb3V0LFxuICB9KTtcblxuICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUpID0+IHtcbiAgICBybC5xdWVzdGlvbihgJHttZXNzYWdlfSBbeS9OXSBgLCAoYW5zd2VyKSA9PiB7XG4gICAgICBybC5jbG9zZSgpO1xuICAgICAgcmVzb2x2ZShhbnN3ZXIudHJpbSgpLnRvTG93ZXJDYXNlKCkgPT09ICd5Jyk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2NhbmNlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHVCQUF1QixHQUN4QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxNQUFNLENBQUMsT0FBTyxPQUFPLE1BQU8sU0FBUSxXQUFXO0lBQzdDLE1BQU0sQ0FBQyxXQUFXLEdBQ2hCLDJEQUEyRCxDQUFDO0lBRTlELE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV2QixNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLDRCQUE0QjtRQUM1QixvQ0FBb0M7UUFDcEMsOERBQThEO1FBQzlELHVDQUF1QztLQUN4QyxDQUFDO0lBRUY7Ozs7Ozs7T0FPRztJQUNLLE9BQU8sQ0FBVTtJQUV6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QUN6QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2xDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztRQUNwQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07S0FDdkIsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLE9BQU8sQ0FBVSxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ3RDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcmVhZGxpbmUgZnJvbSAnbm9kZTpyZWFkbGluZSc7XG5pbXBvcnQgeyBBcmdzLCBGbGFncyB9IGZyb20gJ0BvY2xpZi9jb3JlJztcbmltcG9ydCB7IGNhbmNlbFJ1biB9IGZyb20gJ0B3b3JrZmxvdy9jb3JlL3J1bnRpbWUnO1xuaW1wb3J0IHsgV29ya2Zsb3dSdW5TdGF0dXNTY2hlbWEgfSBmcm9tICdAd29ya2Zsb3cvd29ybGQnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IEJhc2VDb21tYW5kIH0gZnJvbSAnLi4vYmFzZS5qcyc7XG5pbXBvcnQge1xuICBCVUxLX0NBTkNFTF9NQVhfTElNSVQsXG4gIEJVTEtfQ0FOQ0VMX01JTl9MSU1JVCxcbiAgQ0FOQ0VMTEFCTEVfU1RBVFVTRVMsXG4gIENMSV9DQU5DRUxfUkVBU09OLFxuICBwZXJmb3JtQnVsa0NhbmNlbCxcbiAgdmFsaWRhdGVCdWxrQ2FuY2VsTGltaXQsXG59IGZyb20gJy4uL2xpYi9idWxrLWNhbmNlbC5qcyc7XG5pbXBvcnQgeyBMT0dHSU5HX0NPTkZJRywgbG9nZ2VyIH0gZnJvbSAnLi4vbGliL2NvbmZpZy9sb2cuanMnO1xuaW1wb3J0IHsgcmVwb3J0QWN0aW9uYWJsZUFwaUVycm9yIH0gZnJvbSAnLi4vbGliL2luc3BlY3QvZXJyb3JzLmpzJztcbmltcG9ydCB7IGNsaUZsYWdzIH0gZnJvbSAnLi4vbGliL2luc3BlY3QvZmxhZ3MuanMnO1xuaW1wb3J0IHsgc2V0dXBDbGlXb3JsZCB9IGZyb20gJy4uL2xpYi9pbnNwZWN0L3NldHVwLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2FuY2VsIGV4dGVuZHMgQmFzZUNvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPVxuICAgICdDYW5jZWwgYSB3b3JrZmxvdyBydW4sIG9yIGJ1bGstY2FuY2VsIHJ1bnMgYnkgc3RhdHVzL25hbWUnO1xuXG4gIHN0YXRpYyBhbGlhc2VzID0gWydjJ107XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgICckIHdvcmtmbG93IGNhbmNlbCA8cnVuLWlkPicsXG4gICAgJyQgd29ya2Zsb3cgY2FuY2VsIC0tc3RhdHVzPXJ1bm5pbmcnLFxuICAgICckIHdvcmtmbG93IGNhbmNlbCAtLXN0YXR1cz1ydW5uaW5nIC0td29ya2Zsb3dOYW1lPW15V29ya2Zsb3cnLFxuICAgICckIHdvcmtmbG93IGNhbmNlbCAtLXN0YXR1cz1ydW5uaW5nIC15JyxcbiAgXTtcblxuICAvKipcbiAgICogUmVjb3JkZWQgaW4gYHJ1bigpYCBzbyBgY2F0Y2goKWAgY2FuIHRlbGwgYSBWZXJjZWwgNDAzIGZyb20gYW55IG90aGVyXG4gICAqIG9uZS4gb2NsaWYgaGFuZHMgYGNhdGNoYCB0aGUgZXJyb3IgYWxvbmUsIHdpdGggbm8gcGFyc2VkIGZsYWdzLlxuICAgKlxuICAgKiBBc3NpZ25lZCBhZnRlciBgdGhpcy5wYXJzZSgpYCwgc28gYSBgY2F0Y2hgIHJlYWNoZWQgYnkgYSBwYXJzZSBmYWlsdXJlXG4gICAqIHNlZXMgYHVuZGVmaW5lZGAuIFRoYXQgY29zdHMgbm90aGluZzogYSBwYXJzZSBmYWlsdXJlIGlzIG5vdCBhbiBBUElcbiAgICogZXJyb3IsIHNvIHRoZXJlIGlzIG5vIDQwMyB0byBjbGFzc2lmeS5cbiAgICovXG4gIHByaXZhdGUgYmFja2VuZD86IHN0cmluZztcblxuICBhc3luYyBjYXRjaChlcnJvcjogYW55KSB7XG4gICAgLy8gUHJpbnQgdGhlIGVycm9ycyB0aGF0IG5hbWUgc29tZXRoaW5nIHRoZSBjYWxsZXIgY2FuIGZpeC4gT25seSB0aGUgcGxhblxuICAgIC8vIGdhdGUgd2FzIGhhbmRsZWQgYmVmb3JlLCBzbyBhbiBhcmd1bWVudCB0aGUgV29ybGQgcmVqZWN0ZWQgbG9jYWxseSDigJRcbiAgICAvLyBgLS1saW1pdGAgYWJvdmUgdGhlIGxpc3RpbmcgY2FwLCBzYXkg4oCUIHJlYWNoZWQgb2NsaWYncyBkZWZhdWx0IGhhbmRsZXJcbiAgICAvLyBhbmQgZXhpdGVkIDEgd2l0aCBub3RoaW5nIG9uIHNjcmVlbiB1bmxlc3MgLXYgd2FzIHNldC5cbiAgICBpZiAocmVwb3J0QWN0aW9uYWJsZUFwaUVycm9yKGVycm9yLCB0aGlzLmJhY2tlbmQpKSB7XG4gICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgfVxuICAgIGlmIChMT0dHSU5HX0NPTkZJRy5WRVJCT1NFX01PREUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIHN0YXRpYyBhcmdzID0ge1xuICAgIHJ1bklkOiBBcmdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjogJ0lEIG9mIHRoZSBydW4gdG8gY2FuY2VsIChvbWl0IGZvciBidWxrIG1vZGUgd2l0aCBmaWx0ZXJzKScsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgfSksXG4gIH0gYXMgY29uc3Q7XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLmNsaUZsYWdzLFxuICAgIHN0YXR1czogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIC8vIE9ubHkgY2FuY2VsbGFibGUgc3RhdHVzZXMgYXJlIG9mZmVyZWQ6IGNhbmNlbGxpbmcgYSB0ZXJtaW5hbCBydW5cbiAgICAgIC8vIChjb21wbGV0ZWQgLyBmYWlsZWQgLyBjYW5jZWxsZWQpIGlzIGEgbm8tb3AsIHNvIHBpbm5pbmcgb25lIHdvdWxkIGxpc3RcbiAgICAgIC8vIHRoZSBzYW1lIHBhZ2Ugb24gZXZlcnkgcmVydW4gYW5kIG5ldmVyIGFkdmFuY2UuXG4gICAgICBkZXNjcmlwdGlvbjogJ0ZpbHRlciBydW5zIGJ5IHN0YXR1cyBmb3IgYnVsayBjYW5jZWwgKHBlbmRpbmcgb3IgcnVubmluZyknLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgb3B0aW9uczogWy4uLkNBTkNFTExBQkxFX1NUQVRVU0VTXSxcbiAgICAgIGhlbHBHcm91cDogJ0J1bGsgQ2FuY2VsJyxcbiAgICAgIGhlbHBMYWJlbDogJy0tc3RhdHVzJyxcbiAgICB9KSxcbiAgICB3b3JrZmxvd05hbWU6IEZsYWdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjogJ0ZpbHRlciBydW5zIGJ5IHdvcmtmbG93IG5hbWUgZm9yIGJ1bGsgY2FuY2VsJyxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIGNoYXI6ICduJyxcbiAgICAgIGhlbHBHcm91cDogJ0J1bGsgQ2FuY2VsJyxcbiAgICAgIGhlbHBMYWJlbDogJy1uLCAtLXdvcmtmbG93TmFtZScsXG4gICAgfSksXG4gICAgbGltaXQ6IEZsYWdzLmludGVnZXIoe1xuICAgICAgZGVzY3JpcHRpb246IGBNYXggcnVucyB0byBjYW5jZWwgaW4gYnVsayBtb2RlICgke0JVTEtfQ0FOQ0VMX01JTl9MSU1JVH0tJHtCVUxLX0NBTkNFTF9NQVhfTElNSVR9KWAsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBkZWZhdWx0OiA1MCxcbiAgICAgIGhlbHBHcm91cDogJ0J1bGsgQ2FuY2VsJyxcbiAgICAgIGhlbHBMYWJlbDogJy0tbGltaXQnLFxuICAgICAgaGVscFZhbHVlOiAnTlVNQkVSJyxcbiAgICB9KSxcbiAgICBjb25maXJtOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2tpcCBpbnRlcmFjdGl2ZSBjb25maXJtYXRpb24gcHJvbXB0JyxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIGNoYXI6ICd5JyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgaGVscEdyb3VwOiAnQnVsayBDYW5jZWwnLFxuICAgICAgaGVscExhYmVsOiAnLXksIC0tY29uZmlybScsXG4gICAgfSksXG4gIH07XG5cbiAgcHVibGljIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGZsYWdzLCBhcmdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKENhbmNlbCk7XG4gICAgdGhpcy5iYWNrZW5kID0gZmxhZ3MuYmFja2VuZDtcblxuICAgIGNvbnN0IHdvcmxkID0gYXdhaXQgc2V0dXBDbGlXb3JsZChmbGFncywgdGhpcy5jb25maWcudmVyc2lvbik7XG4gICAgaWYgKCF3b3JsZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnRmFpbGVkIHRvIGNvbm5lY3QgdG8gYmFja2VuZC4gQ2hlY2sgeW91ciBjb25maWd1cmF0aW9uLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gU2luZ2xlLXJ1biBjYW5jZWwgKGV4aXN0aW5nIGJlaGF2aW9yKVxuICAgIGlmIChhcmdzLnJ1bklkKSB7XG4gICAgICBhd2FpdCBjYW5jZWxSdW4od29ybGQsIGFyZ3MucnVuSWQsIHtcbiAgICAgICAgY2FuY2VsUmVhc29uOiBDTElfQ0FOQ0VMX1JFQVNPTixcbiAgICAgIH0pO1xuICAgICAgbG9nZ2VyLmxvZyhjaGFsay5ncmVlbihgQ2FuY2VsbGVkIHJ1biAke2FyZ3MucnVuSWR9YCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEJ1bGsgbW9kZSByZXF1aXJlcyBhdCBsZWFzdCBvbmUgZmlsdGVyXG4gICAgaWYgKCFmbGFncy5zdGF0dXMgJiYgIWZsYWdzLndvcmtmbG93TmFtZSkge1xuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAnUHJvdmlkZSBhIHJ1biBJRCBvciB1c2UgLS1zdGF0dXMvLS13b3JrZmxvd05hbWUgdG8gYnVsayBjYW5jZWwuXFxuJyArXG4gICAgICAgICAgJ0V4YW1wbGVzOlxcbicgK1xuICAgICAgICAgICcgIHdvcmtmbG93IGNhbmNlbCA8cnVuLWlkPlxcbicgK1xuICAgICAgICAgICcgIHdvcmtmbG93IGNhbmNlbCAtLXN0YXR1cz1ydW5uaW5nXFxuJyArXG4gICAgICAgICAgJyAgd29ya2Zsb3cgY2FuY2VsIC0tc3RhdHVzPXJ1bm5pbmcgLS13b3JrZmxvd05hbWU9bXlXb3JrZmxvdydcbiAgICAgICk7XG4gICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgfVxuXG4gICAgY29uc3QgbGltaXQgPSBmbGFncy5saW1pdCA/PyA1MDtcbiAgICBjb25zdCBsaW1pdEVycm9yID0gdmFsaWRhdGVCdWxrQ2FuY2VsTGltaXQobGltaXQpO1xuICAgIGlmIChsaW1pdEVycm9yKSB7XG4gICAgICBsb2dnZXIuZXJyb3IobGltaXRFcnJvcik7XG4gICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhdHVzID0gZmxhZ3Muc3RhdHVzXG4gICAgICA/IFdvcmtmbG93UnVuU3RhdHVzU2NoZW1hLnBhcnNlKGZsYWdzLnN0YXR1cylcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgeyBleGl0Q29kZSB9ID0gYXdhaXQgcGVyZm9ybUJ1bGtDYW5jZWwoe1xuICAgICAgd29ybGQsXG4gICAgICBzdGF0dXMsXG4gICAgICB3b3JrZmxvd05hbWU6IGZsYWdzLndvcmtmbG93TmFtZSxcbiAgICAgIGxpbWl0LFxuICAgICAgY29uZmlybTogZmxhZ3MuY29uZmlybSxcbiAgICAgIGxvZ2dlcixcbiAgICAgIHByb21wdENvbmZpcm0sXG4gICAgfSk7XG5cbiAgICBpZiAoZXhpdENvZGUgIT09IDApIHtcbiAgICAgIHByb2Nlc3MuZXhpdChleGl0Q29kZSk7XG4gICAgfVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHByb21wdENvbmZpcm0obWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIC8vIE5vbi1UVFk6IGFib3J0IHNpbmNlIHVzZXIgY2Fubm90IGNvbmZpcm0gaW50ZXJhY3RpdmVseSAodXNlIC15Ly0tY29uZmlybSB0byBza2lwIHByb21wdClcbiAgaWYgKCFwcm9jZXNzLnN0ZGluLmlzVFRZKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgcmwgPSByZWFkbGluZS5jcmVhdGVJbnRlcmZhY2Uoe1xuICAgIGlucHV0OiBwcm9jZXNzLnN0ZGluLFxuICAgIG91dHB1dDogcHJvY2Vzcy5zdGRvdXQsXG4gIH0pO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSkgPT4ge1xuICAgIHJsLnF1ZXN0aW9uKGAke21lc3NhZ2V9IFt5L05dIGAsIChhbnN3ZXIpID0+IHtcbiAgICAgIHJsLmNsb3NlKCk7XG4gICAgICByZXNvbHZlKGFuc3dlci50cmltKCkudG9Mb3dlckNhc2UoKSA9PT0gJ3knKTtcbiAgICB9KTtcbiAgfSk7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=inspect-flag-forwarding.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect-flag-forwarding.test.d.ts","sourceRoot":"","sources":["../../src/commands/inspect-flag-forwarding.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,121 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ import { Config } from '@oclif/core';
3
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
4
+ import { toInspectOptions } from './inspect.js';
5
+ const state = vi.hoisted(() => ({
6
+ setupCliWorld: vi.fn(),
7
+ listEvents: vi.fn(),
8
+ listAttributes: vi.fn(),
9
+ }));
10
+ vi.mock('../lib/inspect/setup.js', () => ({
11
+ setupCliWorld: state.setupCliWorld,
12
+ }));
13
+ // Only the two listings these cases dispatch to are replaced; the rest of the
14
+ // module is kept so the command's imports still resolve.
15
+ vi.mock('../lib/inspect/output.js', async (importOriginal) => ({
16
+ ...(await importOriginal()),
17
+ listEvents: state.listEvents,
18
+ listAttributes: state.listAttributes,
19
+ }));
20
+ const { default: Inspect } = await import('./inspect.js');
21
+ const VALID_RUN = 'wrun_01K4BZQ5T2J8HXFM6WD3PNAVCE';
22
+ const VALID_HOOK = 'hook_01K4BZQ5T2J8HXFM6WD3PNAVCE';
23
+ const runInspect = async (argv) => {
24
+ const config = await Config.load(fileURLToPath(new URL('../..', import.meta.url)));
25
+ const exit = vi
26
+ .spyOn(process, 'exit')
27
+ .mockImplementation((() => undefined));
28
+ try {
29
+ await Inspect.run(argv, config).catch(() => undefined);
30
+ }
31
+ finally {
32
+ exit.mockRestore();
33
+ }
34
+ };
35
+ beforeEach(() => {
36
+ state.setupCliWorld.mockReset().mockResolvedValue({});
37
+ state.listEvents.mockReset().mockResolvedValue(undefined);
38
+ state.listAttributes.mockReset().mockResolvedValue(undefined);
39
+ process.exitCode = 0;
40
+ });
41
+ /**
42
+ * A flag that parses, clears validation, and is then dropped before any
43
+ * listing reads it is indistinguishable from a successful unfiltered answer.
44
+ * Unit tests on the listings cannot see it: they pass options directly and so
45
+ * skip the projection where the drop happens. These go through `Inspect.run`.
46
+ */
47
+ describe('flag forwarding through the command', () => {
48
+ it('forwards --hookId to the events listing', async () => {
49
+ await runInspect(['events', '--runId', VALID_RUN, '--hookId', VALID_HOOK]);
50
+ expect(state.listEvents).toHaveBeenCalled();
51
+ expect(state.listEvents.mock.calls[0][1]).toMatchObject({
52
+ hookId: VALID_HOOK,
53
+ runId: VALID_RUN,
54
+ });
55
+ });
56
+ it('forwards --stepId to the events listing', async () => {
57
+ await runInspect([
58
+ 'events',
59
+ '--runId',
60
+ VALID_RUN,
61
+ '--stepId',
62
+ 'step_01K4BZQ5T2J8HXFM6WD3PNAVCE',
63
+ ]);
64
+ expect(state.listEvents.mock.calls[0][1]).toMatchObject({
65
+ stepId: 'step_01K4BZQ5T2J8HXFM6WD3PNAVCE',
66
+ });
67
+ });
68
+ // The warning `listAttributes` prints for this flag was unreachable from
69
+ // the CLI while the projection dropped it.
70
+ it('forwards --hookId far enough for the attributes listing to warn', async () => {
71
+ await runInspect(['attributes', '--hookId', VALID_HOOK]);
72
+ expect(state.listAttributes.mock.calls[0][1]).toMatchObject({
73
+ hookId: VALID_HOOK,
74
+ });
75
+ });
76
+ });
77
+ /**
78
+ * The projection itself, pinned key by key. Every filtering flag the listings
79
+ * read has to appear here; `--hookId` was declared as a flag and read by
80
+ * `listEvents` but never copied across.
81
+ */
82
+ describe('toInspectOptions', () => {
83
+ it('copies every filtering flag through', () => {
84
+ const options = toInspectOptions({
85
+ json: true,
86
+ runId: VALID_RUN,
87
+ stepId: 'step_x',
88
+ hookId: 'hook_x',
89
+ cursor: 'c',
90
+ sort: 'asc',
91
+ limit: 25,
92
+ workflowName: 'orderWorkflow',
93
+ status: 'failed',
94
+ since: '7d',
95
+ until: '1h',
96
+ withData: true,
97
+ decrypt: true,
98
+ backend: 'vercel',
99
+ interactive: true,
100
+ }, { tenant: 'acme' });
101
+ expect(options).toEqual({
102
+ json: true,
103
+ runId: VALID_RUN,
104
+ stepId: 'step_x',
105
+ hookId: 'hook_x',
106
+ cursor: 'c',
107
+ sort: 'asc',
108
+ limit: 25,
109
+ workflowName: 'orderWorkflow',
110
+ attributes: { tenant: 'acme' },
111
+ status: 'failed',
112
+ since: '7d',
113
+ until: '1h',
114
+ withData: true,
115
+ decrypt: true,
116
+ backend: 'vercel',
117
+ interactive: true,
118
+ });
119
+ });
120
+ });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdC1mbGFnLWZvcndhcmRpbmcudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9pbnNwZWN0LWZsYWctZm9yd2FyZGluZy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLGFBQWEsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ3RCLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ25CLGNBQWMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO0NBQ3hCLENBQUMsQ0FBQyxDQUFDO0FBRUosRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtDQUNuQyxDQUFDLENBQUMsQ0FBQztBQUVKLDhFQUE4RTtBQUM5RSx5REFBeUQ7QUFDekQsRUFBRSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdELEdBQUcsQ0FBQyxNQUFNLGNBQWMsRUFBNkMsQ0FBQztJQUN0RSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7SUFDNUIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO0NBQ3JDLENBQUMsQ0FBQyxDQUFDO0FBRUosTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUUxRCxNQUFNLFNBQVMsR0FBRyxpQ0FBaUMsQ0FBQztBQUNwRCxNQUFNLFVBQVUsR0FBRyxpQ0FBaUMsQ0FBQztBQUVyRCxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBYyxFQUFpQixFQUFFO0lBQ3pELE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FDOUIsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2pELENBQUM7SUFDRixNQUFNLElBQUksR0FBRyxFQUFFO1NBQ1osS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7U0FDdEIsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQVUsQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7WUFBUyxDQUFDO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixVQUFVLENBQUMsR0FBRyxFQUFFO0lBQ2QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0RCxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUM7QUFFSDs7Ozs7R0FLRztBQUNILFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7SUFDbkQsRUFBRSxDQUFDLHlDQUF5QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3ZELE1BQU0sVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFM0UsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDdEQsTUFBTSxFQUFFLFVBQVU7WUFDbEIsS0FBSyxFQUFFLFNBQVM7U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMseUNBQXlDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdkQsTUFBTSxVQUFVLENBQUM7WUFDZixRQUFRO1lBQ1IsU0FBUztZQUNULFNBQVM7WUFDVCxVQUFVO1lBQ1YsaUNBQWlDO1NBQ2xDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDdEQsTUFBTSxFQUFFLGlDQUFpQztTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILHlFQUF5RTtJQUN6RSwyQ0FBMkM7SUFDM0MsRUFBRSxDQUFDLGlFQUFpRSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQy9FLE1BQU0sVUFBVSxDQUFDLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRXpELE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDMUQsTUFBTSxFQUFFLFVBQVU7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVIOzs7O0dBSUc7QUFDSCxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO0lBQ2hDLEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7UUFDN0MsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQzlCO1lBQ0UsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsU0FBUztZQUNoQixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsR0FBRztZQUNYLElBQUksRUFBRSxLQUFLO1lBQ1gsS0FBSyxFQUFFLEVBQUU7WUFDVCxZQUFZLEVBQUUsZUFBZTtZQUM3QixNQUFNLEVBQUUsUUFBUTtZQUNoQixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLElBQUk7WUFDZCxPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLEVBQ0QsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQ25CLENBQUM7UUFFRixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3RCLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsTUFBTSxFQUFFLEdBQUc7WUFDWCxJQUFJLEVBQUUsS0FBSztZQUNYLEtBQUssRUFBRSxFQUFFO1lBQ1QsWUFBWSxFQUFFLGVBQWU7WUFDN0IsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUM5QixNQUFNLEVBQUUsUUFBUTtZQUNoQixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLElBQUk7WUFDZCxPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnQG9jbGlmL2NvcmUnO1xuaW1wb3J0IHsgYmVmb3JlRWFjaCwgZGVzY3JpYmUsIGV4cGVjdCwgaXQsIHZpIH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB7IHRvSW5zcGVjdE9wdGlvbnMgfSBmcm9tICcuL2luc3BlY3QuanMnO1xuXG5jb25zdCBzdGF0ZSA9IHZpLmhvaXN0ZWQoKCkgPT4gKHtcbiAgc2V0dXBDbGlXb3JsZDogdmkuZm4oKSxcbiAgbGlzdEV2ZW50czogdmkuZm4oKSxcbiAgbGlzdEF0dHJpYnV0ZXM6IHZpLmZuKCksXG59KSk7XG5cbnZpLm1vY2soJy4uL2xpYi9pbnNwZWN0L3NldHVwLmpzJywgKCkgPT4gKHtcbiAgc2V0dXBDbGlXb3JsZDogc3RhdGUuc2V0dXBDbGlXb3JsZCxcbn0pKTtcblxuLy8gT25seSB0aGUgdHdvIGxpc3RpbmdzIHRoZXNlIGNhc2VzIGRpc3BhdGNoIHRvIGFyZSByZXBsYWNlZDsgdGhlIHJlc3Qgb2YgdGhlXG4vLyBtb2R1bGUgaXMga2VwdCBzbyB0aGUgY29tbWFuZCdzIGltcG9ydHMgc3RpbGwgcmVzb2x2ZS5cbnZpLm1vY2soJy4uL2xpYi9pbnNwZWN0L291dHB1dC5qcycsIGFzeW5jIChpbXBvcnRPcmlnaW5hbCkgPT4gKHtcbiAgLi4uKGF3YWl0IGltcG9ydE9yaWdpbmFsPHR5cGVvZiBpbXBvcnQoJy4uL2xpYi9pbnNwZWN0L291dHB1dC5qcycpPigpKSxcbiAgbGlzdEV2ZW50czogc3RhdGUubGlzdEV2ZW50cyxcbiAgbGlzdEF0dHJpYnV0ZXM6IHN0YXRlLmxpc3RBdHRyaWJ1dGVzLFxufSkpO1xuXG5jb25zdCB7IGRlZmF1bHQ6IEluc3BlY3QgfSA9IGF3YWl0IGltcG9ydCgnLi9pbnNwZWN0LmpzJyk7XG5cbmNvbnN0IFZBTElEX1JVTiA9ICd3cnVuXzAxSzRCWlE1VDJKOEhYRk02V0QzUE5BVkNFJztcbmNvbnN0IFZBTElEX0hPT0sgPSAnaG9va18wMUs0QlpRNVQySjhIWEZNNldEM1BOQVZDRSc7XG5cbmNvbnN0IHJ1bkluc3BlY3QgPSBhc3luYyAoYXJndjogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgY29uZmlnID0gYXdhaXQgQ29uZmlnLmxvYWQoXG4gICAgZmlsZVVSTFRvUGF0aChuZXcgVVJMKCcuLi8uLicsIGltcG9ydC5tZXRhLnVybCkpXG4gICk7XG4gIGNvbnN0IGV4aXQgPSB2aVxuICAgIC5zcHlPbihwcm9jZXNzLCAnZXhpdCcpXG4gICAgLm1vY2tJbXBsZW1lbnRhdGlvbigoKCkgPT4gdW5kZWZpbmVkKSBhcyBuZXZlcik7XG4gIHRyeSB7XG4gICAgYXdhaXQgSW5zcGVjdC5ydW4oYXJndiwgY29uZmlnKS5jYXRjaCgoKSA9PiB1bmRlZmluZWQpO1xuICB9IGZpbmFsbHkge1xuICAgIGV4aXQubW9ja1Jlc3RvcmUoKTtcbiAgfVxufTtcblxuYmVmb3JlRWFjaCgoKSA9PiB7XG4gIHN0YXRlLnNldHVwQ2xpV29ybGQubW9ja1Jlc2V0KCkubW9ja1Jlc29sdmVkVmFsdWUoe30pO1xuICBzdGF0ZS5saXN0RXZlbnRzLm1vY2tSZXNldCgpLm1vY2tSZXNvbHZlZFZhbHVlKHVuZGVmaW5lZCk7XG4gIHN0YXRlLmxpc3RBdHRyaWJ1dGVzLm1vY2tSZXNldCgpLm1vY2tSZXNvbHZlZFZhbHVlKHVuZGVmaW5lZCk7XG4gIHByb2Nlc3MuZXhpdENvZGUgPSAwO1xufSk7XG5cbi8qKlxuICogQSBmbGFnIHRoYXQgcGFyc2VzLCBjbGVhcnMgdmFsaWRhdGlvbiwgYW5kIGlzIHRoZW4gZHJvcHBlZCBiZWZvcmUgYW55XG4gKiBsaXN0aW5nIHJlYWRzIGl0IGlzIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gYSBzdWNjZXNzZnVsIHVuZmlsdGVyZWQgYW5zd2VyLlxuICogVW5pdCB0ZXN0cyBvbiB0aGUgbGlzdGluZ3MgY2Fubm90IHNlZSBpdDogdGhleSBwYXNzIG9wdGlvbnMgZGlyZWN0bHkgYW5kIHNvXG4gKiBza2lwIHRoZSBwcm9qZWN0aW9uIHdoZXJlIHRoZSBkcm9wIGhhcHBlbnMuIFRoZXNlIGdvIHRocm91Z2ggYEluc3BlY3QucnVuYC5cbiAqL1xuZGVzY3JpYmUoJ2ZsYWcgZm9yd2FyZGluZyB0aHJvdWdoIHRoZSBjb21tYW5kJywgKCkgPT4ge1xuICBpdCgnZm9yd2FyZHMgLS1ob29rSWQgdG8gdGhlIGV2ZW50cyBsaXN0aW5nJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHJ1bkluc3BlY3QoWydldmVudHMnLCAnLS1ydW5JZCcsIFZBTElEX1JVTiwgJy0taG9va0lkJywgVkFMSURfSE9PS10pO1xuXG4gICAgZXhwZWN0KHN0YXRlLmxpc3RFdmVudHMpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICBleHBlY3Qoc3RhdGUubGlzdEV2ZW50cy5tb2NrLmNhbGxzWzBdWzFdKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIGhvb2tJZDogVkFMSURfSE9PSyxcbiAgICAgIHJ1bklkOiBWQUxJRF9SVU4sXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdmb3J3YXJkcyAtLXN0ZXBJZCB0byB0aGUgZXZlbnRzIGxpc3RpbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgcnVuSW5zcGVjdChbXG4gICAgICAnZXZlbnRzJyxcbiAgICAgICctLXJ1bklkJyxcbiAgICAgIFZBTElEX1JVTixcbiAgICAgICctLXN0ZXBJZCcsXG4gICAgICAnc3RlcF8wMUs0QlpRNVQySjhIWEZNNldEM1BOQVZDRScsXG4gICAgXSk7XG5cbiAgICBleHBlY3Qoc3RhdGUubGlzdEV2ZW50cy5tb2NrLmNhbGxzWzBdWzFdKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIHN0ZXBJZDogJ3N0ZXBfMDFLNEJaUTVUMko4SFhGTTZXRDNQTkFWQ0UnLFxuICAgIH0pO1xuICB9KTtcblxuICAvLyBUaGUgd2FybmluZyBgbGlzdEF0dHJpYnV0ZXNgIHByaW50cyBmb3IgdGhpcyBmbGFnIHdhcyB1bnJlYWNoYWJsZSBmcm9tXG4gIC8vIHRoZSBDTEkgd2hpbGUgdGhlIHByb2plY3Rpb24gZHJvcHBlZCBpdC5cbiAgaXQoJ2ZvcndhcmRzIC0taG9va0lkIGZhciBlbm91Z2ggZm9yIHRoZSBhdHRyaWJ1dGVzIGxpc3RpbmcgdG8gd2FybicsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBydW5JbnNwZWN0KFsnYXR0cmlidXRlcycsICctLWhvb2tJZCcsIFZBTElEX0hPT0tdKTtcblxuICAgIGV4cGVjdChzdGF0ZS5saXN0QXR0cmlidXRlcy5tb2NrLmNhbGxzWzBdWzFdKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIGhvb2tJZDogVkFMSURfSE9PSyxcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuLyoqXG4gKiBUaGUgcHJvamVjdGlvbiBpdHNlbGYsIHBpbm5lZCBrZXkgYnkga2V5LiBFdmVyeSBmaWx0ZXJpbmcgZmxhZyB0aGUgbGlzdGluZ3NcbiAqIHJlYWQgaGFzIHRvIGFwcGVhciBoZXJlOyBgLS1ob29rSWRgIHdhcyBkZWNsYXJlZCBhcyBhIGZsYWcgYW5kIHJlYWQgYnlcbiAqIGBsaXN0RXZlbnRzYCBidXQgbmV2ZXIgY29waWVkIGFjcm9zcy5cbiAqL1xuZGVzY3JpYmUoJ3RvSW5zcGVjdE9wdGlvbnMnLCAoKSA9PiB7XG4gIGl0KCdjb3BpZXMgZXZlcnkgZmlsdGVyaW5nIGZsYWcgdGhyb3VnaCcsICgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zID0gdG9JbnNwZWN0T3B0aW9ucyhcbiAgICAgIHtcbiAgICAgICAganNvbjogdHJ1ZSxcbiAgICAgICAgcnVuSWQ6IFZBTElEX1JVTixcbiAgICAgICAgc3RlcElkOiAnc3RlcF94JyxcbiAgICAgICAgaG9va0lkOiAnaG9va194JyxcbiAgICAgICAgY3Vyc29yOiAnYycsXG4gICAgICAgIHNvcnQ6ICdhc2MnLFxuICAgICAgICBsaW1pdDogMjUsXG4gICAgICAgIHdvcmtmbG93TmFtZTogJ29yZGVyV29ya2Zsb3cnLFxuICAgICAgICBzdGF0dXM6ICdmYWlsZWQnLFxuICAgICAgICBzaW5jZTogJzdkJyxcbiAgICAgICAgdW50aWw6ICcxaCcsXG4gICAgICAgIHdpdGhEYXRhOiB0cnVlLFxuICAgICAgICBkZWNyeXB0OiB0cnVlLFxuICAgICAgICBiYWNrZW5kOiAndmVyY2VsJyxcbiAgICAgICAgaW50ZXJhY3RpdmU6IHRydWUsXG4gICAgICB9LFxuICAgICAgeyB0ZW5hbnQ6ICdhY21lJyB9XG4gICAgKTtcblxuICAgIGV4cGVjdChvcHRpb25zKS50b0VxdWFsKHtcbiAgICAgIGpzb246IHRydWUsXG4gICAgICBydW5JZDogVkFMSURfUlVOLFxuICAgICAgc3RlcElkOiAnc3RlcF94JyxcbiAgICAgIGhvb2tJZDogJ2hvb2tfeCcsXG4gICAgICBjdXJzb3I6ICdjJyxcbiAgICAgIHNvcnQ6ICdhc2MnLFxuICAgICAgbGltaXQ6IDI1LFxuICAgICAgd29ya2Zsb3dOYW1lOiAnb3JkZXJXb3JrZmxvdycsXG4gICAgICBhdHRyaWJ1dGVzOiB7IHRlbmFudDogJ2FjbWUnIH0sXG4gICAgICBzdGF0dXM6ICdmYWlsZWQnLFxuICAgICAgc2luY2U6ICc3ZCcsXG4gICAgICB1bnRpbDogJzFoJyxcbiAgICAgIHdpdGhEYXRhOiB0cnVlLFxuICAgICAgZGVjcnlwdDogdHJ1ZSxcbiAgICAgIGJhY2tlbmQ6ICd2ZXJjZWwnLFxuICAgICAgaW50ZXJhY3RpdmU6IHRydWUsXG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=inspect-flag-scope.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect-flag-scope.test.d.ts","sourceRoot":"","sources":["../../src/commands/inspect-flag-scope.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,161 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ import { Config } from '@oclif/core';
3
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
4
+ const state = vi.hoisted(() => ({ setupCliWorld: vi.fn() }));
5
+ // The property under test is that these checks run *before* any backend work,
6
+ // so the setup module is replaced rather than exercised. A call to it means
7
+ // validation let the arguments through.
8
+ vi.mock('../lib/inspect/setup.js', () => ({
9
+ setupCliWorld: state.setupCliWorld,
10
+ }));
11
+ const { default: Inspect } = await import('./inspect.js');
12
+ /**
13
+ * Run the command and return the message it rejected with.
14
+ *
15
+ * `logError` delegates to oclif's `this.error`, which throws; that rejection
16
+ * is captured here. `process.exit` is stubbed because `BaseCommand.finally`
17
+ * calls it. Note that stubbing `process.stderr.write` to read the message
18
+ * instead deadlocks vitest's reporter — hence spying on the command.
19
+ */
20
+ const runInspect = async (argv) => {
21
+ // `fileURLToPath`, not `.pathname`: on Windows the latter yields
22
+ // `/D:/a/...` — a leading slash before the drive letter — which
23
+ // `Config.load` cannot resolve, so it reports a missing package.json.
24
+ const config = await Config.load(fileURLToPath(new URL('../..', import.meta.url)));
25
+ const messages = [];
26
+ const logError = vi
27
+ // `logError` is protected; the cast reaches it without widening the
28
+ // public surface.
29
+ .spyOn(Inspect.prototype, 'logError')
30
+ .mockImplementation((message) => {
31
+ messages.push(message);
32
+ });
33
+ const exit = vi
34
+ .spyOn(process, 'exit')
35
+ .mockImplementation((() => undefined));
36
+ try {
37
+ await Inspect.run(argv, config).catch(() => undefined);
38
+ return messages.join('\n');
39
+ }
40
+ finally {
41
+ exit.mockRestore();
42
+ logError.mockRestore();
43
+ }
44
+ };
45
+ const VALID_RUN = 'wrun_01K4BZQ5T2J8HXFM6WD3PNAVCE';
46
+ beforeEach(() => {
47
+ state.setupCliWorld.mockReset();
48
+ process.exitCode = 0;
49
+ });
50
+ describe('inspect flag validation runs before any backend setup', () => {
51
+ // --attribute was parsed on every resource but consumed only by the runs
52
+ // listing, so these returned a normal, unfiltered answer.
53
+ it.each([
54
+ ['steps', ['steps', '--runId', VALID_RUN]],
55
+ ['events', ['events', '--runId', VALID_RUN]],
56
+ ['hooks', ['hooks']],
57
+ ['attributes', ['attributes']],
58
+ ])('rejects --attribute on %s without reaching a backend', async (_label, argv) => {
59
+ const message = await runInspect([...argv, '--attribute', 'tenant=acme']);
60
+ expect(message).toContain('--attribute filters run listings only');
61
+ expect(state.setupCliWorld).not.toHaveBeenCalled();
62
+ });
63
+ it('rejects --attribute alongside a run ID', async () => {
64
+ const message = await runInspect([
65
+ 'run',
66
+ VALID_RUN,
67
+ '--attribute',
68
+ 'tenant=acme',
69
+ ]);
70
+ expect(message).toContain('already names one run');
71
+ expect(state.setupCliWorld).not.toHaveBeenCalled();
72
+ });
73
+ it.each([
74
+ ['an out-of-range limit', ['runs', '--limit', '5000'], '--limit must be'],
75
+ ['a malformed runId', ['steps', '--runId', 'nope'], '--runId must be'],
76
+ ])('rejects %s', async (_label, argv, expected) => {
77
+ expect(await runInspect(argv)).toContain(expected);
78
+ expect(state.setupCliWorld).not.toHaveBeenCalled();
79
+ });
80
+ it('lets --attribute through on the runs listing', async () => {
81
+ const message = await runInspect([
82
+ 'runs',
83
+ '--attribute',
84
+ 'tenant=acme',
85
+ '--backend',
86
+ 'local',
87
+ ]);
88
+ expect(message).not.toContain('--attribute');
89
+ expect(state.setupCliWorld).toHaveBeenCalled();
90
+ });
91
+ });
92
+ describe('inspect --attribute cannot reach the web UI', () => {
93
+ // Both of these return before `toInspectOptions` parses the filter, so the
94
+ // flag used to be accepted, never validated, and the view opened unfiltered.
95
+ it.each([
96
+ ['--url', ['runs', '--attribute', 'tenant=acme', '--url']],
97
+ ['--web', ['runs', '--attribute', 'tenant=acme', '--web']],
98
+ ['the web resource', ['web', '--attribute', 'tenant=acme']],
99
+ ])('rejects --attribute with %s', async (_label, argv) => {
100
+ const message = await runInspect(argv);
101
+ expect(message).toContain('cannot be forwarded to the web UI');
102
+ expect(state.setupCliWorld).not.toHaveBeenCalled();
103
+ });
104
+ // Previously bypassed validation entirely on this path.
105
+ it('rejects a malformed pair even with --url', async () => {
106
+ const message = await runInspect([
107
+ 'runs',
108
+ '--attribute',
109
+ 'tenant',
110
+ '--url',
111
+ ]);
112
+ expect(message).toContain('cannot be forwarded to the web UI');
113
+ });
114
+ });
115
+ describe('inspect --attribute conflicts and syntax', () => {
116
+ it('rejects --attribute with --withData', async () => {
117
+ const message = await runInspect([
118
+ 'runs',
119
+ '--attribute',
120
+ 'tenant=acme',
121
+ '--withData',
122
+ ]);
123
+ expect(message).toContain('cannot be combined with --withData');
124
+ expect(state.setupCliWorld).not.toHaveBeenCalled();
125
+ });
126
+ // Previously parsed inside toInspectOptions, after setupCliWorld, so a
127
+ // syntax error cost a full auth and project lookup first.
128
+ it.each([
129
+ ['a missing separator', ['runs', '--attribute', 'tenant']],
130
+ ['an empty key', ['runs', '--attribute', '=acme']],
131
+ ])('rejects %s before backend setup', async (_label, argv) => {
132
+ const message = await runInspect(argv);
133
+ expect(message).toContain('--attribute must be key=value');
134
+ expect(state.setupCliWorld).not.toHaveBeenCalled();
135
+ });
136
+ it('rejects more than the allowed pairs before backend setup', async () => {
137
+ const argv = ['runs'];
138
+ for (let i = 0; i < 9; i += 1)
139
+ argv.push('--attribute', `k${i}=v`);
140
+ const message = await runInspect(argv);
141
+ expect(message).toContain('--attribute may be given at most 8 times');
142
+ expect(state.setupCliWorld).not.toHaveBeenCalled();
143
+ });
144
+ it('rejects a duplicate key before backend setup', async () => {
145
+ const message = await runInspect([
146
+ 'runs',
147
+ '--attribute',
148
+ 'tenant=a',
149
+ '--attribute',
150
+ 'tenant=b',
151
+ ]);
152
+ expect(message).toContain('was given more than once');
153
+ expect(state.setupCliWorld).not.toHaveBeenCalled();
154
+ });
155
+ it('rejects a limit above the smallest listing cap', async () => {
156
+ const message = await runInspect(['runs', '--limit', '500']);
157
+ expect(message).toContain('--limit must be an integer between 1 and 100');
158
+ expect(state.setupCliWorld).not.toHaveBeenCalled();
159
+ });
160
+ });
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdC1mbGFnLXNjb3BlLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvaW5zcGVjdC1mbGFnLXNjb3BlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlELE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFN0QsOEVBQThFO0FBQzlFLDRFQUE0RTtBQUM1RSx3Q0FBd0M7QUFDeEMsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtDQUNuQyxDQUFDLENBQUMsQ0FBQztBQUVKLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFMUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFjLEVBQW1CLEVBQUU7SUFDM0QsaUVBQWlFO0lBQ2pFLGdFQUFnRTtJQUNoRSxzRUFBc0U7SUFDdEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUM5QixhQUFhLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDakQsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztJQUM5QixNQUFNLFFBQVEsR0FBRyxFQUFFO1FBQ2pCLG9FQUFvRTtRQUNwRSxrQkFBa0I7U0FDakIsS0FBSyxDQUNKLE9BQU8sQ0FBQyxTQUFpRSxFQUN6RSxVQUFVLENBQ1g7U0FDQSxrQkFBa0IsQ0FBQyxDQUFDLE9BQWUsRUFBRSxFQUFFO1FBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxNQUFNLElBQUksR0FBRyxFQUFFO1NBQ1osS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7U0FDdEIsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQVUsQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO1lBQVMsQ0FBQztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekIsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHLGlDQUFpQyxDQUFDO0FBRXBELFVBQVUsQ0FBQyxHQUFHLEVBQUU7SUFDZCxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLHVEQUF1RCxFQUFFLEdBQUcsRUFBRTtJQUNyRSx5RUFBeUU7SUFDekUsMERBQTBEO0lBQzFELEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDTixDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUMvQixDQUFDLENBQUMsc0RBQXNELEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNoRixNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUNuRSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDO1lBQy9CLEtBQUs7WUFDTCxTQUFTO1lBQ1QsYUFBYTtZQUNiLGFBQWE7U0FDZCxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNyRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDTixDQUFDLHVCQUF1QixFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRSxpQkFBaUIsQ0FBQztRQUN6RSxDQUFDLG1CQUFtQixFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRSxpQkFBaUIsQ0FBQztLQUN2RSxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFO1FBQ2hELE1BQU0sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDhDQUE4QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzVELE1BQU0sT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDO1lBQy9CLE1BQU07WUFDTixhQUFhO1lBQ2IsYUFBYTtZQUNiLFdBQVc7WUFDWCxPQUFPO1NBQ1IsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsNkNBQTZDLEVBQUUsR0FBRyxFQUFFO0lBQzNELDJFQUEyRTtJQUMzRSw2RUFBNkU7SUFDN0UsRUFBRSxDQUFDLElBQUksQ0FBQztRQUNOLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxRCxDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztLQUM1RCxDQUFDLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUN2RCxNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDL0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNyRCxDQUFDLENBQUMsQ0FBQztJQUVILHdEQUF3RDtJQUN4RCxFQUFFLENBQUMsMENBQTBDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUM7WUFDL0IsTUFBTTtZQUNOLGFBQWE7WUFDYixRQUFRO1lBQ1IsT0FBTztTQUNSLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUNqRSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtJQUN4RCxFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbkQsTUFBTSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUM7WUFDL0IsTUFBTTtZQUNOLGFBQWE7WUFDYixhQUFhO1lBQ2IsWUFBWTtTQUNiLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUNoRSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0lBRUgsdUVBQXVFO0lBQ3ZFLDBEQUEwRDtJQUMxRCxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ04sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ25ELENBQUMsQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFO1FBQzNELE1BQU0sT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDBEQUEwRCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRSxNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDdEUsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNyRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM1RCxNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQztZQUMvQixNQUFNO1lBQ04sYUFBYTtZQUNiLFVBQVU7WUFDVixhQUFhO1lBQ2IsVUFBVTtTQUNYLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN0RCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzlELE1BQU0sT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUMxRSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnQG9jbGlmL2NvcmUnO1xuaW1wb3J0IHsgYmVmb3JlRWFjaCwgZGVzY3JpYmUsIGV4cGVjdCwgaXQsIHZpIH0gZnJvbSAndml0ZXN0JztcblxuY29uc3Qgc3RhdGUgPSB2aS5ob2lzdGVkKCgpID0+ICh7IHNldHVwQ2xpV29ybGQ6IHZpLmZuKCkgfSkpO1xuXG4vLyBUaGUgcHJvcGVydHkgdW5kZXIgdGVzdCBpcyB0aGF0IHRoZXNlIGNoZWNrcyBydW4gKmJlZm9yZSogYW55IGJhY2tlbmQgd29yayxcbi8vIHNvIHRoZSBzZXR1cCBtb2R1bGUgaXMgcmVwbGFjZWQgcmF0aGVyIHRoYW4gZXhlcmNpc2VkLiBBIGNhbGwgdG8gaXQgbWVhbnNcbi8vIHZhbGlkYXRpb24gbGV0IHRoZSBhcmd1bWVudHMgdGhyb3VnaC5cbnZpLm1vY2soJy4uL2xpYi9pbnNwZWN0L3NldHVwLmpzJywgKCkgPT4gKHtcbiAgc2V0dXBDbGlXb3JsZDogc3RhdGUuc2V0dXBDbGlXb3JsZCxcbn0pKTtcblxuY29uc3QgeyBkZWZhdWx0OiBJbnNwZWN0IH0gPSBhd2FpdCBpbXBvcnQoJy4vaW5zcGVjdC5qcycpO1xuXG4vKipcbiAqIFJ1biB0aGUgY29tbWFuZCBhbmQgcmV0dXJuIHRoZSBtZXNzYWdlIGl0IHJlamVjdGVkIHdpdGguXG4gKlxuICogYGxvZ0Vycm9yYCBkZWxlZ2F0ZXMgdG8gb2NsaWYncyBgdGhpcy5lcnJvcmAsIHdoaWNoIHRocm93czsgdGhhdCByZWplY3Rpb25cbiAqIGlzIGNhcHR1cmVkIGhlcmUuIGBwcm9jZXNzLmV4aXRgIGlzIHN0dWJiZWQgYmVjYXVzZSBgQmFzZUNvbW1hbmQuZmluYWxseWBcbiAqIGNhbGxzIGl0LiBOb3RlIHRoYXQgc3R1YmJpbmcgYHByb2Nlc3Muc3RkZXJyLndyaXRlYCB0byByZWFkIHRoZSBtZXNzYWdlXG4gKiBpbnN0ZWFkIGRlYWRsb2NrcyB2aXRlc3QncyByZXBvcnRlciDigJQgaGVuY2Ugc3B5aW5nIG9uIHRoZSBjb21tYW5kLlxuICovXG5jb25zdCBydW5JbnNwZWN0ID0gYXN5bmMgKGFyZ3Y6IHN0cmluZ1tdKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgLy8gYGZpbGVVUkxUb1BhdGhgLCBub3QgYC5wYXRobmFtZWA6IG9uIFdpbmRvd3MgdGhlIGxhdHRlciB5aWVsZHNcbiAgLy8gYC9EOi9hLy4uLmAg4oCUIGEgbGVhZGluZyBzbGFzaCBiZWZvcmUgdGhlIGRyaXZlIGxldHRlciDigJQgd2hpY2hcbiAgLy8gYENvbmZpZy5sb2FkYCBjYW5ub3QgcmVzb2x2ZSwgc28gaXQgcmVwb3J0cyBhIG1pc3NpbmcgcGFja2FnZS5qc29uLlxuICBjb25zdCBjb25maWcgPSBhd2FpdCBDb25maWcubG9hZChcbiAgICBmaWxlVVJMVG9QYXRoKG5ldyBVUkwoJy4uLy4uJywgaW1wb3J0Lm1ldGEudXJsKSlcbiAgKTtcbiAgY29uc3QgbWVzc2FnZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGxvZ0Vycm9yID0gdmlcbiAgICAvLyBgbG9nRXJyb3JgIGlzIHByb3RlY3RlZDsgdGhlIGNhc3QgcmVhY2hlcyBpdCB3aXRob3V0IHdpZGVuaW5nIHRoZVxuICAgIC8vIHB1YmxpYyBzdXJmYWNlLlxuICAgIC5zcHlPbihcbiAgICAgIEluc3BlY3QucHJvdG90eXBlIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZD4sXG4gICAgICAnbG9nRXJyb3InXG4gICAgKVxuICAgIC5tb2NrSW1wbGVtZW50YXRpb24oKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgICAgbWVzc2FnZXMucHVzaChtZXNzYWdlKTtcbiAgICB9KTtcbiAgY29uc3QgZXhpdCA9IHZpXG4gICAgLnNweU9uKHByb2Nlc3MsICdleGl0JylcbiAgICAubW9ja0ltcGxlbWVudGF0aW9uKCgoKSA9PiB1bmRlZmluZWQpIGFzIG5ldmVyKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCBJbnNwZWN0LnJ1bihhcmd2LCBjb25maWcpLmNhdGNoKCgpID0+IHVuZGVmaW5lZCk7XG4gICAgcmV0dXJuIG1lc3NhZ2VzLmpvaW4oJ1xcbicpO1xuICB9IGZpbmFsbHkge1xuICAgIGV4aXQubW9ja1Jlc3RvcmUoKTtcbiAgICBsb2dFcnJvci5tb2NrUmVzdG9yZSgpO1xuICB9XG59O1xuXG5jb25zdCBWQUxJRF9SVU4gPSAnd3J1bl8wMUs0QlpRNVQySjhIWEZNNldEM1BOQVZDRSc7XG5cbmJlZm9yZUVhY2goKCkgPT4ge1xuICBzdGF0ZS5zZXR1cENsaVdvcmxkLm1vY2tSZXNldCgpO1xuICBwcm9jZXNzLmV4aXRDb2RlID0gMDtcbn0pO1xuXG5kZXNjcmliZSgnaW5zcGVjdCBmbGFnIHZhbGlkYXRpb24gcnVucyBiZWZvcmUgYW55IGJhY2tlbmQgc2V0dXAnLCAoKSA9PiB7XG4gIC8vIC0tYXR0cmlidXRlIHdhcyBwYXJzZWQgb24gZXZlcnkgcmVzb3VyY2UgYnV0IGNvbnN1bWVkIG9ubHkgYnkgdGhlIHJ1bnNcbiAgLy8gbGlzdGluZywgc28gdGhlc2UgcmV0dXJuZWQgYSBub3JtYWwsIHVuZmlsdGVyZWQgYW5zd2VyLlxuICBpdC5lYWNoKFtcbiAgICBbJ3N0ZXBzJywgWydzdGVwcycsICctLXJ1bklkJywgVkFMSURfUlVOXV0sXG4gICAgWydldmVudHMnLCBbJ2V2ZW50cycsICctLXJ1bklkJywgVkFMSURfUlVOXV0sXG4gICAgWydob29rcycsIFsnaG9va3MnXV0sXG4gICAgWydhdHRyaWJ1dGVzJywgWydhdHRyaWJ1dGVzJ11dLFxuICBdKSgncmVqZWN0cyAtLWF0dHJpYnV0ZSBvbiAlcyB3aXRob3V0IHJlYWNoaW5nIGEgYmFja2VuZCcsIGFzeW5jIChfbGFiZWwsIGFyZ3YpID0+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgcnVuSW5zcGVjdChbLi4uYXJndiwgJy0tYXR0cmlidXRlJywgJ3RlbmFudD1hY21lJ10pO1xuICAgIGV4cGVjdChtZXNzYWdlKS50b0NvbnRhaW4oJy0tYXR0cmlidXRlIGZpbHRlcnMgcnVuIGxpc3RpbmdzIG9ubHknKTtcbiAgICBleHBlY3Qoc3RhdGUuc2V0dXBDbGlXb3JsZCkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlamVjdHMgLS1hdHRyaWJ1dGUgYWxvbmdzaWRlIGEgcnVuIElEJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBydW5JbnNwZWN0KFtcbiAgICAgICdydW4nLFxuICAgICAgVkFMSURfUlVOLFxuICAgICAgJy0tYXR0cmlidXRlJyxcbiAgICAgICd0ZW5hbnQ9YWNtZScsXG4gICAgXSk7XG4gICAgZXhwZWN0KG1lc3NhZ2UpLnRvQ29udGFpbignYWxyZWFkeSBuYW1lcyBvbmUgcnVuJyk7XG4gICAgZXhwZWN0KHN0YXRlLnNldHVwQ2xpV29ybGQpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gIH0pO1xuXG4gIGl0LmVhY2goW1xuICAgIFsnYW4gb3V0LW9mLXJhbmdlIGxpbWl0JywgWydydW5zJywgJy0tbGltaXQnLCAnNTAwMCddLCAnLS1saW1pdCBtdXN0IGJlJ10sXG4gICAgWydhIG1hbGZvcm1lZCBydW5JZCcsIFsnc3RlcHMnLCAnLS1ydW5JZCcsICdub3BlJ10sICctLXJ1bklkIG11c3QgYmUnXSxcbiAgXSkoJ3JlamVjdHMgJXMnLCBhc3luYyAoX2xhYmVsLCBhcmd2LCBleHBlY3RlZCkgPT4ge1xuICAgIGV4cGVjdChhd2FpdCBydW5JbnNwZWN0KGFyZ3YpKS50b0NvbnRhaW4oZXhwZWN0ZWQpO1xuICAgIGV4cGVjdChzdGF0ZS5zZXR1cENsaVdvcmxkKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnbGV0cyAtLWF0dHJpYnV0ZSB0aHJvdWdoIG9uIHRoZSBydW5zIGxpc3RpbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IHJ1bkluc3BlY3QoW1xuICAgICAgJ3J1bnMnLFxuICAgICAgJy0tYXR0cmlidXRlJyxcbiAgICAgICd0ZW5hbnQ9YWNtZScsXG4gICAgICAnLS1iYWNrZW5kJyxcbiAgICAgICdsb2NhbCcsXG4gICAgXSk7XG4gICAgZXhwZWN0KG1lc3NhZ2UpLm5vdC50b0NvbnRhaW4oJy0tYXR0cmlidXRlJyk7XG4gICAgZXhwZWN0KHN0YXRlLnNldHVwQ2xpV29ybGQpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2luc3BlY3QgLS1hdHRyaWJ1dGUgY2Fubm90IHJlYWNoIHRoZSB3ZWIgVUknLCAoKSA9PiB7XG4gIC8vIEJvdGggb2YgdGhlc2UgcmV0dXJuIGJlZm9yZSBgdG9JbnNwZWN0T3B0aW9uc2AgcGFyc2VzIHRoZSBmaWx0ZXIsIHNvIHRoZVxuICAvLyBmbGFnIHVzZWQgdG8gYmUgYWNjZXB0ZWQsIG5ldmVyIHZhbGlkYXRlZCwgYW5kIHRoZSB2aWV3IG9wZW5lZCB1bmZpbHRlcmVkLlxuICBpdC5lYWNoKFtcbiAgICBbJy0tdXJsJywgWydydW5zJywgJy0tYXR0cmlidXRlJywgJ3RlbmFudD1hY21lJywgJy0tdXJsJ11dLFxuICAgIFsnLS13ZWInLCBbJ3J1bnMnLCAnLS1hdHRyaWJ1dGUnLCAndGVuYW50PWFjbWUnLCAnLS13ZWInXV0sXG4gICAgWyd0aGUgd2ViIHJlc291cmNlJywgWyd3ZWInLCAnLS1hdHRyaWJ1dGUnLCAndGVuYW50PWFjbWUnXV0sXG4gIF0pKCdyZWplY3RzIC0tYXR0cmlidXRlIHdpdGggJXMnLCBhc3luYyAoX2xhYmVsLCBhcmd2KSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IHJ1bkluc3BlY3QoYXJndik7XG4gICAgZXhwZWN0KG1lc3NhZ2UpLnRvQ29udGFpbignY2Fubm90IGJlIGZvcndhcmRlZCB0byB0aGUgd2ViIFVJJyk7XG4gICAgZXhwZWN0KHN0YXRlLnNldHVwQ2xpV29ybGQpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gIH0pO1xuXG4gIC8vIFByZXZpb3VzbHkgYnlwYXNzZWQgdmFsaWRhdGlvbiBlbnRpcmVseSBvbiB0aGlzIHBhdGguXG4gIGl0KCdyZWplY3RzIGEgbWFsZm9ybWVkIHBhaXIgZXZlbiB3aXRoIC0tdXJsJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBydW5JbnNwZWN0KFtcbiAgICAgICdydW5zJyxcbiAgICAgICctLWF0dHJpYnV0ZScsXG4gICAgICAndGVuYW50JyxcbiAgICAgICctLXVybCcsXG4gICAgXSk7XG4gICAgZXhwZWN0KG1lc3NhZ2UpLnRvQ29udGFpbignY2Fubm90IGJlIGZvcndhcmRlZCB0byB0aGUgd2ViIFVJJyk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdpbnNwZWN0IC0tYXR0cmlidXRlIGNvbmZsaWN0cyBhbmQgc3ludGF4JywgKCkgPT4ge1xuICBpdCgncmVqZWN0cyAtLWF0dHJpYnV0ZSB3aXRoIC0td2l0aERhdGEnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IHJ1bkluc3BlY3QoW1xuICAgICAgJ3J1bnMnLFxuICAgICAgJy0tYXR0cmlidXRlJyxcbiAgICAgICd0ZW5hbnQ9YWNtZScsXG4gICAgICAnLS13aXRoRGF0YScsXG4gICAgXSk7XG4gICAgZXhwZWN0KG1lc3NhZ2UpLnRvQ29udGFpbignY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLS13aXRoRGF0YScpO1xuICAgIGV4cGVjdChzdGF0ZS5zZXR1cENsaVdvcmxkKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICAvLyBQcmV2aW91c2x5IHBhcnNlZCBpbnNpZGUgdG9JbnNwZWN0T3B0aW9ucywgYWZ0ZXIgc2V0dXBDbGlXb3JsZCwgc28gYVxuICAvLyBzeW50YXggZXJyb3IgY29zdCBhIGZ1bGwgYXV0aCBhbmQgcHJvamVjdCBsb29rdXAgZmlyc3QuXG4gIGl0LmVhY2goW1xuICAgIFsnYSBtaXNzaW5nIHNlcGFyYXRvcicsIFsncnVucycsICctLWF0dHJpYnV0ZScsICd0ZW5hbnQnXV0sXG4gICAgWydhbiBlbXB0eSBrZXknLCBbJ3J1bnMnLCAnLS1hdHRyaWJ1dGUnLCAnPWFjbWUnXV0sXG4gIF0pKCdyZWplY3RzICVzIGJlZm9yZSBiYWNrZW5kIHNldHVwJywgYXN5bmMgKF9sYWJlbCwgYXJndikgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBydW5JbnNwZWN0KGFyZ3YpO1xuICAgIGV4cGVjdChtZXNzYWdlKS50b0NvbnRhaW4oJy0tYXR0cmlidXRlIG11c3QgYmUga2V5PXZhbHVlJyk7XG4gICAgZXhwZWN0KHN0YXRlLnNldHVwQ2xpV29ybGQpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gIH0pO1xuXG4gIGl0KCdyZWplY3RzIG1vcmUgdGhhbiB0aGUgYWxsb3dlZCBwYWlycyBiZWZvcmUgYmFja2VuZCBzZXR1cCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBhcmd2ID0gWydydW5zJ107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA5OyBpICs9IDEpIGFyZ3YucHVzaCgnLS1hdHRyaWJ1dGUnLCBgayR7aX09dmApO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBydW5JbnNwZWN0KGFyZ3YpO1xuICAgIGV4cGVjdChtZXNzYWdlKS50b0NvbnRhaW4oJy0tYXR0cmlidXRlIG1heSBiZSBnaXZlbiBhdCBtb3N0IDggdGltZXMnKTtcbiAgICBleHBlY3Qoc3RhdGUuc2V0dXBDbGlXb3JsZCkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlamVjdHMgYSBkdXBsaWNhdGUga2V5IGJlZm9yZSBiYWNrZW5kIHNldHVwJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBydW5JbnNwZWN0KFtcbiAgICAgICdydW5zJyxcbiAgICAgICctLWF0dHJpYnV0ZScsXG4gICAgICAndGVuYW50PWEnLFxuICAgICAgJy0tYXR0cmlidXRlJyxcbiAgICAgICd0ZW5hbnQ9YicsXG4gICAgXSk7XG4gICAgZXhwZWN0KG1lc3NhZ2UpLnRvQ29udGFpbignd2FzIGdpdmVuIG1vcmUgdGhhbiBvbmNlJyk7XG4gICAgZXhwZWN0KHN0YXRlLnNldHVwQ2xpV29ybGQpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gIH0pO1xuXG4gIGl0KCdyZWplY3RzIGEgbGltaXQgYWJvdmUgdGhlIHNtYWxsZXN0IGxpc3RpbmcgY2FwJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBydW5JbnNwZWN0KFsncnVucycsICctLWxpbWl0JywgJzUwMCddKTtcbiAgICBleHBlY3QobWVzc2FnZSkudG9Db250YWluKCctLWxpbWl0IG11c3QgYmUgYW4gaW50ZWdlciBiZXR3ZWVuIDEgYW5kIDEwMCcpO1xuICAgIGV4cGVjdChzdGF0ZS5zZXR1cENsaVdvcmxkKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcbn0pO1xuIl19
@@ -1,4 +1,5 @@
1
1
  import { BaseCommand } from '../base.js';
2
+ import type { InspectCLIOptions } from '../lib/config/types.js';
2
3
  export default class Inspect extends BaseCommand {
3
4
  static description: string;
4
5
  static aliases: string[];
@@ -23,12 +24,13 @@ export default class Inspect extends BaseCommand {
23
24
  readonly noBrowser: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
25
  readonly localUi: import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
26
  readonly standalone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
26
- readonly sort: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
27
+ readonly sort: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
28
  readonly limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
28
29
  readonly interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
29
30
  readonly runId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
31
  readonly stepId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
31
32
  readonly hookId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
+ readonly attribute: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
34
  readonly workflowName: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
35
  readonly status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
34
36
  readonly since: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -38,4 +40,14 @@ export default class Inspect extends BaseCommand {
38
40
  };
39
41
  run(): Promise<void>;
40
42
  }
43
+ /**
44
+ * Project parsed flags onto the options the listings read.
45
+ *
46
+ * Every filtering flag must be copied through: a flag missing here parses,
47
+ * clears validation, and is then dropped silently, which reads as a
48
+ * successful unfiltered answer. `inspect-flag-forwarding.test.ts` pins the
49
+ * mapping, and checks it through `Inspect.run` as well as directly: a listing's
50
+ * own unit tests pass options in, so they cannot see a drop that happens here.
51
+ */
52
+ export declare function toInspectOptions(flags: any, attributes: Record<string, string> | undefined): InspectCLIOptions;
41
53
  //# sourceMappingURL=inspect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAuBzC,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAC,WAAW,SAA6C;IAE/D,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAOb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IAgBtB,MAAM,CAAC,IAAI;;;MA+BA;IAEX,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8ED;IAEE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwHlC"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAuBhE,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAC,WAAW,SAA6C;IAE/D,MAAM,CAAC,OAAO,WAAS;IAEvB,MAAM,CAAC,QAAQ,WAQb;IAEI,KAAK,CAAC,KAAK,EAAE,GAAG;IAgBtB,MAAM,CAAC,IAAI;;;MAmCA;IAEX,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuFD;IAEE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2JlC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,GAAG,EACV,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC7C,iBAAiB,CAwBnB"}