@pagopa/dx-cli 0.27.1 → 0.27.2

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.
@@ -1,4 +1,5 @@
1
- import { azure, AZURE_SOURCE_VALUES, loadConfig } from "@pagopa/dx-savemoney";
1
+ import { trace } from "@opentelemetry/api";
2
+ import { azure, AZURE_SOURCE_VALUES, buildSavemoneyInvocationTelemetryAttributes, buildSavemoneyOutcomeTelemetryAttributes, loadConfig, } from "@pagopa/dx-savemoney";
2
3
  import { Command, InvalidArgumentError } from "commander";
3
4
  import { oraPromise } from "ora";
4
5
  import { z } from "zod";
@@ -36,6 +37,15 @@ export const makeSavemoneyCommand = () => new Command("savemoney")
36
37
  : config.timespanDays,
37
38
  verbose: verbose ?? false,
38
39
  };
40
+ // Record usage attributes on the active root span so Application
41
+ // Insights can slice usage by format, source, and feature flags.
42
+ trace.getActiveSpan()?.setAttributes(buildSavemoneyInvocationTelemetryAttributes({
43
+ azqrReportPathOption: options.azqrReport,
44
+ configPathOption: options.config,
45
+ format: options.format,
46
+ resolvedConfig: finalConfig,
47
+ subscriptionIdsEnv: process.env.ARM_SUBSCRIPTION_ID,
48
+ }));
39
49
  // Run analysis showing a progress spinner on stderr so the CLI doesn't
40
50
  // look frozen during the (potentially several-minute) Azure round-trips.
41
51
  const reports = await oraPromise(azure.analyzeAzureResources(finalConfig), {
@@ -44,6 +54,10 @@ export const makeSavemoneyCommand = () => new Command("savemoney")
44
54
  successText: "Analysis complete",
45
55
  text: "Analyzing Azure resources",
46
56
  });
57
+ // Record outcome attributes after analysis completes.
58
+ trace
59
+ .getActiveSpan()
60
+ ?.setAttributes(buildSavemoneyOutcomeTelemetryAttributes(reports));
47
61
  await azure.generateReport(reports, options.format);
48
62
  }
