@broadcom/mat-analyze-for-zowe-cli 4.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,6 +21,7 @@
21
21
  */
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.HistogramCsectDefinition = void 0;
24
+ const EndevorSession_1 = require("../../../../session/EndevorSession");
24
25
  exports.HistogramCsectDefinition = {
25
26
  name: "csect",
26
27
  aliases: ["cs"],
@@ -79,9 +80,10 @@ exports.HistogramCsectDefinition = {
79
80
  {
80
81
  name: "listing",
81
82
  description: "Enables you to retrieve program listing details that pertain to the specific CSECT and statement. " +
82
- "To use the listing retrieval option, you must install and configure the Endevor® Web Services and have the " +
83
- "program listing for the specific measurement registered with MAT. The source code listing is retrieved " +
84
- "through Endevor® footprints for Cobol, C/C++, and Assembler programs. The program listing file is downloaded " +
83
+ "To use the listing retrieval option, ensure that the program listing for the specific measurement is registered with MAT, " +
84
+ "and that you have the Endevor® Web Services connection configured locally via the --endevor-* " +
85
+ "options below (or the ZOWE_OPT_ENDEVOR_* environment variable). The source code listing is retrieved through Endevor® " +
86
+ "footprints for Cobol, C/C++, and Assembler programs. The program listing file is downloaded " +
85
87
  "to your local directory that you specified with the \'listingDir\' parameter in your MAT configuration profile. " +
86
88
  "When you request the histogram details with the \'--listing\' option, the \'histogram\' command returns the " +
87
89
  "additional \'listing\' column that contains a reference to the program listing with the specific CSECT name, " +
@@ -90,7 +92,8 @@ exports.HistogramCsectDefinition = {
90
92
  "command responce in your VS Code terminal to navigate directly to the indicated source program location." +
91
93
  "The --listing parameter is optional.",
92
94
  type: "boolean"
93
- }
95
+ },
96
+ ...EndevorSession_1.EndevorSession.ENDEVOR_CONNECTION_OPTIONS
94
97
  ],
95
98
  examples: [
96
99
  {
@@ -115,6 +118,16 @@ exports.HistogramCsectDefinition = {
115
118
  " name TUNCOB01, and module name RUNCOB, with the specific MAT profile details defined",
116
119
  options: "--mon_num 5 --csect \"TUNCOB01\" --module \"RUNCOB\" --host \"example.com\" --port 12345 --user johndoe --password qwerty",
117
120
  },
121
+ {
122
+ description: "Get the Histogram details about listing retrieval with the re-used MAT profile credentials for a locally-configured Endevor host options",
123
+ options: "--csect \"TUNCOB01\" --listing --endevor-host \"endevor.example.com\" --endevor-port 8080 " +
124
+ "--endevor-base-path \"EndevorService/rest\" --endevor-reuse-mat-credentials",
125
+ },
126
+ {
127
+ description: "Get the Histogram details about listing retrieval with Endevor-specific credential options",
128
+ options: "--csect \"TUNCOB01\" --listing --endevor-host \"endevor.example.com\" --endevor-port 8080 " +
129
+ "--endevor-base-path \"EndevorService/rest\" --endevor-user janedoe --endevor-password qwerty",
130
+ },
118
131
  ]
119
132
  };
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlzdG9ncmFtQ3NlY3QuZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGkvbW9uaXRvci9jb2Rldmlldy9oaXN0b2dyYW0vY3NlY3QvSGlzdG9ncmFtQ3NlY3QuZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7OztBQUdVLFFBQUEsd0JBQXdCLEdBQXVCO0lBQ3hELElBQUksRUFBRSxPQUFPO0lBQ2IsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ2YsT0FBTyxFQUFFLG1DQUFtQztJQUM1QyxXQUFXLEVBQUUsc0RBQXNEO0lBQ25FLElBQUksRUFBRSxTQUFTO0lBQ2YsT0FBTyxFQUFFLFNBQVMsR0FBRyx5QkFBeUI7SUFDOUMsT0FBTyxFQUFFO1FBQ0wsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDO0tBQ3BCO0lBQ0QsT0FBTyxFQUFFO1FBQ0w7WUFDSSxJQUFJLEVBQUUsU0FBUztZQUNmLFdBQVcsRUFBRSw4REFBOEQ7Z0JBQzNFLGlGQUFpRjtnQkFDakYsK0JBQStCO1lBQy9CLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsU0FBUztZQUNmLFdBQVcsRUFBRSx5REFBeUQ7WUFDdEUsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRDtZQUNJLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLHFFQUFxRTtnQkFDbEYseUVBQXlFO2dCQUN6RSxpRkFBaUY7WUFDakYsSUFBSSxFQUFFLGVBQWU7U0FDeEI7UUFDRDtZQUNJLElBQUksRUFBRSxPQUFPO1lBQ2IsV0FBVyxFQUFFLG9FQUFvRTtnQkFDakYsb0dBQW9HO2dCQUNwRyxvREFBb0Q7WUFDcEQsSUFBSSxFQUFFLGVBQWU7U0FDeEI7UUFDRDtZQUNJLElBQUksRUFBRSxPQUFPO1lBQ2IsV0FBVyxFQUFFLDRGQUE0RjtnQkFDekcsMkdBQTJHO2dCQUMzRyw2RkFBNkY7Z0JBQzdGLHFDQUFxQztnQkFDckMsc0dBQXNHO2dCQUN0Ryx1Q0FBdUM7WUFDdkMsSUFBSSxFQUFFLGVBQWU7U0FDeEI7UUFDRDtZQUNJLElBQUksRUFBRSxLQUFLO1lBQ1gsV0FBVyxFQUFFLDZFQUE2RTtnQkFDMUYsbUZBQW1GO2dCQUNuRixnR0FBZ0c7Z0JBQ2hHLHFFQUFxRTtZQUNyRSxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNEO1lBQ0ksSUFBSSxFQUFFLFNBQVM7WUFDZixXQUFXLEVBQUUsb0dBQW9HO2dCQUNqSCw2R0FBNkc7Z0JBQzdHLHlHQUF5RztnQkFDekcsK0dBQStHO2dCQUMvRyxrSEFBa0g7Z0JBQ2xILDhHQUE4RztnQkFDOUcsK0dBQStHO2dCQUMvRyx1R0FBdUc7Z0JBQ3ZHLHFIQUFxSDtnQkFDckgsMEdBQTBHO2dCQUMxRyxzQ0FBc0M7WUFDdEMsSUFBSSxFQUFFLFNBQVM7U0FDbEI7S0FDSjtJQUNELFFBQVEsRUFBRTtRQUNOO1lBQ0ksV0FBVyxFQUFFLHFFQUFxRTtnQkFDOUUsd0NBQXdDO1lBQzVDLE9BQU8sRUFBRSxzREFBc0Q7U0FDbEU7UUFDRDtZQUNJLFdBQVcsRUFBRSx1RUFBdUU7Z0JBQ2hGLDRFQUE0RTtnQkFDNUUsK0VBQStFO1lBQ25GLE9BQU8sRUFBRSw4RUFBOEU7U0FDMUY7UUFDRjtZQUNLLFdBQVcsRUFBRSxxRUFBcUU7Z0JBQzlFLGlGQUFpRjtnQkFDakYsbURBQW1EO1lBQ3ZELE9BQU8sRUFBRSx3RUFBd0U7U0FDcEY7UUFDRDtZQUNJLFdBQVcsRUFBRSxxRUFBcUU7Z0JBQzlFLHVGQUF1RjtZQUMzRixPQUFPLEVBQUUsMkhBQTJIO1NBQ3ZJO0tBQ0o7Q0FDSixDQUFDIn0=
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlzdG9ncmFtQ3NlY3QuZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGkvbW9uaXRvci9jb2Rldmlldy9oaXN0b2dyYW0vY3NlY3QvSGlzdG9ncmFtQ3NlY3QuZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7OztBQUdILHVFQUFvRTtBQUN2RCxRQUFBLHdCQUF3QixHQUF1QjtJQUN4RCxJQUFJLEVBQUUsT0FBTztJQUNiLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQztJQUNmLE9BQU8sRUFBRSxtQ0FBbUM7SUFDNUMsV0FBVyxFQUFFLHNEQUFzRDtJQUNuRSxJQUFJLEVBQUUsU0FBUztJQUNmLE9BQU8sRUFBRSxTQUFTLEdBQUcseUJBQXlCO0lBQzlDLE9BQU8sRUFBRTtRQUNMLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQztLQUNwQjtJQUNELE9BQU8sRUFBRTtRQUNMO1lBQ0ksSUFBSSxFQUFFLFNBQVM7WUFDZixXQUFXLEVBQUUsOERBQThEO2dCQUMzRSxpRkFBaUY7Z0JBQ2pGLCtCQUErQjtZQUMvQixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNEO1lBQ0ksSUFBSSxFQUFFLFNBQVM7WUFDZixXQUFXLEVBQUUseURBQXlEO1lBQ3RFLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsUUFBUTtZQUNkLFdBQVcsRUFBRSxxRUFBcUU7Z0JBQ2xGLHlFQUF5RTtnQkFDekUsaUZBQWlGO1lBQ2pGLElBQUksRUFBRSxlQUFlO1NBQ3hCO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsT0FBTztZQUNiLFdBQVcsRUFBRSxvRUFBb0U7Z0JBQ2pGLG9HQUFvRztnQkFDcEcsb0RBQW9EO1lBQ3BELElBQUksRUFBRSxlQUFlO1NBQ3hCO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsT0FBTztZQUNiLFdBQVcsRUFBRSw0RkFBNEY7Z0JBQ3pHLDJHQUEyRztnQkFDM0csNkZBQTZGO2dCQUM3RixxQ0FBcUM7Z0JBQ3JDLHNHQUFzRztnQkFDdEcsdUNBQXVDO1lBQ3ZDLElBQUksRUFBRSxlQUFlO1NBQ3hCO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsS0FBSztZQUNYLFdBQVcsRUFBRSw2RUFBNkU7Z0JBQzFGLG1GQUFtRjtnQkFDbkYsZ0dBQWdHO2dCQUNoRyxxRUFBcUU7WUFDckUsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRDtZQUNJLElBQUksRUFBRSxTQUFTO1lBQ2YsV0FBVyxFQUFFLG9HQUFvRztnQkFDakgsNEhBQTRIO2dCQUM1SCxnR0FBZ0c7Z0JBQ2hHLHdIQUF3SDtnQkFDeEgsOEZBQThGO2dCQUM5RixrSEFBa0g7Z0JBQ2xILDhHQUE4RztnQkFDOUcsK0dBQStHO2dCQUMvRyx1R0FBdUc7Z0JBQ3ZHLHFIQUFxSDtnQkFDckgsMEdBQTBHO2dCQUMxRyxzQ0FBc0M7WUFDdEMsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxHQUFHLCtCQUFjLENBQUMsMEJBQTBCO0tBQy9DO0lBQ0QsUUFBUSxFQUFFO1FBQ047WUFDSSxXQUFXLEVBQUUscUVBQXFFO2dCQUM5RSx3Q0FBd0M7WUFDNUMsT0FBTyxFQUFFLHNEQUFzRDtTQUNsRTtRQUNEO1lBQ0ksV0FBVyxFQUFFLHVFQUF1RTtnQkFDaEYsNEVBQTRFO2dCQUM1RSwrRUFBK0U7WUFDbkYsT0FBTyxFQUFFLDhFQUE4RTtTQUMxRjtRQUNGO1lBQ0ssV0FBVyxFQUFFLHFFQUFxRTtnQkFDOUUsaUZBQWlGO2dCQUNqRixtREFBbUQ7WUFDdkQsT0FBTyxFQUFFLHdFQUF3RTtTQUNwRjtRQUNEO1lBQ0ksV0FBVyxFQUFFLHFFQUFxRTtnQkFDOUUsdUZBQXVGO1lBQzNGLE9BQU8sRUFBRSwySEFBMkg7U0FDdkk7UUFDRDtZQUNJLFdBQVcsRUFBRSwwSUFBMEk7WUFDdkosT0FBTyxFQUFFLDRGQUE0RjtnQkFDakcsNkVBQTZFO1NBQ3BGO1FBQ0Q7WUFDSSxXQUFXLEVBQUUsNEZBQTRGO1lBQ3pHLE9BQU8sRUFBRSw0RkFBNEY7Z0JBQ2pHLDhGQUE4RjtTQUNyRztLQUNKO0NBQ0osQ0FBQyJ9
@@ -57,6 +57,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
57
57
  Object.defineProperty(exports, "__esModule", { value: true });
58
58
  const AbstractAnalyzeHandler_1 = __importDefault(require("../../../../../handlers/AbstractAnalyzeHandler"));
59
59
  const MATRest_1 = require("../../../../../api/MATRest");
60
+ const EndevorSession_1 = require("../../../../session/EndevorSession");
60
61
  const imperative_1 = require("@zowe/imperative");
61
62
  const path = __importStar(require("path"));
62
63
  const fs = __importStar(require("fs"));
@@ -71,25 +72,37 @@ class HistogramCsectHandler extends AbstractAnalyzeHandler_1.default {
71
72
  footprint = footprint.substring(footprint.indexOf("[") + 1, footprint.indexOf("]"));
72
73
  return JSON.parse(footprint); // Return the parsed footprint object
73
74
  },
74
- // Construct the REST API request URL using the footprint data
75
- constructRequestUrl(jsonFootprint) {
76
- return "/" + jsonFootprint.endevorBasePath + "/" + jsonFootprint.endevorContext + "/env/" + jsonFootprint.environment + "/stgnum/"
77
- + jsonFootprint.stage + "/sys/" + jsonFootprint.system + "/subsys/" + jsonFootprint.subsystem + "/type/" + jsonFootprint.type + "/ele/"
78
- + jsonFootprint.element + "?print=listing";
75
+ // Construct the REST API request URL using the footprint data. endevorBasePath is a
76
+ // locally-configured value (TUNER-034) -- never taken from the footprint. The remaining
77
+ // segments only select which resource to fetch on the already-locally-pinned host, but
78
+ // are still server-supplied strings, so each is percent-encoded before landing in the URL.
79
+ constructRequestUrl(jsonFootprint, endevorBasePath) {
80
+ const seg = (value) => encodeURIComponent(String(value));
81
+ // encodeURI, not seg() -- endevorBasePath can be multi-segment (e.g. "EndevorService/rest").
82
+ return "/" + encodeURI(endevorBasePath) + "/" + seg(jsonFootprint.endevorContext) + "/env/" + seg(jsonFootprint.environment) + "/stgnum/"
83
+ + seg(jsonFootprint.stage) + "/sys/" + seg(jsonFootprint.system) + "/subsys/" + seg(jsonFootprint.subsystem) + "/type/"
84
+ + seg(jsonFootprint.type) + "/ele/" + seg(jsonFootprint.element) + "?print=listing";
79
85
  },
80
- // Create a session with the required authentication details
81
- createSession(jsonFootprint, user, password) {
82
- const endevorProtocolFoot = jsonFootprint.endevorHost.substring(0, jsonFootprint.endevorHost.indexOf(":"));
83
- const endevorHostFoot = jsonFootprint.endevorHost.substring(jsonFootprint.endevorHost.indexOf("//") + 2);
84
- const auth = "Basic " + Buffer.from(user + ":" + password).toString("base64");
85
- // Return a new session object with the configured parameters
86
- return new imperative_1.Session({
87
- hostname: endevorHostFoot,
88
- port: jsonFootprint.endevorPort,
89
- protocol: endevorProtocolFoot,
90
- type: "basic",
91
- base64EncodedAuth: auth
92
- });
86
+ // Create a session with the required authentication details. Every argument here comes
87
+ // from the CLI's own locally-configured options (TUNER-034) -- there is no parameter
88
+ // through which a MAT server response could influence host/port/protocol/creds.
89
+ createSession(endevorHost, endevorPort, user, password, rejectUnauthorized) {
90
+ return EndevorSession_1.EndevorSession.createSessionForListing({ endevorHost, endevorPort, user, password, rejectUnauthorized });
91
+ },
92
+ // Built from mDetails' safe fields only -- never .headers/.additionalDetails, which
93
+ // embed the raw Authorization header.
94
+ describeConnectionFailure(error) {
95
+ var _a;
96
+ const d = error.mDetails;
97
+ const target = `${d.protocol}://${d.host}:${d.port}${(_a = d.resource) !== null && _a !== void 0 ? _a : ""}`;
98
+ if (d.source === "timeout") {
99
+ return `Connection to ${target} timed out.`;
100
+ }
101
+ if (d.source === "client") {
102
+ return `Failed to connect to ${target}. Verify that the Endevor host and port are correct and reachable` +
103
+ (d.errno ? ` (${d.errno})` : "") + ".";
104
+ }
105
+ return `Endevor returned HTTP ${d.httpStatus} for ${target}.`;
93
106
  },
94
107
  // Write the API response to a file and return the file location
95
108
  writeResponseToFile(response, listingDir, elementName, extension) {
@@ -98,8 +111,22 @@ class HistogramCsectHandler extends AbstractAnalyzeHandler_1.default {
98
111
  if (!fs.existsSync(dir)) {
99
112
  fs.mkdirSync(dir, { recursive: true });
100
113
  }
114
+ // SECURITY: elementName is server-supplied (footprint.element from the MAT/Endevor
115
+ // response, TUNER-036) -- confine it to a bare filename before it can traverse out
116
+ // of listingDir. path.basename() strips any directory components; reject outright
117
+ // if that changed the value, since a legitimate element name never contains one.
118
+ const safeName = path.basename(elementName);
119
+ if (safeName !== elementName || safeName === "" || safeName === "." || safeName === "..") {
120
+ throw new Error(`Invalid element name in server response: ${elementName}`);
121
+ }
101
122
  // Construct the full file path and write the response to the file
102
- const location = path.join(listingDir, elementName + "." + extension);
123
+ const location = path.join(listingDir, safeName + "." + extension);
124
+ // Second, independent check at the point the file is actually written: verify the
125
+ // resolved path still lands inside listingDir.
126
+ const resolvedListingDir = path.resolve(listingDir) + path.sep;
127
+ if (!path.resolve(location).startsWith(resolvedListingDir)) {
128
+ throw new Error(`Refusing to write listing outside of listingDir: ${location}`);
129
+ }
103
130
  fs.writeFileSync(location, response); // Write the response content to the file
104
131
  return location; // Return the location of the file
105
132
  },
@@ -144,7 +171,7 @@ class HistogramCsectHandler extends AbstractAnalyzeHandler_1.default {
144
171
  // Main method to handle the histogram request
145
172
  getOutput(json, params) {
146
173
  return __awaiter(this, void 0, void 0, function* () {
147
- var _a;
174
+ var _a, _b;
148
175
  const histogramJson = Array.isArray(json === null || json === void 0 ? void 0 : json.histogram) ? json : (_a = json === null || json === void 0 ? void 0 : json.histogram) !== null && _a !== void 0 ? _a : json;
149
176
  // Check if the listing argument is not true
150
177
  // If listing is not true, return the histogram from json
@@ -153,13 +180,40 @@ class HistogramCsectHandler extends AbstractAnalyzeHandler_1.default {
153
180
  const endconerror = "Endevor Connection Error";
154
181
  const listingDir = params.arguments.listingDir; // Directory where the listing will be stored
155
182
  const jsonFootprint = this.Helper.extractFootprint(histogramJson); // Extract and parse the footprint from JSON
156
- const request = this.Helper.constructRequestUrl(jsonFootprint); // Construct the REST API request URL
183
+ const endevorHost = params.arguments.endevorHost;
184
+ const endevorPort = params.arguments.endevorPort;
185
+ if (!endevorHost || !endevorPort) {
186
+ const exception = {
187
+ name: "HistogramException",
188
+ header: "Endevor Configuration Missing",
189
+ message: "The --listing option requires a locally configured Endevor Web Services host " +
190
+ "and port. The MAT server's reported Endevor connection details cannot be used for " +
191
+ "security reasons. Specify --endevor-host and --endevor-port in this command, " +
192
+ "or set the ZOWE_OPT_ENDEVOR_HOST/ZOWE_OPT_ENDEVOR_PORT environment variables."
193
+ };
194
+ throw exception;
195
+ }
196
+ const reuseMatCredentials = params.arguments.endevorReuseMatCredentials === true;
197
+ const endevorUser = reuseMatCredentials ? params.arguments.user : params.arguments.endevorUser;
198
+ const endevorPassword = reuseMatCredentials ? params.arguments.password : params.arguments.endevorPassword;
199
+ if (!endevorUser || !endevorPassword) {
200
+ const exception = {
201
+ name: "HistogramException",
202
+ header: "Endevor Credentials Missing",
203
+ message: "The --listing option requires Endevor Web Services credentials. Provide " +
204
+ "--endevor-user and --endevor-password (or the ZOWE_OPT_ENDEVOR_USER/" +
205
+ "ZOWE_OPT_ENDEVOR_PASSWORD environment variables), or specify " +
206
+ "--endevor-reuse-mat-credentials to explicitly reuse your MAT profile credentials."
207
+ };
208
+ throw exception;
209
+ }
210
+ const request = this.Helper.constructRequestUrl(jsonFootprint, (_b = params.arguments.endevorBasePath) !== null && _b !== void 0 ? _b : ""); // Construct the REST API request URL
157
211
  let response;
158
212
  let session;
159
213
  let headers;
160
214
  // Create a session for making the API call with authentication
161
215
  try {
162
- session = this.Helper.createSession(jsonFootprint, params.arguments.user, params.arguments.password);
216
+ session = this.Helper.createSession(endevorHost, endevorPort, endevorUser, endevorPassword, params.arguments.endevorRejectUnauthorized);
163
217
  }
164
218
  catch (error) {
165
219
  const exception = {
@@ -173,6 +227,8 @@ class HistogramCsectHandler extends AbstractAnalyzeHandler_1.default {
173
227
  try {
174
228
  // Prepare headers with the authorization information
175
229
  headers = [{ Authorization: session.ISession.base64EncodedAuth }];
230
+ // Enable with ZOWE_APP_LOG_LEVEL=DEBUG; deliberately excludes headers.
231
+ imperative_1.Logger.getAppLogger().debug(`[Endevor listing] GET ${session.ISession.protocol}://${session.ISession.hostname}:${session.ISession.port}${request}`);
176
232
  response = yield imperative_1.RestClient.getExpectString(session, request, headers);
177
233
  }
178
234
  catch (error) {
@@ -180,7 +236,8 @@ class HistogramCsectHandler extends AbstractAnalyzeHandler_1.default {
180
236
  const exception = {
181
237
  name: "HistogramException",
182
238
  header: endconerror,
183
- message: "Cannot download the listing file from Endevor: \n" + error.mDetails.additionalDetails
239
+ message: "Cannot download the listing file from Endevor: \n" +
240
+ this.Helper.describeConnectionFailure(error)
184
241
  };
185
242
  throw exception;
186
243
  }
@@ -245,4 +302,4 @@ class HistogramCsectHandler extends AbstractAnalyzeHandler_1.default {
245
302
  }
246
303
  }
247
304
  exports.default = HistogramCsectHandler;
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlzdG9ncmFtQ3NlY3QuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGkvbW9uaXRvci9jb2Rldmlldy9oaXN0b2dyYW0vY3NlY3QvSGlzdG9ncmFtQ3NlY3QuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCw0R0FBb0Y7QUFDcEYsd0RBQW1EO0FBSW5ELGlEQU0wQjtBQUMxQiwyQ0FBNkI7QUFDN0IsdUNBQXlCO0FBRXpCLE1BQXFCLHFCQUFzQixTQUFRLGdDQUFrQztJQUFyRjs7UUE0SEksa0RBQWtEO1FBQzFDLFdBQU0sR0FBRztZQUNiLHVEQUF1RDtZQUN2RCxnQkFBZ0IsQ0FBQyxJQUFTO2dCQUN0QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDL0MsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNwRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7WUFDdkUsQ0FBQztZQUVELDhEQUE4RDtZQUM5RCxtQkFBbUIsQ0FBQyxhQUFrQjtnQkFDbEMsT0FBTyxHQUFHLEdBQUcsYUFBYSxDQUFDLGVBQWUsR0FBRyxHQUFHLEdBQUcsYUFBYSxDQUFDLGNBQWMsR0FBRyxPQUFPLEdBQUcsYUFBYSxDQUFDLFdBQVcsR0FBRyxVQUFVO3NCQUM1SCxhQUFhLENBQUMsS0FBSyxHQUFHLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLFVBQVUsR0FBRyxhQUFhLENBQUMsU0FB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
305
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlzdG9ncmFtQ3NlY3QuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGkvbW9uaXRvci9jb2Rldmlldy9oaXN0b2dyYW0vY3NlY3QvSGlzdG9ncmFtQ3NlY3QuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCw0R0FBb0Y7QUFDcEYsd0RBQW1EO0FBR25ELHVFQUFrRTtBQUVsRSxpREFPMEI7QUFDMUIsMkNBQTZCO0FBQzdCLHVDQUF5QjtBQUV6QixNQUFxQixxQkFBc0IsU0FBUSxnQ0FBa0M7SUFBckY7O1FBK0pJLGtEQUFrRDtRQUMxQyxXQUFNLEdBQUc7WUFDYix1REFBdUQ7WUFDdkQsZ0JBQWdCLENBQUMsSUFBUztnQkFDdEIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQy9DLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDcEYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMscUNBQXFDO1lBQ3ZFLENBQUM7WUFFRCxvRkFBb0Y7WUFDcEYsd0ZBQXdGO1lBQ3hGLHVGQUF1RjtZQUN2RiwyRkFBMkY7WUFDM0YsbUJBQW1CLENBQUMsYUFBa0IsRUFBRSxlQUF1QjtnQkFDM0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFVLEVBQVUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUN0RSw2RkFBNkY7Z0JBQzdGLE9BQU8sR0FBRyxHQUFH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
@@ -0,0 +1,33 @@
1
+ import { ICommandOptionDefinition, Session } from "@zowe/imperative";
2
+ /**
3
+ * Connection details for the Endevor Web Services call behind `histogram csect --listing`.
4
+ *
5
+ * TUNER-034: the MAT server's footprint response used to dictate the Endevor host/port/protocol
6
+ * that received the user's mainframe Basic-auth credentials -- a compromised or MITM'd MAT server
7
+ * could redirect that request (and the credentials) anywhere. Every option here is sourced only
8
+ * from this command's own CLI arguments (or the environment variables Imperative derives from
9
+ * them, e.g. ZOWE_OPT_ENDEVOR_HOST) -- never from a server response, and never from a Zowe profile,
10
+ * since Endevor connection configuration is owned by a separate team.
11
+ */
12
+ export declare class EndevorSession {
13
+ static ENDEVOR_CONNECTION_OPTION_GROUP: string;
14
+ static ENDEVOR_HOST: ICommandOptionDefinition;
15
+ static ENDEVOR_PORT: ICommandOptionDefinition;
16
+ static ENDEVOR_BASE_PATH: ICommandOptionDefinition;
17
+ static ENDEVOR_REJECT_UNAUTHORIZED: ICommandOptionDefinition;
18
+ static ENDEVOR_REUSE_MAT_CREDENTIALS: ICommandOptionDefinition;
19
+ static ENDEVOR_USER: ICommandOptionDefinition;
20
+ static ENDEVOR_PASSWORD: ICommandOptionDefinition;
21
+ static ENDEVOR_CONNECTION_OPTIONS: ICommandOptionDefinition[];
22
+ /**
23
+ * Builds the Endevor session purely from locally-sourced values -- there is no parameter
24
+ * through which a server response could reach this call.
25
+ */
26
+ static createSessionForListing(args: {
27
+ endevorHost: string;
28
+ endevorPort: number;
29
+ user: string;
30
+ password: string;
31
+ rejectUnauthorized?: boolean;
32
+ }): Session;
33
+ }
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ /*
3
+ * **************************************************************************************
4
+ * Copyright © 2025 BROADCOM Inc and/or its subsidiaries.
5
+ *
6
+ * This software and all information contained therein is confidential and
7
+ * proprietary and shall not be duplicated, used, disclosed or disseminated in any
8
+ * way except as authorized by the applicable license agreement, without the
9
+ * express written permission of Broadcom. All authorized reproductions must be marked
10
+ * with this language.
11
+ *
12
+ * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE EXTENT PERMITTED
13
+ * BY APPLICABLE LAW, BROADCOM PROVIDES THIS SOFTWARE WITHOUT WARRANTY OF ANY KIND,
14
+ * INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
15
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL BROADCOM BE LIABLE TO THE END USER
16
+ * OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF
17
+ * THIS SOFTWARE, INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION,
18
+ * GOODWILL, OR LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE.
19
+ * **************************************************************************************
20
+ *
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.EndevorSession = void 0;
24
+ const imperative_1 = require("@zowe/imperative");
25
+ /**
26
+ * Connection details for the Endevor Web Services call behind `histogram csect --listing`.
27
+ *
28
+ * TUNER-034: the MAT server's footprint response used to dictate the Endevor host/port/protocol
29
+ * that received the user's mainframe Basic-auth credentials -- a compromised or MITM'd MAT server
30
+ * could redirect that request (and the credentials) anywhere. Every option here is sourced only
31
+ * from this command's own CLI arguments (or the environment variables Imperative derives from
32
+ * them, e.g. ZOWE_OPT_ENDEVOR_HOST) -- never from a server response, and never from a Zowe profile,
33
+ * since Endevor connection configuration is owned by a separate team.
34
+ */
35
+ class EndevorSession {
36
+ /**
37
+ * Builds the Endevor session purely from locally-sourced values -- there is no parameter
38
+ * through which a server response could reach this call.
39
+ */
40
+ static createSessionForListing(args) {
41
+ // Protocol is always https regardless, so a scheme accidentally pasted into
42
+ // --endevor-host is redundant, not a signal to honor a different protocol.
43
+ const hostname = args.endevorHost.replace(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//, "");
44
+ return new imperative_1.Session({
45
+ hostname,
46
+ port: args.endevorPort,
47
+ protocol: "https", // never configurable -- refuses the plain-http downgrade the server could force
48
+ type: "basic",
49
+ rejectUnauthorized: args.rejectUnauthorized !== false,
50
+ base64EncodedAuth: "Basic " + Buffer.from(args.user + ":" + args.password).toString("base64")
51
+ });
52
+ }
53
+ }
54
+ exports.EndevorSession = EndevorSession;
55
+ EndevorSession.ENDEVOR_CONNECTION_OPTION_GROUP = "MAT Endevor Listing Options";
56
+ EndevorSession.ENDEVOR_HOST = {
57
+ name: "endevor-host",
58
+ description: "Specifies the host of the Endevor Web Services used to retrieve program listings. " +
59
+ "Can also be configured via the ZOWE_OPT_ENDEVOR_HOST environment variable.",
60
+ type: "string",
61
+ group: EndevorSession.ENDEVOR_CONNECTION_OPTION_GROUP
62
+ };
63
+ EndevorSession.ENDEVOR_PORT = {
64
+ name: "endevor-port",
65
+ description: "Specifies the port of the Endevor Web Services used to retrieve program listings. " +
66
+ "Can also be configured via the ZOWE_OPT_ENDEVOR_PORT environment variable.",
67
+ type: "number",
68
+ group: EndevorSession.ENDEVOR_CONNECTION_OPTION_GROUP
69
+ };
70
+ EndevorSession.ENDEVOR_BASE_PATH = {
71
+ name: "endevor-base-path",
72
+ description: "Specifies the base path prefix for the Endevor Web Services REST call. " +
73
+ "Can also be configured via the ZOWE_OPT_ENDEVOR_BASE_PATH environment variable.",
74
+ type: "stringOrEmpty",
75
+ defaultValue: "",
76
+ group: EndevorSession.ENDEVOR_CONNECTION_OPTION_GROUP
77
+ };
78
+ EndevorSession.ENDEVOR_REJECT_UNAUTHORIZED = {
79
+ name: "endevor-reject-unauthorized",
80
+ description: "Reject self-signed certificates on the Endevor Web Services connection. " +
81
+ "Can also be configured via the ZOWE_OPT_ENDEVOR_REJECT_UNAUTHORIZED environment variable.",
82
+ type: "boolean",
83
+ defaultValue: true,
84
+ group: EndevorSession.ENDEVOR_CONNECTION_OPTION_GROUP
85
+ };
86
+ EndevorSession.ENDEVOR_REUSE_MAT_CREDENTIALS = {
87
+ name: "endevor-reuse-mat-credentials",
88
+ description: "Reuses the MAT profile --user/--password as the basic authentication credentials " +
89
+ "for the Endevor call. If not configured, supply --endevor-user and --endevor-password." +
90
+ "Can also be configured via the ZOWE_OPT_ENDEVOR_REUSE_MAT_CREDENTIALS environment variable.",
91
+ type: "boolean",
92
+ defaultValue: false,
93
+ group: EndevorSession.ENDEVOR_CONNECTION_OPTION_GROUP
94
+ };
95
+ EndevorSession.ENDEVOR_USER = {
96
+ name: "endevor-user",
97
+ description: "Specifies the username for the Endevor Web Services connection. " +
98
+ "Not required if --endevor-reuse-mat-credentials is specified. " +
99
+ "Can also be configured via the ZOWE_OPT_ENDEVOR_USER environment variable.",
100
+ type: "string",
101
+ group: EndevorSession.ENDEVOR_CONNECTION_OPTION_GROUP
102
+ };
103
+ EndevorSession.ENDEVOR_PASSWORD = {
104
+ name: "endevor-password",
105
+ description: "Specifies the password for the Endevor Web Services connection. " +
106
+ "Not required if --endevor-reuse-mat-credentials is specified. " +
107
+ "Can also be configured via the ZOWE_OPT_ENDEVOR_PASSWORD environment variable.",
108
+ type: "string",
109
+ group: EndevorSession.ENDEVOR_CONNECTION_OPTION_GROUP
110
+ };
111
+ EndevorSession.ENDEVOR_CONNECTION_OPTIONS = [
112
+ EndevorSession.ENDEVOR_HOST,
113
+ EndevorSession.ENDEVOR_PORT,
114
+ EndevorSession.ENDEVOR_BASE_PATH,
115
+ EndevorSession.ENDEVOR_REJECT_UNAUTHORIZED,
116
+ EndevorSession.ENDEVOR_REUSE_MAT_CREDENTIALS,
117
+ EndevorSession.ENDEVOR_USER,
118
+ EndevorSession.ENDEVOR_PASSWORD
119
+ ];
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5kZXZvclNlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpL3Nlc3Npb24vRW5kZXZvclNlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHOzs7QUFFSCxpREFBcUU7QUFFckU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxjQUFjO0lBNEV6Qjs7O09BR0c7SUFDSSxNQUFNLENBQUMsdUJBQXVCLENBQUMsSUFNckM7UUFDQyw0RUFBNEU7UUFDNUUsMkVBQTJFO1FBQzNFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sSUFBSSxvQkFBTyxDQUFDO1lBQ2pCLFFBQVE7WUFDUixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDdEIsUUFBUSxFQUFFLE9BQU8sRUFBRSxnRkFBZ0Y7WUFDbkcsSUFBSSxFQUFFLE9BQU87WUFDYixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEtBQUssS0FBSztZQUNyRCxpQkFBaUIsRUFBRSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztTQUM5RixDQUFDLENBQUM7SUFDTCxDQUFDOztBQWxHSCx3Q0FtR0M7QUFqR2UsOENBQStCLEdBQUcsNkJBQTZCLENBQUM7QUFFaEUsMkJBQVksR0FBNkI7SUFDckQsSUFBSSxFQUFFLGNBQWM7SUFDcEIsV0FBVyxFQUFFLG9GQUFvRjtRQUM3Riw0RUFBNEU7SUFDaEYsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsY0FBYyxDQUFDLCtCQUErQjtDQUN0RCxDQUFDO0FBRVksMkJBQVksR0FBNkI7SUFDckQsSUFBSSxFQUFFLGNBQWM7SUFDcEIsV0FBVyxFQUFFLG9GQUFvRjtRQUM3Riw0RUFBNEU7SUFDaEYsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsY0FBYyxDQUFDLCtCQUErQjtDQUN0RCxDQUFDO0FBRVksZ0NBQWlCLEdBQTZCO0lBQzFELElBQUksRUFBRSxtQkFBbUI7SUFDekIsV0FBVyxFQUFFLHlFQUF5RTtRQUNsRixpRkFBaUY7SUFDckYsSUFBSSxFQUFFLGVBQWU7SUFDckIsWUFBWSxFQUFFLEVBQUU7SUFDaEIsS0FBSyxFQUFFLGNBQWMsQ0FBQywrQkFBK0I7Q0FDdEQsQ0FBQztBQUVZLDBDQUEyQixHQUE2QjtJQUNwRSxJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLFdBQVcsRUFBRSwwRUFBMEU7UUFDbkYsMkZBQTJGO0lBQy9GLElBQUksRUFBRSxTQUFTO0lBQ2YsWUFBWSxFQUFFLElBQUk7SUFDbEIsS0FBSyxFQUFFLGNBQWMsQ0FBQywrQkFBK0I7Q0FDdEQsQ0FBQztBQUVZLDRDQUE2QixHQUE2QjtJQUN0RSxJQUFJLEVBQUUsK0JBQStCO0lBQ3JDLFdBQVcsRUFBRSxtRkFBbUY7UUFDNUYsd0ZBQXdGO1FBQ3hGLDZGQUE2RjtJQUNqRyxJQUFJLEVBQUUsU0FBUztJQUNmLFlBQVksRUFBRSxLQUFLO0lBQ25CLEtBQUssRUFBRSxjQUFjLENBQUMsK0JBQStCO0NBQ3RELENBQUM7QUFFWSwyQkFBWSxHQUE2QjtJQUNyRCxJQUFJLEVBQUUsY0FBYztJQUNwQixXQUFXLEVBQUUsa0VBQWtFO1FBQzNFLGdFQUFnRTtRQUNoRSw0RUFBNEU7SUFDaEYsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsY0FBYyxDQUFDLCtCQUErQjtDQUN0RCxDQUFDO0FBRVksK0JBQWdCLEdBQTZCO0lBQ3pELElBQUksRUFBRSxrQkFBa0I7SUFDeEIsV0FBVyxFQUFFLGtFQUFrRTtRQUMzRSxnRUFBZ0U7UUFDaEUsZ0ZBQWdGO0lBQ3BGLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLGNBQWMsQ0FBQywrQkFBK0I7Q0FDdEQsQ0FBQztBQUVZLHlDQUEwQixHQUErQjtJQUNyRSxjQUFjLENBQUMsWUFBWTtJQUMzQixjQUFjLENBQUMsWUFBWTtJQUMzQixjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLDZCQUE2QjtJQUM1QyxjQUFjLENBQUMsWUFBWTtJQUMzQixjQUFjLENBQUMsZ0JBQWdCO0NBQ2hDLENBQUMifQ==
@@ -22,6 +22,12 @@
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.LifeCycleForSample = void 0;
24
24
  const imperative_1 = require("@zowe/imperative");
25
+ /**
26
+ * PTFs that the Mainframe Application Tuner host side must have applied for
27
+ * this CLI to be compatible. Update whenever the CLI starts to rely on newer
28
+ * mainframe-side changes.
29
+ */
30
+ const REQUIRED_MAINFRAME_PTFS = ["LU21663", "LU21664"];
25
31
  /**
26
32
  * Performs lifecycle functions for a plug-in.
27
33
  */
@@ -32,12 +38,15 @@ class LifeCycleForSample extends imperative_1.AbstractPluginLifeCycle {
32
38
  * perform some additional setup.
33
39
  */
34
40
  postInstall() {
41
+ const notice = "To use this version of the MAT Analyze Plug-in, update Mainframe Application Tuner (MAT) with PTFs " +
42
+ `${REQUIRED_MAINFRAME_PTFS.join(" and ")}.`;
35
43
  /**
36
- * If function performs an asynchronous operation, it should return a promise, allowing
37
- * the CLI to await. Example:
38
- *
39
- * public async postInstall(): Promise<void>
44
+ * Written with console.log rather than Logger.getConsoleLogger() so that the
45
+ * notice is always displayed. The console logger drops warn messages when the
46
+ * user sets ZOWE_IMPERATIVE_LOG_LEVEL to ERROR or FATAL.
40
47
  */
48
+ console.log(imperative_1.TextUtils.chalk.yellow(`\n${notice}\n`));
49
+ imperative_1.Logger.getImperativeLogger().warn(notice);
41
50
  }
42
51
  /**
43
52
  * This function will be called before a plug-in is uninstalled.
@@ -60,4 +69,4 @@ class LifeCycleForSample extends imperative_1.AbstractPluginLifeCycle {
60
69
  }
61
70
  exports.LifeCycleForSample = LifeCycleForSample;
62
71
  module.exports = LifeCycleForSample;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoQ2hlY2suSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWFsdGhDaGVjay5IYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRzs7O0FBRUgsaURBQXlEO0FBRXpEOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxvQ0FBdUI7SUFFM0Q7Ozs7T0FJRztJQUNJLFdBQVc7UUFDZDs7Ozs7V0FLRztJQUNQLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxZQUFZO1FBQ2Y7Ozs7O1dBS0c7SUFDUCxDQUFDO0NBQ0o7QUFsQ0QsZ0RBa0NDO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyJ9
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoQ2hlY2suSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWFsdGhDaGVjay5IYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRzs7O0FBRUgsaURBQTRFO0FBRTVFOzs7O0dBSUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRXZEOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxvQ0FBdUI7SUFFM0Q7Ozs7T0FJRztJQUNJLFdBQVc7UUFDZCxNQUFNLE1BQU0sR0FBRyxxR0FBcUc7WUFDaEgsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUVoRDs7OztXQUlHO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckQsbUJBQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksWUFBWTtRQUNmOzs7OztXQUtHO0lBQ1AsQ0FBQztDQUNKO0FBdENELGdEQXNDQztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@broadcom/mat-analyze-for-zowe-cli",
3
- "version": "4.0.1",
3
+ "version": "4.1.0",
4
4
  "description": "MAT Analyze Plug-in for Zowe CLI",
5
5
  "author": "Broadcom",
6
6
  "license": "SEE LICENSE IN LICENSE",