Merge pull request #908 from actions/vsvipul/fix-dep
Update @actions/core to 1.9.1
This commit is contained in:
		
						commit
						d785f8b8a2
					
				
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@actions/http-client.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@actions/http-client.dep.yml
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										3777
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3777
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							| @ -392,7 +392,20 @@ function copyFile(srcFile, destFile, force) { | ||||
| /***/ }), | ||||
| /* 2 */, | ||||
| /* 3 */, | ||||
| /* 4 */, | ||||
| /* 4 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| var _default = '00000000-0000-0000-0000-000000000000'; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 5 */, | ||||
| /* 6 */, | ||||
| /* 7 */, | ||||
| @ -1309,7 +1322,7 @@ eval("require")("encoding"); | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.PropagationAPI = void 0; | ||||
| var global_utils_1 = __webpack_require__(525); | ||||
| var global_utils_1 = __webpack_require__(94); | ||||
| var NoopTextMapPropagator_1 = __webpack_require__(918); | ||||
| var TextMapPropagator_1 = __webpack_require__(881); | ||||
| var context_helpers_1 = __webpack_require__(483); | ||||
| @ -1399,7 +1412,91 @@ var _default = '00000000-0000-0000-0000-000000000000'; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 25 */, | ||||
| /* 25 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| Object.defineProperty(exports, "v1", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "v3", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v2.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "v4", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v3.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "v5", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v4.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "NIL", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _nil.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "version", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _version.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "validate", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _validate.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "stringify", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _stringify.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "parse", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _parse.default; | ||||
|   } | ||||
| }); | ||||
| 
 | ||||
| var _v = _interopRequireDefault(__webpack_require__(810)); | ||||
| 
 | ||||
| var _v2 = _interopRequireDefault(__webpack_require__(572)); | ||||
| 
 | ||||
| var _v3 = _interopRequireDefault(__webpack_require__(293)); | ||||
| 
 | ||||
| var _v4 = _interopRequireDefault(__webpack_require__(638)); | ||||
| 
 | ||||
| var _nil = _interopRequireDefault(__webpack_require__(4)); | ||||
| 
 | ||||
| var _version = _interopRequireDefault(__webpack_require__(135)); | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| var _parse = _interopRequireDefault(__webpack_require__(204)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 26 */, | ||||
| /* 27 */, | ||||
| /* 28 */, | ||||
| @ -2718,7 +2815,77 @@ function regExpEscape (s) { | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 94 */, | ||||
| /* 94 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.unregisterGlobal = exports.getGlobal = exports.registerGlobal = void 0; | ||||
| var platform_1 = __webpack_require__(910); | ||||
| var version_1 = __webpack_require__(830); | ||||
| var semver_1 = __webpack_require__(987); | ||||
| var major = version_1.VERSION.split('.')[0]; | ||||
| var GLOBAL_OPENTELEMETRY_API_KEY = Symbol.for("opentelemetry.js.api." + major); | ||||
| var _global = platform_1._globalThis; | ||||
| function registerGlobal(type, instance, diag, allowOverride) { | ||||
|     var _a; | ||||
|     if (allowOverride === void 0) { allowOverride = false; } | ||||
|     var api = (_global[GLOBAL_OPENTELEMETRY_API_KEY] = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) !== null && _a !== void 0 ? _a : { | ||||
|         version: version_1.VERSION, | ||||
|     }); | ||||
|     if (!allowOverride && api[type]) { | ||||
|         // already registered an API of this type
 | ||||
|         var err = new Error("@opentelemetry/api: Attempted duplicate registration of API: " + type); | ||||
|         diag.error(err.stack || err.message); | ||||
|         return false; | ||||
|     } | ||||
|     if (api.version !== version_1.VERSION) { | ||||
|         // All registered APIs must be of the same version exactly
 | ||||
|         var err = new Error('@opentelemetry/api: All API registration versions must match'); | ||||
|         diag.error(err.stack || err.message); | ||||
|         return false; | ||||
|     } | ||||
|     api[type] = instance; | ||||
|     diag.debug("@opentelemetry/api: Registered a global for " + type + " v" + version_1.VERSION + "."); | ||||
|     return true; | ||||
| } | ||||
| exports.registerGlobal = registerGlobal; | ||||
| function getGlobal(type) { | ||||
|     var _a, _b; | ||||
|     var globalVersion = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a === void 0 ? void 0 : _a.version; | ||||
|     if (!globalVersion || !semver_1.isCompatible(globalVersion)) { | ||||
|         return; | ||||
|     } | ||||
|     return (_b = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b === void 0 ? void 0 : _b[type]; | ||||
| } | ||||
| exports.getGlobal = getGlobal; | ||||
| function unregisterGlobal(type, diag) { | ||||
|     diag.debug("@opentelemetry/api: Unregistering a global for " + type + " v" + version_1.VERSION + "."); | ||||
|     var api = _global[GLOBAL_OPENTELEMETRY_API_KEY]; | ||||
|     if (api) { | ||||
|         delete api[type]; | ||||
|     } | ||||
| } | ||||
| exports.unregisterGlobal = unregisterGlobal; | ||||
| //# sourceMappingURL=global-utils.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 95 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| @ -3191,8 +3358,8 @@ var __importStar = (this && this.__importStar) || function (mod) { | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const core = __importStar(__webpack_require__(470)); | ||||
| const http_client_1 = __webpack_require__(710); | ||||
| const auth_1 = __webpack_require__(206); | ||||
| const http_client_1 = __webpack_require__(425); | ||||
| const auth_1 = __webpack_require__(554); | ||||
| const crypto = __importStar(__webpack_require__(417)); | ||||
| const fs = __importStar(__webpack_require__(747)); | ||||
| const url_1 = __webpack_require__(835); | ||||
| @ -3415,7 +3582,7 @@ exports.DiagAPI = void 0; | ||||
| var ComponentLogger_1 = __webpack_require__(362); | ||||
| var logLevelLogger_1 = __webpack_require__(673); | ||||
| var types_1 = __webpack_require__(545); | ||||
| var global_utils_1 = __webpack_require__(525); | ||||
| var global_utils_1 = __webpack_require__(94); | ||||
| var API_NAME = 'diag'; | ||||
| /** | ||||
|  * Singleton object which represents the entry point to the OpenTelemetry internal | ||||
| @ -3571,8 +3738,117 @@ exports.ROOT_CONTEXT = new BaseContext(); | ||||
| /***/ }), | ||||
| /* 133 */, | ||||
| /* 134 */, | ||||
| /* 135 */, | ||||
| /* 136 */, | ||||
| /* 135 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function version(uuid) { | ||||
|   if (!(0, _validate.default)(uuid)) { | ||||
|     throw TypeError('Invalid UUID'); | ||||
|   } | ||||
| 
 | ||||
|   return parseInt(uuid.substr(14, 1), 16); | ||||
| } | ||||
| 
 | ||||
| var _default = version; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 136 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = _default; | ||||
| exports.URL = exports.DNS = void 0; | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| var _parse = _interopRequireDefault(__webpack_require__(204)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function stringToBytes(str) { | ||||
|   str = unescape(encodeURIComponent(str)); // UTF8 escape
 | ||||
| 
 | ||||
|   const bytes = []; | ||||
| 
 | ||||
|   for (let i = 0; i < str.length; ++i) { | ||||
|     bytes.push(str.charCodeAt(i)); | ||||
|   } | ||||
| 
 | ||||
|   return bytes; | ||||
| } | ||||
| 
 | ||||
| const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; | ||||
| exports.DNS = DNS; | ||||
| const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; | ||||
| exports.URL = URL; | ||||
| 
 | ||||
| function _default(name, version, hashfunc) { | ||||
|   function generateUUID(value, namespace, buf, offset) { | ||||
|     if (typeof value === 'string') { | ||||
|       value = stringToBytes(value); | ||||
|     } | ||||
| 
 | ||||
|     if (typeof namespace === 'string') { | ||||
|       namespace = (0, _parse.default)(namespace); | ||||
|     } | ||||
| 
 | ||||
|     if (namespace.length !== 16) { | ||||
|       throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); | ||||
|     } // Compute hash of namespace and value, Per 4.3
 | ||||
|     // Future: Use spread syntax when supported on all platforms, e.g. `bytes =
 | ||||
|     // hashfunc([...namespace, ... value])`
 | ||||
| 
 | ||||
| 
 | ||||
|     let bytes = new Uint8Array(16 + value.length); | ||||
|     bytes.set(namespace); | ||||
|     bytes.set(value, namespace.length); | ||||
|     bytes = hashfunc(bytes); | ||||
|     bytes[6] = bytes[6] & 0x0f | version; | ||||
|     bytes[8] = bytes[8] & 0x3f | 0x80; | ||||
| 
 | ||||
|     if (buf) { | ||||
|       offset = offset || 0; | ||||
| 
 | ||||
|       for (let i = 0; i < 16; ++i) { | ||||
|         buf[offset + i] = bytes[i]; | ||||
|       } | ||||
| 
 | ||||
|       return buf; | ||||
|     } | ||||
| 
 | ||||
|     return (0, _stringify.default)(bytes); | ||||
|   } // Function#name is not settable on some platforms (#270)
 | ||||
| 
 | ||||
| 
 | ||||
|   try { | ||||
|     generateUUID.name = name; // eslint-disable-next-line no-empty
 | ||||
|   } catch (err) {} // For CommonJS default export support
 | ||||
| 
 | ||||
| 
 | ||||
|   generateUUID.DNS = DNS; | ||||
|   generateUUID.URL = URL; | ||||
|   return generateUUID; | ||||
| } | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 137 */, | ||||
| /* 138 */, | ||||
| /* 139 */ | ||||
| @ -3864,34 +4140,7 @@ exports.debug = debug; // for test | ||||
| /* 142 */, | ||||
| /* 143 */, | ||||
| /* 144 */, | ||||
| /* 145 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports._globalThis = void 0; | ||||
| /** only globals that common to node and browsers are allowed */ | ||||
| // eslint-disable-next-line node/no-unsupported-features/es-builtins
 | ||||