49
63
  catch (error) {
@@ -94,4 +108,4 @@ export function resolveSourcesOption(option, configSources) {
94
108
  }
95
109
  return option === "all" ? [...AZURE_SOURCE_VALUES] : [option];
96
110
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZW1vbmV5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2NvbW1hbmRlci9jb21tYW5kcy9zYXZlbW9uZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDakMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHckQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFLENBQ3ZDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUNyQixXQUFXLENBQ1Ysd0VBQXdFLENBQ3pFO0tBQ0EsTUFBTSxDQUFDLHFCQUFxQixFQUFFLGlDQUFpQyxDQUFDO0tBQ2hFLE1BQU0sQ0FDTCx1QkFBdUIsRUFDdkIscUVBQXFFLEVBQ3JFLE9BQU8sQ0FDUjtLQUNBLE1BQU0sQ0FDTCx5QkFBeUIsRUFDekIsZ0VBQWdFLEVBQ2hFLFlBQVksQ0FDYjtLQUNBLE1BQU0sQ0FDTCxxQkFBcUIsRUFDckIsNkRBQTZELEVBQzdELElBQUksQ0FDTDtLQUNBLE1BQU0sQ0FDTCxzQkFBc0IsRUFDdEIsOEdBQThHLENBQy9HO0tBQ0EsTUFBTSxDQUNMLHVCQUF1QixFQUN2QixzR0FBc0csRUFDdEcsaUJBQWlCLENBQ2xCO0tBQ0EsTUFBTSxDQUNMLGNBQWMsRUFDZCw4RUFBOEUsQ0FDL0U7S0FDQSxNQUFNLENBQ0wsc0JBQXNCLEVBQ3RCLDROQUE0TixDQUM3TjtLQUNBLE1BQU0sQ0FBQyxLQUFLLFdBQVcsT0FBTztJQUM3QixNQUFNLEVB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bnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBenVyZUNvbmZpZyB9IGZyb20gXCJAcGFnb3BhL2R4LXNhdmVtb25leVwiO1xuXG5pbXBvcnQgeyBhenVyZSwgQVpVUkVfU09VUkNFX1ZBTFVFUywgbG9hZENvbmZpZyB9IGZyb20gXCJAcGFnb3BhL2R4LXNhdmVtb25leVwiO1xuaW1wb3J0IHsgQ29tbWFuZCwgSW52YWxpZEFyZ3VtZW50RXJyb3IgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5pbXBvcnQgeyBvcmFQcm9taXNlIH0gZnJvbSBcIm9yYVwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuaW1wb3J0IHsgZXhpdFdpdGhFcnJvciB9IGZyb20gXCIuLi9jb21tYW5kLWVycm9ycy5qc1wiO1xuaW1wb3J0IHsgR2xvYmFsT3B0aW9ucyB9IGZyb20gXCIuLi9nbG9iYWwtb3B0aW9ucy5qc1wiO1xuXG5leHBvcnQgY29uc3QgbWFrZVNhdmVtb25leUNvbW1hbmQgPSAoKSA9PlxuICBuZXcgQ29tbWFuZChcInNhdmVtb25leVwiKVxuICAgIC5kZXNjcmlwdGlvbihcbiAgICAgIFwiQW5hbHl6ZSBBenVyZSBzdWJzY3JpcHRpb25zIGFuZCByZXBvcnQgdW51c2VkIG9yIGluZWZmaWNpZW50IHJlc291cmNlc1wiLFxuICAgIClcbiAgICAub3B0aW9uKFwiLWMsIC0tY29uZmlnIDxwYXRoPlwiLCBcIlBhdGggdG8gWUFNTCBjb25maWd1cmF0aW9uIGZpbGVcIilcbiAgICAub3B0aW9uKFxuICAgICAgXCItZiwgLS1mb3JtYXQgPGZvcm1hdD5cIixcbiAgICAgIFwiUmVwb3J0IGZvcm1hdDoganNvbiwgdGFibGUsIGRldGFpbGVkLWpzb24sIG9yIGxpbnQgKGRlZmF1bHQ6IHRhYmxlKVwiLFxuICAgICAgXCJ0YWJsZVwiLFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgXCItbCwgLS1sb2NhdGlvbiA8c3RyaW5nPlwiLFxuICAgICAgXCJQcmVmZXJyZWQgQXp1cmUgbG9jYXRpb24gZm9yIHJlc291cmNlcyAob3ZlcnJpZGVzIGNvbmZpZyBmaWxlKVwiLFxuICAgICAgXCJpdGFseW5vcnRoXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi1kLCAtLWRheXMgPG51bWJlcj5cIixcbiAgICAgIFwiTnVtYmVyIG9mIGRheXMgZm9yIG1ldHJpY3MgYW5hbHlzaXMgKG92ZXJyaWRlcyBjb25maWcgZmlsZSlcIixcbiAgICAgIFwiMzBcIixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLXQsIC0tdGFncyA8dGFncy4uLj5cIixcbiAgICAgIFwiRmlsdGVyIGZpbmRpbmdzIGJ5IHJlc291cmNlIHRhZ3MgKGtleT12YWx1ZSBrZXkyPXZhbHVlMikuIEFkdmlzb3Igc3Vic2NyaXB0aW9uLWxldmVsIGZpbmRpbmdzIHJlbWFpbiBnbG9iYWwuXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi1zLCAtLXNvdXJjZSA8c291cmNlPlwiLFxuICAgICAgXCJSZXN0cmljdCBmaW5kaW5ncyB0byBhIHNpbmdsZSBzb3VyY2U6ICdhZHZpc29yJywgJ2N1c3RvbScsIG9yICdhbGwnIChkZWZhdWx0cyB0byBjb25maWcgZmlsZSBvciBhbGwpXCIsXG4gICAgICBwYXJzZVNvdXJjZU9wdGlvbixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLS1uby1wcmljaW5nXCIsXG4gICAgICBcIkRpc2FibGUgQXp1cmUgUmV0YWlsIFByaWNlcyBlbnJpY2htZW50IChza2lwcyBjdXN0b20gY29zdC1hdC1yaXNrIGVzdGltYXRlcylcIixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLS1henFyLXJlcG9ydCA8cGF0aD5cIixcbiAgICAgIFwiUGF0aCB0byBhbiBBWlFSIChgYXpxciBzY2FuIC0tanNvbmApIHJlcG9ydDsgaXRzIEZpbk9wcy1yZWxldmFudCBpbXBhY3RlZCByZXNvdXJjZXMgYXJlIG1lcmdlZCBpbnRvIHRoZSBvdXRwdXQuIE92ZXJyaWRlcyBgYXp1cmUuYXpxclJlcG9ydFBhdGhgIGZyb20gdGhlIGNvbmZpZyBmaWxlLiBSdW4gQVpRUiB3aXRoIGAtLW1hc2s9ZmFsc2VgIHNvIHJlc291cmNlIElEcyBtYXRjaC5cIixcbiAgICApXG4gICAgLmFjdGlvbihhc3luYyBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgICAgY29uc3QgeyB2ZXJib3NlIH0gPSB0aGlzLm9wdHNXaXRoR2xvYmFsczxHbG9iYWxPcHRpb25zPigpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gTG9hZCBjb25maWd1cmF0aW9uIGZyb20gWUFNTCAoaW5jbHVkZXMgc3Vic2NyaXB0aW9uSWRzLCBsb2NhdGlvbiwgdGltZXNwYW5EYXlzLCB0aHJlc2hvbGRzKVxuICAgICAgICBjb25zdCBjb25maWc6IEF6dXJlQ29uZmlnID0gYXdhaXQgbG9hZENvbmZpZyhvcHRpb25zLmNvbmZpZyk7XG5cbiAgICAgICAgLy8gUGFyc2UgdGFnIGZpbHRlclxuICAgICAgICBjb25zdCBmaWx0ZXJUYWdzID0gcGFyc2VUYWdzT3B0aW9uKG9wdGlvbnMudGFncyk7XG4gICAgICAgIGNvbnN0IGNsaURheXMgPSBOdW1iZXIucGFyc2VJbnQob3B0aW9ucy5kYXlzLCAxMCk7XG5cbiAgICAgICAgY29uc3QgZmluYWxDb25maWc6IEF6dXJlQ29uZmlnID0ge1xuICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAuLi4ob3B0aW9ucy5henFyUmVwb3J0ID8geyBhenFyUmVwb3J0UGF0aDogb3B0aW9ucy5henFyUmVwb3J0IH0gOiB7fSksXG4gICAgICAgICAgZmlsdGVyVGFncyxcbiAgICAgICAgICBwcmVmZXJyZWRMb2NhdGlvbjpcbiAgICAgICAgICAgIHRoaXMuZ2V0T3B0aW9uVmFsdWVTb3VyY2UoXCJsb2NhdGlvblwiKSA9PT0gXCJjbGlcIlxuICAgICAgICAgICAgICA/IG9wdGlvbnMubG9jYXRpb25cbiAgICAgICAgICAgICAgOiBjb25maWcucHJlZmVycmVkTG9jYXRpb24sXG4gICAgICAgICAgLi4uKG9wdGlvbnMucHJpY2luZyA9PT0gZmFsc2UgPyB7IHByaWNpbmc6IHsgZW5hYmxlZDogZmFsc2UgfSB9IDoge30pLFxuICAgICAgICAgIHNvdXJjZXM6IHJlc29sdmVTb3VyY2VzT3B0aW9uKG9wdGlvbnMuc291cmNlLCBjb25maWcuc291cmNlcyksXG4gICAgICAgICAgdGltZXNwYW5EYXlzOlxuICAgICAgICAgICAgdGhpcy5nZXRPcHRpb25WYWx1ZVNvdXJjZShcImRheXNcIikgPT09IFwiY2xpXCIgJiZcbiAgICAgICAgICAgICFOdW1iZXIuaXNOYU4oY2xpRGF5cylcbiAgICAgICAgICAgICAgPyBjbGlEYXlzXG4gICAgICAgICAgICAgIDogY29uZmlnLnRpbWVzcGFuRGF5cyxcbiAgICAgICAgICB2ZXJib3NlOiB2ZXJib3NlID8/IGZhbHNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFJ1biBhbmFseXNpcyBzaG93aW5nIGEgcHJvZ3Jlc3Mgc3Bpbm5lciBvbiBzdGRlcnIgc28gdGhlIENMSSBkb2Vzbid0XG4gICAgICAgIC8vIGxvb2sgZnJvemVuIGR1cmluZyB0aGUgKHBvdGVudGlhbGx5IHNldmVyYWwtbWludXRlKSBBenVyZSByb3VuZC10cmlwcy5cbiAgICAgICAgY29uc3QgcmVwb3J0cyA9IGF3YWl0IG9yYVByb21pc2UoXG4gICAgICAgICAgYXp1cmUuYW5hbHl6ZUF6dXJlUmVzb3VyY2VzKGZpbmFsQ29uZmlnKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmYWlsVGV4dDogXCJBbmFseXNpcyBmYWlsZWRcIixcbiAgICAgICAgICAgIHN0cmVhbTogcHJvY2Vzcy5zdGRlcnIsXG4gICAgICAgICAgICBzdWNjZXNzVGV4dDogXCJBbmFseXNpcyBjb21wbGV0ZVwiLFxuICAgICAgICAgICAgdGV4dDogXCJBbmFseXppbmcgQXp1cmUgcmVzb3VyY2VzXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgYXp1cmUuZ2VuZXJhdGVSZXBvcnQocmVwb3J0cywgb3B0aW9ucy5mb3JtYXQpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgZXhpdFdpdGhFcnJvcih0aGlzKShcbiAgICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgICAgICA/IG5ldyBFcnJvcihgQW5hbHlzaXMgZmFpbGVkOiAke2Vycm9yLm1lc3NhZ2V9YCwgeyBjYXVzZTogZXJyb3IgfSlcbiAgICAgICAgICAgIDogbmV3IEVycm9yKGBBbmFseXNpcyBmYWlsZWQ6ICR7U3RyaW5nKGVycm9yKX1gKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuY29uc3QgU291cmNlU2NoZW1hID0gei5lbnVtKFsuLi5BWlVSRV9TT1VSQ0VfVkFMVUVTLCBcImFsbFwiXSk7XG50eXBlIFNvdXJjZU9wdGlvbiA9IHouaW5mZXI8dHlwZW9mIFNvdXJjZVNjaGVtYT47XG5cbi8qKlxuICogUGFyc2VzIHRoZSBgLS1zb3VyY2VgIG9wdGlvbiB2aWEgYSB6b2QgZW51bSwgYWNjZXB0aW5nIGBhbGxgLCBgYWR2aXNvcmAsXG4gKiBvciBgY3VzdG9tYCBhbmQgcmVqZWN0aW5nIGFueSBvdGhlciB2YWx1ZSB3aXRoIGEgQ29tbWFuZGVyLWZyaWVuZGx5IGVycm9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTb3VyY2VPcHRpb24odmFsdWU6IHN0cmluZyk6IFNvdXJjZU9wdGlvbiB7XG4gIGNvbnN0IHJlc3VsdCA9IFNvdXJjZVNjaGVtYS5zYWZlUGFyc2UodmFsdWUpO1xuICBpZiAoIXJlc3VsdC5zdWNjZXNzKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgYEFsbG93ZWQgdmFsdWVzIGFyZTogJHtTb3VyY2VTY2hlbWEub3B0aW9ucy5qb2luKFwiLCBcIil9YCxcbiAgICApO1xuICB9XG4gIHJldHVybiByZXN1bHQuZGF0YTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYW4gYXJyYXkgb2YgXCJrZXk9dmFsdWVcIiBzdHJpbmdzIChmcm9tIGNvbW1hbmRlciB2YXJpYWRpYyBvcHRpb24pIGludG8gYSBNYXA8c3RyaW5nLCBzdHJpbmc+LlxuICogUmV0dXJucyBhbiBlbXB0eSBNYXAgd2hlbiB0aGUgb3B0aW9uIGlzIG5vdCBwcm92aWRlZCBvciBlbXB0eS5cbiAqIFN1cHBvcnRzIHZhbHVlcyB0aGF0IGNvbnRhaW4gXCI9XCIgKG9ubHkgdGhlIGZpcnN0IFwiPVwiIGlzIHRyZWF0ZWQgYXMgc2VwYXJhdG9yKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGFnc09wdGlvbihcbiAgdGFnc09wdGlvbjogc3RyaW5nW10gfCB1bmRlZmluZWQsXG4pOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgaWYgKCF0YWdzT3B0aW9uIHx8IHRhZ3NPcHRpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBmb3IgKGNvbnN0IHBhaXIgb2YgdGFnc09wdGlvbikge1xuICAgIGNvbnN0IFtyYXdLZXksIC4uLnJlc3RdID0gcGFpci5zcGxpdChcIj1cIik7XG4gICAgY29uc3Qga2V5ID0gcmF3S2V5Py50cmltKCk7XG4gICAgY29uc3QgdmFsdWUgPSByZXN0LmpvaW4oXCI9XCIpLnRyaW0oKTtcbiAgICBpZiAoa2V5ICYmIHJlc3QubGVuZ3RoID4gMCkge1xuICAgICAgcmVzdWx0LnNldChrZXksIHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgc291cmNlIGZpbHRlciBwcmVzZXJ2aW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYW4gb21pdHRlZFxuICogb3B0aW9uIChyZXNwZWN0IGNvbmZpZy9kZWZhdWx0cykgYW5kIGFuIGV4cGxpY2l0IGAtLXNvdXJjZSBhbGxgIG92ZXJyaWRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVNvdXJjZXNPcHRpb24oXG4gIG9wdGlvbjogU291cmNlT3B0aW9uIHwgdW5kZWZpbmVkLFxuICBjb25maWdTb3VyY2VzOiBBenVyZUNvbmZpZ1tcInNvdXJjZXNcIl0sXG4pOiBBenVyZUNvbmZpZ1tcInNvdXJjZXNcIl0ge1xuICBpZiAob3B0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gY29uZmlnU291cmNlcztcbiAgfVxuICByZXR1cm4gb3B0aW9uID09PSBcImFsbFwiID8gWy4uLkFaVVJFX1NPVVJDRV9WQUxVRVNdIDogW29wdGlvbl07XG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZW1vbmV5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2NvbW1hbmRlci9jb21tYW5kcy9zYXZlbW9uZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sRUFDTCxLQUFLLEVBQ0wsbUJBQW1CLEVBQ25CLDJDQUEyQyxFQUMzQyx3Q0FBd0MsRUFDeEMsVUFBVSxHQUNYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3JELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRSxDQUN2QyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUM7S0FDckIsV0FBVyxDQUNWLHdFQUF3RSxDQUN6RTtLQUNBLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxpQ0FBaUMsQ0FBQztLQUNoRSxNQUFNLENBQ0wsdUJBQXVCLEVBQ3ZCLHFFQUFxRSxFQUNyRSxPQUFPLENBQ1I7S0FDQSxNQUFNLENBQ0wseUJBQXlCLEVBQ3pCLGdFQUFnRSxFQUNoRSxZQUFZLENBQ2I7S0FDQSxNQUFNLENBQ0wscUJBQXFCLEVBQ3JCLDZEQUE2RCxFQUM3RCxJQUFJLENBQ0w7S0FDQSxNQUFNLENBQ0wsc0JBQXNCLEVBQ3RCLDhHQUE4RyxDQUMvRztLQUNBLE1BQU0sQ0FDTCx1QkFBdUIsRUFDdkIsc0dBQXNHLEVBQ3RHLGlCQUFpQixDQUNsQjtLQUNBLE1BQU0sQ0FDTCxjQUFjLEVBQ2QsOEVBQThFLENBQy9FO0tBQ0EsTUFBTSxDQUNM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LENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLE1BQWdDLEVBQ2hDLGFBQXFDO0lBRXJDLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxPQUFPLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEF6dXJlQ29uZmlnIH0gZnJvbSBcIkBwYWdvcGEvZHgtc2F2ZW1vbmV5XCI7XG5cbmltcG9ydCB7IHRyYWNlIH0gZnJvbSBcIkBvcGVudGVsZW1ldHJ5L2FwaVwiO1xuaW1wb3J0IHtcbiAgYXp1cmUsXG4gIEFaVVJFX1NPVVJDRV9WQUxVRVMsXG4gIGJ1aWxkU2F2ZW1vbmV5SW52b2NhdGlvblRlbGVtZXRyeUF0dHJpYnV0ZXMsXG4gIGJ1aWxkU2F2ZW1vbmV5T3V0Y29tZVRlbGVtZXRyeUF0dHJpYnV0ZXMsXG4gIGxvYWRDb25maWcsXG59IGZyb20gXCJAcGFnb3BhL2R4LXNhdmVtb25leVwiO1xuaW1wb3J0IHsgQ29tbWFuZCwgSW52YWxpZEFyZ3VtZW50RXJyb3IgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5pbXBvcnQgeyBvcmFQcm9taXNlIH0gZnJvbSBcIm9yYVwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuaW1wb3J0IHsgZXhpdFdpdGhFcnJvciB9IGZyb20gXCIuLi9jb21tYW5kLWVycm9ycy5qc1wiO1xuaW1wb3J0IHsgR2xvYmFsT3B0aW9ucyB9IGZyb20gXCIuLi9nbG9iYWwtb3B0aW9ucy5qc1wiO1xuXG5leHBvcnQgY29uc3QgbWFrZVNhdmVtb25leUNvbW1hbmQgPSAoKSA9PlxuICBuZXcgQ29tbWFuZChcInNhdmVtb25leVwiKVxuICAgIC5kZXNjcmlwdGlvbihcbiAgICAgIFwiQW5hbHl6ZSBBenVyZSBzdWJzY3JpcHRpb25zIGFuZCByZXBvcnQgdW51c2VkIG9yIGluZWZmaWNpZW50IHJlc291cmNlc1wiLFxuICAgIClcbiAgICAub3B0aW9uKFwiLWMsIC0tY29uZmlnIDxwYXRoPlwiLCBcIlBhdGggdG8gWUFNTCBjb25maWd1cmF0aW9uIGZpbGVcIilcbiAgICAub3B0aW9uKFxuICAgICAgXCItZiwgLS1mb3JtYXQgPGZvcm1hdD5cIixcbiAgICAgIFwiUmVwb3J0IGZvcm1hdDoganNvbiwgdGFibGUsIGRldGFpbGVkLWpzb24sIG9yIGxpbnQgKGRlZmF1bHQ6IHRhYmxlKVwiLFxuICAgICAgXCJ0YWJsZVwiLFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgXCItbCwgLS1sb2NhdGlvbiA8c3RyaW5nPlwiLFxuICAgICAgXCJQcmVmZXJyZWQgQXp1cmUgbG9jYXRpb24gZm9yIHJlc291cmNlcyAob3ZlcnJpZGVzIGNvbmZpZyBmaWxlKVwiLFxuICAgICAgXCJpdGFseW5vcnRoXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi1kLCAtLWRheXMgPG51bWJlcj5cIixcbiAgICAgIFwiTnVtYmVyIG9mIGRheXMgZm9yIG1ldHJpY3MgYW5hbHlzaXMgKG92ZXJyaWRlcyBjb25maWcgZmlsZSlcIixcbiAgICAgIFwiMzBcIixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLXQsIC0tdGFncyA8dGFncy4uLj5cIixcbiAgICAgIFwiRmlsdGVyIGZpbmRpbmdzIGJ5IHJlc291cmNlIHRhZ3MgKGtleT12YWx1ZSBrZXkyPXZhbHVlMikuIEFkdmlzb3Igc3Vic2NyaXB0aW9uLWxldmVsIGZpbmRpbmdzIHJlbWFpbiBnbG9iYWwuXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi1zLCAtLXNvdXJjZSA8c291cmNlPlwiLFxuICAgICAgXCJSZXN0cmljdCBmaW5kaW5ncyB0byBhIHNpbmdsZSBzb3VyY2U6ICdhZHZpc29yJywgJ2N1c3RvbScsIG9yICdhbGwnIChkZWZhdWx0cyB0byBjb25maWcgZmlsZSBvciBhbGwpXCIsXG4gICAgICBwYXJzZVNvdXJjZU9wdGlvbixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLS1uby1wcmljaW5nXCIsXG4gICAgICBcIkRpc2FibGUgQXp1cmUgUmV0YWlsIFByaWNlcyBlbnJpY2htZW50IChza2lwcyBjdXN0b20gY29zdC1hdC1yaXNrIGVzdGltYXRlcylcIixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLS1henFyLXJlcG9ydCA8cGF0aD5cIixcbiAgICAgIFwiUGF0aCB0byBhbiBBWlFSIChgYXpxciBzY2FuIC0tanNvbmApIHJlcG9ydDsgaXRzIEZpbk9wcy1yZWxldmFudCBpbXBhY3RlZCByZXNvdXJjZXMgYXJlIG1lcmdlZCBpbnRvIHRoZSBvdXRwdXQuIE92ZXJyaWRlcyBgYXp1cmUuYXpxclJlcG9ydFBhdGhgIGZyb20gdGhlIGNvbmZpZyBmaWxlLiBSdW4gQVpRUiB3aXRoIGAtLW1hc2s9ZmFsc2VgIHNvIHJlc291cmNlIElEcyBtYXRjaC5cIixcbiAgICApXG4gICAgLmFjdGlvbihhc3luYyBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgICAgY29uc3QgeyB2ZXJib3NlIH0gPSB0aGlzLm9wdHNXaXRoR2xvYmFsczxHbG9iYWxPcHRpb25zPigpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gTG9hZCBjb25maWd1cmF0aW9uIGZyb20gWUFNTCAoaW5jbHVkZXMgc3Vic2NyaXB0aW9uSWRzLCBsb2NhdGlvbiwgdGltZXNwYW5EYXlzLCB0aHJlc2hvbGRzKVxuICAgICAgICBjb25zdCBjb25maWc6IEF6dXJlQ29uZmlnID0gYXdhaXQgbG9hZENvbmZpZyhvcHRpb25zLmNvbmZpZyk7XG5cbiAgICAgICAgLy8gUGFyc2UgdGFnIGZpbHRlclxuICAgICAgICBjb25zdCBmaWx0ZXJUYWdzID0gcGFyc2VUYWdzT3B0aW9uKG9wdGlvbnMudGFncyk7XG4gICAgICAgIGNvbnN0IGNsaURheXMgPSBOdW1iZXIucGFyc2VJbnQob3B0aW9ucy5kYXlzLCAxMCk7XG5cbiAgICAgICAgY29uc3QgZmluYWxDb25maWc6IEF6dXJlQ29uZmlnID0ge1xuICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAuLi4ob3B0aW9ucy5henFyUmVwb3J0ID8geyBhenFyUmVwb3J0UGF0aDogb3B0aW9ucy5henFyUmVwb3J0IH0gOiB7fSksXG4gICAgICAgICAgZmlsdGVyVGFncyxcbiAgICAgICAgICBwcmVmZXJyZWRMb2NhdGlvbjpcbiAgICAgICAgICAgIHRoaXMuZ2V0T3B0aW9uVmFsdWVTb3VyY2UoXCJsb2NhdGlvblwiKSA9PT0gXCJjbGlcIlxuICAgICAgICAgICAgICA/IG9wdGlvbnMubG9jYXRpb25cbiAgICAgICAgICAgICAgOiBjb25maWcucHJlZmVycmVkTG9jYXRpb24sXG4gICAgICAgICAgLi4uKG9wdGlvbnMucHJpY2luZyA9PT0gZmFsc2UgPyB7IHByaWNpbmc6IHsgZW5hYmxlZDogZmFsc2UgfSB9IDoge30pLFxuICAgICAgICAgIHNvdXJjZXM6IHJlc29sdmVTb3VyY2VzT3B0aW9uKG9wdGlvbnMuc291cmNlLCBjb25maWcuc291cmNlcyksXG4gICAgICAgICAgdGltZXNwYW5EYXlzOlxuICAgICAgICAgICAgdGhpcy5nZXRPcHRpb25WYWx1ZVNvdXJjZShcImRheXNcIikgPT09IFwiY2xpXCIgJiZcbiAgICAgICAgICAgICFOdW1iZXIuaXNOYU4oY2xpRGF5cylcbiAgICAgICAgICAgICAgPyBjbGlEYXlzXG4gICAgICAgICAgICAgIDogY29uZmlnLnRpbWVzcGFuRGF5cyxcbiAgICAgICAgICB2ZXJib3NlOiB2ZXJib3NlID8/IGZhbHNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFJlY29yZCB1c2FnZSBhdHRyaWJ1dGVzIG9uIHRoZSBhY3RpdmUgcm9vdCBzcGFuIHNvIEFwcGxpY2F0aW9uXG4gICAgICAgIC8vIEluc2lnaHRzIGNhbiBzbGljZSB1c2FnZSBieSBmb3JtYXQsIHNvdXJjZSwgYW5kIGZlYXR1cmUgZmxhZ3MuXG4gICAgICAgIHRyYWNlLmdldEFjdGl2ZVNwYW4oKT8uc2V0QXR0cmlidXRlcyhcbiAgICAgICAgICBidWlsZFNhdmVtb25leUludm9jYXRpb25UZWxlbWV0cnlBdHRyaWJ1dGVzKHtcbiAgICAgICAgICAgIGF6cXJSZXBvcnRQYXRoT3B0aW9uOiBvcHRpb25zLmF6cXJSZXBvcnQsXG4gICAgICAgICAgICBjb25maWdQYXRoT3B0aW9uOiBvcHRpb25zLmNvbmZpZyxcbiAgICAgICAgICAgIGZvcm1hdDogb3B0aW9ucy5mb3JtYXQsXG4gICAgICAgICAgICByZXNvbHZlZENvbmZpZzogZmluYWxDb25maWcsXG4gICAgICAgICAgICBzdWJzY3JpcHRpb25JZHNFbnY6IHByb2Nlc3MuZW52LkFSTV9TVUJTQ1JJUFRJT05fSUQsXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUnVuIGFuYWx5c2lzIHNob3dpbmcgYSBwcm9ncmVzcyBzcGlubmVyIG9uIHN0ZGVyciBzbyB0aGUgQ0xJIGRvZXNuJ3RcbiAgICAgICAgLy8gbG9vayBmcm96ZW4gZHVyaW5nIHRoZSAocG90ZW50aWFsbHkgc2V2ZXJhbC1taW51dGUpIEF6dXJlIHJvdW5kLXRyaXBzLlxuICAgICAgICBjb25zdCByZXBvcnRzID0gYXdhaXQgb3JhUHJvbWlzZShcbiAgICAgICAgICBhenVyZS5hbmFseXplQXp1cmVSZXNvdXJjZXMoZmluYWxDb25maWcpLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZhaWxUZXh0OiBcIkFuYWx5c2lzIGZhaWxlZFwiLFxuICAgICAgICAgICAgc3RyZWFtOiBwcm9jZXNzLnN0ZGVycixcbiAgICAgICAgICAgIHN1Y2Nlc3NUZXh0OiBcIkFuYWx5c2lzIGNvbXBsZXRlXCIsXG4gICAgICAgICAgICB0ZXh0OiBcIkFuYWx5emluZyBBenVyZSByZXNvdXJjZXNcIixcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlY29yZCBvdXRjb21lIGF0dHJpYnV0ZXMgYWZ0ZXIgYW5hbHlzaXMgY29tcGxldGVzLlxuICAgICAgICB0cmFjZVxuICAgICAgICAgIC5nZXRBY3RpdmVTcGFuKClcbiAgICAgICAgICA/LnNldEF0dHJpYnV0ZXMoYnVpbGRTYXZlbW9uZXlPdXRjb21lVGVsZW1ldHJ5QXR0cmlidXRlcyhyZXBvcnRzKSk7XG5cbiAgICAgICAgYXdhaXQgYXp1cmUuZ2VuZXJhdGVSZXBvcnQocmVwb3J0cywgb3B0aW9ucy5mb3JtYXQpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgZXhpdFdpdGhFcnJvcih0aGlzKShcbiAgICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgICAgICA/IG5ldyBFcnJvcihgQW5hbHlzaXMgZmFpbGVkOiAke2Vycm9yLm1lc3NhZ2V9YCwgeyBjYXVzZTogZXJyb3IgfSlcbiAgICAgICAgICAgIDogbmV3IEVycm9yKGBBbmFseXNpcyBmYWlsZWQ6ICR7U3RyaW5nKGVycm9yKX1gKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuY29uc3QgU291cmNlU2NoZW1hID0gei5lbnVtKFsuLi5BWlVSRV9TT1VSQ0VfVkFMVUVTLCBcImFsbFwiXSk7XG50eXBlIFNvdXJjZU9wdGlvbiA9IHouaW5mZXI8dHlwZW9mIFNvdXJjZVNjaGVtYT47XG5cbi8qKlxuICogUGFyc2VzIHRoZSBgLS1zb3VyY2VgIG9wdGlvbiB2aWEgYSB6b2QgZW51bSwgYWNjZXB0aW5nIGBhbGxgLCBgYWR2aXNvcmAsXG4gKiBvciBgY3VzdG9tYCBhbmQgcmVqZWN0aW5nIGFueSBvdGhlciB2YWx1ZSB3aXRoIGEgQ29tbWFuZGVyLWZyaWVuZGx5IGVycm9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTb3VyY2VPcHRpb24odmFsdWU6IHN0cmluZyk6IFNvdXJjZU9wdGlvbiB7XG4gIGNvbnN0IHJlc3VsdCA9IFNvdXJjZVNjaGVtYS5zYWZlUGFyc2UodmFsdWUpO1xuICBpZiAoIXJlc3VsdC5zdWNjZXNzKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgYEFsbG93ZWQgdmFsdWVzIGFyZTogJHtTb3VyY2VTY2hlbWEub3B0aW9ucy5qb2luKFwiLCBcIil9YCxcbiAgICApO1xuICB9XG4gIHJldHVybiByZXN1bHQuZGF0YTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYW4gYXJyYXkgb2YgXCJrZXk9dmFsdWVcIiBzdHJpbmdzIChmcm9tIGNvbW1hbmRlciB2YXJpYWRpYyBvcHRpb24pIGludG8gYSBNYXA8c3RyaW5nLCBzdHJpbmc+LlxuICogUmV0dXJucyBhbiBlbXB0eSBNYXAgd2hlbiB0aGUgb3B0aW9uIGlzIG5vdCBwcm92aWRlZCBvciBlbXB0eS5cbiAqIFN1cHBvcnRzIHZhbHVlcyB0aGF0IGNvbnRhaW4gXCI9XCIgKG9ubHkgdGhlIGZpcnN0IFwiPVwiIGlzIHRyZWF0ZWQgYXMgc2VwYXJhdG9yKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGFnc09wdGlvbihcbiAgdGFnc09wdGlvbjogc3RyaW5nW10gfCB1bmRlZmluZWQsXG4pOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgaWYgKCF0YWdzT3B0aW9uIHx8IHRhZ3NPcHRpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBmb3IgKGNvbnN0IHBhaXIgb2YgdGFnc09wdGlvbikge1xuICAgIGNvbnN0IFtyYXdLZXksIC4uLnJlc3RdID0gcGFpci5zcGxpdChcIj1cIik7XG4gICAgY29uc3Qga2V5ID0gcmF3S2V5Py50cmltKCk7XG4gICAgY29uc3QgdmFsdWUgPSByZXN0LmpvaW4oXCI9XCIpLnRyaW0oKTtcbiAgICBpZiAoa2V5ICYmIHJlc3QubGVuZ3RoID4gMCkge1xuICAgICAgcmVzdWx0LnNldChrZXksIHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgc291cmNlIGZpbHRlciBwcmVzZXJ2aW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYW4gb21pdHRlZFxuICogb3B0aW9uIChyZXNwZWN0IGNvbmZpZy9kZWZhdWx0cykgYW5kIGFuIGV4cGxpY2l0IGAtLXNvdXJjZSBhbGxgIG92ZXJyaWRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVNvdXJjZXNPcHRpb24oXG4gIG9wdGlvbjogU291cmNlT3B0aW9uIHwgdW5kZWZpbmVkLFxuICBjb25maWdTb3VyY2VzOiBBenVyZUNvbmZpZ1tcInNvdXJjZXNcIl0sXG4pOiBBenVyZUNvbmZpZ1tcInNvdXJjZXNcIl0ge1xuICBpZiAob3B0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gY29uZmlnU291cmNlcztcbiAgfVxuICByZXR1cm4gb3B0aW9uID09PSBcImFsbFwiID8gWy4uLkFaVVJFX1NPVVJDRV9WQUxVRVNdIDogW29wdGlvbl07XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagopa/dx-cli",
3
- "version": "0.27.1",
3
+ "version": "0.27.2",
4
4
  "type": "module",
5
5
  "description": "A CLI useful to manage DX tools.",
6
6
  "repository": {
@@ -56,7 +56,7 @@
56
56
  "semver": "^7.8.5",
57
57
  "yaml": "^2.9.0",
58
58
  "zod": "^4.4.3",
59
- "@pagopa/dx-savemoney": "^0.6.2"
59
+ "@pagopa/dx-savemoney": "^0.6.3"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@tsconfig/node24": "24.0.4",