| exports._globalThis = typeof globalThis === 'object' ? globalThis : global; | ||||
| //# sourceMappingURL=globalThis.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 145 */, | ||||
| /* 146 */, | ||||
| /* 147 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| @ -4584,7 +4833,73 @@ exports.default = _default; | ||||
| /* 174 */, | ||||
| /* 175 */, | ||||
| /* 176 */, | ||||
| /* 177 */, | ||||
| /* 177 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.checkBypass = exports.getProxyUrl = void 0; | ||||
| function getProxyUrl(reqUrl) { | ||||
|     const usingSsl = reqUrl.protocol === 'https:'; | ||||
|     if (checkBypass(reqUrl)) { | ||||
|         return undefined; | ||||
|     } | ||||
|     const proxyVar = (() => { | ||||
|         if (usingSsl) { | ||||
|             return process.env['https_proxy'] || process.env['HTTPS_PROXY']; | ||||
|         } | ||||
|         else { | ||||
|             return process.env['http_proxy'] || process.env['HTTP_PROXY']; | ||||
|         } | ||||
|     })(); | ||||
|     if (proxyVar) { | ||||
|         return new URL(proxyVar); | ||||
|     } | ||||
|     else { | ||||
|         return undefined; | ||||
|     } | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| function checkBypass(reqUrl) { | ||||
|     if (!reqUrl.hostname) { | ||||
|         return false; | ||||
|     } | ||||
|     const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; | ||||
|     if (!noProxy) { | ||||
|         return false; | ||||
|     } | ||||
|     // Determine the request port
 | ||||
|     let reqPort; | ||||
|     if (reqUrl.port) { | ||||
|         reqPort = Number(reqUrl.port); | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'http:') { | ||||
|         reqPort = 80; | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'https:') { | ||||
|         reqPort = 443; | ||||
|     } | ||||
|     // Format the request hostname and hostname with port
 | ||||
|     const upperReqHosts = [reqUrl.hostname.toUpperCase()]; | ||||
|     if (typeof reqPort === 'number') { | ||||
|         upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); | ||||
|     } | ||||
|     // Compare request host against noproxy
 | ||||
|     for (const upperNoProxyItem of noProxy | ||||
|         .split(',') | ||||
|         .map(x => x.trim().toUpperCase()) | ||||
|         .filter(x => x)) { | ||||
|         if (upperReqHosts.some(x => x === upperNoProxyItem)) { | ||||
|             return true; | ||||
|         } | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
| exports.checkBypass = checkBypass; | ||||
| //# sourceMappingURL=proxy.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 178 */, | ||||
| /* 179 */, | ||||
| /* 180 */, | ||||
| @ -4693,95 +5008,59 @@ exports.default = _default; | ||||
| /* 201 */, | ||||
| /* 202 */, | ||||
| /* 203 */, | ||||
| /* 204 */, | ||||
| /* 205 */, | ||||
| /* 206 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| /* 204 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; | ||||
| class BasicCredentialHandler { | ||||
|     constructor(username, password) { | ||||
|         this.username = username; | ||||
|         this.password = password; | ||||
|     } | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function parse(uuid) { | ||||
|   if (!(0, _validate.default)(uuid)) { | ||||
|     throw TypeError('Invalid UUID'); | ||||
|   } | ||||
| 
 | ||||
|   let v; | ||||
|   const arr = new Uint8Array(16); // Parse ########-....-....-....-............
 | ||||
| 
 | ||||
|   arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; | ||||
|   arr[1] = v >>> 16 & 0xff; | ||||
|   arr[2] = v >>> 8 & 0xff; | ||||
|   arr[3] = v & 0xff; // Parse ........-####-....-....-............
 | ||||
| 
 | ||||
|   arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; | ||||
|   arr[5] = v & 0xff; // Parse ........-....-####-....-............
 | ||||
| 
 | ||||
|   arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; | ||||
|   arr[7] = v & 0xff; // Parse ........-....-....-####-............
 | ||||
| 
 | ||||
|   arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; | ||||
|   arr[9] = v & 0xff; // Parse ........-....-....-....-############
 | ||||
|   // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes)
 | ||||
| 
 | ||||
|   arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; | ||||
|   arr[11] = v / 0x100000000 & 0xff; | ||||
|   arr[12] = v >>> 24 & 0xff; | ||||
|   arr[13] = v >>> 16 & 0xff; | ||||
|   arr[14] = v >>> 8 & 0xff; | ||||
|   arr[15] = v & 0xff; | ||||
|   return arr; | ||||
| } | ||||
| exports.BasicCredentialHandler = BasicCredentialHandler; | ||||
| class BearerCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Bearer ${this.token}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.BearerCredentialHandler = BearerCredentialHandler; | ||||
| class PersonalAccessTokenCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; | ||||
| //# sourceMappingURL=auth.js.map
 | ||||
| 
 | ||||
| var _default = parse; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 205 */, | ||||
| /* 206 */, | ||||
| /* 207 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| @ -4874,71 +5153,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| /* 223 */, | ||||
| /* 224 */, | ||||
| /* 225 */, | ||||
| /* 226 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| class BasicCredentialHandler { | ||||
|     constructor(username, password) { | ||||
|         this.username = username; | ||||
|         this.password = password; | ||||
|     } | ||||
|     prepareRequest(options) { | ||||
|         options.headers['Authorization'] = | ||||
|             'Basic ' + | ||||
|                 Buffer.from(this.username + ':' + this.password).toString('base64'); | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication(response) { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication(httpClient, requestInfo, objs) { | ||||
|         return null; | ||||
|     } | ||||
| } | ||||
| exports.BasicCredentialHandler = BasicCredentialHandler; | ||||
| class BearerCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         options.headers['Authorization'] = 'Bearer ' + this.token; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication(response) { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication(httpClient, requestInfo, objs) { | ||||
|         return null; | ||||
|     } | ||||
| } | ||||
| exports.BearerCredentialHandler = BearerCredentialHandler; | ||||
| class PersonalAccessTokenCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         options.headers['Authorization'] = | ||||
|             'Basic ' + Buffer.from('PAT:' + this.token).toString('base64'); | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication(response) { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication(httpClient, requestInfo, objs) { | ||||
|         return null; | ||||
|     } | ||||
| } | ||||
| exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 226 */, | ||||
| /* 227 */, | ||||
| /* 228 */, | ||||
| /* 229 */ | ||||
| @ -5339,73 +5554,7 @@ function _default(name, version, hashfunc) { | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 242 */, | ||||
| /* 243 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.checkBypass = exports.getProxyUrl = void 0; | ||||
| function getProxyUrl(reqUrl) { | ||||
|     const usingSsl = reqUrl.protocol === 'https:'; | ||||
|     if (checkBypass(reqUrl)) { | ||||
|         return undefined; | ||||
|     } | ||||
|     const proxyVar = (() => { | ||||
|         if (usingSsl) { | ||||
|             return process.env['https_proxy'] || process.env['HTTPS_PROXY']; | ||||
|         } | ||||
|         else { | ||||
|             return process.env['http_proxy'] || process.env['HTTP_PROXY']; | ||||
|         } | ||||
|     })(); | ||||
|     if (proxyVar) { | ||||
|         return new URL(proxyVar); | ||||
|     } | ||||
|     else { | ||||
|         return undefined; | ||||
|     } | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| function checkBypass(reqUrl) { | ||||
|     if (!reqUrl.hostname) { | ||||
|         return false; | ||||
|     } | ||||
|     const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; | ||||
|     if (!noProxy) { | ||||
|         return false; | ||||
|     } | ||||
|     // Determine the request port
 | ||||
|     let reqPort; | ||||
|     if (reqUrl.port) { | ||||
|         reqPort = Number(reqUrl.port); | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'http:') { | ||||
|         reqPort = 80; | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'https:') { | ||||
|         reqPort = 443; | ||||
|     } | ||||
|     // Format the request hostname and hostname with port
 | ||||
|     const upperReqHosts = [reqUrl.hostname.toUpperCase()]; | ||||
|     if (typeof reqPort === 'number') { | ||||
|         upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); | ||||
|     } | ||||
|     // Compare request host against noproxy
 | ||||
|     for (const upperNoProxyItem of noProxy | ||||
|         .split(',') | ||||
|         .map(x => x.trim().toUpperCase()) | ||||
|         .filter(x => x)) { | ||||
|         if (upperReqHosts.some(x => x === upperNoProxyItem)) { | ||||
|             return true; | ||||
|         } | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
| exports.checkBypass = checkBypass; | ||||
| //# sourceMappingURL=proxy.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 243 */, | ||||
| /* 244 */, | ||||
| /* 245 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| @ -5464,9 +5613,9 @@ var __importStar = (this && this.__importStar) || function (mod) { | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const core = __importStar(__webpack_require__(470)); | ||||
| const http_client_1 = __webpack_require__(710); | ||||
| const http_client_1 = __webpack_require__(425); | ||||
| const storage_blob_1 = __webpack_require__(373); | ||||
| const buffer = __importStar(__webpack_require__(293)); | ||||
| const buffer = __importStar(__webpack_require__(407)); | ||||
| const fs = __importStar(__webpack_require__(747)); | ||||
| const stream = __importStar(__webpack_require__(794)); | ||||
| const util = __importStar(__webpack_require__(669)); | ||||
| @ -8626,9 +8775,46 @@ exports.create = create; | ||||
| /* 291 */, | ||||
| /* 292 */, | ||||
| /* 293 */ | ||||
| /***/ (function(module) { | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| module.exports = require("buffer"); | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _rng = _interopRequireDefault(__webpack_require__(506)); | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function v4(options, buf, offset) { | ||||
|   options = options || {}; | ||||
| 
 | ||||
|   const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
 | ||||
| 
 | ||||
| 
 | ||||
|   rnds[6] = rnds[6] & 0x0f | 0x40; | ||||
|   rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
 | ||||
| 
 | ||||
|   if (buf) { | ||||
|     offset = offset || 0; | ||||
| 
 | ||||
|     for (let i = 0; i < 16; ++i) { | ||||
|       buf[offset + i] = rnds[i]; | ||||
|     } | ||||
| 
 | ||||
|     return buf; | ||||
|   } | ||||
| 
 | ||||
|   return (0, _stringify.default)(rnds); | ||||
| } | ||||
| 
 | ||||
| var _default = v4; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 294 */, | ||||
| @ -9231,7 +9417,35 @@ var MatchKind; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 328 */, | ||||
| /* 329 */, | ||||
| /* 329 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _crypto = _interopRequireDefault(__webpack_require__(417)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function sha1(bytes) { | ||||
|   if (Array.isArray(bytes)) { | ||||
|     bytes = Buffer.from(bytes); | ||||
|   } else if (typeof bytes === 'string') { | ||||
|     bytes = Buffer.from(bytes, 'utf8'); | ||||
|   } | ||||
| 
 | ||||
|   return _crypto.default.createHash('sha1').update(bytes).digest(); | ||||
| } | ||||
| 
 | ||||
| var _default = sha1; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 330 */, | ||||
| /* 331 */, | ||||
| /* 332 */ | ||||
| @ -9732,7 +9946,7 @@ module.exports = require("assert"); | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.DiagComponentLogger = void 0; | ||||
| var global_utils_1 = __webpack_require__(525); | ||||
| var global_utils_1 = __webpack_require__(94); | ||||
| /** | ||||
|  * Component Logger which is meant to be used as part of any component which | ||||
|  * will add automatically additional namespace in front of the log message. | ||||
| @ -28624,7 +28838,7 @@ class BuffersStream extends stream.Readable { | ||||
|  * maxBufferLength is max size of each buffer in the pooled buffers. | ||||
|  */ | ||||
| // Can't use import as Typescript doesn't recognize "buffer".
 | ||||
| const maxBufferLength = __webpack_require__(293).constants.MAX_LENGTH; | ||||
| const maxBufferLength = __webpack_require__(407).constants.MAX_LENGTH; | ||||
| /** | ||||
|  * This class provides a buffer container which conceptually has no hard size limit. | ||||
|  * It accepts a capacity, an array of input buffers and the total length of input data. | ||||
| @ -36541,7 +36755,12 @@ exports.ProxyTracer = ProxyTracer; | ||||
| /* 404 */, | ||||
| /* 405 */, | ||||
| /* 406 */, | ||||
| /* 407 */, | ||||
| /* 407 */ | ||||
| /***/ (function(module) { | ||||
| 
 | ||||
| module.exports = require("buffer"); | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 408 */, | ||||
| /* 409 */, | ||||
| /* 410 */, | ||||
| @ -37056,55 +37275,610 @@ function parallel(list, iterator, callback) | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| var __spreadArray = (this && this.__spreadArray) || function (to, from) { | ||||
|     for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) | ||||
|         to[j] = from[i]; | ||||
|     return to; | ||||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.NoopContextManager = void 0; | ||||
| var context_1 = __webpack_require__(132); | ||||
| var NoopContextManager = /** @class */ (function () { | ||||
|     function NoopContextManager() { | ||||
| exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; | ||||
| const http = __importStar(__webpack_require__(605)); | ||||
| const https = __importStar(__webpack_require__(211)); | ||||
| const pm = __importStar(__webpack_require__(177)); | ||||
| const tunnel = __importStar(__webpack_require__(413)); | ||||
| var HttpCodes; | ||||
| (function (HttpCodes) { | ||||
|     HttpCodes[HttpCodes["OK"] = 200] = "OK"; | ||||
|     HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; | ||||
|     HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; | ||||
|     HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; | ||||
|     HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; | ||||
|     HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; | ||||
|     HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; | ||||
|     HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; | ||||
|     HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; | ||||
|     HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; | ||||
|     HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; | ||||
|     HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; | ||||
|     HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; | ||||
|     HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; | ||||
|     HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; | ||||
|     HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; | ||||
|     HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; | ||||
|     HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; | ||||
|     HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; | ||||
|     HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; | ||||
|     HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; | ||||
|     HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; | ||||
|     HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; | ||||
|     HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; | ||||
|     HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; | ||||
|     HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; | ||||
|     HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; | ||||
| })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); | ||||
| var Headers; | ||||
| (function (Headers) { | ||||
|     Headers["Accept"] = "accept"; | ||||
|     Headers["ContentType"] = "content-type"; | ||||
| })(Headers = exports.Headers || (exports.Headers = {})); | ||||
| var MediaTypes; | ||||
| (function (MediaTypes) { | ||||
|     MediaTypes["ApplicationJson"] = "application/json"; | ||||
| })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); | ||||
| /** | ||||
|  * Returns the proxy URL, depending upon the supplied url and proxy environment variables. | ||||
|  * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|  */ | ||||
| function getProxyUrl(serverUrl) { | ||||
|     const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); | ||||
|     return proxyUrl ? proxyUrl.href : ''; | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| const HttpRedirectCodes = [ | ||||
|     HttpCodes.MovedPermanently, | ||||
|     HttpCodes.ResourceMoved, | ||||
|     HttpCodes.SeeOther, | ||||
|     HttpCodes.TemporaryRedirect, | ||||
|     HttpCodes.PermanentRedirect | ||||
| ]; | ||||
| const HttpResponseRetryCodes = [ | ||||
|     HttpCodes.BadGateway, | ||||
|     HttpCodes.ServiceUnavailable, | ||||
|     HttpCodes.GatewayTimeout | ||||
| ]; | ||||
| const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; | ||||
| const ExponentialBackoffCeiling = 10; | ||||
| const ExponentialBackoffTimeSlice = 5; | ||||
| class HttpClientError extends Error { | ||||
|     constructor(message, statusCode) { | ||||
|         super(message); | ||||
|         this.name = 'HttpClientError'; | ||||
|         this.statusCode = statusCode; | ||||
|         Object.setPrototypeOf(this, HttpClientError.prototype); | ||||
|     } | ||||
|     NoopContextManager.prototype.active = function () { | ||||
|         return context_1.ROOT_CONTEXT; | ||||
|     }; | ||||
|     NoopContextManager.prototype.with = function (_context, fn, thisArg) { | ||||
|         var args = []; | ||||
|         for (var _i = 3; _i < arguments.length; _i++) { | ||||
|             args[_i - 3] = arguments[_i]; | ||||
| } | ||||
| exports.HttpClientError = HttpClientError; | ||||
| class HttpClientResponse { | ||||
|     constructor(message) { | ||||
|         this.message = message; | ||||
|     } | ||||
|     readBody() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { | ||||
|                 let output = Buffer.alloc(0); | ||||
|                 this.message.on('data', (chunk) => { | ||||
|                     output = Buffer.concat([output, chunk]); | ||||
|                 }); | ||||
|                 this.message.on('end', () => { | ||||
|                     resolve(output.toString()); | ||||
|                 }); | ||||
|             })); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientResponse = HttpClientResponse; | ||||
| function isHttps(requestUrl) { | ||||
|     const parsedUrl = new URL(requestUrl); | ||||
|     return parsedUrl.protocol === 'https:'; | ||||
| } | ||||
| exports.isHttps = isHttps; | ||||
| class HttpClient { | ||||
|     constructor(userAgent, handlers, requestOptions) { | ||||
|         this._ignoreSslError = false; | ||||
|         this._allowRedirects = true; | ||||
|         this._allowRedirectDowngrade = false; | ||||
|         this._maxRedirects = 50; | ||||
|         this._allowRetries = false; | ||||
|         this._maxRetries = 1; | ||||
|         this._keepAlive = false; | ||||
|         this._disposed = false; | ||||
|         this.userAgent = userAgent; | ||||
|         this.handlers = handlers || []; | ||||
|         this.requestOptions = requestOptions; | ||||
|         if (requestOptions) { | ||||
|             if (requestOptions.ignoreSslError != null) { | ||||
|                 this._ignoreSslError = requestOptions.ignoreSslError; | ||||
|             } | ||||
|             this._socketTimeout = requestOptions.socketTimeout; | ||||
|             if (requestOptions.allowRedirects != null) { | ||||
|                 this._allowRedirects = requestOptions.allowRedirects; | ||||
|             } | ||||
|             if (requestOptions.allowRedirectDowngrade != null) { | ||||
|                 this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; | ||||
|             } | ||||
|             if (requestOptions.maxRedirects != null) { | ||||
|                 this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); | ||||
|             } | ||||
|             if (requestOptions.keepAlive != null) { | ||||
|                 this._keepAlive = requestOptions.keepAlive; | ||||
|             } | ||||
|             if (requestOptions.allowRetries != null) { | ||||
|                 this._allowRetries = requestOptions.allowRetries; | ||||
|             } | ||||
|             if (requestOptions.maxRetries != null) { | ||||
|                 this._maxRetries = requestOptions.maxRetries; | ||||
|             } | ||||
|         } | ||||
|         return fn.call.apply(fn, __spreadArray([thisArg], args)); | ||||
|     }; | ||||
|     NoopContextManager.prototype.bind = function (_context, target) { | ||||
|         return target; | ||||
|     }; | ||||
|     NoopContextManager.prototype.enable = function () { | ||||
|         return this; | ||||
|     }; | ||||
|     NoopContextManager.prototype.disable = function () { | ||||
|         return this; | ||||
|     }; | ||||
|     return NoopContextManager; | ||||
| }()); | ||||
| exports.NoopContextManager = NoopContextManager; | ||||
| //# sourceMappingURL=NoopContextManager.js.map
 | ||||
|     } | ||||
|     options(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     get(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('GET', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     del(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('DELETE', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     post(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('POST', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     patch(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('PATCH', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     put(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('PUT', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     head(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('HEAD', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     sendStream(verb, requestUrl, stream, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request(verb, requestUrl, stream, additionalHeaders); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Gets a typed object from an endpoint | ||||
|      * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise | ||||
|      */ | ||||
|     getJson(requestUrl, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.get(requestUrl, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     postJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.post(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     putJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.put(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     patchJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.patch(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Makes a raw http request. | ||||
|      * All other methods such as get, post, patch, and request ultimately call this. | ||||
|      * Prefer get, del, post and patch | ||||
|      */ | ||||
|     request(verb, requestUrl, data, headers) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (this._disposed) { | ||||
|                 throw new Error('Client has already been disposed.'); | ||||
|             } | ||||
|             const parsedUrl = new URL(requestUrl); | ||||
|             let info = this._prepareRequest(verb, parsedUrl, headers); | ||||
|             // Only perform retries on reads since writes may not be idempotent.
 | ||||
|             const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) | ||||
|                 ? this._maxRetries + 1 | ||||
|                 : 1; | ||||
|             let numTries = 0; | ||||
|             let response; | ||||
|             do { | ||||
|                 response = yield this.requestRaw(info, data); | ||||
|                 // Check if it's an authentication challenge
 | ||||
|                 if (response && | ||||
|                     response.message && | ||||
|                     response.message.statusCode === HttpCodes.Unauthorized) { | ||||
|                     let authenticationHandler; | ||||
|                     for (const handler of this.handlers) { | ||||
|                         if (handler.canHandleAuthentication(response)) { | ||||
|                             authenticationHandler = handler; | ||||
|                             break; | ||||
|                         } | ||||
|                     } | ||||
|                     if (authenticationHandler) { | ||||
|                         return authenticationHandler.handleAuthentication(this, info, data); | ||||
|                     } | ||||
|                     else { | ||||
|                         // We have received an unauthorized response but have no handlers to handle it.
 | ||||
|                         // Let the response return to the caller.
 | ||||
|                         return response; | ||||
|                     } | ||||
|                 } | ||||
|                 let redirectsRemaining = this._maxRedirects; | ||||
|                 while (response.message.statusCode && | ||||
|                     HttpRedirectCodes.includes(response.message.statusCode) && | ||||
|                     this._allowRedirects && | ||||
|                     redirectsRemaining > 0) { | ||||
|                     const redirectUrl = response.message.headers['location']; | ||||
|                     if (!redirectUrl) { | ||||
|                         // if there's no location to redirect to, we won't
 | ||||
|                         break; | ||||
|                     } | ||||
|                     const parsedRedirectUrl = new URL(redirectUrl); | ||||
|                     if (parsedUrl.protocol === 'https:' && | ||||
|                         parsedUrl.protocol !== parsedRedirectUrl.protocol && | ||||
|                         !this._allowRedirectDowngrade) { | ||||
|                         throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); | ||||
|                     } | ||||
|                     // we need to finish reading the response before reassigning response
 | ||||
|                     // which will leak the open socket.
 | ||||
|                     yield response.readBody(); | ||||
|                     // strip authorization header if redirected to a different hostname
 | ||||
|                     if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { | ||||
|                         for (const header in headers) { | ||||
|                             // header names are case insensitive
 | ||||
|                             if (header.toLowerCase() === 'authorization') { | ||||
|                                 delete headers[header]; | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                     // let's make the request with the new redirectUrl
 | ||||
|                     info = this._prepareRequest(verb, parsedRedirectUrl, headers); | ||||
|                     response = yield this.requestRaw(info, data); | ||||
|                     redirectsRemaining--; | ||||
|                 } | ||||
|                 if (!response.message.statusCode || | ||||
|                     !HttpResponseRetryCodes.includes(response.message.statusCode)) { | ||||
|                     // If not a retry code, return immediately instead of retrying
 | ||||
|                     return response; | ||||
|                 } | ||||
|                 numTries += 1; | ||||
|                 if (numTries < maxTries) { | ||||
|                     yield response.readBody(); | ||||
|                     yield this._performExponentialBackoff(numTries); | ||||
|                 } | ||||
|             } while (numTries < maxTries); | ||||
|             return response; | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Needs to be called if keepAlive is set to true in request options. | ||||
|      */ | ||||
|     dispose() { | ||||
|         if (this._agent) { | ||||
|             this._agent.destroy(); | ||||
|         } | ||||
|         this._disposed = true; | ||||
|     } | ||||
|     /** | ||||
|      * Raw request. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      */ | ||||
|     requestRaw(info, data) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve, reject) => { | ||||
|                 function callbackForResult(err, res) { | ||||
|                     if (err) { | ||||
|                         reject(err); | ||||
|                     } | ||||
|                     else if (!res) { | ||||
|                         // If `err` is not passed, then `res` must be passed.
 | ||||
|                         reject(new Error('Unknown error')); | ||||
|                     } | ||||
|                     else { | ||||
|                         resolve(res); | ||||
|                     } | ||||
|                 } | ||||
|                 this.requestRawWithCallback(info, data, callbackForResult); | ||||
|             }); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Raw request with callback. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      * @param onResult | ||||
|      */ | ||||
|     requestRawWithCallback(info, data, onResult) { | ||||
|         if (typeof data === 'string') { | ||||
|             if (!info.options.headers) { | ||||
|                 info.options.headers = {}; | ||||
|             } | ||||
|             info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); | ||||
|         } | ||||
|         let callbackCalled = false; | ||||
|         function handleResult(err, res) { | ||||
|             if (!callbackCalled) { | ||||
|                 callbackCalled = true; | ||||
|                 onResult(err, res); | ||||
|             } | ||||
|         } | ||||
|         const req = info.httpModule.request(info.options, (msg) => { | ||||
|             const res = new HttpClientResponse(msg); | ||||
|             handleResult(undefined, res); | ||||
|         }); | ||||
|         let socket; | ||||
|         req.on('socket', sock => { | ||||
|             socket = sock; | ||||
|         }); | ||||
|         // If we ever get disconnected, we want the socket to timeout eventually
 | ||||
|         req.setTimeout(this._socketTimeout || 3 * 60000, () => { | ||||
|             if (socket) { | ||||
|                 socket.end(); | ||||
|             } | ||||
|             handleResult(new Error(`Request timeout: ${info.options.path}`)); | ||||
|         }); | ||||
|         req.on('error', function (err) { | ||||
|             // err has statusCode property
 | ||||
|             // res should have headers
 | ||||
|             handleResult(err); | ||||
|         }); | ||||
|         if (data && typeof data === 'string') { | ||||
|             req.write(data, 'utf8'); | ||||
|         } | ||||
|         if (data && typeof data !== 'string') { | ||||
|             data.on('close', function () { | ||||
|                 req.end(); | ||||
|             }); | ||||
|             data.pipe(req); | ||||
|         } | ||||
|         else { | ||||
|             req.end(); | ||||
|         } | ||||
|     } | ||||
|     /** | ||||
|      * Gets an http agent. This function is useful when you need an http agent that handles | ||||
|      * routing through a proxy server - depending upon the url and proxy environment variables. | ||||
|      * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|      */ | ||||
|     getAgent(serverUrl) { | ||||
|         const parsedUrl = new URL(serverUrl); | ||||
|         return this._getAgent(parsedUrl); | ||||
|     } | ||||
|     _prepareRequest(method, requestUrl, headers) { | ||||
|         const info = {}; | ||||
|         info.parsedUrl = requestUrl; | ||||
|         const usingSsl = info.parsedUrl.protocol === 'https:'; | ||||
|         info.httpModule = usingSsl ? https : http; | ||||
|         const defaultPort = usingSsl ? 443 : 80; | ||||
|         info.options = {}; | ||||
|         info.options.host = info.parsedUrl.hostname; | ||||
|         info.options.port = info.parsedUrl.port | ||||
|             ? parseInt(info.parsedUrl.port) | ||||
|             : defaultPort; | ||||
|         info.options.path = | ||||
|             (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); | ||||
|         info.options.method = method; | ||||
|         info.options.headers = this._mergeHeaders(headers); | ||||
|         if (this.userAgent != null) { | ||||
|             info.options.headers['user-agent'] = this.userAgent; | ||||
|         } | ||||
|         info.options.agent = this._getAgent(info.parsedUrl); | ||||
|         // gives handlers an opportunity to participate
 | ||||
|         if (this.handlers) { | ||||
|             for (const handler of this.handlers) { | ||||
|                 handler.prepareRequest(info.options); | ||||
|             } | ||||
|         } | ||||
|         return info; | ||||
|     } | ||||
|     _mergeHeaders(headers) { | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); | ||||
|         } | ||||
|         return lowercaseKeys(headers || {}); | ||||
|     } | ||||
|     _getExistingOrDefaultHeader(additionalHeaders, header, _default) { | ||||
|         let clientHeader; | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; | ||||
|         } | ||||
|         return additionalHeaders[header] || clientHeader || _default; | ||||
|     } | ||||
|     _getAgent(parsedUrl) { | ||||
|         let agent; | ||||
|         const proxyUrl = pm.getProxyUrl(parsedUrl); | ||||
|         const useProxy = proxyUrl && proxyUrl.hostname; | ||||
|         if (this._keepAlive && useProxy) { | ||||
|             agent = this._proxyAgent; | ||||
|         } | ||||
|         if (this._keepAlive && !useProxy) { | ||||
|             agent = this._agent; | ||||
|         } | ||||
|         // if agent is already assigned use that agent.
 | ||||
|         if (agent) { | ||||
|             return agent; | ||||
|         } | ||||
|         const usingSsl = parsedUrl.protocol === 'https:'; | ||||
|         let maxSockets = 100; | ||||
|         if (this.requestOptions) { | ||||
|             maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; | ||||
|         } | ||||
|         // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.
 | ||||
|         if (proxyUrl && proxyUrl.hostname) { | ||||
|             const agentOptions = { | ||||
|                 maxSockets, | ||||
|                 keepAlive: this._keepAlive, | ||||
|                 proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { | ||||
|                     proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` | ||||
|                 })), { host: proxyUrl.hostname, port: proxyUrl.port }) | ||||
|             }; | ||||
|             let tunnelAgent; | ||||
|             const overHttps = proxyUrl.protocol === 'https:'; | ||||
|             if (usingSsl) { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; | ||||
|             } | ||||
|             else { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; | ||||
|             } | ||||
|             agent = tunnelAgent(agentOptions); | ||||
|             this._proxyAgent = agent; | ||||
|         } | ||||
|         // if reusing agent across request and tunneling agent isn't assigned create a new agent
 | ||||
|         if (this._keepAlive && !agent) { | ||||
|             const options = { keepAlive: this._keepAlive, maxSockets }; | ||||
|             agent = usingSsl ? new https.Agent(options) : new http.Agent(options); | ||||
|             this._agent = agent; | ||||
|         } | ||||
|         // if not using private agent and tunnel agent isn't setup then use global agent
 | ||||
|         if (!agent) { | ||||
|             agent = usingSsl ? https.globalAgent : http.globalAgent; | ||||
|         } | ||||
|         if (usingSsl && this._ignoreSslError) { | ||||
|             // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
 | ||||
|             // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
 | ||||
|             // we have to cast it to any and change it directly
 | ||||
|             agent.options = Object.assign(agent.options || {}, { | ||||
|                 rejectUnauthorized: false | ||||
|             }); | ||||
|         } | ||||
|         return agent; | ||||
|     } | ||||
|     _performExponentialBackoff(retryNumber) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); | ||||
|             const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); | ||||
|             return new Promise(resolve => setTimeout(() => resolve(), ms)); | ||||
|         }); | ||||
|     } | ||||
|     _processResponse(res, options) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { | ||||
|                 const statusCode = res.message.statusCode || 0; | ||||
|                 const response = { | ||||
|                     statusCode, | ||||
|                     result: null, | ||||
|                     headers: {} | ||||
|                 }; | ||||
|                 // not found leads to null obj returned
 | ||||
|                 if (statusCode === HttpCodes.NotFound) { | ||||
|                     resolve(response); | ||||
|                 } | ||||
|                 // get the result from the body
 | ||||
|                 function dateTimeDeserializer(key, value) { | ||||
|                     if (typeof value === 'string') { | ||||
|                         const a = new Date(value); | ||||
|                         if (!isNaN(a.valueOf())) { | ||||
|                             return a; | ||||
|                         } | ||||
|                     } | ||||
|                     return value; | ||||
|                 } | ||||
|                 let obj; | ||||
|                 let contents; | ||||
|                 try { | ||||
|                     contents = yield res.readBody(); | ||||
|                     if (contents && contents.length > 0) { | ||||
|                         if (options && options.deserializeDates) { | ||||
|                             obj = JSON.parse(contents, dateTimeDeserializer); | ||||
|                         } | ||||
|                         else { | ||||
|                             obj = JSON.parse(contents); | ||||
|                         } | ||||
|                         response.result = obj; | ||||
|                     } | ||||
|                     response.headers = res.message.headers; | ||||
|                 } | ||||
|                 catch (err) { | ||||
|                     // Invalid resource (contents not json);  leaving result obj null
 | ||||
|                 } | ||||
|                 // note that 3xx redirects are handled by the http layer.
 | ||||
|                 if (statusCode > 299) { | ||||
|                     let msg; | ||||
|                     // if exception/error in body, attempt to get better error
 | ||||
|                     if (obj && obj.message) { | ||||
|                         msg = obj.message; | ||||
|                     } | ||||
|                     else if (contents && contents.length > 0) { | ||||
|                         // it may be the case that the exception is in the body message as string
 | ||||
|                         msg = contents; | ||||
|                     } | ||||
|                     else { | ||||
|                         msg = `Failed request: (${statusCode})`; | ||||
|                     } | ||||
|                     const err = new HttpClientError(msg, statusCode); | ||||
|                     err.result = response.result; | ||||
|                     reject(err); | ||||
|                 } | ||||
|                 else { | ||||
|                     resolve(response); | ||||
|                 } | ||||
|             })); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClient = HttpClient; | ||||
| const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 426 */, | ||||
| @ -39777,6 +40551,7 @@ const file_command_1 = __webpack_require__(102); | ||||
| const utils_1 = __webpack_require__(82); | ||||
| const os = __importStar(__webpack_require__(87)); | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| const uuid_1 = __webpack_require__(25); | ||||
| const oidc_utils_1 = __webpack_require__(742); | ||||
| /** | ||||
|  * The code to exit an action | ||||
| @ -39806,7 +40581,14 @@ function exportVariable(name, val) { | ||||
|     process.env[name] = convertedVal; | ||||
|     const filePath = process.env['GITHUB_ENV'] || ''; | ||||
|     if (filePath) { | ||||
|         const delimiter = '_GitHubActionsFileCommandDelimeter_'; | ||||
|         const delimiter = `ghadelimiter_${uuid_1.v4()}`; | ||||
|         // These should realistically never happen, but just in case someone finds a way to exploit uuid generation let's not allow keys or values that contain the delimiter.
 | ||||
|         if (name.includes(delimiter)) { | ||||
|             throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); | ||||
|         } | ||||
|         if (convertedVal.includes(delimiter)) { | ||||
|             throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); | ||||
|         } | ||||
|         const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`; | ||||
|         file_command_1.issueCommand('ENV', commandValue); | ||||
|     } | ||||
| @ -40053,10 +40835,22 @@ function getIDToken(aud) { | ||||
| } | ||||
| exports.getIDToken = getIDToken; | ||||
| /** | ||||
|  * Markdown summary exports | ||||
|  * Summary exports | ||||
|  */ | ||||
| var markdown_summary_1 = __webpack_require__(548); | ||||
| Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return markdown_summary_1.markdownSummary; } }); | ||||
| var summary_1 = __webpack_require__(665); | ||||
| Object.defineProperty(exports, "summary", { enumerable: true, get: function () { return summary_1.summary; } }); | ||||
| /** | ||||
|  * @deprecated use core.summary | ||||
|  */ | ||||
| var summary_2 = __webpack_require__(665); | ||||
| Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } }); | ||||
| /** | ||||
|  * Path exports | ||||
|  */ | ||||
| var path_utils_1 = __webpack_require__(573); | ||||
| Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } }); | ||||
| Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } }); | ||||
| Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }); | ||||
| //# sourceMappingURL=core.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -40357,8 +41151,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) { | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.ContextAPI = void 0; | ||||
| var NoopContextManager_1 = __webpack_require__(425); | ||||
| var global_utils_1 = __webpack_require__(525); | ||||
| var NoopContextManager_1 = __webpack_require__(754); | ||||
| var global_utils_1 = __webpack_require__(94); | ||||
| var diag_1 = __webpack_require__(118); | ||||
| var API_NAME = 'context'; | ||||
| var NOOP_CONTEXT_MANAGER = new NoopContextManager_1.NoopContextManager(); | ||||
| @ -40473,7 +41267,36 @@ function defer(fn) | ||||
| /* 503 */, | ||||
| /* 504 */, | ||||
| /* 505 */, | ||||
| /* 506 */, | ||||
| /* 506 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = rng; | ||||
| 
 | ||||
| var _crypto = _interopRequireDefault(__webpack_require__(417)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate
 | ||||
| 
 | ||||
| let poolPtr = rnds8Pool.length; | ||||
| 
 | ||||
| function rng() { | ||||
|   if (poolPtr > rnds8Pool.length - 16) { | ||||
|     _crypto.default.randomFillSync(rnds8Pool); | ||||
| 
 | ||||
|     poolPtr = 0; | ||||
|   } | ||||
| 
 | ||||
|   return rnds8Pool.slice(poolPtr, poolPtr += 16); | ||||
| } | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 507 */, | ||||
| /* 508 */, | ||||
| /* 509 */, | ||||
| @ -40684,74 +41507,17 @@ module.exports = {"application/1d-interleaved-parityfec":{"source":"iana"},"appl | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 525 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.unregisterGlobal = exports.getGlobal = exports.registerGlobal = void 0; | ||||
| var platform_1 = __webpack_require__(910); | ||||
| var version_1 = __webpack_require__(830); | ||||
| var semver_1 = __webpack_require__(987); | ||||
| var major = version_1.VERSION.split('.')[0]; | ||||
| var GLOBAL_OPENTELEMETRY_API_KEY = Symbol.for("opentelemetry.js.api." + major); | ||||
| var _global = platform_1._globalThis; | ||||
| function registerGlobal(type, instance, diag, allowOverride) { | ||||
|     var _a; | ||||
|     if (allowOverride === void 0) { allowOverride = false; } | ||||
|     var api = (_global[GLOBAL_OPENTELEMETRY_API_KEY] = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) !== null && _a !== void 0 ? _a : { | ||||
|         version: version_1.VERSION, | ||||
|     }); | ||||
|     if (!allowOverride && api[type]) { | ||||
|         // already registered an API of this type
 | ||||
|         var err = new Error("@opentelemetry/api: Attempted duplicate registration of API: " + type); | ||||
|         diag.error(err.stack || err.message); | ||||
|         return false; | ||||
|     } | ||||
|     if (api.version !== version_1.VERSION) { | ||||
|         // All registered APIs must be of the same version exactly
 | ||||
|         var err = new Error('@opentelemetry/api: All API registration versions must match'); | ||||
|         diag.error(err.stack || err.message); | ||||
|         return false; | ||||
|     } | ||||
|     api[type] = instance; | ||||
|     diag.debug("@opentelemetry/api: Registered a global for " + type + " v" + version_1.VERSION + "."); | ||||
|     return true; | ||||
| } | ||||
| exports.registerGlobal = registerGlobal; | ||||
| function getGlobal(type) { | ||||
|     var _a, _b; | ||||
|     var globalVersion = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a === void 0 ? void 0 : _a.version; | ||||
|     if (!globalVersion || !semver_1.isCompatible(globalVersion)) { | ||||
|         return; | ||||
|     } | ||||
|     return (_b = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b === void 0 ? void 0 : _b[type]; | ||||
| } | ||||
| exports.getGlobal = getGlobal; | ||||
| function unregisterGlobal(type, diag) { | ||||
|     diag.debug("@opentelemetry/api: Unregistering a global for " + type + " v" + version_1.VERSION + "."); | ||||
|     var api = _global[GLOBAL_OPENTELEMETRY_API_KEY]; | ||||
|     if (api) { | ||||
|         delete api[type]; | ||||
|     } | ||||
| } | ||||
| exports.unregisterGlobal = unregisterGlobal; | ||||
| //# sourceMappingURL=global-utils.js.map
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 526 */, | ||||
| @ -40846,550 +41612,7 @@ exports.getDownloadOptions = getDownloadOptions; | ||||
| //# sourceMappingURL=options.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 539 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const http = __webpack_require__(605); | ||||
| const https = __webpack_require__(211); | ||||
| const pm = __webpack_require__(950); | ||||
| let tunnel; | ||||
| var HttpCodes; | ||||
| (function (HttpCodes) { | ||||
|     HttpCodes[HttpCodes["OK"] = 200] = "OK"; | ||||
|     HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; | ||||
|     HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; | ||||
|     HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; | ||||
|     HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; | ||||
|     HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; | ||||
|     HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; | ||||
|     HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; | ||||
|     HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; | ||||
|     HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; | ||||
|     HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; | ||||
|     HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; | ||||
|     HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; | ||||
|     HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; | ||||
|     HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; | ||||
|     HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; | ||||
|     HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; | ||||
|     HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; | ||||
|     HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; | ||||
|     HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; | ||||
|     HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; | ||||
|     HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; | ||||
|     HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; | ||||
|     HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; | ||||
|     HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; | ||||
|     HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; | ||||
|     HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; | ||||
| })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); | ||||
| var Headers; | ||||
| (function (Headers) { | ||||
|     Headers["Accept"] = "accept"; | ||||
|     Headers["ContentType"] = "content-type"; | ||||
| })(Headers = exports.Headers || (exports.Headers = {})); | ||||
| var MediaTypes; | ||||
| (function (MediaTypes) { | ||||
|     MediaTypes["ApplicationJson"] = "application/json"; | ||||
| })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); | ||||
| /** | ||||
|  * Returns the proxy URL, depending upon the supplied url and proxy environment variables. | ||||
|  * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|  */ | ||||
| function getProxyUrl(serverUrl) { | ||||
|     let proxyUrl = pm.getProxyUrl(new URL(serverUrl)); | ||||
|     return proxyUrl ? proxyUrl.href : ''; | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| const HttpRedirectCodes = [ | ||||
|     HttpCodes.MovedPermanently, | ||||
|     HttpCodes.ResourceMoved, | ||||
|     HttpCodes.SeeOther, | ||||
|     HttpCodes.TemporaryRedirect, | ||||
|     HttpCodes.PermanentRedirect | ||||
| ]; | ||||
| const HttpResponseRetryCodes = [ | ||||
|     HttpCodes.BadGateway, | ||||
|     HttpCodes.ServiceUnavailable, | ||||
|     HttpCodes.GatewayTimeout | ||||
| ]; | ||||
| const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; | ||||
| const ExponentialBackoffCeiling = 10; | ||||
| const ExponentialBackoffTimeSlice = 5; | ||||
| class HttpClientError extends Error { | ||||
|     constructor(message, statusCode) { | ||||
|         super(message); | ||||
|         this.name = 'HttpClientError'; | ||||
|         this.statusCode = statusCode; | ||||
|         Object.setPrototypeOf(this, HttpClientError.prototype); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientError = HttpClientError; | ||||
| class HttpClientResponse { | ||||
|     constructor(message) { | ||||
|         this.message = message; | ||||
|     } | ||||
|     readBody() { | ||||
|         return new Promise(async (resolve, reject) => { | ||||
|             let output = Buffer.alloc(0); | ||||
|             this.message.on('data', (chunk) => { | ||||
|                 output = Buffer.concat([output, chunk]); | ||||
|             }); | ||||
|             this.message.on('end', () => { | ||||
|                 resolve(output.toString()); | ||||
|             }); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientResponse = HttpClientResponse; | ||||
| function isHttps(requestUrl) { | ||||
|     let parsedUrl = new URL(requestUrl); | ||||
|     return parsedUrl.protocol === 'https:'; | ||||
| } | ||||
| exports.isHttps = isHttps; | ||||
| class HttpClient { | ||||
|     constructor(userAgent, handlers, requestOptions) { | ||||
|         this._ignoreSslError = false; | ||||
|         this._allowRedirects = true; | ||||
|         this._allowRedirectDowngrade = false; | ||||
|         this._maxRedirects = 50; | ||||
|         this._allowRetries = false; | ||||
|         this._maxRetries = 1; | ||||
|         this._keepAlive = false; | ||||
|         this._disposed = false; | ||||
|         this.userAgent = userAgent; | ||||
|         this.handlers = handlers || []; | ||||
|         this.requestOptions = requestOptions; | ||||
|         if (requestOptions) { | ||||
|             if (requestOptions.ignoreSslError != null) { | ||||
|                 this._ignoreSslError = requestOptions.ignoreSslError; | ||||
|             } | ||||
|             this._socketTimeout = requestOptions.socketTimeout; | ||||
|             if (requestOptions.allowRedirects != null) { | ||||
|                 this._allowRedirects = requestOptions.allowRedirects; | ||||
|             } | ||||
|             if (requestOptions.allowRedirectDowngrade != null) { | ||||
|                 this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; | ||||
|             } | ||||
|             if (requestOptions.maxRedirects != null) { | ||||
|                 this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); | ||||
|             } | ||||
|             if (requestOptions.keepAlive != null) { | ||||
|                 this._keepAlive = requestOptions.keepAlive; | ||||
|             } | ||||
|             if (requestOptions.allowRetries != null) { | ||||
|                 this._allowRetries = requestOptions.allowRetries; | ||||
|             } | ||||
|             if (requestOptions.maxRetries != null) { | ||||
|                 this._maxRetries = requestOptions.maxRetries; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     options(requestUrl, additionalHeaders) { | ||||
|         return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); | ||||
|     } | ||||
|     get(requestUrl, additionalHeaders) { | ||||
|         return this.request('GET', requestUrl, null, additionalHeaders || {}); | ||||
|     } | ||||
|     del(requestUrl, additionalHeaders) { | ||||
|         return this.request('DELETE', requestUrl, null, additionalHeaders || {}); | ||||
|     } | ||||
|     post(requestUrl, data, additionalHeaders) { | ||||
|         return this.request('POST', requestUrl, data, additionalHeaders || {}); | ||||
|     } | ||||
|     patch(requestUrl, data, additionalHeaders) { | ||||
|         return this.request('PATCH', requestUrl, data, additionalHeaders || {}); | ||||
|     } | ||||
|     put(requestUrl, data, additionalHeaders) { | ||||
|         return this.request('PUT', requestUrl, data, additionalHeaders || {}); | ||||
|     } | ||||
|     head(requestUrl, additionalHeaders) { | ||||
|         return this.request('HEAD', requestUrl, null, additionalHeaders || {}); | ||||
|     } | ||||
|     sendStream(verb, requestUrl, stream, additionalHeaders) { | ||||
|         return this.request(verb, requestUrl, stream, additionalHeaders); | ||||
|     } | ||||
|     /** | ||||
|      * Gets a typed object from an endpoint | ||||
|      * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise | ||||
|      */ | ||||
|     async getJson(requestUrl, additionalHeaders = {}) { | ||||
|         additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|         let res = await this.get(requestUrl, additionalHeaders); | ||||
|         return this._processResponse(res, this.requestOptions); | ||||
|     } | ||||
|     async postJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         let data = JSON.stringify(obj, null, 2); | ||||
|         additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|         additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|         let res = await this.post(requestUrl, data, additionalHeaders); | ||||
|         return this._processResponse(res, this.requestOptions); | ||||
|     } | ||||
|     async putJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         let data = JSON.stringify(obj, null, 2); | ||||
|         additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|         additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|         let res = await this.put(requestUrl, data, additionalHeaders); | ||||
|         return this._processResponse(res, this.requestOptions); | ||||
|     } | ||||
|     async patchJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         let data = JSON.stringify(obj, null, 2); | ||||
|         additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|         additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|         let res = await this.patch(requestUrl, data, additionalHeaders); | ||||
|         return this._processResponse(res, this.requestOptions); | ||||
|     } | ||||
|     /** | ||||
|      * Makes a raw http request. | ||||
|      * All other methods such as get, post, patch, and request ultimately call this. | ||||
|      * Prefer get, del, post and patch | ||||
|      */ | ||||
|     async request(verb, requestUrl, data, headers) { | ||||
|         if (this._disposed) { | ||||
|             throw new Error('Client has already been disposed.'); | ||||
|         } | ||||
|         let parsedUrl = new URL(requestUrl); | ||||
|         let info = this._prepareRequest(verb, parsedUrl, headers); | ||||
|         // Only perform retries on reads since writes may not be idempotent.
 | ||||
|         let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1 | ||||
|             ? this._maxRetries + 1 | ||||
|             : 1; | ||||
|         let numTries = 0; | ||||
|         let response; | ||||
|         while (numTries < maxTries) { | ||||
|             response = await this.requestRaw(info, data); | ||||
|             // Check if it's an authentication challenge
 | ||||
|             if (response && | ||||
|                 response.message && | ||||
|                 response.message.statusCode === HttpCodes.Unauthorized) { | ||||
|                 let authenticationHandler; | ||||
|                 for (let i = 0; i < this.handlers.length; i++) { | ||||
|                     if (this.handlers[i].canHandleAuthentication(response)) { | ||||
|                         authenticationHandler = this.handlers[i]; | ||||
|                         break; | ||||
|                     } | ||||
|                 } | ||||
|                 if (authenticationHandler) { | ||||
|                     return authenticationHandler.handleAuthentication(this, info, data); | ||||
|                 } | ||||
|                 else { | ||||
|                     // We have received an unauthorized response but have no handlers to handle it.
 | ||||
|                     // Let the response return to the caller.
 | ||||
|                     return response; | ||||
|                 } | ||||
|             } | ||||
|             let redirectsRemaining = this._maxRedirects; | ||||
|             while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 && | ||||
|                 this._allowRedirects && | ||||
|                 redirectsRemaining > 0) { | ||||
|                 const redirectUrl = response.message.headers['location']; | ||||
|                 if (!redirectUrl) { | ||||
|                     // if there's no location to redirect to, we won't
 | ||||
|                     break; | ||||
|                 } | ||||
|                 let parsedRedirectUrl = new URL(redirectUrl); | ||||
|                 if (parsedUrl.protocol == 'https:' && | ||||
|                     parsedUrl.protocol != parsedRedirectUrl.protocol && | ||||
|                     !this._allowRedirectDowngrade) { | ||||
|                     throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); | ||||
|                 } | ||||
|                 // we need to finish reading the response before reassigning response
 | ||||
|                 // which will leak the open socket.
 | ||||
|                 await response.readBody(); | ||||
|                 // strip authorization header if redirected to a different hostname
 | ||||
|                 if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { | ||||
|                     for (let header in headers) { | ||||
|                         // header names are case insensitive
 | ||||
|                         if (header.toLowerCase() === 'authorization') { | ||||
|                             delete headers[header]; | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 // let's make the request with the new redirectUrl
 | ||||
|                 info = this._prepareRequest(verb, parsedRedirectUrl, headers); | ||||
|                 response = await this.requestRaw(info, data); | ||||
|                 redirectsRemaining--; | ||||
|             } | ||||
|             if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) { | ||||
|                 // If not a retry code, return immediately instead of retrying
 | ||||
|                 return response; | ||||
|             } | ||||
|             numTries += 1; | ||||
|             if (numTries < maxTries) { | ||||
|                 await response.readBody(); | ||||
|                 await this._performExponentialBackoff(numTries); | ||||
|             } | ||||
|         } | ||||
|         return response; | ||||
|     } | ||||
|     /** | ||||
|      * Needs to be called if keepAlive is set to true in request options. | ||||
|      */ | ||||
|     dispose() { | ||||
|         if (this._agent) { | ||||
|             this._agent.destroy(); | ||||
|         } | ||||
|         this._disposed = true; | ||||
|     } | ||||
|     /** | ||||
|      * Raw request. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      */ | ||||
|     requestRaw(info, data) { | ||||
|         return new Promise((resolve, reject) => { | ||||
|             let callbackForResult = function (err, res) { | ||||
|                 if (err) { | ||||
|                     reject(err); | ||||
|                 } | ||||
|                 resolve(res); | ||||
|             }; | ||||
|             this.requestRawWithCallback(info, data, callbackForResult); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Raw request with callback. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      * @param onResult | ||||
|      */ | ||||
|     requestRawWithCallback(info, data, onResult) { | ||||
|         let socket; | ||||
|         if (typeof data === 'string') { | ||||
|             info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); | ||||
|         } | ||||
|         let callbackCalled = false; | ||||
|         let handleResult = (err, res) => { | ||||
|             if (!callbackCalled) { | ||||
|                 callbackCalled = true; | ||||
|                 onResult(err, res); | ||||
|             } | ||||
|         }; | ||||
|         let req = info.httpModule.request(info.options, (msg) => { | ||||
|             let res = new HttpClientResponse(msg); | ||||
|             handleResult(null, res); | ||||
|         }); | ||||
|         req.on('socket', sock => { | ||||
|             socket = sock; | ||||
|         }); | ||||
|         // If we ever get disconnected, we want the socket to timeout eventually
 | ||||
|         req.setTimeout(this._socketTimeout || 3 * 60000, () => { | ||||
|             if (socket) { | ||||
|                 socket.end(); | ||||
|             } | ||||
|             handleResult(new Error('Request timeout: ' + info.options.path), null); | ||||
|         }); | ||||
|         req.on('error', function (err) { | ||||
|             // err has statusCode property
 | ||||
|             // res should have headers
 | ||||
|             handleResult(err, null); | ||||
|         }); | ||||
|         if (data && typeof data === 'string') { | ||||
|             req.write(data, 'utf8'); | ||||
|         } | ||||
|         if (data && typeof data !== 'string') { | ||||
|             data.on('close', function () { | ||||
|                 req.end(); | ||||
|             }); | ||||
|             data.pipe(req); | ||||
|         } | ||||
|         else { | ||||
|             req.end(); | ||||
|         } | ||||
|     } | ||||
|     /** | ||||
|      * Gets an http agent. This function is useful when you need an http agent that handles | ||||
|      * routing through a proxy server - depending upon the url and proxy environment variables. | ||||
|      * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|      */ | ||||
|     getAgent(serverUrl) { | ||||
|         let parsedUrl = new URL(serverUrl); | ||||
|         return this._getAgent(parsedUrl); | ||||
|     } | ||||
|     _prepareRequest(method, requestUrl, headers) { | ||||
|         const info = {}; | ||||
|         info.parsedUrl = requestUrl; | ||||
|         const usingSsl = info.parsedUrl.protocol === 'https:'; | ||||
|         info.httpModule = usingSsl ? https : http; | ||||
|         const defaultPort = usingSsl ? 443 : 80; | ||||
|         info.options = {}; | ||||
|         info.options.host = info.parsedUrl.hostname; | ||||
|         info.options.port = info.parsedUrl.port | ||||
|             ? parseInt(info.parsedUrl.port) | ||||
|             : defaultPort; | ||||
|         info.options.path = | ||||
|             (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); | ||||
|         info.options.method = method; | ||||
|         info.options.headers = this._mergeHeaders(headers); | ||||
|         if (this.userAgent != null) { | ||||
|             info.options.headers['user-agent'] = this.userAgent; | ||||
|         } | ||||
|         info.options.agent = this._getAgent(info.parsedUrl); | ||||
|         // gives handlers an opportunity to participate
 | ||||
|         if (this.handlers) { | ||||
|             this.handlers.forEach(handler => { | ||||
|                 handler.prepareRequest(info.options); | ||||
|             }); | ||||
|         } | ||||
|         return info; | ||||
|     } | ||||
|     _mergeHeaders(headers) { | ||||
|         const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers)); | ||||
|         } | ||||
|         return lowercaseKeys(headers || {}); | ||||
|     } | ||||
|     _getExistingOrDefaultHeader(additionalHeaders, header, _default) { | ||||
|         const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); | ||||
|         let clientHeader; | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; | ||||
|         } | ||||
|         return additionalHeaders[header] || clientHeader || _default; | ||||
|     } | ||||
|     _getAgent(parsedUrl) { | ||||
|         let agent; | ||||
|         let proxyUrl = pm.getProxyUrl(parsedUrl); | ||||
|         let useProxy = proxyUrl && proxyUrl.hostname; | ||||
|         if (this._keepAlive && useProxy) { | ||||
|             agent = this._proxyAgent; | ||||
|         } | ||||
|         if (this._keepAlive && !useProxy) { | ||||
|             agent = this._agent; | ||||
|         } | ||||
|         // if agent is already assigned use that agent.
 | ||||
|         if (!!agent) { | ||||
|             return agent; | ||||
|         } | ||||
|         const usingSsl = parsedUrl.protocol === 'https:'; | ||||
|         let maxSockets = 100; | ||||
|         if (!!this.requestOptions) { | ||||
|             maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; | ||||
|         } | ||||
|         if (useProxy) { | ||||
|             // If using proxy, need tunnel
 | ||||
|             if (!tunnel) { | ||||
|                 tunnel = __webpack_require__(413); | ||||
|             } | ||||
|             const agentOptions = { | ||||
|                 maxSockets: maxSockets, | ||||
|                 keepAlive: this._keepAlive, | ||||
|                 proxy: { | ||||
|                     ...((proxyUrl.username || proxyUrl.password) && { | ||||
|                         proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` | ||||
|                     }), | ||||
|                     host: proxyUrl.hostname, | ||||
|                     port: proxyUrl.port | ||||
|                 } | ||||
|             }; | ||||
|             let tunnelAgent; | ||||
|             const overHttps = proxyUrl.protocol === 'https:'; | ||||
|             if (usingSsl) { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; | ||||
|             } | ||||
|             else { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; | ||||
|             } | ||||
|             agent = tunnelAgent(agentOptions); | ||||
|             this._proxyAgent = agent; | ||||
|         } | ||||
|         // if reusing agent across request and tunneling agent isn't assigned create a new agent
 | ||||
|         if (this._keepAlive && !agent) { | ||||
|             const options = { keepAlive: this._keepAlive, maxSockets: maxSockets }; | ||||
|             agent = usingSsl ? new https.Agent(options) : new http.Agent(options); | ||||
|             this._agent = agent; | ||||
|         } | ||||
|         // if not using private agent and tunnel agent isn't setup then use global agent
 | ||||
|         if (!agent) { | ||||
|             agent = usingSsl ? https.globalAgent : http.globalAgent; | ||||
|         } | ||||
|         if (usingSsl && this._ignoreSslError) { | ||||
|             // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
 | ||||
|             // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
 | ||||
|             // we have to cast it to any and change it directly
 | ||||
|             agent.options = Object.assign(agent.options || {}, { | ||||
|                 rejectUnauthorized: false | ||||
|             }); | ||||
|         } | ||||
|         return agent; | ||||
|     } | ||||
|     _performExponentialBackoff(retryNumber) { | ||||
|         retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); | ||||
|         const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); | ||||
|         return new Promise(resolve => setTimeout(() => resolve(), ms)); | ||||
|     } | ||||
|     static dateTimeDeserializer(key, value) { | ||||
|         if (typeof value === 'string') { | ||||
|             let a = new Date(value); | ||||
|             if (!isNaN(a.valueOf())) { | ||||
|                 return a; | ||||
|             } | ||||
|         } | ||||
|         return value; | ||||
|     } | ||||
|     async _processResponse(res, options) { | ||||
|         return new Promise(async (resolve, reject) => { | ||||
|             const statusCode = res.message.statusCode; | ||||
|             const response = { | ||||
|                 statusCode: statusCode, | ||||
|                 result: null, | ||||
|                 headers: {} | ||||
|             }; | ||||
|             // not found leads to null obj returned
 | ||||
|             if (statusCode == HttpCodes.NotFound) { | ||||
|                 resolve(response); | ||||
|             } | ||||
|             let obj; | ||||
|             let contents; | ||||
|             // get the result from the body
 | ||||
|             try { | ||||
|                 contents = await res.readBody(); | ||||
|                 if (contents && contents.length > 0) { | ||||
|                     if (options && options.deserializeDates) { | ||||
|                         obj = JSON.parse(contents, HttpClient.dateTimeDeserializer); | ||||
|                     } | ||||
|                     else { | ||||
|                         obj = JSON.parse(contents); | ||||
|                     } | ||||
|                     response.result = obj; | ||||
|                 } | ||||
|                 response.headers = res.message.headers; | ||||
|             } | ||||
|             catch (err) { | ||||
|                 // Invalid resource (contents not json);  leaving result obj null
 | ||||
|             } | ||||
|             // note that 3xx redirects are handled by the http layer.
 | ||||
|             if (statusCode > 299) { | ||||
|                 let msg; | ||||
|                 // if exception/error in body, attempt to get better error
 | ||||
|                 if (obj && obj.message) { | ||||
|                     msg = obj.message; | ||||
|                 } | ||||
|                 else if (contents && contents.length > 0) { | ||||
|                     // it may be the case that the exception is in the body message as string
 | ||||
|                     msg = contents; | ||||
|                 } | ||||
|                 else { | ||||
|                     msg = 'Failed request: (' + statusCode + ')'; | ||||
|                 } | ||||
|                 let err = new HttpClientError(msg, statusCode); | ||||
|                 err.result = response.result; | ||||
|                 reject(err); | ||||
|             } | ||||
|             else { | ||||
|                 resolve(response); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClient = HttpClient; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 539 */, | ||||
| /* 540 */, | ||||
| /* 541 */ | ||||
| /***/ (function(module) { | ||||
| @ -41675,8 +41898,14 @@ CombinedStream.prototype._emitError = function(err) { | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 548 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| /* 548 */, | ||||
| /* 549 */, | ||||
| /* 550 */, | ||||
| /* 551 */, | ||||
| /* 552 */, | ||||
| /* 553 */, | ||||
| /* 554 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| @ -41690,282 +41919,78 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; | ||||
| const os_1 = __webpack_require__(87); | ||||
| const fs_1 = __webpack_require__(747); | ||||
| const { access, appendFile, writeFile } = fs_1.promises; | ||||
| exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; | ||||
| exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-markdown-summary'; | ||||
| class MarkdownSummary { | ||||
|     constructor() { | ||||
|         this._buffer = ''; | ||||
| exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; | ||||
| class BasicCredentialHandler { | ||||
|     constructor(username, password) { | ||||
|         this.username = username; | ||||
|         this.password = password; | ||||
|     } | ||||
|     /** | ||||
|      * Finds the summary file path from the environment, rejects if env var is not found or file does not exist | ||||
|      * Also checks r/w permissions. | ||||
|      * | ||||
|      * @returns step summary file path | ||||
|      */ | ||||
|     filePath() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (this._filePath) { | ||||
|                 return this._filePath; | ||||
|             } | ||||
|             const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; | ||||
|             if (!pathFromEnv) { | ||||
|                 throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports markdown summaries.`); | ||||
|             } | ||||
|             try { | ||||
|                 yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); | ||||
|             } | ||||
|             catch (_a) { | ||||
|                 throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); | ||||
|             } | ||||
|             this._filePath = pathFromEnv; | ||||
|             return this._filePath; | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Wraps content in an HTML tag, adding any HTML attributes | ||||
|      * | ||||
|      * @param {string} tag HTML tag to wrap | ||||
|      * @param {string | null} content content within the tag | ||||
|      * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add | ||||
|      * | ||||
|      * @returns {string} content wrapped in HTML element | ||||
|      */ | ||||
|     wrap(tag, content, attrs = {}) { | ||||
|         const htmlAttrs = Object.entries(attrs) | ||||
|             .map(([key, value]) => ` ${key}="${value}"`) | ||||
|             .join(''); | ||||
|         if (!content) { | ||||
|             return `<${tag}${htmlAttrs}>`; | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         return `<${tag}${htmlAttrs}>${content}</${tag}>`; | ||||
|         options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; | ||||
|     } | ||||
|     /** | ||||
|      * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. | ||||
|      * | ||||
|      * @param {SummaryWriteOptions} [options] (optional) options for write operation | ||||
|      * | ||||
|      * @returns {Promise<MarkdownSummary>} markdown summary instance | ||||
|      */ | ||||
|     write(options) { | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); | ||||
|             const filePath = yield this.filePath(); | ||||
|             const writeFunc = overwrite ? writeFile : appendFile; | ||||
|             yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); | ||||
|             return this.emptyBuffer(); | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Clears the summary buffer and wipes the summary file | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     clear() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.emptyBuffer().write({ overwrite: true }); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Returns the current summary buffer as a string | ||||
|      * | ||||
|      * @returns {string} string of summary buffer | ||||
|      */ | ||||
|     stringify() { | ||||
|         return this._buffer; | ||||
|     } | ||||
|     /** | ||||
|      * If the summary buffer is empty | ||||
|      * | ||||
|      * @returns {boolen} true if the buffer is empty | ||||
|      */ | ||||
|     isEmptyBuffer() { | ||||
|         return this._buffer.length === 0; | ||||
|     } | ||||
|     /** | ||||
|      * Resets the summary buffer without writing to summary file | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     emptyBuffer() { | ||||
|         this._buffer = ''; | ||||
|         return this; | ||||
|     } | ||||
|     /** | ||||
|      * Adds raw text to the summary buffer | ||||
|      * | ||||
|      * @param {string} text content to add | ||||
|      * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addRaw(text, addEOL = false) { | ||||
|         this._buffer += text; | ||||
|         return addEOL ? this.addEOL() : this; | ||||
|     } | ||||
|     /** | ||||
|      * Adds the operating system-specific end-of-line marker to the buffer | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addEOL() { | ||||
|         return this.addRaw(os_1.EOL); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML codeblock to the summary buffer | ||||
|      * | ||||
|      * @param {string} code content to render within fenced code block | ||||
|      * @param {string} lang (optional) language to syntax highlight code | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addCodeBlock(code, lang) { | ||||
|         const attrs = Object.assign({}, (lang && { lang })); | ||||
|         const element = this.wrap('pre', this.wrap('code', code), attrs); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML list to the summary buffer | ||||
|      * | ||||
|      * @param {string[]} items list of items to render | ||||
|      * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addList(items, ordered = false) { | ||||
|         const tag = ordered ? 'ol' : 'ul'; | ||||
|         const listItems = items.map(item => this.wrap('li', item)).join(''); | ||||
|         const element = this.wrap(tag, listItems); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML table to the summary buffer | ||||
|      * | ||||
|      * @param {SummaryTableCell[]} rows table rows | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addTable(rows) { | ||||
|         const tableBody = rows | ||||
|             .map(row => { | ||||
|             const cells = row | ||||
|                 .map(cell => { | ||||
|                 if (typeof cell === 'string') { | ||||
|                     return this.wrap('td', cell); | ||||
|                 } | ||||
|                 const { header, data, colspan, rowspan } = cell; | ||||
|                 const tag = header ? 'th' : 'td'; | ||||
|                 const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); | ||||
|                 return this.wrap(tag, data, attrs); | ||||
|             }) | ||||
|                 .join(''); | ||||
|             return this.wrap('tr', cells); | ||||
|         }) | ||||
|             .join(''); | ||||
|         const element = this.wrap('table', tableBody); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds a collapsable HTML details element to the summary buffer | ||||
|      * | ||||
|      * @param {string} label text for the closed state | ||||
|      * @param {string} content collapsable content | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addDetails(label, content) { | ||||
|         const element = this.wrap('details', this.wrap('summary', label) + content); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML image tag to the summary buffer | ||||
|      * | ||||
|      * @param {string} src path to the image you to embed | ||||
|      * @param {string} alt text description of the image | ||||
|      * @param {SummaryImageOptions} options (optional) addition image attributes | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addImage(src, alt, options) { | ||||
|         const { width, height } = options || {}; | ||||
|         const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); | ||||
|         const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML section heading element | ||||
|      * | ||||
|      * @param {string} text heading text | ||||
|      * @param {number | string} [level=1] (optional) the heading level, default: 1 | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addHeading(text, level) { | ||||
|         const tag = `h${level}`; | ||||
|         const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) | ||||
|             ? tag | ||||
|             : 'h1'; | ||||
|         const element = this.wrap(allowedTag, text); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML thematic break (<hr>) to the summary buffer | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addSeparator() { | ||||
|         const element = this.wrap('hr', null); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML line break (<br>) to the summary buffer | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addBreak() { | ||||
|         const element = this.wrap('br', null); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML blockquote to the summary buffer | ||||
|      * | ||||
|      * @param {string} text quote text | ||||
|      * @param {string} cite (optional) citation url | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addQuote(text, cite) { | ||||
|         const attrs = Object.assign({}, (cite && { cite })); | ||||
|         const element = this.wrap('blockquote', text, attrs); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML anchor tag to the summary buffer | ||||
|      * | ||||
|      * @param {string} text link text/content | ||||
|      * @param {string} href hyperlink | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addLink(text, href) { | ||||
|         const element = this.wrap('a', text, { href }); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
| } | ||||
| // singleton export
 | ||||
| exports.markdownSummary = new MarkdownSummary(); | ||||
| //# sourceMappingURL=markdown-summary.js.map
 | ||||
| exports.BasicCredentialHandler = BasicCredentialHandler; | ||||
| class BearerCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Bearer ${this.token}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.BearerCredentialHandler = BearerCredentialHandler; | ||||
| class PersonalAccessTokenCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; | ||||
| //# sourceMappingURL=auth.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 549 */, | ||||
| /* 550 */, | ||||
| /* 551 */, | ||||
| /* 552 */, | ||||
| /* 553 */, | ||||
| /* 554 */, | ||||
| /* 555 */, | ||||
| /* 556 */ | ||||
| /***/ (function(module) { | ||||
| @ -42369,8 +42394,92 @@ function clean(key) | ||||
| /* 569 */, | ||||
| /* 570 */, | ||||
| /* 571 */, | ||||
| /* 572 */, | ||||
| /* 573 */, | ||||
| /* 572 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _v = _interopRequireDefault(__webpack_require__(136)); | ||||
| 
 | ||||
| var _md = _interopRequireDefault(__webpack_require__(659)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| const v3 = (0, _v.default)('v3', 0x30, _md.default); | ||||
| var _default = v3; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 573 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| /** | ||||
|  * toPosixPath converts the given path to the posix form. On Windows, \\ will be | ||||
|  * replaced with /. | ||||
|  * | ||||
|  * @param pth. Path to transform. | ||||
|  * @return string Posix path. | ||||
|  */ | ||||
| function toPosixPath(pth) { | ||||
|     return pth.replace(/[\\]/g, '/'); | ||||
| } | ||||
| exports.toPosixPath = toPosixPath; | ||||
| /** | ||||
|  * toWin32Path converts the given path to the win32 form. On Linux, / will be | ||||
|  * replaced with \\. | ||||
|  * | ||||
|  * @param pth. Path to transform. | ||||
|  * @return string Win32 path. | ||||
|  */ | ||||
| function toWin32Path(pth) { | ||||
|     return pth.replace(/[/]/g, '\\'); | ||||
| } | ||||
| exports.toWin32Path = toWin32Path; | ||||
| /** | ||||
|  * toPlatformPath converts the given path to a platform-specific path. It does | ||||
|  * this by replacing instances of / and \ with the platform-specific path | ||||
|  * separator. | ||||
|  * | ||||
|  * @param pth The path to platformize. | ||||
|  * @return string The platform-specific path. | ||||
|  */ | ||||
| function toPlatformPath(pth) { | ||||
|     return pth.replace(/[/\\]/g, path.sep); | ||||
| } | ||||
| exports.toPlatformPath = toPlatformPath; | ||||
| //# sourceMappingURL=path-utils.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 574 */, | ||||
| /* 575 */, | ||||
| /* 576 */, | ||||
| @ -43846,11 +43955,54 @@ exports.isValid = function (domain) { | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 633 */, | ||||
| /* 634 */, | ||||
| /* 634 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _regex = _interopRequireDefault(__webpack_require__(525)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function validate(uuid) { | ||||
|   return typeof uuid === 'string' && _regex.default.test(uuid); | ||||
| } | ||||
| 
 | ||||
| var _default = validate; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 635 */, | ||||
| /* 636 */, | ||||
| /* 637 */, | ||||
| /* 638 */, | ||||
| /* 638 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _v = _interopRequireDefault(__webpack_require__(136)); | ||||
| 
 | ||||
| var _sha = _interopRequireDefault(__webpack_require__(329)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| const v5 = (0, _v.default)('v5', 0x50, _sha.default); | ||||
| var _default = v5; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 639 */ | ||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | ||||
| 
 | ||||
| @ -45903,7 +46055,35 @@ module.exports.implForWrapper = function (wrapper) { | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 658 */, | ||||
| /* 659 */, | ||||
| /* 659 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _crypto = _interopRequireDefault(__webpack_require__(417)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function md5(bytes) { | ||||
|   if (Array.isArray(bytes)) { | ||||
|     bytes = Buffer.from(bytes); | ||||
|   } else if (typeof bytes === 'string') { | ||||
|     bytes = Buffer.from(bytes, 'utf8'); | ||||
|   } | ||||
| 
 | ||||
|   return _crypto.default.createHash('md5').update(bytes).digest(); | ||||
| } | ||||
| 
 | ||||
| var _default = md5; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 660 */ | ||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | ||||
| 
 | ||||
| @ -46051,7 +46231,295 @@ module.exports.implForWrapper = function (wrapper) { | ||||
| /* 662 */, | ||||
| /* 663 */, | ||||
| /* 664 */, | ||||
| /* 665 */, | ||||
| /* 665 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; | ||||
| const os_1 = __webpack_require__(87); | ||||
| const fs_1 = __webpack_require__(747); | ||||
| const { access, appendFile, writeFile } = fs_1.promises; | ||||
| exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; | ||||
| exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; | ||||
| class Summary { | ||||
|     constructor() { | ||||
|         this._buffer = ''; | ||||
|     } | ||||
|     /** | ||||
|      * Finds the summary file path from the environment, rejects if env var is not found or file does not exist | ||||
|      * Also checks r/w permissions. | ||||
|      * | ||||
|      * @returns step summary file path | ||||
|      */ | ||||
|     filePath() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (this._filePath) { | ||||
|                 return this._filePath; | ||||
|             } | ||||
|             const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; | ||||
|             if (!pathFromEnv) { | ||||
|                 throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); | ||||
|             } | ||||
|             try { | ||||
|                 yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); | ||||
|             } | ||||
|             catch (_a) { | ||||
|                 throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); | ||||
|             } | ||||
|             this._filePath = pathFromEnv; | ||||
|             return this._filePath; | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Wraps content in an HTML tag, adding any HTML attributes | ||||
|      * | ||||
|      * @param {string} tag HTML tag to wrap | ||||
|      * @param {string | null} content content within the tag | ||||
|      * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add | ||||
|      * | ||||
|      * @returns {string} content wrapped in HTML element | ||||
|      */ | ||||
|     wrap(tag, content, attrs = {}) { | ||||
|         const htmlAttrs = Object.entries(attrs) | ||||
|             .map(([key, value]) => ` ${key}="${value}"`) | ||||
|             .join(''); | ||||
|         if (!content) { | ||||
|             return `<${tag}${htmlAttrs}>`; | ||||
|         } | ||||
|         return `<${tag}${htmlAttrs}>${content}</${tag}>`; | ||||
|     } | ||||
|     /** | ||||
|      * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. | ||||
|      * | ||||
|      * @param {SummaryWriteOptions} [options] (optional) options for write operation | ||||
|      * | ||||
|      * @returns {Promise<Summary>} summary instance | ||||
|      */ | ||||
|     write(options) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); | ||||
|             const filePath = yield this.filePath(); | ||||
|             const writeFunc = overwrite ? writeFile : appendFile; | ||||
|             yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); | ||||
|             return this.emptyBuffer(); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Clears the summary buffer and wipes the summary file | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     clear() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.emptyBuffer().write({ overwrite: true }); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Returns the current summary buffer as a string | ||||
|      * | ||||
|      * @returns {string} string of summary buffer | ||||
|      */ | ||||
|     stringify() { | ||||
|         return this._buffer; | ||||
|     } | ||||
|     /** | ||||
|      * If the summary buffer is empty | ||||
|      * | ||||
|      * @returns {boolen} true if the buffer is empty | ||||
|      */ | ||||
|     isEmptyBuffer() { | ||||
|         return this._buffer.length === 0; | ||||
|     } | ||||
|     /** | ||||
|      * Resets the summary buffer without writing to summary file | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     emptyBuffer() { | ||||
|         this._buffer = ''; | ||||
|         return this; | ||||
|     } | ||||
|     /** | ||||
|      * Adds raw text to the summary buffer | ||||
|      * | ||||
|      * @param {string} text content to add | ||||
|      * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addRaw(text, addEOL = false) { | ||||
|         this._buffer += text; | ||||
|         return addEOL ? this.addEOL() : this; | ||||
|     } | ||||
|     /** | ||||
|      * Adds the operating system-specific end-of-line marker to the buffer | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addEOL() { | ||||
|         return this.addRaw(os_1.EOL); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML codeblock to the summary buffer | ||||
|      * | ||||
|      * @param {string} code content to render within fenced code block | ||||
|      * @param {string} lang (optional) language to syntax highlight code | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addCodeBlock(code, lang) { | ||||
|         const attrs = Object.assign({}, (lang && { lang })); | ||||
|         const element = this.wrap('pre', this.wrap('code', code), attrs); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML list to the summary buffer | ||||
|      * | ||||
|      * @param {string[]} items list of items to render | ||||
|      * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addList(items, ordered = false) { | ||||
|         const tag = ordered ? 'ol' : 'ul'; | ||||
|         const listItems = items.map(item => this.wrap('li', item)).join(''); | ||||
|         const element = this.wrap(tag, listItems); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML table to the summary buffer | ||||
|      * | ||||
|      * @param {SummaryTableCell[]} rows table rows | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addTable(rows) { | ||||
|         const tableBody = rows | ||||
|             .map(row => { | ||||
|             const cells = row | ||||
|                 .map(cell => { | ||||
|                 if (typeof cell === 'string') { | ||||
|                     return this.wrap('td', cell); | ||||
|                 } | ||||
|                 const { header, data, colspan, rowspan } = cell; | ||||
|                 const tag = header ? 'th' : 'td'; | ||||
|                 const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); | ||||
|                 return this.wrap(tag, data, attrs); | ||||
|             }) | ||||
|                 .join(''); | ||||
|             return this.wrap('tr', cells); | ||||
|         }) | ||||
|             .join(''); | ||||
|         const element = this.wrap('table', tableBody); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds a collapsable HTML details element to the summary buffer | ||||
|      * | ||||
|      * @param {string} label text for the closed state | ||||
|      * @param {string} content collapsable content | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addDetails(label, content) { | ||||
|         const element = this.wrap('details', this.wrap('summary', label) + content); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML image tag to the summary buffer | ||||
|      * | ||||
|      * @param {string} src path to the image you to embed | ||||
|      * @param {string} alt text description of the image | ||||
|      * @param {SummaryImageOptions} options (optional) addition image attributes | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addImage(src, alt, options) { | ||||
|         const { width, height } = options || {}; | ||||
|         const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); | ||||
|         const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML section heading element | ||||
|      * | ||||
|      * @param {string} text heading text | ||||
|      * @param {number | string} [level=1] (optional) the heading level, default: 1 | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addHeading(text, level) { | ||||
|         const tag = `h${level}`; | ||||
|         const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) | ||||
|             ? tag | ||||
|             : 'h1'; | ||||
|         const element = this.wrap(allowedTag, text); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML thematic break (<hr>) to the summary buffer | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addSeparator() { | ||||
|         const element = this.wrap('hr', null); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML line break (<br>) to the summary buffer | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addBreak() { | ||||
|         const element = this.wrap('br', null); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML blockquote to the summary buffer | ||||
|      * | ||||
|      * @param {string} text quote text | ||||
|      * @param {string} cite (optional) citation url | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addQuote(text, cite) { | ||||
|         const attrs = Object.assign({}, (cite && { cite })); | ||||
|         const element = this.wrap('blockquote', text, attrs); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML anchor tag to the summary buffer | ||||
|      * | ||||
|      * @param {string} text link text/content | ||||
|      * @param {string} href hyperlink | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addLink(text, href) { | ||||
|         const element = this.wrap('a', text, { href }); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
| } | ||||
| const _summary = new Summary(); | ||||
| /** | ||||
|  * @deprecated use `core.summary` | ||||
|  */ | ||||
| exports.markdownSummary = _summary; | ||||
| exports.summary = _summary; | ||||
| //# sourceMappingURL=summary.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 666 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| @ -47149,617 +47617,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 709 */, | ||||
| /* 710 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; | ||||
| const http = __importStar(__webpack_require__(605)); | ||||
| const https = __importStar(__webpack_require__(211)); | ||||
| const pm = __importStar(__webpack_require__(243)); | ||||
| const tunnel = __importStar(__webpack_require__(413)); | ||||
| var HttpCodes; | ||||
| (function (HttpCodes) { | ||||
|     HttpCodes[HttpCodes["OK"] = 200] = "OK"; | ||||
|     HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; | ||||
|     HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; | ||||
|     HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; | ||||
|     HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; | ||||
|     HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; | ||||
|     HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; | ||||
|     HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; | ||||
|     HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; | ||||
|     HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; | ||||
|     HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; | ||||
|     HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; | ||||
|     HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; | ||||
|     HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; | ||||
|     HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; | ||||
|     HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; | ||||
|     HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; | ||||
|     HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; | ||||
|     HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; | ||||
|     HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; | ||||
|     HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; | ||||
|     HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; | ||||
|     HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; | ||||
|     HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; | ||||
|     HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; | ||||
|     HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; | ||||
|     HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; | ||||
| })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); | ||||
| var Headers; | ||||
| (function (Headers) { | ||||
|     Headers["Accept"] = "accept"; | ||||
|     Headers["ContentType"] = "content-type"; | ||||
| })(Headers = exports.Headers || (exports.Headers = {})); | ||||
| var MediaTypes; | ||||
| (function (MediaTypes) { | ||||
|     MediaTypes["ApplicationJson"] = "application/json"; | ||||
| })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); | ||||
| /** | ||||
|  * Returns the proxy URL, depending upon the supplied url and proxy environment variables. | ||||
|  * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|  */ | ||||
| function getProxyUrl(serverUrl) { | ||||
|     const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); | ||||
|     return proxyUrl ? proxyUrl.href : ''; | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| const HttpRedirectCodes = [ | ||||
|     HttpCodes.MovedPermanently, | ||||
|     HttpCodes.ResourceMoved, | ||||
|     HttpCodes.SeeOther, | ||||
|     HttpCodes.TemporaryRedirect, | ||||
|     HttpCodes.PermanentRedirect | ||||
| ]; | ||||
| const HttpResponseRetryCodes = [ | ||||
|     HttpCodes.BadGateway, | ||||
|     HttpCodes.ServiceUnavailable, | ||||
|     HttpCodes.GatewayTimeout | ||||
| ]; | ||||
| const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; | ||||
| const ExponentialBackoffCeiling = 10; | ||||
| const ExponentialBackoffTimeSlice = 5; | ||||
| class HttpClientError extends Error { | ||||
|     constructor(message, statusCode) { | ||||
|         super(message); | ||||
|         this.name = 'HttpClientError'; | ||||
|         this.statusCode = statusCode; | ||||
|         Object.setPrototypeOf(this, HttpClientError.prototype); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientError = HttpClientError; | ||||
| class HttpClientResponse { | ||||
|     constructor(message) { | ||||
|         this.message = message; | ||||
|     } | ||||
|     readBody() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { | ||||
|                 let output = Buffer.alloc(0); | ||||
|                 this.message.on('data', (chunk) => { | ||||
|                     output = Buffer.concat([output, chunk]); | ||||
|                 }); | ||||
|                 this.message.on('end', () => { | ||||
|                     resolve(output.toString()); | ||||
|                 }); | ||||
|             })); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientResponse = HttpClientResponse; | ||||
| function isHttps(requestUrl) { | ||||
|     const parsedUrl = new URL(requestUrl); | ||||
|     return parsedUrl.protocol === 'https:'; | ||||
| } | ||||
| exports.isHttps = isHttps; | ||||
| class HttpClient { | ||||
|     constructor(userAgent, handlers, requestOptions) { | ||||
|         this._ignoreSslError = false; | ||||
|         this._allowRedirects = true; | ||||
|         this._allowRedirectDowngrade = false; | ||||
|         this._maxRedirects = 50; | ||||
|         this._allowRetries = false; | ||||
|         this._maxRetries = 1; | ||||
|         this._keepAlive = false; | ||||
|         this._disposed = false; | ||||
|         this.userAgent = userAgent; | ||||
|         this.handlers = handlers || []; | ||||
|         this.requestOptions = requestOptions; | ||||
|         if (requestOptions) { | ||||
|             if (requestOptions.ignoreSslError != null) { | ||||
|                 this._ignoreSslError = requestOptions.ignoreSslError; | ||||
|             } | ||||
|             this._socketTimeout = requestOptions.socketTimeout; | ||||
|             if (requestOptions.allowRedirects != null) { | ||||
|                 this._allowRedirects = requestOptions.allowRedirects; | ||||
|             } | ||||
|             if (requestOptions.allowRedirectDowngrade != null) { | ||||
|                 this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; | ||||
|             } | ||||
|             if (requestOptions.maxRedirects != null) { | ||||
|                 this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); | ||||
|             } | ||||
|             if (requestOptions.keepAlive != null) { | ||||
|                 this._keepAlive = requestOptions.keepAlive; | ||||
|             } | ||||
|             if (requestOptions.allowRetries != null) { | ||||
|                 this._allowRetries = requestOptions.allowRetries; | ||||
|             } | ||||
|             if (requestOptions.maxRetries != null) { | ||||
|                 this._maxRetries = requestOptions.maxRetries; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     options(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     get(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('GET', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     del(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('DELETE', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     post(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('POST', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     patch(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('PATCH', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     put(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('PUT', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     head(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('HEAD', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     sendStream(verb, requestUrl, stream, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request(verb, requestUrl, stream, additionalHeaders); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Gets a typed object from an endpoint | ||||
|      * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise | ||||
|      */ | ||||
|     getJson(requestUrl, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.get(requestUrl, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     postJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.post(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     putJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.put(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     patchJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.patch(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Makes a raw http request. | ||||
|      * All other methods such as get, post, patch, and request ultimately call this. | ||||
|      * Prefer get, del, post and patch | ||||
|      */ | ||||
|     request(verb, requestUrl, data, headers) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (this._disposed) { | ||||
|                 throw new Error('Client has already been disposed.'); | ||||
|             } | ||||
|             const parsedUrl = new URL(requestUrl); | ||||
|             let info = this._prepareRequest(verb, parsedUrl, headers); | ||||
|             // Only perform retries on reads since writes may not be idempotent.
 | ||||
|             const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) | ||||
|                 ? this._maxRetries + 1 | ||||
|                 : 1; | ||||
|             let numTries = 0; | ||||
|             let response; | ||||
|             do { | ||||
|                 response = yield this.requestRaw(info, data); | ||||
|                 // Check if it's an authentication challenge
 | ||||
|                 if (response && | ||||
|                     response.message && | ||||
|                     response.message.statusCode === HttpCodes.Unauthorized) { | ||||
|                     let authenticationHandler; | ||||
|                     for (const handler of this.handlers) { | ||||
|                         if (handler.canHandleAuthentication(response)) { | ||||
|                             authenticationHandler = handler; | ||||
|                             break; | ||||
|                         } | ||||
|                     } | ||||
|                     if (authenticationHandler) { | ||||
|                         return authenticationHandler.handleAuthentication(this, info, data); | ||||
|                     } | ||||
|                     else { | ||||
|                         // We have received an unauthorized response but have no handlers to handle it.
 | ||||
|                         // Let the response return to the caller.
 | ||||
|                         return response; | ||||
|                     } | ||||
|                 } | ||||
|                 let redirectsRemaining = this._maxRedirects; | ||||
|                 while (response.message.statusCode && | ||||
|                     HttpRedirectCodes.includes(response.message.statusCode) && | ||||
|                     this._allowRedirects && | ||||
|                     redirectsRemaining > 0) { | ||||
|                     const redirectUrl = response.message.headers['location']; | ||||
|                     if (!redirectUrl) { | ||||
|                         // if there's no location to redirect to, we won't
 | ||||
|                         break; | ||||
|                     } | ||||
|                     const parsedRedirectUrl = new URL(redirectUrl); | ||||
|                     if (parsedUrl.protocol === 'https:' && | ||||
|                         parsedUrl.protocol !== parsedRedirectUrl.protocol && | ||||
|                         !this._allowRedirectDowngrade) { | ||||
|                         throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); | ||||
|                     } | ||||
|                     // we need to finish reading the response before reassigning response
 | ||||
|                     // which will leak the open socket.
 | ||||
|                     yield response.readBody(); | ||||
|                     // strip authorization header if redirected to a different hostname
 | ||||
|                     if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { | ||||
|                         for (const header in headers) { | ||||
|                             // header names are case insensitive
 | ||||
|                             if (header.toLowerCase() === 'authorization') { | ||||
|                                 delete headers[header]; | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                     // let's make the request with the new redirectUrl
 | ||||
|                     info = this._prepareRequest(verb, parsedRedirectUrl, headers); | ||||
|                     response = yield this.requestRaw(info, data); | ||||
|                     redirectsRemaining--; | ||||
|                 } | ||||
|                 if (!response.message.statusCode || | ||||
|                     !HttpResponseRetryCodes.includes(response.message.statusCode)) { | ||||
|                     // If not a retry code, return immediately instead of retrying
 | ||||
|                     return response; | ||||
|                 } | ||||
|                 numTries += 1; | ||||
|                 if (numTries < maxTries) { | ||||
|                     yield response.readBody(); | ||||
|                     yield this._performExponentialBackoff(numTries); | ||||
|                 } | ||||
|             } while (numTries < maxTries); | ||||
|             return response; | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Needs to be called if keepAlive is set to true in request options. | ||||
|      */ | ||||
|     dispose() { | ||||
|         if (this._agent) { | ||||
|             this._agent.destroy(); | ||||
|         } | ||||
|         this._disposed = true; | ||||
|     } | ||||
|     /** | ||||
|      * Raw request. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      */ | ||||
|     requestRaw(info, data) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve, reject) => { | ||||
|                 function callbackForResult(err, res) { | ||||
|                     if (err) { | ||||
|                         reject(err); | ||||
|                     } | ||||
|                     else if (!res) { | ||||
|                         // If `err` is not passed, then `res` must be passed.
 | ||||
|                         reject(new Error('Unknown error')); | ||||
|                     } | ||||
|                     else { | ||||
|                         resolve(res); | ||||
|                     } | ||||
|                 } | ||||
|                 this.requestRawWithCallback(info, data, callbackForResult); | ||||
|             }); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Raw request with callback. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      * @param onResult | ||||
|      */ | ||||
|     requestRawWithCallback(info, data, onResult) { | ||||
|         if (typeof data === 'string') { | ||||
|             if (!info.options.headers) { | ||||
|                 info.options.headers = {}; | ||||
|             } | ||||
|             info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); | ||||
|         } | ||||
|         let callbackCalled = false; | ||||
|         function handleResult(err, res) { | ||||
|             if (!callbackCalled) { | ||||
|                 callbackCalled = true; | ||||
|                 onResult(err, res); | ||||
|             } | ||||
|         } | ||||
|         const req = info.httpModule.request(info.options, (msg) => { | ||||
|             const res = new HttpClientResponse(msg); | ||||
|             handleResult(undefined, res); | ||||
|         }); | ||||
|         let socket; | ||||
|         req.on('socket', sock => { | ||||
|             socket = sock; | ||||
|         }); | ||||
|         // If we ever get disconnected, we want the socket to timeout eventually
 | ||||
|         req.setTimeout(this._socketTimeout || 3 * 60000, () => { | ||||
|             if (socket) { | ||||
|                 socket.end(); | ||||
|             } | ||||
|             handleResult(new Error(`Request timeout: ${info.options.path}`)); | ||||
|         }); | ||||
|         req.on('error', function (err) { | ||||
|             // err has statusCode property
 | ||||
|             // res should have headers
 | ||||
|             handleResult(err); | ||||
|         }); | ||||
|         if (data && typeof data === 'string') { | ||||
|             req.write(data, 'utf8'); | ||||
|         } | ||||
|         if (data && typeof data !== 'string') { | ||||
|             data.on('close', function () { | ||||
|                 req.end(); | ||||
|             }); | ||||
|             data.pipe(req); | ||||
|         } | ||||
|         else { | ||||
|             req.end(); | ||||
|         } | ||||
|     } | ||||
|     /** | ||||
|      * Gets an http agent. This function is useful when you need an http agent that handles | ||||
|      * routing through a proxy server - depending upon the url and proxy environment variables. | ||||
|      * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|      */ | ||||
|     getAgent(serverUrl) { | ||||
|         const parsedUrl = new URL(serverUrl); | ||||
|         return this._getAgent(parsedUrl); | ||||
|     } | ||||
|     _prepareRequest(method, requestUrl, headers) { | ||||
|         const info = {}; | ||||
|         info.parsedUrl = requestUrl; | ||||
|         const usingSsl = info.parsedUrl.protocol === 'https:'; | ||||
|         info.httpModule = usingSsl ? https : http; | ||||
|         const defaultPort = usingSsl ? 443 : 80; | ||||
|         info.options = {}; | ||||
|         info.options.host = info.parsedUrl.hostname; | ||||
|         info.options.port = info.parsedUrl.port | ||||
|             ? parseInt(info.parsedUrl.port) | ||||
|             : defaultPort; | ||||
|         info.options.path = | ||||
|             (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); | ||||
|         info.options.method = method; | ||||
|         info.options.headers = this._mergeHeaders(headers); | ||||
|         if (this.userAgent != null) { | ||||
|             info.options.headers['user-agent'] = this.userAgent; | ||||
|         } | ||||
|         info.options.agent = this._getAgent(info.parsedUrl); | ||||
|         // gives handlers an opportunity to participate
 | ||||
|         if (this.handlers) { | ||||
|             for (const handler of this.handlers) { | ||||
|                 handler.prepareRequest(info.options); | ||||
|             } | ||||
|         } | ||||
|         return info; | ||||
|     } | ||||
|     _mergeHeaders(headers) { | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); | ||||
|         } | ||||
|         return lowercaseKeys(headers || {}); | ||||
|     } | ||||
|     _getExistingOrDefaultHeader(additionalHeaders, header, _default) { | ||||
|         let clientHeader; | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; | ||||
|         } | ||||
|         return additionalHeaders[header] || clientHeader || _default; | ||||
|     } | ||||
|     _getAgent(parsedUrl) { | ||||
|         let agent; | ||||
|         const proxyUrl = pm.getProxyUrl(parsedUrl); | ||||
|         const useProxy = proxyUrl && proxyUrl.hostname; | ||||
|         if (this._keepAlive && useProxy) { | ||||
|             agent = this._proxyAgent; | ||||
|         } | ||||
|         if (this._keepAlive && !useProxy) { | ||||
|             agent = this._agent; | ||||
|         } | ||||
|         // if agent is already assigned use that agent.
 | ||||
|         if (agent) { | ||||
|             return agent; | ||||
|         } | ||||
|         const usingSsl = parsedUrl.protocol === 'https:'; | ||||
|         let maxSockets = 100; | ||||
|         if (this.requestOptions) { | ||||
|             maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; | ||||
|         } | ||||
|         // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.
 | ||||
|         if (proxyUrl && proxyUrl.hostname) { | ||||
|             const agentOptions = { | ||||
|                 maxSockets, | ||||
|                 keepAlive: this._keepAlive, | ||||
|                 proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { | ||||
|                     proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` | ||||
|                 })), { host: proxyUrl.hostname, port: proxyUrl.port }) | ||||
|             }; | ||||
|             let tunnelAgent; | ||||
|             const overHttps = proxyUrl.protocol === 'https:'; | ||||
|             if (usingSsl) { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; | ||||
|             } | ||||
|             else { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; | ||||
|             } | ||||
|             agent = tunnelAgent(agentOptions); | ||||
|             this._proxyAgent = agent; | ||||
|         } | ||||
|         // if reusing agent across request and tunneling agent isn't assigned create a new agent
 | ||||
|         if (this._keepAlive && !agent) { | ||||
|             const options = { keepAlive: this._keepAlive, maxSockets }; | ||||
|             agent = usingSsl ? new https.Agent(options) : new http.Agent(options); | ||||
|             this._agent = agent; | ||||
|         } | ||||
|         // if not using private agent and tunnel agent isn't setup then use global agent
 | ||||
|         if (!agent) { | ||||
|             agent = usingSsl ? https.globalAgent : http.globalAgent; | ||||
|         } | ||||
|         if (usingSsl && this._ignoreSslError) { | ||||
|             // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
 | ||||
|             // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
 | ||||
|             // we have to cast it to any and change it directly
 | ||||
|             agent.options = Object.assign(agent.options || {}, { | ||||
|                 rejectUnauthorized: false | ||||
|             }); | ||||
|         } | ||||
|         return agent; | ||||
|     } | ||||
|     _performExponentialBackoff(retryNumber) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); | ||||
|             const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); | ||||
|             return new Promise(resolve => setTimeout(() => resolve(), ms)); | ||||
|         }); | ||||
|     } | ||||
|     _processResponse(res, options) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { | ||||
|                 const statusCode = res.message.statusCode || 0; | ||||
|                 const response = { | ||||
|                     statusCode, | ||||
|                     result: null, | ||||
|                     headers: {} | ||||
|                 }; | ||||
|                 // not found leads to null obj returned
 | ||||
|                 if (statusCode === HttpCodes.NotFound) { | ||||
|                     resolve(response); | ||||
|                 } | ||||
|                 // get the result from the body
 | ||||
|                 function dateTimeDeserializer(key, value) { | ||||
|                     if (typeof value === 'string') { | ||||
|                         const a = new Date(value); | ||||
|                         if (!isNaN(a.valueOf())) { | ||||
|                             return a; | ||||
|                         } | ||||
|                     } | ||||
|                     return value; | ||||
|                 } | ||||
|                 let obj; | ||||
|                 let contents; | ||||
|                 try { | ||||
|                     contents = yield res.readBody(); | ||||
|                     if (contents && contents.length > 0) { | ||||
|                         if (options && options.deserializeDates) { | ||||
|                             obj = JSON.parse(contents, dateTimeDeserializer); | ||||
|                         } | ||||
|                         else { | ||||
|                             obj = JSON.parse(contents); | ||||
|                         } | ||||
|                         response.result = obj; | ||||
|                     } | ||||
|                     response.headers = res.message.headers; | ||||
|                 } | ||||
|                 catch (err) { | ||||
|                     // Invalid resource (contents not json);  leaving result obj null
 | ||||
|                 } | ||||
|                 // note that 3xx redirects are handled by the http layer.
 | ||||
|                 if (statusCode > 299) { | ||||
|                     let msg; | ||||
|                     // if exception/error in body, attempt to get better error
 | ||||
|                     if (obj && obj.message) { | ||||
|                         msg = obj.message; | ||||
|                     } | ||||
|                     else if (contents && contents.length > 0) { | ||||
|                         // it may be the case that the exception is in the body message as string
 | ||||
|                         msg = contents; | ||||
|                     } | ||||
|                     else { | ||||
|                         msg = `Failed request: (${statusCode})`; | ||||
|                     } | ||||
|                     const err = new HttpClientError(msg, statusCode); | ||||
|                     err.result = response.result; | ||||
|                     reject(err); | ||||
|                 } | ||||
|                 else { | ||||
|                     resolve(response); | ||||
|                 } | ||||
|             })); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClient = HttpClient; | ||||
| const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 710 */, | ||||
| /* 711 */, | ||||
| /* 712 */, | ||||
| /* 713 */, | ||||
| @ -48222,8 +48080,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.OidcClient = void 0; | ||||
| const http_client_1 = __webpack_require__(539); | ||||
| const auth_1 = __webpack_require__(226); | ||||
| const http_client_1 = __webpack_require__(425); | ||||
| const auth_1 = __webpack_require__(554); | ||||
| const core_1 = __webpack_require__(470); | ||||
| class OidcClient { | ||||
|     static createHttpClient(allowRetry = true, maxRetry = 10) { | ||||
| @ -48384,7 +48242,62 @@ function async(callback) | ||||
| /***/ }), | ||||
| /* 752 */, | ||||
| /* 753 */, | ||||
| /* 754 */, | ||||
| /* 754 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| var __spreadArray = (this && this.__spreadArray) || function (to, from) { | ||||
|     for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) | ||||
|         to[j] = from[i]; | ||||
|     return to; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.NoopContextManager = void 0; | ||||
| var context_1 = __webpack_require__(132); | ||||
| var NoopContextManager = /** @class */ (function () { | ||||
|     function NoopContextManager() { | ||||
|     } | ||||
|     NoopContextManager.prototype.active = function () { | ||||
|         return context_1.ROOT_CONTEXT; | ||||
|     }; | ||||
|     NoopContextManager.prototype.with = function (_context, fn, thisArg) { | ||||
|         var args = []; | ||||
|         for (var _i = 3; _i < arguments.length; _i++) { | ||||
|             args[_i - 3] = arguments[_i]; | ||||
|         } | ||||
|         return fn.call.apply(fn, __spreadArray([thisArg], args)); | ||||
|     }; | ||||
|     NoopContextManager.prototype.bind = function (_context, target) { | ||||
|         return target; | ||||
|     }; | ||||
|     NoopContextManager.prototype.enable = function () { | ||||
|         return this; | ||||
|     }; | ||||
|     NoopContextManager.prototype.disable = function () { | ||||
|         return this; | ||||
|     }; | ||||
|     return NoopContextManager; | ||||
| }()); | ||||
| exports.NoopContextManager = NoopContextManager; | ||||
| //# sourceMappingURL=NoopContextManager.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 755 */, | ||||
| /* 756 */, | ||||
| /* 757 */, | ||||
| @ -48430,7 +48343,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||||
|     for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| __exportStar(__webpack_require__(145), exports); | ||||
| __exportStar(__webpack_require__(950), exports); | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -50480,7 +50393,119 @@ module.exports = require("stream"); | ||||
| /* 807 */, | ||||
| /* 808 */, | ||||
| /* 809 */, | ||||
| /* 810 */, | ||||
| /* 810 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _rng = _interopRequireDefault(__webpack_require__(506)); | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| // **`v1()` - Generate time-based UUID**
 | ||||
| //
 | ||||
| // Inspired by https://github.com/LiosK/UUID.js
 | ||||
| // and http://docs.python.org/library/uuid.html
 | ||||
| let _nodeId; | ||||
| 
 | ||||
| let _clockseq; // Previous uuid creation time
 | ||||
| 
 | ||||
| 
 | ||||
| let _lastMSecs = 0; | ||||
| let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details
 | ||||
| 
 | ||||
| function v1(options, buf, offset) { | ||||
|   let i = buf && offset || 0; | ||||
|   const b = buf || new Array(16); | ||||
|   options = options || {}; | ||||
|   let node = options.node || _nodeId; | ||||
|   let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not
 | ||||
|   // specified.  We do this lazily to minimize issues related to insufficient
 | ||||
|   // system entropy.  See #189
 | ||||
| 
 | ||||
|   if (node == null || clockseq == null) { | ||||
|     const seedBytes = options.random || (options.rng || _rng.default)(); | ||||
| 
 | ||||
|     if (node == null) { | ||||
|       // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
 | ||||
|       node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; | ||||
|     } | ||||
| 
 | ||||
|     if (clockseq == null) { | ||||
|       // Per 4.2.2, randomize (14 bit) clockseq
 | ||||
|       clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; | ||||
|     } | ||||
|   } // UUID timestamps are 100 nano-second units since the Gregorian epoch,
 | ||||
|   // (1582-10-15 00:00).  JSNumbers aren't precise enough for this, so
 | ||||
|   // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
 | ||||
|   // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
 | ||||
| 
 | ||||
| 
 | ||||
|   let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock
 | ||||
|   // cycle to simulate higher resolution clock
 | ||||
| 
 | ||||
|   let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)
 | ||||
| 
 | ||||
|   const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression
 | ||||
| 
 | ||||
|   if (dt < 0 && options.clockseq === undefined) { | ||||
|     clockseq = clockseq + 1 & 0x3fff; | ||||
|   } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
 | ||||
|   // time interval
 | ||||
| 
 | ||||
| 
 | ||||
|   if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { | ||||
|     nsecs = 0; | ||||
|   } // Per 4.2.1.2 Throw error if too many uuids are requested
 | ||||
| 
 | ||||
| 
 | ||||
|   if (nsecs >= 10000) { | ||||
|     throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); | ||||
|   } | ||||
| 
 | ||||
|   _lastMSecs = msecs; | ||||
|   _lastNSecs = nsecs; | ||||
|   _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
 | ||||
| 
 | ||||
|   msecs += 12219292800000; // `time_low`
 | ||||
| 
 | ||||
|   const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; | ||||
|   b[i++] = tl >>> 24 & 0xff; | ||||
|   b[i++] = tl >>> 16 & 0xff; | ||||
|   b[i++] = tl >>> 8 & 0xff; | ||||
|   b[i++] = tl & 0xff; // `time_mid`
 | ||||
| 
 | ||||
|   const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; | ||||
|   b[i++] = tmh >>> 8 & 0xff; | ||||
|   b[i++] = tmh & 0xff; // `time_high_and_version`
 | ||||
| 
 | ||||
|   b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
 | ||||
| 
 | ||||
|   b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
 | ||||
| 
 | ||||
|   b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`
 | ||||
| 
 | ||||
|   b[i++] = clockseq & 0xff; // `node`
 | ||||
| 
 | ||||
|   for (let n = 0; n < 6; ++n) { | ||||
|     b[i + n] = node[n]; | ||||
|   } | ||||
| 
 | ||||
|   return buf || (0, _stringify.default)(b); | ||||
| } | ||||
| 
 | ||||
| var _default = v1; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 811 */, | ||||
| /* 812 */, | ||||
| /* 813 */, | ||||
| @ -51031,7 +51056,7 @@ var __createBinding; | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.TraceAPI = void 0; | ||||
| var global_utils_1 = __webpack_require__(525); | ||||
| var global_utils_1 = __webpack_require__(94); | ||||
| var ProxyTracerProvider_1 = __webpack_require__(394); | ||||
| var spancontext_utils_1 = __webpack_require__(629); | ||||
| var context_utils_1 = __webpack_require__(720); | ||||
| @ -52611,7 +52636,7 @@ var __importStar = (this && this.__importStar) || function (mod) { | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const core = __importStar(__webpack_require__(470)); | ||||
| const http_client_1 = __webpack_require__(710); | ||||
| const http_client_1 = __webpack_require__(425); | ||||
| const constants_1 = __webpack_require__(931); | ||||
| function isSuccessStatusCode(statusCode) { | ||||
|     if (!statusCode) { | ||||
| @ -54821,63 +54846,27 @@ function terminator(callback) | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| function getProxyUrl(reqUrl) { | ||||
|     let usingSsl = reqUrl.protocol === 'https:'; | ||||
|     let proxyUrl; | ||||
|     if (checkBypass(reqUrl)) { | ||||
|         return proxyUrl; | ||||
|     } | ||||
|     let proxyVar; | ||||
|     if (usingSsl) { | ||||
|         proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY']; | ||||
|     } | ||||
|     else { | ||||
|         proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY']; | ||||
|     } | ||||
|     if (proxyVar) { | ||||
|         proxyUrl = new URL(proxyVar); | ||||
|     } | ||||
|     return proxyUrl; | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| function checkBypass(reqUrl) { | ||||
|     if (!reqUrl.hostname) { | ||||
|         return false; | ||||
|     } | ||||
|     let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; | ||||
|     if (!noProxy) { | ||||
|         return false; | ||||
|     } | ||||
|     // Determine the request port
 | ||||
|     let reqPort; | ||||
|     if (reqUrl.port) { | ||||
|         reqPort = Number(reqUrl.port); | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'http:') { | ||||
|         reqPort = 80; | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'https:') { | ||||
|         reqPort = 443; | ||||
|     } | ||||
|     // Format the request hostname and hostname with port
 | ||||
|     let upperReqHosts = [reqUrl.hostname.toUpperCase()]; | ||||
|     if (typeof reqPort === 'number') { | ||||
|         upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); | ||||
|     } | ||||
|     // Compare request host against noproxy
 | ||||
|     for (let upperNoProxyItem of noProxy | ||||
|         .split(',') | ||||
|         .map(x => x.trim().toUpperCase()) | ||||
|         .filter(x => x)) { | ||||
|         if (upperReqHosts.some(x => x === upperNoProxyItem)) { | ||||
|             return true; | ||||
|         } | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
| exports.checkBypass = checkBypass; | ||||
| 
 | ||||
| exports._globalThis = void 0; | ||||
| /** only globals that common to node and browsers are allowed */ | ||||
| // eslint-disable-next-line node/no-unsupported-features/es-builtins
 | ||||
| exports._globalThis = typeof globalThis === 'object' ? globalThis : global; | ||||
| //# sourceMappingURL=globalThis.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 951 */, | ||||
| @ -54925,7 +54914,51 @@ exports.checkBypass = checkBypass; | ||||
| /* 957 */, | ||||
| /* 958 */, | ||||
| /* 959 */, | ||||
| /* 960 */, | ||||
| /* 960 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| /** | ||||
|  * Convert array of 16 byte values to UUID string format of the form: | ||||
|  * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX | ||||
|  */ | ||||
| const byteToHex = []; | ||||
| 
 | ||||
| for (let i = 0; i < 256; ++i) { | ||||
|   byteToHex.push((i + 0x100).toString(16).substr(1)); | ||||
| } | ||||
| 
 | ||||
| function stringify(arr, offset = 0) { | ||||
|   // Note: Be careful editing this code!  It's been tuned for performance
 | ||||
|   // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
 | ||||
|   const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID.  If this throws, it's likely due to one
 | ||||
|   // of the following:
 | ||||
|   // - One or more input array values don't map to a hex octet (leading to
 | ||||
|   // "undefined" in the uuid)
 | ||||
|   // - Invalid input values for the RFC `version` or `variant` fields
 | ||||
| 
 | ||||
|   if (!(0, _validate.default)(uuid)) { | ||||
|     throw TypeError('Stringified UUID is invalid'); | ||||
|   } | ||||
| 
 | ||||
|   return uuid; | ||||
| } | ||||
| 
 | ||||
| var _default = stringify; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 961 */, | ||||
| /* 962 */, | ||||
| /* 963 */, | ||||
|  | ||||
							
								
								
									
										3777
									
								
								dist/save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3777
									
								
								dist/save/index.js
									
									
									
									
										vendored
									
									
								
							| @ -392,7 +392,20 @@ function copyFile(srcFile, destFile, force) { | ||||
| /***/ }), | ||||
| /* 2 */, | ||||
| /* 3 */, | ||||
| /* 4 */, | ||||
| /* 4 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| var _default = '00000000-0000-0000-0000-000000000000'; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 5 */, | ||||
| /* 6 */, | ||||
| /* 7 */, | ||||
| @ -1309,7 +1322,7 @@ eval("require")("encoding"); | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.PropagationAPI = void 0; | ||||
| var global_utils_1 = __webpack_require__(525); | ||||
| var global_utils_1 = __webpack_require__(94); | ||||
| var NoopTextMapPropagator_1 = __webpack_require__(918); | ||||
| var TextMapPropagator_1 = __webpack_require__(881); | ||||
| var context_helpers_1 = __webpack_require__(483); | ||||
| @ -1399,7 +1412,91 @@ var _default = '00000000-0000-0000-0000-000000000000'; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 25 */, | ||||
| /* 25 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| Object.defineProperty(exports, "v1", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "v3", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v2.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "v4", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v3.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "v5", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v4.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "NIL", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _nil.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "version", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _version.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "validate", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _validate.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "stringify", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _stringify.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "parse", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _parse.default; | ||||
|   } | ||||
| }); | ||||
| 
 | ||||
| var _v = _interopRequireDefault(__webpack_require__(810)); | ||||
| 
 | ||||
| var _v2 = _interopRequireDefault(__webpack_require__(572)); | ||||
| 
 | ||||
| var _v3 = _interopRequireDefault(__webpack_require__(293)); | ||||
| 
 | ||||
| var _v4 = _interopRequireDefault(__webpack_require__(638)); | ||||
| 
 | ||||
| var _nil = _interopRequireDefault(__webpack_require__(4)); | ||||
| 
 | ||||
| var _version = _interopRequireDefault(__webpack_require__(135)); | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| var _parse = _interopRequireDefault(__webpack_require__(204)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 26 */, | ||||
| /* 27 */, | ||||
| /* 28 */, | ||||
| @ -2718,7 +2815,77 @@ function regExpEscape (s) { | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 94 */, | ||||
| /* 94 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.unregisterGlobal = exports.getGlobal = exports.registerGlobal = void 0; | ||||
| var platform_1 = __webpack_require__(910); | ||||
| var version_1 = __webpack_require__(830); | ||||
| var semver_1 = __webpack_require__(987); | ||||
| var major = version_1.VERSION.split('.')[0]; | ||||
| var GLOBAL_OPENTELEMETRY_API_KEY = Symbol.for("opentelemetry.js.api." + major); | ||||
| var _global = platform_1._globalThis; | ||||
| function registerGlobal(type, instance, diag, allowOverride) { | ||||
|     var _a; | ||||
|     if (allowOverride === void 0) { allowOverride = false; } | ||||
|     var api = (_global[GLOBAL_OPENTELEMETRY_API_KEY] = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) !== null && _a !== void 0 ? _a : { | ||||
|         version: version_1.VERSION, | ||||
|     }); | ||||
|     if (!allowOverride && api[type]) { | ||||
|         // already registered an API of this type
 | ||||
|         var err = new Error("@opentelemetry/api: Attempted duplicate registration of API: " + type); | ||||
|         diag.error(err.stack || err.message); | ||||
|         return false; | ||||
|     } | ||||
|     if (api.version !== version_1.VERSION) { | ||||
|         // All registered APIs must be of the same version exactly
 | ||||
|         var err = new Error('@opentelemetry/api: All API registration versions must match'); | ||||
|         diag.error(err.stack || err.message); | ||||
|         return false; | ||||
|     } | ||||
|     api[type] = instance; | ||||
|     diag.debug("@opentelemetry/api: Registered a global for " + type + " v" + version_1.VERSION + "."); | ||||
|     return true; | ||||
| } | ||||
| exports.registerGlobal = registerGlobal; | ||||
| function getGlobal(type) { | ||||
|     var _a, _b; | ||||
|     var globalVersion = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a === void 0 ? void 0 : _a.version; | ||||
|     if (!globalVersion || !semver_1.isCompatible(globalVersion)) { | ||||
|         return; | ||||
|     } | ||||
|     return (_b = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b === void 0 ? void 0 : _b[type]; | ||||
| } | ||||
| exports.getGlobal = getGlobal; | ||||
| function unregisterGlobal(type, diag) { | ||||
|     diag.debug("@opentelemetry/api: Unregistering a global for " + type + " v" + version_1.VERSION + "."); | ||||
|     var api = _global[GLOBAL_OPENTELEMETRY_API_KEY]; | ||||
|     if (api) { | ||||
|         delete api[type]; | ||||
|     } | ||||
| } | ||||
| exports.unregisterGlobal = unregisterGlobal; | ||||
| //# sourceMappingURL=global-utils.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 95 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| @ -3191,8 +3358,8 @@ var __importStar = (this && this.__importStar) || function (mod) { | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const core = __importStar(__webpack_require__(470)); | ||||
| const http_client_1 = __webpack_require__(710); | ||||
| const auth_1 = __webpack_require__(206); | ||||
| const http_client_1 = __webpack_require__(425); | ||||
| const auth_1 = __webpack_require__(554); | ||||
| const crypto = __importStar(__webpack_require__(417)); | ||||
| const fs = __importStar(__webpack_require__(747)); | ||||
| const url_1 = __webpack_require__(835); | ||||
| @ -3415,7 +3582,7 @@ exports.DiagAPI = void 0; | ||||
| var ComponentLogger_1 = __webpack_require__(362); | ||||
| var logLevelLogger_1 = __webpack_require__(673); | ||||
| var types_1 = __webpack_require__(545); | ||||
| var global_utils_1 = __webpack_require__(525); | ||||
| var global_utils_1 = __webpack_require__(94); | ||||
| var API_NAME = 'diag'; | ||||
| /** | ||||
|  * Singleton object which represents the entry point to the OpenTelemetry internal | ||||
| @ -3571,8 +3738,117 @@ exports.ROOT_CONTEXT = new BaseContext(); | ||||
| /***/ }), | ||||
| /* 133 */, | ||||
| /* 134 */, | ||||
| /* 135 */, | ||||
| /* 136 */, | ||||
| /* 135 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function version(uuid) { | ||||
|   if (!(0, _validate.default)(uuid)) { | ||||
|     throw TypeError('Invalid UUID'); | ||||
|   } | ||||
| 
 | ||||
|   return parseInt(uuid.substr(14, 1), 16); | ||||
| } | ||||
| 
 | ||||
| var _default = version; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 136 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = _default; | ||||
| exports.URL = exports.DNS = void 0; | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| var _parse = _interopRequireDefault(__webpack_require__(204)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function stringToBytes(str) { | ||||
|   str = unescape(encodeURIComponent(str)); // UTF8 escape
 | ||||
| 
 | ||||
|   const bytes = []; | ||||
| 
 | ||||
|   for (let i = 0; i < str.length; ++i) { | ||||
|     bytes.push(str.charCodeAt(i)); | ||||
|   } | ||||
| 
 | ||||
|   return bytes; | ||||
| } | ||||
| 
 | ||||
| const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; | ||||
| exports.DNS = DNS; | ||||
| const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; | ||||
| exports.URL = URL; | ||||
| 
 | ||||
| function _default(name, version, hashfunc) { | ||||
|   function generateUUID(value, namespace, buf, offset) { | ||||
|     if (typeof value === 'string') { | ||||
|       value = stringToBytes(value); | ||||
|     } | ||||
| 
 | ||||
|     if (typeof namespace === 'string') { | ||||
|       namespace = (0, _parse.default)(namespace); | ||||
|     } | ||||
| 
 | ||||
|     if (namespace.length !== 16) { | ||||
|       throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); | ||||
|     } // Compute hash of namespace and value, Per 4.3
 | ||||
|     // Future: Use spread syntax when supported on all platforms, e.g. `bytes =
 | ||||
|     // hashfunc([...namespace, ... value])`
 | ||||
| 
 | ||||
| 
 | ||||
|     let bytes = new Uint8Array(16 + value.length); | ||||
|     bytes.set(namespace); | ||||
|     bytes.set(value, namespace.length); | ||||
|     bytes = hashfunc(bytes); | ||||
|     bytes[6] = bytes[6] & 0x0f | version; | ||||
|     bytes[8] = bytes[8] & 0x3f | 0x80; | ||||
| 
 | ||||
|     if (buf) { | ||||
|       offset = offset || 0; | ||||
| 
 | ||||
|       for (let i = 0; i < 16; ++i) { | ||||
|         buf[offset + i] = bytes[i]; | ||||
|       } | ||||
| 
 | ||||
|       return buf; | ||||
|     } | ||||
| 
 | ||||
|     return (0, _stringify.default)(bytes); | ||||
|   } // Function#name is not settable on some platforms (#270)
 | ||||
| 
 | ||||
| 
 | ||||
|   try { | ||||
|     generateUUID.name = name; // eslint-disable-next-line no-empty
 | ||||
|   } catch (err) {} // For CommonJS default export support
 | ||||
| 
 | ||||
| 
 | ||||
|   generateUUID.DNS = DNS; | ||||
|   generateUUID.URL = URL; | ||||
|   return generateUUID; | ||||
| } | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 137 */, | ||||
| /* 138 */, | ||||
| /* 139 */ | ||||
| @ -3864,34 +4140,7 @@ exports.debug = debug; // for test | ||||
| /* 142 */, | ||||
| /* 143 */, | ||||
| /* 144 */, | ||||
| /* 145 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports._globalThis = void 0; | ||||
| /** only globals that common to node and browsers are allowed */ | ||||
| // eslint-disable-next-line node/no-unsupported-features/es-builtins
 | ||||
| exports._globalThis = typeof globalThis === 'object' ? globalThis : global; | ||||
| //# sourceMappingURL=globalThis.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 145 */, | ||||
| /* 146 */, | ||||
| /* 147 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| @ -4584,7 +4833,73 @@ exports.default = _default; | ||||
| /* 174 */, | ||||
| /* 175 */, | ||||
| /* 176 */, | ||||
| /* 177 */, | ||||
| /* 177 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.checkBypass = exports.getProxyUrl = void 0; | ||||
| function getProxyUrl(reqUrl) { | ||||
|     const usingSsl = reqUrl.protocol === 'https:'; | ||||
|     if (checkBypass(reqUrl)) { | ||||
|         return undefined; | ||||
|     } | ||||
|     const proxyVar = (() => { | ||||
|         if (usingSsl) { | ||||
|             return process.env['https_proxy'] || process.env['HTTPS_PROXY']; | ||||
|         } | ||||
|         else { | ||||
|             return process.env['http_proxy'] || process.env['HTTP_PROXY']; | ||||
|         } | ||||
|     })(); | ||||
|     if (proxyVar) { | ||||
|         return new URL(proxyVar); | ||||
|     } | ||||
|     else { | ||||
|         return undefined; | ||||
|     } | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| function checkBypass(reqUrl) { | ||||
|     if (!reqUrl.hostname) { | ||||
|         return false; | ||||
|     } | ||||
|     const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; | ||||
|     if (!noProxy) { | ||||
|         return false; | ||||
|     } | ||||
|     // Determine the request port
 | ||||
|     let reqPort; | ||||
|     if (reqUrl.port) { | ||||
|         reqPort = Number(reqUrl.port); | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'http:') { | ||||
|         reqPort = 80; | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'https:') { | ||||
|         reqPort = 443; | ||||
|     } | ||||
|     // Format the request hostname and hostname with port
 | ||||
|     const upperReqHosts = [reqUrl.hostname.toUpperCase()]; | ||||
|     if (typeof reqPort === 'number') { | ||||
|         upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); | ||||
|     } | ||||
|     // Compare request host against noproxy
 | ||||
|     for (const upperNoProxyItem of noProxy | ||||
|         .split(',') | ||||
|         .map(x => x.trim().toUpperCase()) | ||||
|         .filter(x => x)) { | ||||
|         if (upperReqHosts.some(x => x === upperNoProxyItem)) { | ||||
|             return true; | ||||
|         } | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
| exports.checkBypass = checkBypass; | ||||
| //# sourceMappingURL=proxy.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 178 */, | ||||
| /* 179 */, | ||||
| /* 180 */, | ||||
| @ -4693,95 +5008,59 @@ exports.default = _default; | ||||
| /* 201 */, | ||||
| /* 202 */, | ||||
| /* 203 */, | ||||
| /* 204 */, | ||||
| /* 205 */, | ||||
| /* 206 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| /* 204 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; | ||||
| class BasicCredentialHandler { | ||||
|     constructor(username, password) { | ||||
|         this.username = username; | ||||
|         this.password = password; | ||||
|     } | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function parse(uuid) { | ||||
|   if (!(0, _validate.default)(uuid)) { | ||||
|     throw TypeError('Invalid UUID'); | ||||
|   } | ||||
| 
 | ||||
|   let v; | ||||
|   const arr = new Uint8Array(16); // Parse ########-....-....-....-............
 | ||||
| 
 | ||||
|   arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; | ||||
|   arr[1] = v >>> 16 & 0xff; | ||||
|   arr[2] = v >>> 8 & 0xff; | ||||
|   arr[3] = v & 0xff; // Parse ........-####-....-....-............
 | ||||
| 
 | ||||
|   arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; | ||||
|   arr[5] = v & 0xff; // Parse ........-....-####-....-............
 | ||||
| 
 | ||||
|   arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; | ||||
|   arr[7] = v & 0xff; // Parse ........-....-....-####-............
 | ||||
| 
 | ||||
|   arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; | ||||
|   arr[9] = v & 0xff; // Parse ........-....-....-....-############
 | ||||
|   // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes)
 | ||||
| 
 | ||||
|   arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; | ||||
|   arr[11] = v / 0x100000000 & 0xff; | ||||
|   arr[12] = v >>> 24 & 0xff; | ||||
|   arr[13] = v >>> 16 & 0xff; | ||||
|   arr[14] = v >>> 8 & 0xff; | ||||
|   arr[15] = v & 0xff; | ||||
|   return arr; | ||||
| } | ||||
| exports.BasicCredentialHandler = BasicCredentialHandler; | ||||
| class BearerCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Bearer ${this.token}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.BearerCredentialHandler = BearerCredentialHandler; | ||||
| class PersonalAccessTokenCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; | ||||
| //# sourceMappingURL=auth.js.map
 | ||||
| 
 | ||||
| var _default = parse; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 205 */, | ||||
| /* 206 */, | ||||
| /* 207 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| @ -4874,71 +5153,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| /* 223 */, | ||||
| /* 224 */, | ||||
| /* 225 */, | ||||
| /* 226 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| class BasicCredentialHandler { | ||||
|     constructor(username, password) { | ||||
|         this.username = username; | ||||
|         this.password = password; | ||||
|     } | ||||
|     prepareRequest(options) { | ||||
|         options.headers['Authorization'] = | ||||
|             'Basic ' + | ||||
|                 Buffer.from(this.username + ':' + this.password).toString('base64'); | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication(response) { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication(httpClient, requestInfo, objs) { | ||||
|         return null; | ||||
|     } | ||||
| } | ||||
| exports.BasicCredentialHandler = BasicCredentialHandler; | ||||
| class BearerCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         options.headers['Authorization'] = 'Bearer ' + this.token; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication(response) { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication(httpClient, requestInfo, objs) { | ||||
|         return null; | ||||
|     } | ||||
| } | ||||
| exports.BearerCredentialHandler = BearerCredentialHandler; | ||||
| class PersonalAccessTokenCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         options.headers['Authorization'] = | ||||
|             'Basic ' + Buffer.from('PAT:' + this.token).toString('base64'); | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication(response) { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication(httpClient, requestInfo, objs) { | ||||
|         return null; | ||||
|     } | ||||
| } | ||||
| exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 226 */, | ||||
| /* 227 */, | ||||
| /* 228 */, | ||||
| /* 229 */ | ||||
| @ -5339,73 +5554,7 @@ function _default(name, version, hashfunc) { | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 242 */, | ||||
| /* 243 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.checkBypass = exports.getProxyUrl = void 0; | ||||
| function getProxyUrl(reqUrl) { | ||||
|     const usingSsl = reqUrl.protocol === 'https:'; | ||||
|     if (checkBypass(reqUrl)) { | ||||
|         return undefined; | ||||
|     } | ||||
|     const proxyVar = (() => { | ||||
|         if (usingSsl) { | ||||
|             return process.env['https_proxy'] || process.env['HTTPS_PROXY']; | ||||
|         } | ||||
|         else { | ||||
|             return process.env['http_proxy'] || process.env['HTTP_PROXY']; | ||||
|         } | ||||
|     })(); | ||||
|     if (proxyVar) { | ||||
|         return new URL(proxyVar); | ||||
|     } | ||||
|     else { | ||||
|         return undefined; | ||||
|     } | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| function checkBypass(reqUrl) { | ||||
|     if (!reqUrl.hostname) { | ||||
|         return false; | ||||
|     } | ||||
|     const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; | ||||
|     if (!noProxy) { | ||||
|         return false; | ||||
|     } | ||||
|     // Determine the request port
 | ||||
|     let reqPort; | ||||
|     if (reqUrl.port) { | ||||
|         reqPort = Number(reqUrl.port); | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'http:') { | ||||
|         reqPort = 80; | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'https:') { | ||||
|         reqPort = 443; | ||||
|     } | ||||
|     // Format the request hostname and hostname with port
 | ||||
|     const upperReqHosts = [reqUrl.hostname.toUpperCase()]; | ||||
|     if (typeof reqPort === 'number') { | ||||
|         upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); | ||||
|     } | ||||
|     // Compare request host against noproxy
 | ||||
|     for (const upperNoProxyItem of noProxy | ||||
|         .split(',') | ||||
|         .map(x => x.trim().toUpperCase()) | ||||
|         .filter(x => x)) { | ||||
|         if (upperReqHosts.some(x => x === upperNoProxyItem)) { | ||||
|             return true; | ||||
|         } | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
| exports.checkBypass = checkBypass; | ||||
| //# sourceMappingURL=proxy.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 243 */, | ||||
| /* 244 */, | ||||
| /* 245 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| @ -5464,9 +5613,9 @@ var __importStar = (this && this.__importStar) || function (mod) { | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const core = __importStar(__webpack_require__(470)); | ||||
| const http_client_1 = __webpack_require__(710); | ||||
| const http_client_1 = __webpack_require__(425); | ||||
| const storage_blob_1 = __webpack_require__(373); | ||||
| const buffer = __importStar(__webpack_require__(293)); | ||||
| const buffer = __importStar(__webpack_require__(407)); | ||||
| const fs = __importStar(__webpack_require__(747)); | ||||
| const stream = __importStar(__webpack_require__(794)); | ||||
| const util = __importStar(__webpack_require__(669)); | ||||
| @ -8626,9 +8775,46 @@ exports.create = create; | ||||
| /* 291 */, | ||||
| /* 292 */, | ||||
| /* 293 */ | ||||
| /***/ (function(module) { | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| module.exports = require("buffer"); | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _rng = _interopRequireDefault(__webpack_require__(506)); | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function v4(options, buf, offset) { | ||||
|   options = options || {}; | ||||
| 
 | ||||
|   const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
 | ||||
| 
 | ||||
| 
 | ||||
|   rnds[6] = rnds[6] & 0x0f | 0x40; | ||||
|   rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
 | ||||
| 
 | ||||
|   if (buf) { | ||||
|     offset = offset || 0; | ||||
| 
 | ||||
|     for (let i = 0; i < 16; ++i) { | ||||
|       buf[offset + i] = rnds[i]; | ||||
|     } | ||||
| 
 | ||||
|     return buf; | ||||
|   } | ||||
| 
 | ||||
|   return (0, _stringify.default)(rnds); | ||||
| } | ||||
| 
 | ||||
| var _default = v4; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 294 */, | ||||
| @ -9231,7 +9417,35 @@ var MatchKind; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 328 */, | ||||
| /* 329 */, | ||||
| /* 329 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _crypto = _interopRequireDefault(__webpack_require__(417)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function sha1(bytes) { | ||||
|   if (Array.isArray(bytes)) { | ||||
|     bytes = Buffer.from(bytes); | ||||
|   } else if (typeof bytes === 'string') { | ||||
|     bytes = Buffer.from(bytes, 'utf8'); | ||||
|   } | ||||
| 
 | ||||
|   return _crypto.default.createHash('sha1').update(bytes).digest(); | ||||
| } | ||||
| 
 | ||||
| var _default = sha1; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 330 */, | ||||
| /* 331 */, | ||||
| /* 332 */ | ||||
| @ -9732,7 +9946,7 @@ module.exports = require("assert"); | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.DiagComponentLogger = void 0; | ||||
| var global_utils_1 = __webpack_require__(525); | ||||
| var global_utils_1 = __webpack_require__(94); | ||||
| /** | ||||
|  * Component Logger which is meant to be used as part of any component which | ||||
|  * will add automatically additional namespace in front of the log message. | ||||
| @ -28624,7 +28838,7 @@ class BuffersStream extends stream.Readable { | ||||
|  * maxBufferLength is max size of each buffer in the pooled buffers. | ||||
|  */ | ||||
| // Can't use import as Typescript doesn't recognize "buffer".
 | ||||
| const maxBufferLength = __webpack_require__(293).constants.MAX_LENGTH; | ||||
| const maxBufferLength = __webpack_require__(407).constants.MAX_LENGTH; | ||||
| /** | ||||
|  * This class provides a buffer container which conceptually has no hard size limit. | ||||
|  * It accepts a capacity, an array of input buffers and the total length of input data. | ||||
| @ -36541,7 +36755,12 @@ exports.ProxyTracer = ProxyTracer; | ||||
| /* 404 */, | ||||
| /* 405 */, | ||||
| /* 406 */, | ||||
| /* 407 */, | ||||
| /* 407 */ | ||||
| /***/ (function(module) { | ||||
| 
 | ||||
| module.exports = require("buffer"); | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 408 */, | ||||
| /* 409 */, | ||||
| /* 410 */, | ||||
| @ -37056,55 +37275,610 @@ function parallel(list, iterator, callback) | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| var __spreadArray = (this && this.__spreadArray) || function (to, from) { | ||||
|     for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) | ||||
|         to[j] = from[i]; | ||||
|     return to; | ||||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.NoopContextManager = void 0; | ||||
| var context_1 = __webpack_require__(132); | ||||
| var NoopContextManager = /** @class */ (function () { | ||||
|     function NoopContextManager() { | ||||
| exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; | ||||
| const http = __importStar(__webpack_require__(605)); | ||||
| const https = __importStar(__webpack_require__(211)); | ||||
| const pm = __importStar(__webpack_require__(177)); | ||||
| const tunnel = __importStar(__webpack_require__(413)); | ||||
| var HttpCodes; | ||||
| (function (HttpCodes) { | ||||
|     HttpCodes[HttpCodes["OK"] = 200] = "OK"; | ||||
|     HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; | ||||
|     HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; | ||||
|     HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; | ||||
|     HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; | ||||
|     HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; | ||||
|     HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; | ||||
|     HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; | ||||
|     HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; | ||||
|     HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; | ||||
|     HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; | ||||
|     HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; | ||||
|     HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; | ||||
|     HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; | ||||
|     HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; | ||||
|     HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; | ||||
|     HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; | ||||
|     HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; | ||||
|     HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; | ||||
|     HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; | ||||
|     HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; | ||||
|     HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; | ||||
|     HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; | ||||
|     HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; | ||||
|     HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; | ||||
|     HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; | ||||
|     HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; | ||||
| })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); | ||||
| var Headers; | ||||
| (function (Headers) { | ||||
|     Headers["Accept"] = "accept"; | ||||
|     Headers["ContentType"] = "content-type"; | ||||
| })(Headers = exports.Headers || (exports.Headers = {})); | ||||
| var MediaTypes; | ||||
| (function (MediaTypes) { | ||||
|     MediaTypes["ApplicationJson"] = "application/json"; | ||||
| })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); | ||||
| /** | ||||
|  * Returns the proxy URL, depending upon the supplied url and proxy environment variables. | ||||
|  * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|  */ | ||||
| function getProxyUrl(serverUrl) { | ||||
|     const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); | ||||
|     return proxyUrl ? proxyUrl.href : ''; | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| const HttpRedirectCodes = [ | ||||
|     HttpCodes.MovedPermanently, | ||||
|     HttpCodes.ResourceMoved, | ||||
|     HttpCodes.SeeOther, | ||||
|     HttpCodes.TemporaryRedirect, | ||||
|     HttpCodes.PermanentRedirect | ||||
| ]; | ||||
| const HttpResponseRetryCodes = [ | ||||
|     HttpCodes.BadGateway, | ||||
|     HttpCodes.ServiceUnavailable, | ||||
|     HttpCodes.GatewayTimeout | ||||
| ]; | ||||
| const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; | ||||
| const ExponentialBackoffCeiling = 10; | ||||
| const ExponentialBackoffTimeSlice = 5; | ||||
| class HttpClientError extends Error { | ||||
|     constructor(message, statusCode) { | ||||
|         super(message); | ||||
|         this.name = 'HttpClientError'; | ||||
|         this.statusCode = statusCode; | ||||
|         Object.setPrototypeOf(this, HttpClientError.prototype); | ||||
|     } | ||||
|     NoopContextManager.prototype.active = function () { | ||||
|         return context_1.ROOT_CONTEXT; | ||||
|     }; | ||||
|     NoopContextManager.prototype.with = function (_context, fn, thisArg) { | ||||
|         var args = []; | ||||
|         for (var _i = 3; _i < arguments.length; _i++) { | ||||
|             args[_i - 3] = arguments[_i]; | ||||
| } | ||||
| exports.HttpClientError = HttpClientError; | ||||
| class HttpClientResponse { | ||||
|     constructor(message) { | ||||
|         this.message = message; | ||||
|     } | ||||
|     readBody() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { | ||||
|                 let output = Buffer.alloc(0); | ||||
|                 this.message.on('data', (chunk) => { | ||||
|                     output = Buffer.concat([output, chunk]); | ||||
|                 }); | ||||
|                 this.message.on('end', () => { | ||||
|                     resolve(output.toString()); | ||||
|                 }); | ||||
|             })); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientResponse = HttpClientResponse; | ||||
| function isHttps(requestUrl) { | ||||
|     const parsedUrl = new URL(requestUrl); | ||||
|     return parsedUrl.protocol === 'https:'; | ||||
| } | ||||
| exports.isHttps = isHttps; | ||||
| class HttpClient { | ||||
|     constructor(userAgent, handlers, requestOptions) { | ||||
|         this._ignoreSslError = false; | ||||
|         this._allowRedirects = true; | ||||
|         this._allowRedirectDowngrade = false; | ||||
|         this._maxRedirects = 50; | ||||
|         this._allowRetries = false; | ||||
|         this._maxRetries = 1; | ||||
|         this._keepAlive = false; | ||||
|         this._disposed = false; | ||||
|         this.userAgent = userAgent; | ||||
|         this.handlers = handlers || []; | ||||
|         this.requestOptions = requestOptions; | ||||
|         if (requestOptions) { | ||||
|             if (requestOptions.ignoreSslError != null) { | ||||
|                 this._ignoreSslError = requestOptions.ignoreSslError; | ||||
|             } | ||||
|             this._socketTimeout = requestOptions.socketTimeout; | ||||
|             if (requestOptions.allowRedirects != null) { | ||||
|                 this._allowRedirects = requestOptions.allowRedirects; | ||||
|             } | ||||
|             if (requestOptions.allowRedirectDowngrade != null) { | ||||
|                 this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; | ||||
|             } | ||||
|             if (requestOptions.maxRedirects != null) { | ||||
|                 this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); | ||||
|             } | ||||
|             if (requestOptions.keepAlive != null) { | ||||
|                 this._keepAlive = requestOptions.keepAlive; | ||||
|             } | ||||
|             if (requestOptions.allowRetries != null) { | ||||
|                 this._allowRetries = requestOptions.allowRetries; | ||||
|             } | ||||
|             if (requestOptions.maxRetries != null) { | ||||
|                 this._maxRetries = requestOptions.maxRetries; | ||||
|             } | ||||
|         } | ||||
|         return fn.call.apply(fn, __spreadArray([thisArg], args)); | ||||
|     }; | ||||
|     NoopContextManager.prototype.bind = function (_context, target) { | ||||
|         return target; | ||||
|     }; | ||||
|     NoopContextManager.prototype.enable = function () { | ||||
|         return this; | ||||
|     }; | ||||
|     NoopContextManager.prototype.disable = function () { | ||||
|         return this; | ||||
|     }; | ||||
|     return NoopContextManager; | ||||
| }()); | ||||
| exports.NoopContextManager = NoopContextManager; | ||||
| //# sourceMappingURL=NoopContextManager.js.map
 | ||||
|     } | ||||
|     options(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     get(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('GET', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     del(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('DELETE', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     post(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('POST', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     patch(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('PATCH', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     put(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('PUT', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     head(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('HEAD', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     sendStream(verb, requestUrl, stream, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request(verb, requestUrl, stream, additionalHeaders); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Gets a typed object from an endpoint | ||||
|      * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise | ||||
|      */ | ||||
|     getJson(requestUrl, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.get(requestUrl, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     postJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.post(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     putJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.put(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     patchJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.patch(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Makes a raw http request. | ||||
|      * All other methods such as get, post, patch, and request ultimately call this. | ||||
|      * Prefer get, del, post and patch | ||||
|      */ | ||||
|     request(verb, requestUrl, data, headers) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (this._disposed) { | ||||
|                 throw new Error('Client has already been disposed.'); | ||||
|             } | ||||
|             const parsedUrl = new URL(requestUrl); | ||||
|             let info = this._prepareRequest(verb, parsedUrl, headers); | ||||
|             // Only perform retries on reads since writes may not be idempotent.
 | ||||
|             const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) | ||||
|                 ? this._maxRetries + 1 | ||||
|                 : 1; | ||||
|             let numTries = 0; | ||||
|             let response; | ||||
|             do { | ||||
|                 response = yield this.requestRaw(info, data); | ||||
|                 // Check if it's an authentication challenge
 | ||||
|                 if (response && | ||||
|                     response.message && | ||||
|                     response.message.statusCode === HttpCodes.Unauthorized) { | ||||
|                     let authenticationHandler; | ||||
|                     for (const handler of this.handlers) { | ||||
|                         if (handler.canHandleAuthentication(response)) { | ||||
|                             authenticationHandler = handler; | ||||
|                             break; | ||||
|                         } | ||||
|                     } | ||||
|                     if (authenticationHandler) { | ||||
|                         return authenticationHandler.handleAuthentication(this, info, data); | ||||
|                     } | ||||
|                     else { | ||||
|                         // We have received an unauthorized response but have no handlers to handle it.
 | ||||
|                         // Let the response return to the caller.
 | ||||
|                         return response; | ||||
|                     } | ||||
|                 } | ||||
|                 let redirectsRemaining = this._maxRedirects; | ||||
|                 while (response.message.statusCode && | ||||
|                     HttpRedirectCodes.includes(response.message.statusCode) && | ||||
|                     this._allowRedirects && | ||||
|                     redirectsRemaining > 0) { | ||||
|                     const redirectUrl = response.message.headers['location']; | ||||
|                     if (!redirectUrl) { | ||||
|                         // if there's no location to redirect to, we won't
 | ||||
|                         break; | ||||
|                     } | ||||
|                     const parsedRedirectUrl = new URL(redirectUrl); | ||||
|                     if (parsedUrl.protocol === 'https:' && | ||||
|                         parsedUrl.protocol !== parsedRedirectUrl.protocol && | ||||
|                         !this._allowRedirectDowngrade) { | ||||
|                         throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); | ||||
|                     } | ||||
|                     // we need to finish reading the response before reassigning response
 | ||||
|                     // which will leak the open socket.
 | ||||
|                     yield response.readBody(); | ||||
|                     // strip authorization header if redirected to a different hostname
 | ||||
|                     if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { | ||||
|                         for (const header in headers) { | ||||
|                             // header names are case insensitive
 | ||||
|                             if (header.toLowerCase() === 'authorization') { | ||||
|                                 delete headers[header]; | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                     // let's make the request with the new redirectUrl
 | ||||
|                     info = this._prepareRequest(verb, parsedRedirectUrl, headers); | ||||
|                     response = yield this.requestRaw(info, data); | ||||
|                     redirectsRemaining--; | ||||
|                 } | ||||
|                 if (!response.message.statusCode || | ||||
|                     !HttpResponseRetryCodes.includes(response.message.statusCode)) { | ||||
|                     // If not a retry code, return immediately instead of retrying
 | ||||
|                     return response; | ||||
|                 } | ||||
|                 numTries += 1; | ||||
|                 if (numTries < maxTries) { | ||||
|                     yield response.readBody(); | ||||
|                     yield this._performExponentialBackoff(numTries); | ||||
|                 } | ||||
|             } while (numTries < maxTries); | ||||
|             return response; | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Needs to be called if keepAlive is set to true in request options. | ||||
|      */ | ||||
|     dispose() { | ||||
|         if (this._agent) { | ||||
|             this._agent.destroy(); | ||||
|         } | ||||
|         this._disposed = true; | ||||
|     } | ||||
|     /** | ||||
|      * Raw request. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      */ | ||||
|     requestRaw(info, data) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve, reject) => { | ||||
|                 function callbackForResult(err, res) { | ||||
|                     if (err) { | ||||
|                         reject(err); | ||||
|                     } | ||||
|                     else if (!res) { | ||||
|                         // If `err` is not passed, then `res` must be passed.
 | ||||
|                         reject(new Error('Unknown error')); | ||||
|                     } | ||||
|                     else { | ||||
|                         resolve(res); | ||||
|                     } | ||||
|                 } | ||||
|                 this.requestRawWithCallback(info, data, callbackForResult); | ||||
|             }); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Raw request with callback. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      * @param onResult | ||||
|      */ | ||||
|     requestRawWithCallback(info, data, onResult) { | ||||
|         if (typeof data === 'string') { | ||||
|             if (!info.options.headers) { | ||||
|                 info.options.headers = {}; | ||||
|             } | ||||
|             info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); | ||||
|         } | ||||
|         let callbackCalled = false; | ||||
|         function handleResult(err, res) { | ||||
|             if (!callbackCalled) { | ||||
|                 callbackCalled = true; | ||||
|                 onResult(err, res); | ||||
|             } | ||||
|         } | ||||
|         const req = info.httpModule.request(info.options, (msg) => { | ||||
|             const res = new HttpClientResponse(msg); | ||||
|             handleResult(undefined, res); | ||||
|         }); | ||||
|         let socket; | ||||
|         req.on('socket', sock => { | ||||
|             socket = sock; | ||||
|         }); | ||||
|         // If we ever get disconnected, we want the socket to timeout eventually
 | ||||
|         req.setTimeout(this._socketTimeout || 3 * 60000, () => { | ||||
|             if (socket) { | ||||
|                 socket.end(); | ||||
|             } | ||||
|             handleResult(new Error(`Request timeout: ${info.options.path}`)); | ||||
|         }); | ||||
|         req.on('error', function (err) { | ||||
|             // err has statusCode property
 | ||||
|             // res should have headers
 | ||||
|             handleResult(err); | ||||
|         }); | ||||
|         if (data && typeof data === 'string') { | ||||
|             req.write(data, 'utf8'); | ||||
|         } | ||||
|         if (data && typeof data !== 'string') { | ||||
|             data.on('close', function () { | ||||
|                 req.end(); | ||||
|             }); | ||||
|             data.pipe(req); | ||||
|         } | ||||
|         else { | ||||
|             req.end(); | ||||
|         } | ||||
|     } | ||||
|     /** | ||||
|      * Gets an http agent. This function is useful when you need an http agent that handles | ||||
|      * routing through a proxy server - depending upon the url and proxy environment variables. | ||||
|      * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|      */ | ||||
|     getAgent(serverUrl) { | ||||
|         const parsedUrl = new URL(serverUrl); | ||||
|         return this._getAgent(parsedUrl); | ||||
|     } | ||||
|     _prepareRequest(method, requestUrl, headers) { | ||||
|         const info = {}; | ||||
|         info.parsedUrl = requestUrl; | ||||
|         const usingSsl = info.parsedUrl.protocol === 'https:'; | ||||
|         info.httpModule = usingSsl ? https : http; | ||||
|         const defaultPort = usingSsl ? 443 : 80; | ||||
|         info.options = {}; | ||||
|         info.options.host = info.parsedUrl.hostname; | ||||
|         info.options.port = info.parsedUrl.port | ||||
|             ? parseInt(info.parsedUrl.port) | ||||
|             : defaultPort; | ||||
|         info.options.path = | ||||
|             (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); | ||||
|         info.options.method = method; | ||||
|         info.options.headers = this._mergeHeaders(headers); | ||||
|         if (this.userAgent != null) { | ||||
|             info.options.headers['user-agent'] = this.userAgent; | ||||
|         } | ||||
|         info.options.agent = this._getAgent(info.parsedUrl); | ||||
|         // gives handlers an opportunity to participate
 | ||||
|         if (this.handlers) { | ||||
|             for (const handler of this.handlers) { | ||||
|                 handler.prepareRequest(info.options); | ||||
|             } | ||||
|         } | ||||
|         return info; | ||||
|     } | ||||
|     _mergeHeaders(headers) { | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); | ||||
|         } | ||||
|         return lowercaseKeys(headers || {}); | ||||
|     } | ||||
|     _getExistingOrDefaultHeader(additionalHeaders, header, _default) { | ||||
|         let clientHeader; | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; | ||||
|         } | ||||
|         return additionalHeaders[header] || clientHeader || _default; | ||||
|     } | ||||
|     _getAgent(parsedUrl) { | ||||
|         let agent; | ||||
|         const proxyUrl = pm.getProxyUrl(parsedUrl); | ||||
|         const useProxy = proxyUrl && proxyUrl.hostname; | ||||
|         if (this._keepAlive && useProxy) { | ||||
|             agent = this._proxyAgent; | ||||
|         } | ||||
|         if (this._keepAlive && !useProxy) { | ||||
|             agent = this._agent; | ||||
|         } | ||||
|         // if agent is already assigned use that agent.
 | ||||
|         if (agent) { | ||||
|             return agent; | ||||
|         } | ||||
|         const usingSsl = parsedUrl.protocol === 'https:'; | ||||
|         let maxSockets = 100; | ||||
|         if (this.requestOptions) { | ||||
|             maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; | ||||
|         } | ||||
|         // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.
 | ||||
|         if (proxyUrl && proxyUrl.hostname) { | ||||
|             const agentOptions = { | ||||
|                 maxSockets, | ||||
|                 keepAlive: this._keepAlive, | ||||
|                 proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { | ||||
|                     proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` | ||||
|                 })), { host: proxyUrl.hostname, port: proxyUrl.port }) | ||||
|             }; | ||||
|             let tunnelAgent; | ||||
|             const overHttps = proxyUrl.protocol === 'https:'; | ||||
|             if (usingSsl) { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; | ||||
|             } | ||||
|             else { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; | ||||
|             } | ||||
|             agent = tunnelAgent(agentOptions); | ||||
|             this._proxyAgent = agent; | ||||
|         } | ||||
|         // if reusing agent across request and tunneling agent isn't assigned create a new agent
 | ||||
|         if (this._keepAlive && !agent) { | ||||
|             const options = { keepAlive: this._keepAlive, maxSockets }; | ||||
|             agent = usingSsl ? new https.Agent(options) : new http.Agent(options); | ||||
|             this._agent = agent; | ||||
|         } | ||||
|         // if not using private agent and tunnel agent isn't setup then use global agent
 | ||||
|         if (!agent) { | ||||
|             agent = usingSsl ? https.globalAgent : http.globalAgent; | ||||
|         } | ||||
|         if (usingSsl && this._ignoreSslError) { | ||||
|             // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
 | ||||
|             // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
 | ||||
|             // we have to cast it to any and change it directly
 | ||||
|             agent.options = Object.assign(agent.options || {}, { | ||||
|                 rejectUnauthorized: false | ||||
|             }); | ||||
|         } | ||||
|         return agent; | ||||
|     } | ||||
|     _performExponentialBackoff(retryNumber) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); | ||||
|             const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); | ||||
|             return new Promise(resolve => setTimeout(() => resolve(), ms)); | ||||
|         }); | ||||
|     } | ||||
|     _processResponse(res, options) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { | ||||
|                 const statusCode = res.message.statusCode || 0; | ||||
|                 const response = { | ||||
|                     statusCode, | ||||
|                     result: null, | ||||
|                     headers: {} | ||||
|                 }; | ||||
|                 // not found leads to null obj returned
 | ||||
|                 if (statusCode === HttpCodes.NotFound) { | ||||
|                     resolve(response); | ||||
|                 } | ||||
|                 // get the result from the body
 | ||||
|                 function dateTimeDeserializer(key, value) { | ||||
|                     if (typeof value === 'string') { | ||||
|                         const a = new Date(value); | ||||
|                         if (!isNaN(a.valueOf())) { | ||||
|                             return a; | ||||
|                         } | ||||
|                     } | ||||
|                     return value; | ||||
|                 } | ||||
|                 let obj; | ||||
|                 let contents; | ||||
|                 try { | ||||
|                     contents = yield res.readBody(); | ||||
|                     if (contents && contents.length > 0) { | ||||
|                         if (options && options.deserializeDates) { | ||||
|                             obj = JSON.parse(contents, dateTimeDeserializer); | ||||
|                         } | ||||
|                         else { | ||||
|                             obj = JSON.parse(contents); | ||||
|                         } | ||||
|                         response.result = obj; | ||||
|                     } | ||||
|                     response.headers = res.message.headers; | ||||
|                 } | ||||
|                 catch (err) { | ||||
|                     // Invalid resource (contents not json);  leaving result obj null
 | ||||
|                 } | ||||
|                 // note that 3xx redirects are handled by the http layer.
 | ||||
|                 if (statusCode > 299) { | ||||
|                     let msg; | ||||
|                     // if exception/error in body, attempt to get better error
 | ||||
|                     if (obj && obj.message) { | ||||
|                         msg = obj.message; | ||||
|                     } | ||||
|                     else if (contents && contents.length > 0) { | ||||
|                         // it may be the case that the exception is in the body message as string
 | ||||
|                         msg = contents; | ||||
|                     } | ||||
|                     else { | ||||
|                         msg = `Failed request: (${statusCode})`; | ||||
|                     } | ||||
|                     const err = new HttpClientError(msg, statusCode); | ||||
|                     err.result = response.result; | ||||
|                     reject(err); | ||||
|                 } | ||||
|                 else { | ||||
|                     resolve(response); | ||||
|                 } | ||||
|             })); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClient = HttpClient; | ||||
| const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 426 */, | ||||
| @ -39777,6 +40551,7 @@ const file_command_1 = __webpack_require__(102); | ||||
| const utils_1 = __webpack_require__(82); | ||||
| const os = __importStar(__webpack_require__(87)); | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| const uuid_1 = __webpack_require__(25); | ||||
| const oidc_utils_1 = __webpack_require__(742); | ||||
| /** | ||||
|  * The code to exit an action | ||||
| @ -39806,7 +40581,14 @@ function exportVariable(name, val) { | ||||
|     process.env[name] = convertedVal; | ||||
|     const filePath = process.env['GITHUB_ENV'] || ''; | ||||
|     if (filePath) { | ||||
|         const delimiter = '_GitHubActionsFileCommandDelimeter_'; | ||||
|         const delimiter = `ghadelimiter_${uuid_1.v4()}`; | ||||
|         // These should realistically never happen, but just in case someone finds a way to exploit uuid generation let's not allow keys or values that contain the delimiter.
 | ||||
|         if (name.includes(delimiter)) { | ||||
|             throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); | ||||
|         } | ||||
|         if (convertedVal.includes(delimiter)) { | ||||
|             throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); | ||||
|         } | ||||
|         const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`; | ||||
|         file_command_1.issueCommand('ENV', commandValue); | ||||
|     } | ||||
| @ -40053,10 +40835,22 @@ function getIDToken(aud) { | ||||
| } | ||||
| exports.getIDToken = getIDToken; | ||||
| /** | ||||
|  * Markdown summary exports | ||||
|  * Summary exports | ||||
|  */ | ||||
| var markdown_summary_1 = __webpack_require__(548); | ||||
| Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return markdown_summary_1.markdownSummary; } }); | ||||
| var summary_1 = __webpack_require__(665); | ||||
| Object.defineProperty(exports, "summary", { enumerable: true, get: function () { return summary_1.summary; } }); | ||||
| /** | ||||
|  * @deprecated use core.summary | ||||
|  */ | ||||
| var summary_2 = __webpack_require__(665); | ||||
| Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } }); | ||||
| /** | ||||
|  * Path exports | ||||
|  */ | ||||
| var path_utils_1 = __webpack_require__(573); | ||||
| Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } }); | ||||
| Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } }); | ||||
| Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }); | ||||
| //# sourceMappingURL=core.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -40357,8 +41151,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) { | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.ContextAPI = void 0; | ||||
| var NoopContextManager_1 = __webpack_require__(425); | ||||
| var global_utils_1 = __webpack_require__(525); | ||||
| var NoopContextManager_1 = __webpack_require__(754); | ||||
| var global_utils_1 = __webpack_require__(94); | ||||
| var diag_1 = __webpack_require__(118); | ||||
| var API_NAME = 'context'; | ||||
| var NOOP_CONTEXT_MANAGER = new NoopContextManager_1.NoopContextManager(); | ||||
| @ -40473,7 +41267,36 @@ function defer(fn) | ||||
| /* 503 */, | ||||
| /* 504 */, | ||||
| /* 505 */, | ||||
| /* 506 */, | ||||
| /* 506 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = rng; | ||||
| 
 | ||||
| var _crypto = _interopRequireDefault(__webpack_require__(417)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate
 | ||||
| 
 | ||||
| let poolPtr = rnds8Pool.length; | ||||
| 
 | ||||
| function rng() { | ||||
|   if (poolPtr > rnds8Pool.length - 16) { | ||||
|     _crypto.default.randomFillSync(rnds8Pool); | ||||
| 
 | ||||
|     poolPtr = 0; | ||||
|   } | ||||
| 
 | ||||
|   return rnds8Pool.slice(poolPtr, poolPtr += 16); | ||||
| } | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 507 */, | ||||
| /* 508 */, | ||||
| /* 509 */, | ||||
| @ -40684,74 +41507,17 @@ module.exports = {"application/1d-interleaved-parityfec":{"source":"iana"},"appl | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 525 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.unregisterGlobal = exports.getGlobal = exports.registerGlobal = void 0; | ||||
| var platform_1 = __webpack_require__(910); | ||||
| var version_1 = __webpack_require__(830); | ||||
| var semver_1 = __webpack_require__(987); | ||||
| var major = version_1.VERSION.split('.')[0]; | ||||
| var GLOBAL_OPENTELEMETRY_API_KEY = Symbol.for("opentelemetry.js.api." + major); | ||||
| var _global = platform_1._globalThis; | ||||
| function registerGlobal(type, instance, diag, allowOverride) { | ||||
|     var _a; | ||||
|     if (allowOverride === void 0) { allowOverride = false; } | ||||
|     var api = (_global[GLOBAL_OPENTELEMETRY_API_KEY] = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) !== null && _a !== void 0 ? _a : { | ||||
|         version: version_1.VERSION, | ||||
|     }); | ||||
|     if (!allowOverride && api[type]) { | ||||
|         // already registered an API of this type
 | ||||
|         var err = new Error("@opentelemetry/api: Attempted duplicate registration of API: " + type); | ||||
|         diag.error(err.stack || err.message); | ||||
|         return false; | ||||
|     } | ||||
|     if (api.version !== version_1.VERSION) { | ||||
|         // All registered APIs must be of the same version exactly
 | ||||
|         var err = new Error('@opentelemetry/api: All API registration versions must match'); | ||||
|         diag.error(err.stack || err.message); | ||||
|         return false; | ||||
|     } | ||||
|     api[type] = instance; | ||||
|     diag.debug("@opentelemetry/api: Registered a global for " + type + " v" + version_1.VERSION + "."); | ||||
|     return true; | ||||
| } | ||||
| exports.registerGlobal = registerGlobal; | ||||
| function getGlobal(type) { | ||||
|     var _a, _b; | ||||
|     var globalVersion = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a === void 0 ? void 0 : _a.version; | ||||
|     if (!globalVersion || !semver_1.isCompatible(globalVersion)) { | ||||
|         return; | ||||
|     } | ||||
|     return (_b = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b === void 0 ? void 0 : _b[type]; | ||||
| } | ||||
| exports.getGlobal = getGlobal; | ||||
| function unregisterGlobal(type, diag) { | ||||
|     diag.debug("@opentelemetry/api: Unregistering a global for " + type + " v" + version_1.VERSION + "."); | ||||
|     var api = _global[GLOBAL_OPENTELEMETRY_API_KEY]; | ||||
|     if (api) { | ||||
|         delete api[type]; | ||||
|     } | ||||
| } | ||||
| exports.unregisterGlobal = unregisterGlobal; | ||||
| //# sourceMappingURL=global-utils.js.map
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 526 */, | ||||
| @ -40846,550 +41612,7 @@ exports.getDownloadOptions = getDownloadOptions; | ||||
| //# sourceMappingURL=options.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 539 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const http = __webpack_require__(605); | ||||
| const https = __webpack_require__(211); | ||||
| const pm = __webpack_require__(950); | ||||
| let tunnel; | ||||
| var HttpCodes; | ||||
| (function (HttpCodes) { | ||||
|     HttpCodes[HttpCodes["OK"] = 200] = "OK"; | ||||
|     HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; | ||||
|     HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; | ||||
|     HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; | ||||
|     HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; | ||||
|     HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; | ||||
|     HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; | ||||
|     HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; | ||||
|     HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; | ||||
|     HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; | ||||
|     HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; | ||||
|     HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; | ||||
|     HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; | ||||
|     HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; | ||||
|     HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; | ||||
|     HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; | ||||
|     HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; | ||||
|     HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; | ||||
|     HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; | ||||
|     HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; | ||||
|     HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; | ||||
|     HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; | ||||
|     HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; | ||||
|     HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; | ||||
|     HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; | ||||
|     HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; | ||||
|     HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; | ||||
| })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); | ||||
| var Headers; | ||||
| (function (Headers) { | ||||
|     Headers["Accept"] = "accept"; | ||||
|     Headers["ContentType"] = "content-type"; | ||||
| })(Headers = exports.Headers || (exports.Headers = {})); | ||||
| var MediaTypes; | ||||
| (function (MediaTypes) { | ||||
|     MediaTypes["ApplicationJson"] = "application/json"; | ||||
| })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); | ||||
| /** | ||||
|  * Returns the proxy URL, depending upon the supplied url and proxy environment variables. | ||||
|  * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|  */ | ||||
| function getProxyUrl(serverUrl) { | ||||
|     let proxyUrl = pm.getProxyUrl(new URL(serverUrl)); | ||||
|     return proxyUrl ? proxyUrl.href : ''; | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| const HttpRedirectCodes = [ | ||||
|     HttpCodes.MovedPermanently, | ||||
|     HttpCodes.ResourceMoved, | ||||
|     HttpCodes.SeeOther, | ||||
|     HttpCodes.TemporaryRedirect, | ||||
|     HttpCodes.PermanentRedirect | ||||
| ]; | ||||
| const HttpResponseRetryCodes = [ | ||||
|     HttpCodes.BadGateway, | ||||
|     HttpCodes.ServiceUnavailable, | ||||
|     HttpCodes.GatewayTimeout | ||||
| ]; | ||||
| const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; | ||||
| const ExponentialBackoffCeiling = 10; | ||||
| const ExponentialBackoffTimeSlice = 5; | ||||
| class HttpClientError extends Error { | ||||
|     constructor(message, statusCode) { | ||||
|         super(message); | ||||
|         this.name = 'HttpClientError'; | ||||
|         this.statusCode = statusCode; | ||||
|         Object.setPrototypeOf(this, HttpClientError.prototype); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientError = HttpClientError; | ||||
| class HttpClientResponse { | ||||
|     constructor(message) { | ||||
|         this.message = message; | ||||
|     } | ||||
|     readBody() { | ||||
|         return new Promise(async (resolve, reject) => { | ||||
|             let output = Buffer.alloc(0); | ||||
|             this.message.on('data', (chunk) => { | ||||
|                 output = Buffer.concat([output, chunk]); | ||||
|             }); | ||||
|             this.message.on('end', () => { | ||||
|                 resolve(output.toString()); | ||||
|             }); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientResponse = HttpClientResponse; | ||||
| function isHttps(requestUrl) { | ||||
|     let parsedUrl = new URL(requestUrl); | ||||
|     return parsedUrl.protocol === 'https:'; | ||||
| } | ||||
| exports.isHttps = isHttps; | ||||
| class HttpClient { | ||||
|     constructor(userAgent, handlers, requestOptions) { | ||||
|         this._ignoreSslError = false; | ||||
|         this._allowRedirects = true; | ||||
|         this._allowRedirectDowngrade = false; | ||||
|         this._maxRedirects = 50; | ||||
|         this._allowRetries = false; | ||||
|         this._maxRetries = 1; | ||||
|         this._keepAlive = false; | ||||
|         this._disposed = false; | ||||
|         this.userAgent = userAgent; | ||||
|         this.handlers = handlers || []; | ||||
|         this.requestOptions = requestOptions; | ||||
|         if (requestOptions) { | ||||
|             if (requestOptions.ignoreSslError != null) { | ||||
|                 this._ignoreSslError = requestOptions.ignoreSslError; | ||||
|             } | ||||
|             this._socketTimeout = requestOptions.socketTimeout; | ||||
|             if (requestOptions.allowRedirects != null) { | ||||
|                 this._allowRedirects = requestOptions.allowRedirects; | ||||
|             } | ||||
|             if (requestOptions.allowRedirectDowngrade != null) { | ||||
|                 this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; | ||||
|             } | ||||
|             if (requestOptions.maxRedirects != null) { | ||||
|                 this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); | ||||
|             } | ||||
|             if (requestOptions.keepAlive != null) { | ||||
|                 this._keepAlive = requestOptions.keepAlive; | ||||
|             } | ||||
|             if (requestOptions.allowRetries != null) { | ||||
|                 this._allowRetries = requestOptions.allowRetries; | ||||
|             } | ||||
|             if (requestOptions.maxRetries != null) { | ||||
|                 this._maxRetries = requestOptions.maxRetries; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     options(requestUrl, additionalHeaders) { | ||||
|         return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); | ||||
|     } | ||||
|     get(requestUrl, additionalHeaders) { | ||||
|         return this.request('GET', requestUrl, null, additionalHeaders || {}); | ||||
|     } | ||||
|     del(requestUrl, additionalHeaders) { | ||||
|         return this.request('DELETE', requestUrl, null, additionalHeaders || {}); | ||||
|     } | ||||
|     post(requestUrl, data, additionalHeaders) { | ||||
|         return this.request('POST', requestUrl, data, additionalHeaders || {}); | ||||
|     } | ||||
|     patch(requestUrl, data, additionalHeaders) { | ||||
|         return this.request('PATCH', requestUrl, data, additionalHeaders || {}); | ||||
|     } | ||||
|     put(requestUrl, data, additionalHeaders) { | ||||
|         return this.request('PUT', requestUrl, data, additionalHeaders || {}); | ||||
|     } | ||||
|     head(requestUrl, additionalHeaders) { | ||||
|         return this.request('HEAD', requestUrl, null, additionalHeaders || {}); | ||||
|     } | ||||
|     sendStream(verb, requestUrl, stream, additionalHeaders) { | ||||
|         return this.request(verb, requestUrl, stream, additionalHeaders); | ||||
|     } | ||||
|     /** | ||||
|      * Gets a typed object from an endpoint | ||||
|      * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise | ||||
|      */ | ||||
|     async getJson(requestUrl, additionalHeaders = {}) { | ||||
|         additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|         let res = await this.get(requestUrl, additionalHeaders); | ||||
|         return this._processResponse(res, this.requestOptions); | ||||
|     } | ||||
|     async postJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         let data = JSON.stringify(obj, null, 2); | ||||
|         additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|         additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|         let res = await this.post(requestUrl, data, additionalHeaders); | ||||
|         return this._processResponse(res, this.requestOptions); | ||||
|     } | ||||
|     async putJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         let data = JSON.stringify(obj, null, 2); | ||||
|         additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|         additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|         let res = await this.put(requestUrl, data, additionalHeaders); | ||||
|         return this._processResponse(res, this.requestOptions); | ||||
|     } | ||||
|     async patchJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         let data = JSON.stringify(obj, null, 2); | ||||
|         additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|         additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|         let res = await this.patch(requestUrl, data, additionalHeaders); | ||||
|         return this._processResponse(res, this.requestOptions); | ||||
|     } | ||||
|     /** | ||||
|      * Makes a raw http request. | ||||
|      * All other methods such as get, post, patch, and request ultimately call this. | ||||
|      * Prefer get, del, post and patch | ||||
|      */ | ||||
|     async request(verb, requestUrl, data, headers) { | ||||
|         if (this._disposed) { | ||||
|             throw new Error('Client has already been disposed.'); | ||||
|         } | ||||
|         let parsedUrl = new URL(requestUrl); | ||||
|         let info = this._prepareRequest(verb, parsedUrl, headers); | ||||
|         // Only perform retries on reads since writes may not be idempotent.
 | ||||
|         let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1 | ||||
|             ? this._maxRetries + 1 | ||||
|             : 1; | ||||
|         let numTries = 0; | ||||
|         let response; | ||||
|         while (numTries < maxTries) { | ||||
|             response = await this.requestRaw(info, data); | ||||
|             // Check if it's an authentication challenge
 | ||||
|             if (response && | ||||
|                 response.message && | ||||
|                 response.message.statusCode === HttpCodes.Unauthorized) { | ||||
|                 let authenticationHandler; | ||||
|                 for (let i = 0; i < this.handlers.length; i++) { | ||||
|                     if (this.handlers[i].canHandleAuthentication(response)) { | ||||
|                         authenticationHandler = this.handlers[i]; | ||||
|                         break; | ||||
|                     } | ||||
|                 } | ||||
|                 if (authenticationHandler) { | ||||
|                     return authenticationHandler.handleAuthentication(this, info, data); | ||||
|                 } | ||||
|                 else { | ||||
|                     // We have received an unauthorized response but have no handlers to handle it.
 | ||||
|                     // Let the response return to the caller.
 | ||||
|                     return response; | ||||
|                 } | ||||
|             } | ||||
|             let redirectsRemaining = this._maxRedirects; | ||||
|             while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 && | ||||
|                 this._allowRedirects && | ||||
|                 redirectsRemaining > 0) { | ||||
|                 const redirectUrl = response.message.headers['location']; | ||||
|                 if (!redirectUrl) { | ||||
|                     // if there's no location to redirect to, we won't
 | ||||
|                     break; | ||||
|                 } | ||||
|                 let parsedRedirectUrl = new URL(redirectUrl); | ||||
|                 if (parsedUrl.protocol == 'https:' && | ||||
|                     parsedUrl.protocol != parsedRedirectUrl.protocol && | ||||
|                     !this._allowRedirectDowngrade) { | ||||
|                     throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); | ||||
|                 } | ||||
|                 // we need to finish reading the response before reassigning response
 | ||||
|                 // which will leak the open socket.
 | ||||
|                 await response.readBody(); | ||||
|                 // strip authorization header if redirected to a different hostname
 | ||||
|                 if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { | ||||
|                     for (let header in headers) { | ||||
|                         // header names are case insensitive
 | ||||
|                         if (header.toLowerCase() === 'authorization') { | ||||
|                             delete headers[header]; | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 // let's make the request with the new redirectUrl
 | ||||
|                 info = this._prepareRequest(verb, parsedRedirectUrl, headers); | ||||
|                 response = await this.requestRaw(info, data); | ||||
|                 redirectsRemaining--; | ||||
|             } | ||||
|             if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) { | ||||
|                 // If not a retry code, return immediately instead of retrying
 | ||||
|                 return response; | ||||
|             } | ||||
|             numTries += 1; | ||||
|             if (numTries < maxTries) { | ||||
|                 await response.readBody(); | ||||
|                 await this._performExponentialBackoff(numTries); | ||||
|             } | ||||
|         } | ||||
|         return response; | ||||
|     } | ||||
|     /** | ||||
|      * Needs to be called if keepAlive is set to true in request options. | ||||
|      */ | ||||
|     dispose() { | ||||
|         if (this._agent) { | ||||
|             this._agent.destroy(); | ||||
|         } | ||||
|         this._disposed = true; | ||||
|     } | ||||
|     /** | ||||
|      * Raw request. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      */ | ||||
|     requestRaw(info, data) { | ||||
|         return new Promise((resolve, reject) => { | ||||
|             let callbackForResult = function (err, res) { | ||||
|                 if (err) { | ||||
|                     reject(err); | ||||
|                 } | ||||
|                 resolve(res); | ||||
|             }; | ||||
|             this.requestRawWithCallback(info, data, callbackForResult); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Raw request with callback. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      * @param onResult | ||||
|      */ | ||||
|     requestRawWithCallback(info, data, onResult) { | ||||
|         let socket; | ||||
|         if (typeof data === 'string') { | ||||
|             info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); | ||||
|         } | ||||
|         let callbackCalled = false; | ||||
|         let handleResult = (err, res) => { | ||||
|             if (!callbackCalled) { | ||||
|                 callbackCalled = true; | ||||
|                 onResult(err, res); | ||||
|             } | ||||
|         }; | ||||
|         let req = info.httpModule.request(info.options, (msg) => { | ||||
|             let res = new HttpClientResponse(msg); | ||||
|             handleResult(null, res); | ||||
|         }); | ||||
|         req.on('socket', sock => { | ||||
|             socket = sock; | ||||
|         }); | ||||
|         // If we ever get disconnected, we want the socket to timeout eventually
 | ||||
|         req.setTimeout(this._socketTimeout || 3 * 60000, () => { | ||||
|             if (socket) { | ||||
|                 socket.end(); | ||||
|             } | ||||
|             handleResult(new Error('Request timeout: ' + info.options.path), null); | ||||
|         }); | ||||
|         req.on('error', function (err) { | ||||
|             // err has statusCode property
 | ||||
|             // res should have headers
 | ||||
|             handleResult(err, null); | ||||
|         }); | ||||
|         if (data && typeof data === 'string') { | ||||
|             req.write(data, 'utf8'); | ||||
|         } | ||||
|         if (data && typeof data !== 'string') { | ||||
|             data.on('close', function () { | ||||
|                 req.end(); | ||||
|             }); | ||||
|             data.pipe(req); | ||||
|         } | ||||
|         else { | ||||
|             req.end(); | ||||
|         } | ||||
|     } | ||||
|     /** | ||||
|      * Gets an http agent. This function is useful when you need an http agent that handles | ||||
|      * routing through a proxy server - depending upon the url and proxy environment variables. | ||||
|      * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|      */ | ||||
|     getAgent(serverUrl) { | ||||
|         let parsedUrl = new URL(serverUrl); | ||||
|         return this._getAgent(parsedUrl); | ||||
|     } | ||||
|     _prepareRequest(method, requestUrl, headers) { | ||||
|         const info = {}; | ||||
|         info.parsedUrl = requestUrl; | ||||
|         const usingSsl = info.parsedUrl.protocol === 'https:'; | ||||
|         info.httpModule = usingSsl ? https : http; | ||||
|         const defaultPort = usingSsl ? 443 : 80; | ||||
|         info.options = {}; | ||||
|         info.options.host = info.parsedUrl.hostname; | ||||
|         info.options.port = info.parsedUrl.port | ||||
|             ? parseInt(info.parsedUrl.port) | ||||
|             : defaultPort; | ||||
|         info.options.path = | ||||
|             (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); | ||||
|         info.options.method = method; | ||||
|         info.options.headers = this._mergeHeaders(headers); | ||||
|         if (this.userAgent != null) { | ||||
|             info.options.headers['user-agent'] = this.userAgent; | ||||
|         } | ||||
|         info.options.agent = this._getAgent(info.parsedUrl); | ||||
|         // gives handlers an opportunity to participate
 | ||||
|         if (this.handlers) { | ||||
|             this.handlers.forEach(handler => { | ||||
|                 handler.prepareRequest(info.options); | ||||
|             }); | ||||
|         } | ||||
|         return info; | ||||
|     } | ||||
|     _mergeHeaders(headers) { | ||||
|         const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers)); | ||||
|         } | ||||
|         return lowercaseKeys(headers || {}); | ||||
|     } | ||||
|     _getExistingOrDefaultHeader(additionalHeaders, header, _default) { | ||||
|         const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); | ||||
|         let clientHeader; | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; | ||||
|         } | ||||
|         return additionalHeaders[header] || clientHeader || _default; | ||||
|     } | ||||
|     _getAgent(parsedUrl) { | ||||
|         let agent; | ||||
|         let proxyUrl = pm.getProxyUrl(parsedUrl); | ||||
|         let useProxy = proxyUrl && proxyUrl.hostname; | ||||
|         if (this._keepAlive && useProxy) { | ||||
|             agent = this._proxyAgent; | ||||
|         } | ||||
|         if (this._keepAlive && !useProxy) { | ||||
|             agent = this._agent; | ||||
|         } | ||||
|         // if agent is already assigned use that agent.
 | ||||
|         if (!!agent) { | ||||
|             return agent; | ||||
|         } | ||||
|         const usingSsl = parsedUrl.protocol === 'https:'; | ||||
|         let maxSockets = 100; | ||||
|         if (!!this.requestOptions) { | ||||
|             maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; | ||||
|         } | ||||
|         if (useProxy) { | ||||
|             // If using proxy, need tunnel
 | ||||
|             if (!tunnel) { | ||||
|                 tunnel = __webpack_require__(413); | ||||
|             } | ||||
|             const agentOptions = { | ||||
|                 maxSockets: maxSockets, | ||||
|                 keepAlive: this._keepAlive, | ||||
|                 proxy: { | ||||
|                     ...((proxyUrl.username || proxyUrl.password) && { | ||||
|                         proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` | ||||
|                     }), | ||||
|                     host: proxyUrl.hostname, | ||||
|                     port: proxyUrl.port | ||||
|                 } | ||||
|             }; | ||||
|             let tunnelAgent; | ||||
|             const overHttps = proxyUrl.protocol === 'https:'; | ||||
|             if (usingSsl) { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; | ||||
|             } | ||||
|             else { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; | ||||
|             } | ||||
|             agent = tunnelAgent(agentOptions); | ||||
|             this._proxyAgent = agent; | ||||
|         } | ||||
|         // if reusing agent across request and tunneling agent isn't assigned create a new agent
 | ||||
|         if (this._keepAlive && !agent) { | ||||
|             const options = { keepAlive: this._keepAlive, maxSockets: maxSockets }; | ||||
|             agent = usingSsl ? new https.Agent(options) : new http.Agent(options); | ||||
|             this._agent = agent; | ||||
|         } | ||||
|         // if not using private agent and tunnel agent isn't setup then use global agent
 | ||||
|         if (!agent) { | ||||
|             agent = usingSsl ? https.globalAgent : http.globalAgent; | ||||
|         } | ||||
|         if (usingSsl && this._ignoreSslError) { | ||||
|             // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
 | ||||
|             // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
 | ||||
|             // we have to cast it to any and change it directly
 | ||||
|             agent.options = Object.assign(agent.options || {}, { | ||||
|                 rejectUnauthorized: false | ||||
|             }); | ||||
|         } | ||||
|         return agent; | ||||
|     } | ||||
|     _performExponentialBackoff(retryNumber) { | ||||
|         retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); | ||||
|         const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); | ||||
|         return new Promise(resolve => setTimeout(() => resolve(), ms)); | ||||
|     } | ||||
|     static dateTimeDeserializer(key, value) { | ||||
|         if (typeof value === 'string') { | ||||
|             let a = new Date(value); | ||||
|             if (!isNaN(a.valueOf())) { | ||||
|                 return a; | ||||
|             } | ||||
|         } | ||||
|         return value; | ||||
|     } | ||||
|     async _processResponse(res, options) { | ||||
|         return new Promise(async (resolve, reject) => { | ||||
|             const statusCode = res.message.statusCode; | ||||
|             const response = { | ||||
|                 statusCode: statusCode, | ||||
|                 result: null, | ||||
|                 headers: {} | ||||
|             }; | ||||
|             // not found leads to null obj returned
 | ||||
|             if (statusCode == HttpCodes.NotFound) { | ||||
|                 resolve(response); | ||||
|             } | ||||
|             let obj; | ||||
|             let contents; | ||||
|             // get the result from the body
 | ||||
|             try { | ||||
|                 contents = await res.readBody(); | ||||
|                 if (contents && contents.length > 0) { | ||||
|                     if (options && options.deserializeDates) { | ||||
|                         obj = JSON.parse(contents, HttpClient.dateTimeDeserializer); | ||||
|                     } | ||||
|                     else { | ||||
|                         obj = JSON.parse(contents); | ||||
|                     } | ||||
|                     response.result = obj; | ||||
|                 } | ||||
|                 response.headers = res.message.headers; | ||||
|             } | ||||
|             catch (err) { | ||||
|                 // Invalid resource (contents not json);  leaving result obj null
 | ||||
|             } | ||||
|             // note that 3xx redirects are handled by the http layer.
 | ||||
|             if (statusCode > 299) { | ||||
|                 let msg; | ||||
|                 // if exception/error in body, attempt to get better error
 | ||||
|                 if (obj && obj.message) { | ||||
|                     msg = obj.message; | ||||
|                 } | ||||
|                 else if (contents && contents.length > 0) { | ||||
|                     // it may be the case that the exception is in the body message as string
 | ||||
|                     msg = contents; | ||||
|                 } | ||||
|                 else { | ||||
|                     msg = 'Failed request: (' + statusCode + ')'; | ||||
|                 } | ||||
|                 let err = new HttpClientError(msg, statusCode); | ||||
|                 err.result = response.result; | ||||
|                 reject(err); | ||||
|             } | ||||
|             else { | ||||
|                 resolve(response); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClient = HttpClient; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 539 */, | ||||
| /* 540 */, | ||||
| /* 541 */ | ||||
| /***/ (function(module) { | ||||
| @ -41675,8 +41898,14 @@ CombinedStream.prototype._emitError = function(err) { | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 548 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| /* 548 */, | ||||
| /* 549 */, | ||||
| /* 550 */, | ||||
| /* 551 */, | ||||
| /* 552 */, | ||||
| /* 553 */, | ||||
| /* 554 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| @ -41690,282 +41919,78 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; | ||||
| const os_1 = __webpack_require__(87); | ||||
| const fs_1 = __webpack_require__(747); | ||||
| const { access, appendFile, writeFile } = fs_1.promises; | ||||
| exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; | ||||
| exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-markdown-summary'; | ||||
| class MarkdownSummary { | ||||
|     constructor() { | ||||
|         this._buffer = ''; | ||||
| exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; | ||||
| class BasicCredentialHandler { | ||||
|     constructor(username, password) { | ||||
|         this.username = username; | ||||
|         this.password = password; | ||||
|     } | ||||
|     /** | ||||
|      * Finds the summary file path from the environment, rejects if env var is not found or file does not exist | ||||
|      * Also checks r/w permissions. | ||||
|      * | ||||
|      * @returns step summary file path | ||||
|      */ | ||||
|     filePath() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (this._filePath) { | ||||
|                 return this._filePath; | ||||
|             } | ||||
|             const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; | ||||
|             if (!pathFromEnv) { | ||||
|                 throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports markdown summaries.`); | ||||
|             } | ||||
|             try { | ||||
|                 yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); | ||||
|             } | ||||
|             catch (_a) { | ||||
|                 throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); | ||||
|             } | ||||
|             this._filePath = pathFromEnv; | ||||
|             return this._filePath; | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Wraps content in an HTML tag, adding any HTML attributes | ||||
|      * | ||||
|      * @param {string} tag HTML tag to wrap | ||||
|      * @param {string | null} content content within the tag | ||||
|      * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add | ||||
|      * | ||||
|      * @returns {string} content wrapped in HTML element | ||||
|      */ | ||||
|     wrap(tag, content, attrs = {}) { | ||||
|         const htmlAttrs = Object.entries(attrs) | ||||
|             .map(([key, value]) => ` ${key}="${value}"`) | ||||
|             .join(''); | ||||
|         if (!content) { | ||||
|             return `<${tag}${htmlAttrs}>`; | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         return `<${tag}${htmlAttrs}>${content}</${tag}>`; | ||||
|         options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; | ||||
|     } | ||||
|     /** | ||||
|      * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. | ||||
|      * | ||||
|      * @param {SummaryWriteOptions} [options] (optional) options for write operation | ||||
|      * | ||||
|      * @returns {Promise<MarkdownSummary>} markdown summary instance | ||||
|      */ | ||||
|     write(options) { | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); | ||||
|             const filePath = yield this.filePath(); | ||||
|             const writeFunc = overwrite ? writeFile : appendFile; | ||||
|             yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); | ||||
|             return this.emptyBuffer(); | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Clears the summary buffer and wipes the summary file | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     clear() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.emptyBuffer().write({ overwrite: true }); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Returns the current summary buffer as a string | ||||
|      * | ||||
|      * @returns {string} string of summary buffer | ||||
|      */ | ||||
|     stringify() { | ||||
|         return this._buffer; | ||||
|     } | ||||
|     /** | ||||
|      * If the summary buffer is empty | ||||
|      * | ||||
|      * @returns {boolen} true if the buffer is empty | ||||
|      */ | ||||
|     isEmptyBuffer() { | ||||
|         return this._buffer.length === 0; | ||||
|     } | ||||
|     /** | ||||
|      * Resets the summary buffer without writing to summary file | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     emptyBuffer() { | ||||
|         this._buffer = ''; | ||||
|         return this; | ||||
|     } | ||||
|     /** | ||||
|      * Adds raw text to the summary buffer | ||||
|      * | ||||
|      * @param {string} text content to add | ||||
|      * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addRaw(text, addEOL = false) { | ||||
|         this._buffer += text; | ||||
|         return addEOL ? this.addEOL() : this; | ||||
|     } | ||||
|     /** | ||||
|      * Adds the operating system-specific end-of-line marker to the buffer | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addEOL() { | ||||
|         return this.addRaw(os_1.EOL); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML codeblock to the summary buffer | ||||
|      * | ||||
|      * @param {string} code content to render within fenced code block | ||||
|      * @param {string} lang (optional) language to syntax highlight code | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addCodeBlock(code, lang) { | ||||
|         const attrs = Object.assign({}, (lang && { lang })); | ||||
|         const element = this.wrap('pre', this.wrap('code', code), attrs); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML list to the summary buffer | ||||
|      * | ||||
|      * @param {string[]} items list of items to render | ||||
|      * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addList(items, ordered = false) { | ||||
|         const tag = ordered ? 'ol' : 'ul'; | ||||
|         const listItems = items.map(item => this.wrap('li', item)).join(''); | ||||
|         const element = this.wrap(tag, listItems); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML table to the summary buffer | ||||
|      * | ||||
|      * @param {SummaryTableCell[]} rows table rows | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addTable(rows) { | ||||
|         const tableBody = rows | ||||
|             .map(row => { | ||||
|             const cells = row | ||||
|                 .map(cell => { | ||||
|                 if (typeof cell === 'string') { | ||||
|                     return this.wrap('td', cell); | ||||
|                 } | ||||
|                 const { header, data, colspan, rowspan } = cell; | ||||
|                 const tag = header ? 'th' : 'td'; | ||||
|                 const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); | ||||
|                 return this.wrap(tag, data, attrs); | ||||
|             }) | ||||
|                 .join(''); | ||||
|             return this.wrap('tr', cells); | ||||
|         }) | ||||
|             .join(''); | ||||
|         const element = this.wrap('table', tableBody); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds a collapsable HTML details element to the summary buffer | ||||
|      * | ||||
|      * @param {string} label text for the closed state | ||||
|      * @param {string} content collapsable content | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addDetails(label, content) { | ||||
|         const element = this.wrap('details', this.wrap('summary', label) + content); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML image tag to the summary buffer | ||||
|      * | ||||
|      * @param {string} src path to the image you to embed | ||||
|      * @param {string} alt text description of the image | ||||
|      * @param {SummaryImageOptions} options (optional) addition image attributes | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addImage(src, alt, options) { | ||||
|         const { width, height } = options || {}; | ||||
|         const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); | ||||
|         const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML section heading element | ||||
|      * | ||||
|      * @param {string} text heading text | ||||
|      * @param {number | string} [level=1] (optional) the heading level, default: 1 | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addHeading(text, level) { | ||||
|         const tag = `h${level}`; | ||||
|         const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) | ||||
|             ? tag | ||||
|             : 'h1'; | ||||
|         const element = this.wrap(allowedTag, text); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML thematic break (<hr>) to the summary buffer | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addSeparator() { | ||||
|         const element = this.wrap('hr', null); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML line break (<br>) to the summary buffer | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addBreak() { | ||||
|         const element = this.wrap('br', null); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML blockquote to the summary buffer | ||||
|      * | ||||
|      * @param {string} text quote text | ||||
|      * @param {string} cite (optional) citation url | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addQuote(text, cite) { | ||||
|         const attrs = Object.assign({}, (cite && { cite })); | ||||
|         const element = this.wrap('blockquote', text, attrs); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML anchor tag to the summary buffer | ||||
|      * | ||||
|      * @param {string} text link text/content | ||||
|      * @param {string} href hyperlink | ||||
|      * | ||||
|      * @returns {MarkdownSummary} markdown summary instance | ||||
|      */ | ||||
|     addLink(text, href) { | ||||
|         const element = this.wrap('a', text, { href }); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
| } | ||||
| // singleton export
 | ||||
| exports.markdownSummary = new MarkdownSummary(); | ||||
| //# sourceMappingURL=markdown-summary.js.map
 | ||||
| exports.BasicCredentialHandler = BasicCredentialHandler; | ||||
| class BearerCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Bearer ${this.token}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.BearerCredentialHandler = BearerCredentialHandler; | ||||
| class PersonalAccessTokenCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; | ||||
| //# sourceMappingURL=auth.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 549 */, | ||||
| /* 550 */, | ||||
| /* 551 */, | ||||
| /* 552 */, | ||||
| /* 553 */, | ||||
| /* 554 */, | ||||
| /* 555 */, | ||||
| /* 556 */ | ||||
| /***/ (function(module) { | ||||
| @ -42369,8 +42394,92 @@ function clean(key) | ||||
| /* 569 */, | ||||
| /* 570 */, | ||||
| /* 571 */, | ||||
| /* 572 */, | ||||
| /* 573 */, | ||||
| /* 572 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _v = _interopRequireDefault(__webpack_require__(136)); | ||||
| 
 | ||||
| var _md = _interopRequireDefault(__webpack_require__(659)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| const v3 = (0, _v.default)('v3', 0x30, _md.default); | ||||
| var _default = v3; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 573 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| /** | ||||
|  * toPosixPath converts the given path to the posix form. On Windows, \\ will be | ||||
|  * replaced with /. | ||||
|  * | ||||
|  * @param pth. Path to transform. | ||||
|  * @return string Posix path. | ||||
|  */ | ||||
| function toPosixPath(pth) { | ||||
|     return pth.replace(/[\\]/g, '/'); | ||||
| } | ||||
| exports.toPosixPath = toPosixPath; | ||||
| /** | ||||
|  * toWin32Path converts the given path to the win32 form. On Linux, / will be | ||||
|  * replaced with \\. | ||||
|  * | ||||
|  * @param pth. Path to transform. | ||||
|  * @return string Win32 path. | ||||
|  */ | ||||
| function toWin32Path(pth) { | ||||
|     return pth.replace(/[/]/g, '\\'); | ||||
| } | ||||
| exports.toWin32Path = toWin32Path; | ||||
| /** | ||||
|  * toPlatformPath converts the given path to a platform-specific path. It does | ||||
|  * this by replacing instances of / and \ with the platform-specific path | ||||
|  * separator. | ||||
|  * | ||||
|  * @param pth The path to platformize. | ||||
|  * @return string The platform-specific path. | ||||
|  */ | ||||
| function toPlatformPath(pth) { | ||||
|     return pth.replace(/[/\\]/g, path.sep); | ||||
| } | ||||
| exports.toPlatformPath = toPlatformPath; | ||||
| //# sourceMappingURL=path-utils.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 574 */, | ||||
| /* 575 */, | ||||
| /* 576 */, | ||||
| @ -43846,11 +43955,54 @@ exports.isValid = function (domain) { | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 633 */, | ||||
| /* 634 */, | ||||
| /* 634 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _regex = _interopRequireDefault(__webpack_require__(525)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function validate(uuid) { | ||||
|   return typeof uuid === 'string' && _regex.default.test(uuid); | ||||
| } | ||||
| 
 | ||||
| var _default = validate; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 635 */, | ||||
| /* 636 */, | ||||
| /* 637 */, | ||||
| /* 638 */, | ||||
| /* 638 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _v = _interopRequireDefault(__webpack_require__(136)); | ||||
| 
 | ||||
| var _sha = _interopRequireDefault(__webpack_require__(329)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| const v5 = (0, _v.default)('v5', 0x50, _sha.default); | ||||
| var _default = v5; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 639 */ | ||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | ||||
| 
 | ||||
| @ -45903,7 +46055,35 @@ module.exports.implForWrapper = function (wrapper) { | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 658 */, | ||||
| /* 659 */, | ||||
| /* 659 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _crypto = _interopRequireDefault(__webpack_require__(417)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function md5(bytes) { | ||||
|   if (Array.isArray(bytes)) { | ||||
|     bytes = Buffer.from(bytes); | ||||
|   } else if (typeof bytes === 'string') { | ||||
|     bytes = Buffer.from(bytes, 'utf8'); | ||||
|   } | ||||
| 
 | ||||
|   return _crypto.default.createHash('md5').update(bytes).digest(); | ||||
| } | ||||
| 
 | ||||
| var _default = md5; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 660 */ | ||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | ||||
| 
 | ||||
| @ -46051,7 +46231,295 @@ module.exports.implForWrapper = function (wrapper) { | ||||
| /* 662 */, | ||||
| /* 663 */, | ||||
| /* 664 */, | ||||
| /* 665 */, | ||||
| /* 665 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; | ||||
| const os_1 = __webpack_require__(87); | ||||
| const fs_1 = __webpack_require__(747); | ||||
| const { access, appendFile, writeFile } = fs_1.promises; | ||||
| exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; | ||||
| exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; | ||||
| class Summary { | ||||
|     constructor() { | ||||
|         this._buffer = ''; | ||||
|     } | ||||
|     /** | ||||
|      * Finds the summary file path from the environment, rejects if env var is not found or file does not exist | ||||
|      * Also checks r/w permissions. | ||||
|      * | ||||
|      * @returns step summary file path | ||||
|      */ | ||||
|     filePath() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (this._filePath) { | ||||
|                 return this._filePath; | ||||
|             } | ||||
|             const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; | ||||
|             if (!pathFromEnv) { | ||||
|                 throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); | ||||
|             } | ||||
|             try { | ||||
|                 yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); | ||||
|             } | ||||
|             catch (_a) { | ||||
|                 throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); | ||||
|             } | ||||
|             this._filePath = pathFromEnv; | ||||
|             return this._filePath; | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Wraps content in an HTML tag, adding any HTML attributes | ||||
|      * | ||||
|      * @param {string} tag HTML tag to wrap | ||||
|      * @param {string | null} content content within the tag | ||||
|      * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add | ||||
|      * | ||||
|      * @returns {string} content wrapped in HTML element | ||||
|      */ | ||||
|     wrap(tag, content, attrs = {}) { | ||||
|         const htmlAttrs = Object.entries(attrs) | ||||
|             .map(([key, value]) => ` ${key}="${value}"`) | ||||
|             .join(''); | ||||
|         if (!content) { | ||||
|             return `<${tag}${htmlAttrs}>`; | ||||
|         } | ||||
|         return `<${tag}${htmlAttrs}>${content}</${tag}>`; | ||||
|     } | ||||
|     /** | ||||
|      * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. | ||||
|      * | ||||
|      * @param {SummaryWriteOptions} [options] (optional) options for write operation | ||||
|      * | ||||
|      * @returns {Promise<Summary>} summary instance | ||||
|      */ | ||||
|     write(options) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); | ||||
|             const filePath = yield this.filePath(); | ||||
|             const writeFunc = overwrite ? writeFile : appendFile; | ||||
|             yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); | ||||
|             return this.emptyBuffer(); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Clears the summary buffer and wipes the summary file | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     clear() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.emptyBuffer().write({ overwrite: true }); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Returns the current summary buffer as a string | ||||
|      * | ||||
|      * @returns {string} string of summary buffer | ||||
|      */ | ||||
|     stringify() { | ||||
|         return this._buffer; | ||||
|     } | ||||
|     /** | ||||
|      * If the summary buffer is empty | ||||
|      * | ||||
|      * @returns {boolen} true if the buffer is empty | ||||
|      */ | ||||
|     isEmptyBuffer() { | ||||
|         return this._buffer.length === 0; | ||||
|     } | ||||
|     /** | ||||
|      * Resets the summary buffer without writing to summary file | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     emptyBuffer() { | ||||
|         this._buffer = ''; | ||||
|         return this; | ||||
|     } | ||||
|     /** | ||||
|      * Adds raw text to the summary buffer | ||||
|      * | ||||
|      * @param {string} text content to add | ||||
|      * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addRaw(text, addEOL = false) { | ||||
|         this._buffer += text; | ||||
|         return addEOL ? this.addEOL() : this; | ||||
|     } | ||||
|     /** | ||||
|      * Adds the operating system-specific end-of-line marker to the buffer | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addEOL() { | ||||
|         return this.addRaw(os_1.EOL); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML codeblock to the summary buffer | ||||
|      * | ||||
|      * @param {string} code content to render within fenced code block | ||||
|      * @param {string} lang (optional) language to syntax highlight code | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addCodeBlock(code, lang) { | ||||
|         const attrs = Object.assign({}, (lang && { lang })); | ||||
|         const element = this.wrap('pre', this.wrap('code', code), attrs); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML list to the summary buffer | ||||
|      * | ||||
|      * @param {string[]} items list of items to render | ||||
|      * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addList(items, ordered = false) { | ||||
|         const tag = ordered ? 'ol' : 'ul'; | ||||
|         const listItems = items.map(item => this.wrap('li', item)).join(''); | ||||
|         const element = this.wrap(tag, listItems); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML table to the summary buffer | ||||
|      * | ||||
|      * @param {SummaryTableCell[]} rows table rows | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addTable(rows) { | ||||
|         const tableBody = rows | ||||
|             .map(row => { | ||||
|             const cells = row | ||||
|                 .map(cell => { | ||||
|                 if (typeof cell === 'string') { | ||||
|                     return this.wrap('td', cell); | ||||
|                 } | ||||
|                 const { header, data, colspan, rowspan } = cell; | ||||
|                 const tag = header ? 'th' : 'td'; | ||||
|                 const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); | ||||
|                 return this.wrap(tag, data, attrs); | ||||
|             }) | ||||
|                 .join(''); | ||||
|             return this.wrap('tr', cells); | ||||
|         }) | ||||
|             .join(''); | ||||
|         const element = this.wrap('table', tableBody); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds a collapsable HTML details element to the summary buffer | ||||
|      * | ||||
|      * @param {string} label text for the closed state | ||||
|      * @param {string} content collapsable content | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addDetails(label, content) { | ||||
|         const element = this.wrap('details', this.wrap('summary', label) + content); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML image tag to the summary buffer | ||||
|      * | ||||
|      * @param {string} src path to the image you to embed | ||||
|      * @param {string} alt text description of the image | ||||
|      * @param {SummaryImageOptions} options (optional) addition image attributes | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addImage(src, alt, options) { | ||||
|         const { width, height } = options || {}; | ||||
|         const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); | ||||
|         const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML section heading element | ||||
|      * | ||||
|      * @param {string} text heading text | ||||
|      * @param {number | string} [level=1] (optional) the heading level, default: 1 | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addHeading(text, level) { | ||||
|         const tag = `h${level}`; | ||||
|         const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) | ||||
|             ? tag | ||||
|             : 'h1'; | ||||
|         const element = this.wrap(allowedTag, text); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML thematic break (<hr>) to the summary buffer | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addSeparator() { | ||||
|         const element = this.wrap('hr', null); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML line break (<br>) to the summary buffer | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addBreak() { | ||||
|         const element = this.wrap('br', null); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML blockquote to the summary buffer | ||||
|      * | ||||
|      * @param {string} text quote text | ||||
|      * @param {string} cite (optional) citation url | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addQuote(text, cite) { | ||||
|         const attrs = Object.assign({}, (cite && { cite })); | ||||
|         const element = this.wrap('blockquote', text, attrs); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML anchor tag to the summary buffer | ||||
|      * | ||||
|      * @param {string} text link text/content | ||||
|      * @param {string} href hyperlink | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addLink(text, href) { | ||||
|         const element = this.wrap('a', text, { href }); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
| } | ||||
| const _summary = new Summary(); | ||||
| /** | ||||
|  * @deprecated use `core.summary` | ||||
|  */ | ||||
| exports.markdownSummary = _summary; | ||||
| exports.summary = _summary; | ||||
| //# sourceMappingURL=summary.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 666 */ | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| @ -47235,617 +47703,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 709 */, | ||||
| /* 710 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; | ||||
| const http = __importStar(__webpack_require__(605)); | ||||
| const https = __importStar(__webpack_require__(211)); | ||||
| const pm = __importStar(__webpack_require__(243)); | ||||
| const tunnel = __importStar(__webpack_require__(413)); | ||||
| var HttpCodes; | ||||
| (function (HttpCodes) { | ||||
|     HttpCodes[HttpCodes["OK"] = 200] = "OK"; | ||||
|     HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; | ||||
|     HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; | ||||
|     HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; | ||||
|     HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; | ||||
|     HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; | ||||
|     HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; | ||||
|     HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; | ||||
|     HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; | ||||
|     HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; | ||||
|     HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; | ||||
|     HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; | ||||
|     HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; | ||||
|     HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; | ||||
|     HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; | ||||
|     HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; | ||||
|     HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; | ||||
|     HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; | ||||
|     HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; | ||||
|     HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; | ||||
|     HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; | ||||
|     HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; | ||||
|     HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; | ||||
|     HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; | ||||
|     HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; | ||||
|     HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; | ||||
|     HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; | ||||
| })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); | ||||
| var Headers; | ||||
| (function (Headers) { | ||||
|     Headers["Accept"] = "accept"; | ||||
|     Headers["ContentType"] = "content-type"; | ||||
| })(Headers = exports.Headers || (exports.Headers = {})); | ||||
| var MediaTypes; | ||||
| (function (MediaTypes) { | ||||
|     MediaTypes["ApplicationJson"] = "application/json"; | ||||
| })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); | ||||
| /** | ||||
|  * Returns the proxy URL, depending upon the supplied url and proxy environment variables. | ||||
|  * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|  */ | ||||
| function getProxyUrl(serverUrl) { | ||||
|     const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); | ||||
|     return proxyUrl ? proxyUrl.href : ''; | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| const HttpRedirectCodes = [ | ||||
|     HttpCodes.MovedPermanently, | ||||
|     HttpCodes.ResourceMoved, | ||||
|     HttpCodes.SeeOther, | ||||
|     HttpCodes.TemporaryRedirect, | ||||
|     HttpCodes.PermanentRedirect | ||||
| ]; | ||||
| const HttpResponseRetryCodes = [ | ||||
|     HttpCodes.BadGateway, | ||||
|     HttpCodes.ServiceUnavailable, | ||||
|     HttpCodes.GatewayTimeout | ||||
| ]; | ||||
| const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; | ||||
| const ExponentialBackoffCeiling = 10; | ||||
| const ExponentialBackoffTimeSlice = 5; | ||||
| class HttpClientError extends Error { | ||||
|     constructor(message, statusCode) { | ||||
|         super(message); | ||||
|         this.name = 'HttpClientError'; | ||||
|         this.statusCode = statusCode; | ||||
|         Object.setPrototypeOf(this, HttpClientError.prototype); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientError = HttpClientError; | ||||
| class HttpClientResponse { | ||||
|     constructor(message) { | ||||
|         this.message = message; | ||||
|     } | ||||
|     readBody() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { | ||||
|                 let output = Buffer.alloc(0); | ||||
|                 this.message.on('data', (chunk) => { | ||||
|                     output = Buffer.concat([output, chunk]); | ||||
|                 }); | ||||
|                 this.message.on('end', () => { | ||||
|                     resolve(output.toString()); | ||||
|                 }); | ||||
|             })); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientResponse = HttpClientResponse; | ||||
| function isHttps(requestUrl) { | ||||
|     const parsedUrl = new URL(requestUrl); | ||||
|     return parsedUrl.protocol === 'https:'; | ||||
| } | ||||
| exports.isHttps = isHttps; | ||||
| class HttpClient { | ||||
|     constructor(userAgent, handlers, requestOptions) { | ||||
|         this._ignoreSslError = false; | ||||
|         this._allowRedirects = true; | ||||
|         this._allowRedirectDowngrade = false; | ||||
|         this._maxRedirects = 50; | ||||
|         this._allowRetries = false; | ||||
|         this._maxRetries = 1; | ||||
|         this._keepAlive = false; | ||||
|         this._disposed = false; | ||||
|         this.userAgent = userAgent; | ||||
|         this.handlers = handlers || []; | ||||
|         this.requestOptions = requestOptions; | ||||
|         if (requestOptions) { | ||||
|             if (requestOptions.ignoreSslError != null) { | ||||
|                 this._ignoreSslError = requestOptions.ignoreSslError; | ||||
|             } | ||||
|             this._socketTimeout = requestOptions.socketTimeout; | ||||
|             if (requestOptions.allowRedirects != null) { | ||||
|                 this._allowRedirects = requestOptions.allowRedirects; | ||||
|             } | ||||
|             if (requestOptions.allowRedirectDowngrade != null) { | ||||
|                 this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; | ||||
|             } | ||||
|             if (requestOptions.maxRedirects != null) { | ||||
|                 this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); | ||||
|             } | ||||
|             if (requestOptions.keepAlive != null) { | ||||
|                 this._keepAlive = requestOptions.keepAlive; | ||||
|             } | ||||
|             if (requestOptions.allowRetries != null) { | ||||
|                 this._allowRetries = requestOptions.allowRetries; | ||||
|             } | ||||
|             if (requestOptions.maxRetries != null) { | ||||
|                 this._maxRetries = requestOptions.maxRetries; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     options(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     get(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('GET', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     del(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('DELETE', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     post(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('POST', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     patch(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('PATCH', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     put(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('PUT', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     head(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('HEAD', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     sendStream(verb, requestUrl, stream, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request(verb, requestUrl, stream, additionalHeaders); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Gets a typed object from an endpoint | ||||
|      * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise | ||||
|      */ | ||||
|     getJson(requestUrl, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.get(requestUrl, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     postJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.post(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     putJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.put(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     patchJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.patch(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Makes a raw http request. | ||||
|      * All other methods such as get, post, patch, and request ultimately call this. | ||||
|      * Prefer get, del, post and patch | ||||
|      */ | ||||
|     request(verb, requestUrl, data, headers) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (this._disposed) { | ||||
|                 throw new Error('Client has already been disposed.'); | ||||
|             } | ||||
|             const parsedUrl = new URL(requestUrl); | ||||
|             let info = this._prepareRequest(verb, parsedUrl, headers); | ||||
|             // Only perform retries on reads since writes may not be idempotent.
 | ||||
|             const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) | ||||
|                 ? this._maxRetries + 1 | ||||
|                 : 1; | ||||
|             let numTries = 0; | ||||
|             let response; | ||||
|             do { | ||||
|                 response = yield this.requestRaw(info, data); | ||||
|                 // Check if it's an authentication challenge
 | ||||
|                 if (response && | ||||
|                     response.message && | ||||
|                     response.message.statusCode === HttpCodes.Unauthorized) { | ||||
|                     let authenticationHandler; | ||||
|                     for (const handler of this.handlers) { | ||||
|                         if (handler.canHandleAuthentication(response)) { | ||||
|                             authenticationHandler = handler; | ||||
|                             break; | ||||
|                         } | ||||
|                     } | ||||
|                     if (authenticationHandler) { | ||||
|                         return authenticationHandler.handleAuthentication(this, info, data); | ||||
|                     } | ||||
|                     else { | ||||
|                         // We have received an unauthorized response but have no handlers to handle it.
 | ||||
|                         // Let the response return to the caller.
 | ||||
|                         return response; | ||||
|                     } | ||||
|                 } | ||||
|                 let redirectsRemaining = this._maxRedirects; | ||||
|                 while (response.message.statusCode && | ||||
|                     HttpRedirectCodes.includes(response.message.statusCode) && | ||||
|                     this._allowRedirects && | ||||
|                     redirectsRemaining > 0) { | ||||
|                     const redirectUrl = response.message.headers['location']; | ||||
|                     if (!redirectUrl) { | ||||
|                         // if there's no location to redirect to, we won't
 | ||||
|                         break; | ||||
|                     } | ||||
|                     const parsedRedirectUrl = new URL(redirectUrl); | ||||
|                     if (parsedUrl.protocol === 'https:' && | ||||
|                         parsedUrl.protocol !== parsedRedirectUrl.protocol && | ||||
|                         !this._allowRedirectDowngrade) { | ||||
|                         throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); | ||||
|                     } | ||||
|                     // we need to finish reading the response before reassigning response
 | ||||
|                     // which will leak the open socket.
 | ||||
|                     yield response.readBody(); | ||||
|                     // strip authorization header if redirected to a different hostname
 | ||||
|                     if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { | ||||
|                         for (const header in headers) { | ||||
|                             // header names are case insensitive
 | ||||
|                             if (header.toLowerCase() === 'authorization') { | ||||
|                                 delete headers[header]; | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                     // let's make the request with the new redirectUrl
 | ||||
|                     info = this._prepareRequest(verb, parsedRedirectUrl, headers); | ||||
|                     response = yield this.requestRaw(info, data); | ||||
|                     redirectsRemaining--; | ||||
|                 } | ||||
|                 if (!response.message.statusCode || | ||||
|                     !HttpResponseRetryCodes.includes(response.message.statusCode)) { | ||||
|                     // If not a retry code, return immediately instead of retrying
 | ||||
|                     return response; | ||||
|                 } | ||||
|                 numTries += 1; | ||||
|                 if (numTries < maxTries) { | ||||
|                     yield response.readBody(); | ||||
|                     yield this._performExponentialBackoff(numTries); | ||||
|                 } | ||||
|             } while (numTries < maxTries); | ||||
|             return response; | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Needs to be called if keepAlive is set to true in request options. | ||||
|      */ | ||||
|     dispose() { | ||||
|         if (this._agent) { | ||||
|             this._agent.destroy(); | ||||
|         } | ||||
|         this._disposed = true; | ||||
|     } | ||||
|     /** | ||||
|      * Raw request. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      */ | ||||
|     requestRaw(info, data) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve, reject) => { | ||||
|                 function callbackForResult(err, res) { | ||||
|                     if (err) { | ||||
|                         reject(err); | ||||
|                     } | ||||
|                     else if (!res) { | ||||
|                         // If `err` is not passed, then `res` must be passed.
 | ||||
|                         reject(new Error('Unknown error')); | ||||
|                     } | ||||
|                     else { | ||||
|                         resolve(res); | ||||
|                     } | ||||
|                 } | ||||
|                 this.requestRawWithCallback(info, data, callbackForResult); | ||||
|             }); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Raw request with callback. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      * @param onResult | ||||
|      */ | ||||
|     requestRawWithCallback(info, data, onResult) { | ||||
|         if (typeof data === 'string') { | ||||
|             if (!info.options.headers) { | ||||
|                 info.options.headers = {}; | ||||
|             } | ||||
|             info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); | ||||
|         } | ||||
|         let callbackCalled = false; | ||||
|         function handleResult(err, res) { | ||||
|             if (!callbackCalled) { | ||||
|                 callbackCalled = true; | ||||
|                 onResult(err, res); | ||||
|             } | ||||
|         } | ||||
|         const req = info.httpModule.request(info.options, (msg) => { | ||||
|             const res = new HttpClientResponse(msg); | ||||
|             handleResult(undefined, res); | ||||
|         }); | ||||
|         let socket; | ||||
|         req.on('socket', sock => { | ||||
|             socket = sock; | ||||
|         }); | ||||
|         // If we ever get disconnected, we want the socket to timeout eventually
 | ||||
|         req.setTimeout(this._socketTimeout || 3 * 60000, () => { | ||||
|             if (socket) { | ||||
|                 socket.end(); | ||||
|             } | ||||
|             handleResult(new Error(`Request timeout: ${info.options.path}`)); | ||||
|         }); | ||||
|         req.on('error', function (err) { | ||||
|             // err has statusCode property
 | ||||
|             // res should have headers
 | ||||
|             handleResult(err); | ||||
|         }); | ||||
|         if (data && typeof data === 'string') { | ||||
|             req.write(data, 'utf8'); | ||||
|         } | ||||
|         if (data && typeof data !== 'string') { | ||||
|             data.on('close', function () { | ||||
|                 req.end(); | ||||
|             }); | ||||
|             data.pipe(req); | ||||
|         } | ||||
|         else { | ||||
|             req.end(); | ||||
|         } | ||||
|     } | ||||
|     /** | ||||
|      * Gets an http agent. This function is useful when you need an http agent that handles | ||||
|      * routing through a proxy server - depending upon the url and proxy environment variables. | ||||
|      * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|      */ | ||||
|     getAgent(serverUrl) { | ||||
|         const parsedUrl = new URL(serverUrl); | ||||
|         return this._getAgent(parsedUrl); | ||||
|     } | ||||
|     _prepareRequest(method, requestUrl, headers) { | ||||
|         const info = {}; | ||||
|         info.parsedUrl = requestUrl; | ||||
|         const usingSsl = info.parsedUrl.protocol === 'https:'; | ||||
|         info.httpModule = usingSsl ? https : http; | ||||
|         const defaultPort = usingSsl ? 443 : 80; | ||||
|         info.options = {}; | ||||
|         info.options.host = info.parsedUrl.hostname; | ||||
|         info.options.port = info.parsedUrl.port | ||||
|             ? parseInt(info.parsedUrl.port) | ||||
|             : defaultPort; | ||||
|         info.options.path = | ||||
|             (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); | ||||
|         info.options.method = method; | ||||
|         info.options.headers = this._mergeHeaders(headers); | ||||
|         if (this.userAgent != null) { | ||||
|             info.options.headers['user-agent'] = this.userAgent; | ||||
|         } | ||||
|         info.options.agent = this._getAgent(info.parsedUrl); | ||||
|         // gives handlers an opportunity to participate
 | ||||
|         if (this.handlers) { | ||||
|             for (const handler of this.handlers) { | ||||
|                 handler.prepareRequest(info.options); | ||||
|             } | ||||
|         } | ||||
|         return info; | ||||
|     } | ||||
|     _mergeHeaders(headers) { | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); | ||||
|         } | ||||
|         return lowercaseKeys(headers || {}); | ||||
|     } | ||||
|     _getExistingOrDefaultHeader(additionalHeaders, header, _default) { | ||||
|         let clientHeader; | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; | ||||
|         } | ||||
|         return additionalHeaders[header] || clientHeader || _default; | ||||
|     } | ||||
|     _getAgent(parsedUrl) { | ||||
|         let agent; | ||||
|         const proxyUrl = pm.getProxyUrl(parsedUrl); | ||||
|         const useProxy = proxyUrl && proxyUrl.hostname; | ||||
|         if (this._keepAlive && useProxy) { | ||||
|             agent = this._proxyAgent; | ||||
|         } | ||||
|         if (this._keepAlive && !useProxy) { | ||||
|             agent = this._agent; | ||||
|         } | ||||
|         // if agent is already assigned use that agent.
 | ||||
|         if (agent) { | ||||
|             return agent; | ||||
|         } | ||||
|         const usingSsl = parsedUrl.protocol === 'https:'; | ||||
|         let maxSockets = 100; | ||||
|         if (this.requestOptions) { | ||||
|             maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; | ||||
|         } | ||||
|         // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.
 | ||||
|         if (proxyUrl && proxyUrl.hostname) { | ||||
|             const agentOptions = { | ||||
|                 maxSockets, | ||||
|                 keepAlive: this._keepAlive, | ||||
|                 proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { | ||||
|                     proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` | ||||
|                 })), { host: proxyUrl.hostname, port: proxyUrl.port }) | ||||
|             }; | ||||
|             let tunnelAgent; | ||||
|             const overHttps = proxyUrl.protocol === 'https:'; | ||||
|             if (usingSsl) { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; | ||||
|             } | ||||
|             else { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; | ||||
|             } | ||||
|             agent = tunnelAgent(agentOptions); | ||||
|             this._proxyAgent = agent; | ||||
|         } | ||||
|         // if reusing agent across request and tunneling agent isn't assigned create a new agent
 | ||||
|         if (this._keepAlive && !agent) { | ||||
|             const options = { keepAlive: this._keepAlive, maxSockets }; | ||||
|             agent = usingSsl ? new https.Agent(options) : new http.Agent(options); | ||||
|             this._agent = agent; | ||||
|         } | ||||
|         // if not using private agent and tunnel agent isn't setup then use global agent
 | ||||
|         if (!agent) { | ||||
|             agent = usingSsl ? https.globalAgent : http.globalAgent; | ||||
|         } | ||||
|         if (usingSsl && this._ignoreSslError) { | ||||
|             // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
 | ||||
|             // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
 | ||||
|             // we have to cast it to any and change it directly
 | ||||
|             agent.options = Object.assign(agent.options || {}, { | ||||
|                 rejectUnauthorized: false | ||||
|             }); | ||||
|         } | ||||
|         return agent; | ||||
|     } | ||||
|     _performExponentialBackoff(retryNumber) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); | ||||
|             const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); | ||||
|             return new Promise(resolve => setTimeout(() => resolve(), ms)); | ||||
|         }); | ||||
|     } | ||||
|     _processResponse(res, options) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { | ||||
|                 const statusCode = res.message.statusCode || 0; | ||||
|                 const response = { | ||||
|                     statusCode, | ||||
|                     result: null, | ||||
|                     headers: {} | ||||
|                 }; | ||||
|                 // not found leads to null obj returned
 | ||||
|                 if (statusCode === HttpCodes.NotFound) { | ||||
|                     resolve(response); | ||||
|                 } | ||||
|                 // get the result from the body
 | ||||
|                 function dateTimeDeserializer(key, value) { | ||||
|                     if (typeof value === 'string') { | ||||
|                         const a = new Date(value); | ||||
|                         if (!isNaN(a.valueOf())) { | ||||
|                             return a; | ||||
|                         } | ||||
|                     } | ||||
|                     return value; | ||||
|                 } | ||||
|                 let obj; | ||||
|                 let contents; | ||||
|                 try { | ||||
|                     contents = yield res.readBody(); | ||||
|                     if (contents && contents.length > 0) { | ||||
|                         if (options && options.deserializeDates) { | ||||
|                             obj = JSON.parse(contents, dateTimeDeserializer); | ||||
|                         } | ||||
|                         else { | ||||
|                             obj = JSON.parse(contents); | ||||
|                         } | ||||
|                         response.result = obj; | ||||
|                     } | ||||
|                     response.headers = res.message.headers; | ||||
|                 } | ||||
|                 catch (err) { | ||||
|                     // Invalid resource (contents not json);  leaving result obj null
 | ||||
|                 } | ||||
|                 // note that 3xx redirects are handled by the http layer.
 | ||||
|                 if (statusCode > 299) { | ||||
|                     let msg; | ||||
|                     // if exception/error in body, attempt to get better error
 | ||||
|                     if (obj && obj.message) { | ||||
|                         msg = obj.message; | ||||
|                     } | ||||
|                     else if (contents && contents.length > 0) { | ||||
|                         // it may be the case that the exception is in the body message as string
 | ||||
|                         msg = contents; | ||||
|                     } | ||||
|                     else { | ||||
|                         msg = `Failed request: (${statusCode})`; | ||||
|                     } | ||||
|                     const err = new HttpClientError(msg, statusCode); | ||||
|                     err.result = response.result; | ||||
|                     reject(err); | ||||
|                 } | ||||
|                 else { | ||||
|                     resolve(response); | ||||
|                 } | ||||
|             })); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClient = HttpClient; | ||||
| const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 710 */, | ||||
| /* 711 */, | ||||
| /* 712 */, | ||||
| /* 713 */, | ||||
| @ -48308,8 +48166,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.OidcClient = void 0; | ||||
| const http_client_1 = __webpack_require__(539); | ||||
| const auth_1 = __webpack_require__(226); | ||||
| const http_client_1 = __webpack_require__(425); | ||||
| const auth_1 = __webpack_require__(554); | ||||
| const core_1 = __webpack_require__(470); | ||||
| class OidcClient { | ||||
|     static createHttpClient(allowRetry = true, maxRetry = 10) { | ||||
| @ -48470,7 +48328,62 @@ function async(callback) | ||||
| /***/ }), | ||||
| /* 752 */, | ||||
| /* 753 */, | ||||
| /* 754 */, | ||||
| /* 754 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| var __spreadArray = (this && this.__spreadArray) || function (to, from) { | ||||
|     for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) | ||||
|         to[j] = from[i]; | ||||
|     return to; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.NoopContextManager = void 0; | ||||
| var context_1 = __webpack_require__(132); | ||||
| var NoopContextManager = /** @class */ (function () { | ||||
|     function NoopContextManager() { | ||||
|     } | ||||
|     NoopContextManager.prototype.active = function () { | ||||
|         return context_1.ROOT_CONTEXT; | ||||
|     }; | ||||
|     NoopContextManager.prototype.with = function (_context, fn, thisArg) { | ||||
|         var args = []; | ||||
|         for (var _i = 3; _i < arguments.length; _i++) { | ||||
|             args[_i - 3] = arguments[_i]; | ||||
|         } | ||||
|         return fn.call.apply(fn, __spreadArray([thisArg], args)); | ||||
|     }; | ||||
|     NoopContextManager.prototype.bind = function (_context, target) { | ||||
|         return target; | ||||
|     }; | ||||
|     NoopContextManager.prototype.enable = function () { | ||||
|         return this; | ||||
|     }; | ||||
|     NoopContextManager.prototype.disable = function () { | ||||
|         return this; | ||||
|     }; | ||||
|     return NoopContextManager; | ||||
| }()); | ||||
| exports.NoopContextManager = NoopContextManager; | ||||
| //# sourceMappingURL=NoopContextManager.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 755 */, | ||||
| /* 756 */, | ||||
| /* 757 */, | ||||
| @ -48516,7 +48429,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||||
|     for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| __exportStar(__webpack_require__(145), exports); | ||||
| __exportStar(__webpack_require__(950), exports); | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -50483,7 +50396,119 @@ module.exports = require("stream"); | ||||
| /* 807 */, | ||||
| /* 808 */, | ||||
| /* 809 */, | ||||
| /* 810 */, | ||||
| /* 810 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _rng = _interopRequireDefault(__webpack_require__(506)); | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| // **`v1()` - Generate time-based UUID**
 | ||||
| //
 | ||||
| // Inspired by https://github.com/LiosK/UUID.js
 | ||||
| // and http://docs.python.org/library/uuid.html
 | ||||
| let _nodeId; | ||||
| 
 | ||||
| let _clockseq; // Previous uuid creation time
 | ||||
| 
 | ||||
| 
 | ||||
| let _lastMSecs = 0; | ||||
| let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details
 | ||||
| 
 | ||||
| function v1(options, buf, offset) { | ||||
|   let i = buf && offset || 0; | ||||
|   const b = buf || new Array(16); | ||||
|   options = options || {}; | ||||
|   let node = options.node || _nodeId; | ||||
|   let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not
 | ||||
|   // specified.  We do this lazily to minimize issues related to insufficient
 | ||||
|   // system entropy.  See #189
 | ||||
| 
 | ||||
|   if (node == null || clockseq == null) { | ||||
|     const seedBytes = options.random || (options.rng || _rng.default)(); | ||||
| 
 | ||||
|     if (node == null) { | ||||
|       // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
 | ||||
|       node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; | ||||
|     } | ||||
| 
 | ||||
|     if (clockseq == null) { | ||||
|       // Per 4.2.2, randomize (14 bit) clockseq
 | ||||
|       clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; | ||||
|     } | ||||
|   } // UUID timestamps are 100 nano-second units since the Gregorian epoch,
 | ||||
|   // (1582-10-15 00:00).  JSNumbers aren't precise enough for this, so
 | ||||
|   // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
 | ||||
|   // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
 | ||||
| 
 | ||||
| 
 | ||||
|   let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock
 | ||||
|   // cycle to simulate higher resolution clock
 | ||||
| 
 | ||||
|   let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)
 | ||||
| 
 | ||||
|   const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression
 | ||||
| 
 | ||||
|   if (dt < 0 && options.clockseq === undefined) { | ||||
|     clockseq = clockseq + 1 & 0x3fff; | ||||
|   } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
 | ||||
|   // time interval
 | ||||
| 
 | ||||
| 
 | ||||
|   if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { | ||||
|     nsecs = 0; | ||||
|   } // Per 4.2.1.2 Throw error if too many uuids are requested
 | ||||
| 
 | ||||
| 
 | ||||
|   if (nsecs >= 10000) { | ||||
|     throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); | ||||
|   } | ||||
| 
 | ||||
|   _lastMSecs = msecs; | ||||
|   _lastNSecs = nsecs; | ||||
|   _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
 | ||||
| 
 | ||||
|   msecs += 12219292800000; // `time_low`
 | ||||
| 
 | ||||
|   const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; | ||||
|   b[i++] = tl >>> 24 & 0xff; | ||||
|   b[i++] = tl >>> 16 & 0xff; | ||||
|   b[i++] = tl >>> 8 & 0xff; | ||||
|   b[i++] = tl & 0xff; // `time_mid`
 | ||||
| 
 | ||||
|   const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; | ||||
|   b[i++] = tmh >>> 8 & 0xff; | ||||
|   b[i++] = tmh & 0xff; // `time_high_and_version`
 | ||||
| 
 | ||||
|   b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
 | ||||
| 
 | ||||
|   b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
 | ||||
| 
 | ||||
|   b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`
 | ||||
| 
 | ||||
|   b[i++] = clockseq & 0xff; // `node`
 | ||||
| 
 | ||||
|   for (let n = 0; n < 6; ++n) { | ||||
|     b[i + n] = node[n]; | ||||
|   } | ||||
| 
 | ||||
|   return buf || (0, _stringify.default)(b); | ||||
| } | ||||
| 
 | ||||
| var _default = v1; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 811 */, | ||||
| /* 812 */, | ||||
| /* 813 */, | ||||
| @ -51034,7 +51059,7 @@ var __createBinding; | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.TraceAPI = void 0; | ||||
| var global_utils_1 = __webpack_require__(525); | ||||
| var global_utils_1 = __webpack_require__(94); | ||||
| var ProxyTracerProvider_1 = __webpack_require__(394); | ||||
| var spancontext_utils_1 = __webpack_require__(629); | ||||
| var context_utils_1 = __webpack_require__(720); | ||||
| @ -52614,7 +52639,7 @@ var __importStar = (this && this.__importStar) || function (mod) { | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const core = __importStar(__webpack_require__(470)); | ||||
| const http_client_1 = __webpack_require__(710); | ||||
| const http_client_1 = __webpack_require__(425); | ||||
| const constants_1 = __webpack_require__(931); | ||||
| function isSuccessStatusCode(statusCode) { | ||||
|     if (!statusCode) { | ||||
| @ -54824,63 +54849,27 @@ function terminator(callback) | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* | ||||
|  * Copyright The OpenTelemetry Authors | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0
 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| function getProxyUrl(reqUrl) { | ||||
|     let usingSsl = reqUrl.protocol === 'https:'; | ||||
|     let proxyUrl; | ||||
|     if (checkBypass(reqUrl)) { | ||||
|         return proxyUrl; | ||||
|     } | ||||
|     let proxyVar; | ||||
|     if (usingSsl) { | ||||
|         proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY']; | ||||
|     } | ||||
|     else { | ||||
|         proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY']; | ||||
|     } | ||||
|     if (proxyVar) { | ||||
|         proxyUrl = new URL(proxyVar); | ||||
|     } | ||||
|     return proxyUrl; | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| function checkBypass(reqUrl) { | ||||
|     if (!reqUrl.hostname) { | ||||
|         return false; | ||||
|     } | ||||
|     let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; | ||||
|     if (!noProxy) { | ||||
|         return false; | ||||
|     } | ||||
|     // Determine the request port
 | ||||
|     let reqPort; | ||||
|     if (reqUrl.port) { | ||||
|         reqPort = Number(reqUrl.port); | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'http:') { | ||||
|         reqPort = 80; | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'https:') { | ||||
|         reqPort = 443; | ||||
|     } | ||||
|     // Format the request hostname and hostname with port
 | ||||
|     let upperReqHosts = [reqUrl.hostname.toUpperCase()]; | ||||
|     if (typeof reqPort === 'number') { | ||||
|         upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); | ||||
|     } | ||||
|     // Compare request host against noproxy
 | ||||
|     for (let upperNoProxyItem of noProxy | ||||
|         .split(',') | ||||
|         .map(x => x.trim().toUpperCase()) | ||||
|         .filter(x => x)) { | ||||
|         if (upperReqHosts.some(x => x === upperNoProxyItem)) { | ||||
|             return true; | ||||
|         } | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
| exports.checkBypass = checkBypass; | ||||
| 
 | ||||
| exports._globalThis = void 0; | ||||
| /** only globals that common to node and browsers are allowed */ | ||||
| // eslint-disable-next-line node/no-unsupported-features/es-builtins
 | ||||
| exports._globalThis = typeof globalThis === 'object' ? globalThis : global; | ||||
| //# sourceMappingURL=globalThis.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 951 */, | ||||
| @ -54928,7 +54917,51 @@ exports.checkBypass = checkBypass; | ||||
| /* 957 */, | ||||
| /* 958 */, | ||||
| /* 959 */, | ||||
| /* 960 */, | ||||
| /* 960 */ | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| /** | ||||
|  * Convert array of 16 byte values to UUID string format of the form: | ||||
|  * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX | ||||
|  */ | ||||
| const byteToHex = []; | ||||
| 
 | ||||
| for (let i = 0; i < 256; ++i) { | ||||
|   byteToHex.push((i + 0x100).toString(16).substr(1)); | ||||
| } | ||||
| 
 | ||||
| function stringify(arr, offset = 0) { | ||||
|   // Note: Be careful editing this code!  It's been tuned for performance
 | ||||
|   // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
 | ||||
|   const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID.  If this throws, it's likely due to one
 | ||||
|   // of the following:
 | ||||
|   // - One or more input array values don't map to a hex octet (leading to
 | ||||
|   // "undefined" in the uuid)
 | ||||
|   // - Invalid input values for the RFC `version` or `variant` fields
 | ||||
| 
 | ||||
|   if (!(0, _validate.default)(uuid)) { | ||||
|     throw TypeError('Stringified UUID is invalid'); | ||||
|   } | ||||
| 
 | ||||
|   return uuid; | ||||
| } | ||||
| 
 | ||||
| var _default = stringify; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| /* 961 */, | ||||
| /* 962 */, | ||||
| /* 963 */, | ||||
|  | ||||
							
								
								
									
										67
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										67
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -10,7 +10,7 @@ | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/cache": "^3.0.4", | ||||
|         "@actions/core": "^1.7.0", | ||||
|         "@actions/core": "^1.9.1", | ||||
|         "@actions/exec": "^1.1.1", | ||||
|         "@actions/io": "^1.1.2" | ||||
|       }, | ||||
| @ -51,20 +51,21 @@ | ||||
|         "uuid": "^3.3.3" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/cache/node_modules/@actions/http-client": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|       "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|     "node_modules/@actions/core": { | ||||
|       "version": "1.9.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", | ||||
|       "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", | ||||
|       "dependencies": { | ||||
|         "tunnel": "^0.0.6" | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "uuid": "^8.3.2" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/core": { | ||||
|       "version": "1.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.7.0.tgz", | ||||
|       "integrity": "sha512-7fPSS7yKOhTpgLMbw7lBLc1QJWvJBBAgyTX2PEhagWcKK8t0H8AKCoPMfnrHqIm5cRYH4QFPqD1/ruhuUE7YcQ==", | ||||
|       "dependencies": { | ||||
|         "@actions/http-client": "^1.0.11" | ||||
|     "node_modules/@actions/core/node_modules/uuid": { | ||||
|       "version": "8.3.2", | ||||
|       "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", | ||||
|       "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", | ||||
|       "bin": { | ||||
|         "uuid": "dist/bin/uuid" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/exec": { | ||||
| @ -85,11 +86,11 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/http-client": { | ||||
|       "version": "1.0.11", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", | ||||
|       "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|       "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|       "dependencies": { | ||||
|         "tunnel": "0.0.6" | ||||
|         "tunnel": "^0.0.6" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/io": { | ||||
| @ -9546,24 +9547,22 @@ | ||||
|         "@azure/storage-blob": "^12.8.0", | ||||
|         "semver": "^6.1.0", | ||||
|         "uuid": "^3.3.3" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@actions/http-client": { | ||||
|           "version": "2.0.1", | ||||
|           "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|           "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|           "requires": { | ||||
|             "tunnel": "^0.0.6" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@actions/core": { | ||||
|       "version": "1.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.7.0.tgz", | ||||
|       "integrity": "sha512-7fPSS7yKOhTpgLMbw7lBLc1QJWvJBBAgyTX2PEhagWcKK8t0H8AKCoPMfnrHqIm5cRYH4QFPqD1/ruhuUE7YcQ==", | ||||
|       "version": "1.9.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", | ||||
|       "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", | ||||
|       "requires": { | ||||
|         "@actions/http-client": "^1.0.11" | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "uuid": "^8.3.2" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "uuid": { | ||||
|           "version": "8.3.2", | ||||
|           "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", | ||||
|           "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@actions/exec": { | ||||
| @ -9584,11 +9583,11 @@ | ||||
|       } | ||||
|     }, | ||||
|     "@actions/http-client": { | ||||
|       "version": "1.0.11", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", | ||||
|       "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|       "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|       "requires": { | ||||
|         "tunnel": "0.0.6" | ||||
|         "tunnel": "^0.0.6" | ||||
|       } | ||||
|     }, | ||||
|     "@actions/io": { | ||||
|  | ||||
| @ -24,7 +24,7 @@ | ||||
|   "license": "MIT", | ||||
|   "dependencies": { | ||||
|     "@actions/cache": "^3.0.4", | ||||
|     "@actions/core": "^1.7.0", | ||||
|     "@actions/core": "^1.9.1", | ||||
|     "@actions/exec": "^1.1.1", | ||||
|     "@actions/io": "^1.1.2" | ||||
|   }, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user