diff --git a/dist/index.js b/dist/index.js index 162fa0c..8e89dc7 100644 --- a/dist/index.js +++ b/dist/index.js @@ -33,7 +33,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge var require_delayed_stream = __commonJS({ "node_modules/delayed-stream/lib/delayed_stream.js"(exports2, module2) { var Stream = require("stream").Stream; - var util3 = require("util"); + var util4 = require("util"); module2.exports = DelayedStream; function DelayedStream() { this.source = null; @@ -44,7 +44,7 @@ var require_delayed_stream = __commonJS({ this._released = false; this._bufferedEvents = []; } - util3.inherits(DelayedStream, Stream); + util4.inherits(DelayedStream, Stream); DelayedStream.create = function(source, options) { var delayedStream = new this(); options = options || {}; @@ -123,7 +123,7 @@ var require_delayed_stream = __commonJS({ // node_modules/combined-stream/lib/combined_stream.js var require_combined_stream = __commonJS({ "node_modules/combined-stream/lib/combined_stream.js"(exports2, module2) { - var util3 = require("util"); + var util4 = require("util"); var Stream = require("stream").Stream; var DelayedStream = require_delayed_stream(); module2.exports = CombinedStream; @@ -139,7 +139,7 @@ var require_combined_stream = __commonJS({ this._insideLoop = false; this._pendingNext = false; } - util3.inherits(CombinedStream, Stream); + util4.inherits(CombinedStream, Stream); CombinedStream.create = function(options) { var combinedStream = new this(); options = options || {}; @@ -9984,7 +9984,7 @@ var require_form_data = __commonJS({ "node_modules/form-data/lib/form_data.js"(exports2, module2) { "use strict"; var CombinedStream = require_combined_stream(); - var util3 = require("util"); + var util4 = require("util"); var path = require("path"); var http3 = require("http"); var https2 = require("https"); @@ -10013,7 +10013,7 @@ var require_form_data = __commonJS({ this[option] = options[option]; } } - util3.inherits(FormData3, CombinedStream); + util4.inherits(FormData3, CombinedStream); FormData3.LINE_BREAK = "\r\n"; FormData3.DEFAULT_CONTENT_TYPE = "application/octet-stream"; FormData3.prototype.append = function(field, value, options) { @@ -10768,14 +10768,14 @@ var require_browser = __commonJS({ var require_node = __commonJS({ "node_modules/debug/src/node.js"(exports2, module2) { var tty = require("tty"); - var util3 = require("util"); + var util4 = require("util"); exports2.init = init; exports2.log = log; exports2.formatArgs = formatArgs; exports2.save = save; exports2.load = load; exports2.useColors = useColors; - exports2.destroy = util3.deprecate( + exports2.destroy = util4.deprecate( () => { }, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." @@ -10906,7 +10906,7 @@ var require_node = __commonJS({ return (/* @__PURE__ */ new Date()).toISOString() + " "; } function log(...args) { - return process.stderr.write(util3.formatWithOptions(exports2.inspectOpts, ...args) + "\n"); + return process.stderr.write(util4.formatWithOptions(exports2.inspectOpts, ...args) + "\n"); } function save(namespaces) { if (namespaces) { @@ -10929,11 +10929,11 @@ var require_node = __commonJS({ var { formatters } = module2.exports; formatters.o = function(v) { this.inspectOpts.colors = this.useColors; - return util3.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + return util4.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); }; formatters.O = function(v) { this.inspectOpts.colors = this.useColors; - return util3.inspect(v, this.inspectOpts); + return util4.inspect(v, this.inspectOpts); }; } }); @@ -10949,6 +10949,456 @@ var require_src = __commonJS({ } }); +// node_modules/agent-base/dist/src/promisify.js +var require_promisify = __commonJS({ + "node_modules/agent-base/dist/src/promisify.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + function promisify(fn) { + return function(req, opts) { + return new Promise((resolve, reject) => { + fn.call(this, req, opts, (err, rtn) => { + if (err) { + reject(err); + } else { + resolve(rtn); + } + }); + }); + }; + } + exports2.default = promisify; + } +}); + +// node_modules/agent-base/dist/src/index.js +var require_src2 = __commonJS({ + "node_modules/agent-base/dist/src/index.js"(exports2, module2) { + "use strict"; + var __importDefault = exports2 && exports2.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + var events_1 = require("events"); + var debug_1 = __importDefault(require_src()); + var promisify_1 = __importDefault(require_promisify()); + var debug2 = debug_1.default("agent-base"); + function isAgent(v) { + return Boolean(v) && typeof v.addRequest === "function"; + } + function isSecureEndpoint() { + const { stack } = new Error(); + if (typeof stack !== "string") + return false; + return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1); + } + function createAgent(callback, opts) { + return new createAgent.Agent(callback, opts); + } + (function(createAgent2) { + class Agent extends events_1.EventEmitter { + constructor(callback, _opts) { + super(); + let opts = _opts; + if (typeof callback === "function") { + this.callback = callback; + } else if (callback) { + opts = callback; + } + this.timeout = null; + if (opts && typeof opts.timeout === "number") { + this.timeout = opts.timeout; + } + this.maxFreeSockets = 1; + this.maxSockets = 1; + this.maxTotalSockets = Infinity; + this.sockets = {}; + this.freeSockets = {}; + this.requests = {}; + this.options = {}; + } + get defaultPort() { + if (typeof this.explicitDefaultPort === "number") { + return this.explicitDefaultPort; + } + return isSecureEndpoint() ? 443 : 80; + } + set defaultPort(v) { + this.explicitDefaultPort = v; + } + get protocol() { + if (typeof this.explicitProtocol === "string") { + return this.explicitProtocol; + } + return isSecureEndpoint() ? "https:" : "http:"; + } + set protocol(v) { + this.explicitProtocol = v; + } + callback(req, opts, fn) { + throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`'); + } + /** + * Called by node-core's "_http_client.js" module when creating + * a new HTTP request with this Agent instance. + * + * @api public + */ + addRequest(req, _opts) { + const opts = Object.assign({}, _opts); + if (typeof opts.secureEndpoint !== "boolean") { + opts.secureEndpoint = isSecureEndpoint(); + } + if (opts.host == null) { + opts.host = "localhost"; + } + if (opts.port == null) { + opts.port = opts.secureEndpoint ? 443 : 80; + } + if (opts.protocol == null) { + opts.protocol = opts.secureEndpoint ? "https:" : "http:"; + } + if (opts.host && opts.path) { + delete opts.path; + } + delete opts.agent; + delete opts.hostname; + delete opts._defaultAgent; + delete opts.defaultPort; + delete opts.createConnection; + req._last = true; + req.shouldKeepAlive = false; + let timedOut = false; + let timeoutId = null; + const timeoutMs = opts.timeout || this.timeout; + const onerror = (err) => { + if (req._hadError) + return; + req.emit("error", err); + req._hadError = true; + }; + const ontimeout = () => { + timeoutId = null; + timedOut = true; + const err = new Error(`A "socket" was not created for HTTP request before ${timeoutMs}ms`); + err.code = "ETIMEOUT"; + onerror(err); + }; + const callbackError = (err) => { + if (timedOut) + return; + if (timeoutId !== null) { + clearTimeout(timeoutId); + timeoutId = null; + } + onerror(err); + }; + const onsocket = (socket) => { + if (timedOut) + return; + if (timeoutId != null) { + clearTimeout(timeoutId); + timeoutId = null; + } + if (isAgent(socket)) { + debug2("Callback returned another Agent instance %o", socket.constructor.name); + socket.addRequest(req, opts); + return; + } + if (socket) { + socket.once("free", () => { + this.freeSocket(socket, opts); + }); + req.onSocket(socket); + return; + } + const err = new Error(`no Duplex stream was returned to agent-base for \`${req.method} ${req.path}\``); + onerror(err); + }; + if (typeof this.callback !== "function") { + onerror(new Error("`callback` is not defined")); + return; + } + if (!this.promisifiedCallback) { + if (this.callback.length >= 3) { + debug2("Converting legacy callback function to promise"); + this.promisifiedCallback = promisify_1.default(this.callback); + } else { + this.promisifiedCallback = this.callback; + } + } + if (typeof timeoutMs === "number" && timeoutMs > 0) { + timeoutId = setTimeout(ontimeout, timeoutMs); + } + if ("port" in opts && typeof opts.port !== "number") { + opts.port = Number(opts.port); + } + try { + debug2("Resolving socket for %o request: %o", opts.protocol, `${req.method} ${req.path}`); + Promise.resolve(this.promisifiedCallback(req, opts)).then(onsocket, callbackError); + } catch (err) { + Promise.reject(err).catch(callbackError); + } + } + freeSocket(socket, opts) { + debug2("Freeing socket %o %o", socket.constructor.name, opts); + socket.destroy(); + } + destroy() { + debug2("Destroying agent %o", this.constructor.name); + } + } + createAgent2.Agent = Agent; + createAgent2.prototype = createAgent2.Agent.prototype; + })(createAgent || (createAgent = {})); + module2.exports = createAgent; + } +}); + +// node_modules/https-proxy-agent/dist/parse-proxy-response.js +var require_parse_proxy_response = __commonJS({ + "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) { + "use strict"; + var __importDefault = exports2 && exports2.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + var debug_1 = __importDefault(require_src()); + var debug2 = debug_1.default("https-proxy-agent:parse-proxy-response"); + function parseProxyResponse(socket) { + return new Promise((resolve, reject) => { + let buffersLength = 0; + const buffers = []; + function read() { + const b = socket.read(); + if (b) + ondata(b); + else + socket.once("readable", read); + } + function cleanup() { + socket.removeListener("end", onend); + socket.removeListener("error", onerror); + socket.removeListener("close", onclose); + socket.removeListener("readable", read); + } + function onclose(err) { + debug2("onclose had error %o", err); + } + function onend() { + debug2("onend"); + } + function onerror(err) { + cleanup(); + debug2("onerror %o", err); + reject(err); + } + function ondata(b) { + buffers.push(b); + buffersLength += b.length; + const buffered = Buffer.concat(buffers, buffersLength); + const endOfHeaders = buffered.indexOf("\r\n\r\n"); + if (endOfHeaders === -1) { + debug2("have not received end of HTTP headers yet..."); + read(); + return; + } + const firstLine = buffered.toString("ascii", 0, buffered.indexOf("\r\n")); + const statusCode = +firstLine.split(" ")[1]; + debug2("got proxy server response: %o", firstLine); + resolve({ + statusCode, + buffered + }); + } + socket.on("error", onerror); + socket.on("close", onclose); + socket.on("end", onend); + read(); + }); + } + exports2.default = parseProxyResponse; + } +}); + +// node_modules/https-proxy-agent/dist/agent.js +var require_agent = __commonJS({ + "node_modules/https-proxy-agent/dist/agent.js"(exports2) { + "use strict"; + var __awaiter3 = exports2 && exports2.__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()); + }); + }; + var __importDefault = exports2 && exports2.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + var net_1 = __importDefault(require("net")); + var tls_1 = __importDefault(require("tls")); + var url_1 = __importDefault(require("url")); + var assert_1 = __importDefault(require("assert")); + var debug_1 = __importDefault(require_src()); + var agent_base_1 = require_src2(); + var parse_proxy_response_1 = __importDefault(require_parse_proxy_response()); + var debug2 = debug_1.default("https-proxy-agent:agent"); + var HttpsProxyAgent2 = class extends agent_base_1.Agent { + constructor(_opts) { + let opts; + if (typeof _opts === "string") { + opts = url_1.default.parse(_opts); + } else { + opts = _opts; + } + if (!opts) { + throw new Error("an HTTP(S) proxy server `host` and `port` must be specified!"); + } + debug2("creating new HttpsProxyAgent instance: %o", opts); + super(opts); + const proxy = Object.assign({}, opts); + this.secureProxy = opts.secureProxy || isHTTPS(proxy.protocol); + proxy.host = proxy.hostname || proxy.host; + if (typeof proxy.port === "string") { + proxy.port = parseInt(proxy.port, 10); + } + if (!proxy.port && proxy.host) { + proxy.port = this.secureProxy ? 443 : 80; + } + if (this.secureProxy && !("ALPNProtocols" in proxy)) { + proxy.ALPNProtocols = ["http 1.1"]; + } + if (proxy.host && proxy.path) { + delete proxy.path; + delete proxy.pathname; + } + this.proxy = proxy; + } + /** + * Called when the node-core HTTP client library is creating a + * new HTTP request. + * + * @api protected + */ + callback(req, opts) { + return __awaiter3(this, void 0, void 0, function* () { + const { proxy, secureProxy } = this; + let socket; + if (secureProxy) { + debug2("Creating `tls.Socket`: %o", proxy); + socket = tls_1.default.connect(proxy); + } else { + debug2("Creating `net.Socket`: %o", proxy); + socket = net_1.default.connect(proxy); + } + const headers = Object.assign({}, proxy.headers); + const hostname = `${opts.host}:${opts.port}`; + let payload = `CONNECT ${hostname} HTTP/1.1\r +`; + if (proxy.auth) { + headers["Proxy-Authorization"] = `Basic ${Buffer.from(proxy.auth).toString("base64")}`; + } + let { host, port, secureEndpoint } = opts; + if (!isDefaultPort(port, secureEndpoint)) { + host += `:${port}`; + } + headers.Host = host; + headers.Connection = "close"; + for (const name of Object.keys(headers)) { + payload += `${name}: ${headers[name]}\r +`; + } + const proxyResponsePromise = parse_proxy_response_1.default(socket); + socket.write(`${payload}\r +`); + const { statusCode, buffered } = yield proxyResponsePromise; + if (statusCode === 200) { + req.once("socket", resume); + if (opts.secureEndpoint) { + debug2("Upgrading socket connection to TLS"); + const servername = opts.servername || opts.host; + return tls_1.default.connect(Object.assign(Object.assign({}, omit2(opts, "host", "hostname", "path", "port")), { + socket, + servername + })); + } + return socket; + } + socket.destroy(); + const fakeSocket = new net_1.default.Socket({ writable: false }); + fakeSocket.readable = true; + req.once("socket", (s) => { + debug2("replaying proxy buffer for failed request"); + assert_1.default(s.listenerCount("data") > 0); + s.push(buffered); + s.push(null); + }); + return fakeSocket; + }); + } + }; + exports2.default = HttpsProxyAgent2; + function resume(socket) { + socket.resume(); + } + function isDefaultPort(port, secure) { + return Boolean(!secure && port === 80 || secure && port === 443); + } + function isHTTPS(protocol) { + return typeof protocol === "string" ? /^https:?$/i.test(protocol) : false; + } + function omit2(obj, ...keys) { + const ret = {}; + let key; + for (key in obj) { + if (!keys.includes(key)) { + ret[key] = obj[key]; + } + } + return ret; + } + } +}); + +// node_modules/https-proxy-agent/dist/index.js +var require_dist = __commonJS({ + "node_modules/https-proxy-agent/dist/index.js"(exports2, module2) { + "use strict"; + var __importDefault = exports2 && exports2.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + var agent_1 = __importDefault(require_agent()); + function createHttpsProxyAgent(opts) { + return new agent_1.default(opts); + } + (function(createHttpsProxyAgent2) { + createHttpsProxyAgent2.HttpsProxyAgent = agent_1.default; + createHttpsProxyAgent2.prototype = agent_1.default.prototype; + })(createHttpsProxyAgent || (createHttpsProxyAgent = {})); + module2.exports = createHttpsProxyAgent; + } +}); + // node_modules/follow-redirects/debug.js var require_debug = __commonJS({ "node_modules/follow-redirects/debug.js"(exports2, module2) { @@ -11490,7 +11940,7 @@ var require_tunnel = __commonJS({ var https2 = require("https"); var events = require("events"); var assert = require("assert"); - var util3 = require("util"); + var util4 = require("util"); exports2.httpOverHttp = httpOverHttp2; exports2.httpsOverHttp = httpsOverHttp2; exports2.httpOverHttps = httpOverHttps2; @@ -11540,7 +11990,7 @@ var require_tunnel = __commonJS({ self2.removeSocket(socket); }); } - util3.inherits(TunnelingAgent, events.EventEmitter); + util4.inherits(TunnelingAgent, events.EventEmitter); TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { var self2 = this; var options = mergeOptions({ request: req }, self2.options, toOptions(host, port, localAddress)); @@ -12914,10 +13364,10 @@ var require_diagnostics = __commonJS({ "node_modules/undici/lib/core/diagnostics.js"(exports2, module2) { "use strict"; var diagnosticsChannel = require("node:diagnostics_channel"); - var util3 = require("node:util"); - var undiciDebugLog = util3.debuglog("undici"); - var fetchDebuglog = util3.debuglog("fetch"); - var websocketDebuglog = util3.debuglog("websocket"); + var util4 = require("node:util"); + var undiciDebugLog = util4.debuglog("undici"); + var fetchDebuglog = util4.debuglog("fetch"); + var websocketDebuglog = util4.debuglog("websocket"); var isClientSet = false; var channels = { // Client @@ -13888,7 +14338,7 @@ var require_connect = __commonJS({ "use strict"; var net = require("node:net"); var assert = require("node:assert"); - var util3 = require_util(); + var util4 = require_util(); var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); var timers = require_timers(); function noop4() { @@ -13957,7 +14407,7 @@ var require_connect = __commonJS({ if (!tls) { tls = require("node:tls"); } - servername = servername || options.servername || util3.getServerName(host) || null; + servername = servername || options.servername || util4.getServerName(host) || null; const sessionKey = servername || hostname; assert(sessionKey); const session = customSession || sessionCache.get(sessionKey) || null; @@ -14056,7 +14506,7 @@ var require_connect = __commonJS({ message += ` (attempted address: ${opts.hostname}:${opts.port},`; } message += ` timeout: ${opts.timeout}ms)`; - util3.destroy(socket, new ConnectTimeoutError(message)); + util4.destroy(socket, new ConnectTimeoutError(message)); } module2.exports = buildConnector; } @@ -16795,7 +17245,7 @@ var require_formdata_parser = __commonJS({ var require_body = __commonJS({ "node_modules/undici/lib/web/fetch/body.js"(exports2, module2) { "use strict"; - var util3 = require_util(); + var util4 = require_util(); var { ReadableStreamFrom, isBlobLike, @@ -16870,7 +17320,7 @@ var require_body = __commonJS({ source = new Uint8Array(object.slice()); } else if (ArrayBuffer.isView(object)) { source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); - } else if (util3.isFormDataLike(object)) { + } else if (util4.isFormDataLike(object)) { const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`; const prefix = `--${boundary}\r Content-Disposition: form-data`; @@ -16929,14 +17379,14 @@ Content-Type: ${value.type || "application/octet-stream"}\r if (keepalive) { throw new TypeError("keepalive"); } - if (util3.isDisturbed(object) || object.locked) { + if (util4.isDisturbed(object) || object.locked) { throw new TypeError( "Response body object should not be disturbed or locked" ); } stream4 = object instanceof ReadableStream ? object : ReadableStreamFrom(object); } - if (typeof source === "string" || util3.isBuffer(source)) { + if (typeof source === "string" || util4.isBuffer(source)) { length = Buffer.byteLength(source); } if (action != null) { @@ -16973,7 +17423,7 @@ Content-Type: ${value.type || "application/octet-stream"}\r } function safelyExtractBody(object, keepalive = false) { if (object instanceof ReadableStream) { - assert(!util3.isDisturbed(object), "The body has already been consumed."); + assert(!util4.isDisturbed(object), "The body has already been consumed."); assert(!object.locked, "The stream is locked."); } return extractBody(object, keepalive); @@ -17080,7 +17530,7 @@ Content-Type: ${value.type || "application/octet-stream"}\r } function bodyUnusable(object) { const body = object[kState].body; - return body != null && (body.stream.locked || util3.isDisturbed(body.stream)); + return body != null && (body.stream.locked || util4.isDisturbed(body.stream)); } function parseJSONFromBytes(bytes) { return JSON.parse(utf8DecodeBytes(bytes)); @@ -17110,7 +17560,7 @@ var require_client_h1 = __commonJS({ "node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) { "use strict"; var assert = require("node:assert"); - var util3 = require_util(); + var util4 = require_util(); var { channels } = require_diagnostics(); var timers = require_timers(); var { @@ -17161,8 +17611,8 @@ var require_client_h1 = __commonJS({ var constants3 = require_constants2(); var EMPTY_BUF = Buffer.alloc(0); var FastBuffer = Buffer[Symbol.species]; - var addListener = util3.addListener; - var removeAllListeners = util3.removeAllListeners; + var addListener = util4.addListener; + var removeAllListeners = util4.removeAllListeners; var kIdleSocketValidation = Symbol("kIdleSocketValidation"); var kIdleSocketValidationTimeout = Symbol("kIdleSocketValidationTimeout"); var kSocketUsed = Symbol("kSocketUsed"); @@ -17340,7 +17790,7 @@ var require_client_h1 = __commonJS({ } } } catch (err) { - util3.destroy(socket, err); + util4.destroy(socket, err); } } finish() { @@ -17397,7 +17847,7 @@ var require_client_h1 = __commonJS({ return -1; } if (client[kRunning] === 0) { - util3.destroy(socket, new SocketError("bad response", util3.getSocketInfo(socket))); + util4.destroy(socket, new SocketError("bad response", util4.getSocketInfo(socket))); return -1; } const request2 = client[kQueue][client[kRunningIdx]]; @@ -17425,13 +17875,13 @@ var require_client_h1 = __commonJS({ } const key = this.headers[len - 2]; if (key.length === 10) { - const headerName = util3.bufferToLowerCasedHeaderName(key); + const headerName = util4.bufferToLowerCasedHeaderName(key); if (headerName === "keep-alive") { this.keepAlive += buf.toString(); } else if (headerName === "connection") { this.connection += buf.toString(); } - } else if (key.length === 14 && util3.bufferToLowerCasedHeaderName(key) === "content-length") { + } else if (key.length === 14 && util4.bufferToLowerCasedHeaderName(key) === "content-length") { this.contentLength += buf.toString(); } this.trackHeader(buf.length); @@ -17439,7 +17889,7 @@ var require_client_h1 = __commonJS({ trackHeader(len) { this.headersSize += len; if (this.headersSize >= this.headersMaxSize) { - util3.destroy(this.socket, new HeadersOverflowError()); + util4.destroy(this.socket, new HeadersOverflowError()); } } onUpgrade(head) { @@ -17470,7 +17920,7 @@ var require_client_h1 = __commonJS({ try { request2.onUpgrade(statusCode, headers, socket); } catch (err) { - util3.destroy(socket, err); + util4.destroy(socket, err); } client[kResume](); } @@ -17480,7 +17930,7 @@ var require_client_h1 = __commonJS({ return -1; } if (client[kRunning] === 0) { - util3.destroy(socket, new SocketError("bad response", util3.getSocketInfo(socket))); + util4.destroy(socket, new SocketError("bad response", util4.getSocketInfo(socket))); return -1; } const request2 = client[kQueue][client[kRunningIdx]]; @@ -17490,11 +17940,11 @@ var require_client_h1 = __commonJS({ assert(!this.upgrade); assert(this.statusCode < 200); if (statusCode === 100) { - util3.destroy(socket, new SocketError("bad response", util3.getSocketInfo(socket))); + util4.destroy(socket, new SocketError("bad response", util4.getSocketInfo(socket))); return -1; } if (upgrade && !request2.upgrade) { - util3.destroy(socket, new SocketError("bad upgrade", util3.getSocketInfo(socket))); + util4.destroy(socket, new SocketError("bad upgrade", util4.getSocketInfo(socket))); return -1; } assert(this.timeoutType === TIMEOUT_HEADERS); @@ -17523,7 +17973,7 @@ var require_client_h1 = __commonJS({ this.headers = []; this.headersSize = 0; if (this.shouldKeepAlive && client[kPipelining]) { - const keepAliveTimeout = this.keepAlive ? util3.parseKeepAliveTimeout(this.keepAlive) : null; + const keepAliveTimeout = this.keepAlive ? util4.parseKeepAliveTimeout(this.keepAlive) : null; if (keepAliveTimeout != null) { const timeout = Math.min( keepAliveTimeout - client[kKeepAliveTimeoutThreshold], @@ -17571,7 +18021,7 @@ var require_client_h1 = __commonJS({ } assert(statusCode >= 200); if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { - util3.destroy(socket, new ResponseExceededMaxSizeError()); + util4.destroy(socket, new ResponseExceededMaxSizeError()); return -1; } this.bytesRead += buf.length; @@ -17603,7 +18053,7 @@ var require_client_h1 = __commonJS({ return; } if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { - util3.destroy(socket, new ResponseContentLengthMismatchError()); + util4.destroy(socket, new ResponseContentLengthMismatchError()); return -1; } request2.onComplete(headers); @@ -17611,13 +18061,13 @@ var require_client_h1 = __commonJS({ socket[kSocketUsed] = true; if (socket[kWriting]) { assert(client[kRunning] === 0); - util3.destroy(socket, new InformationalError("reset")); + util4.destroy(socket, new InformationalError("reset")); return constants3.ERROR.PAUSED; } else if (!shouldKeepAlive) { - util3.destroy(socket, new InformationalError("reset")); + util4.destroy(socket, new InformationalError("reset")); return constants3.ERROR.PAUSED; } else if (socket[kReset] && client[kRunning] === 0) { - util3.destroy(socket, new InformationalError("reset")); + util4.destroy(socket, new InformationalError("reset")); return constants3.ERROR.PAUSED; } else if (client[kPipelining] == null || client[kPipelining] === 1) { setImmediate(() => client[kResume]()); @@ -17631,15 +18081,15 @@ var require_client_h1 = __commonJS({ if (timeoutType === TIMEOUT_HEADERS) { if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { assert(!paused, "cannot be paused while waiting for headers"); - util3.destroy(socket, new HeadersTimeoutError()); + util4.destroy(socket, new HeadersTimeoutError()); } } else if (timeoutType === TIMEOUT_BODY) { if (!paused) { - util3.destroy(socket, new BodyTimeoutError()); + util4.destroy(socket, new BodyTimeoutError()); } } else if (timeoutType === TIMEOUT_KEEP_ALIVE) { assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); - util3.destroy(socket, new InformationalError("socket idle timeout")); + util4.destroy(socket, new InformationalError("socket idle timeout")); } } async function connectH1(client, socket) { @@ -17681,11 +18131,11 @@ var require_client_h1 = __commonJS({ if (parser.statusCode && !parser.shouldKeepAlive) { const parserErr = parser.finish(); if (parserErr) { - util3.destroy(this, parserErr); + util4.destroy(this, parserErr); } return; } - util3.destroy(this, new SocketError("other side closed", util3.getSocketInfo(this))); + util4.destroy(this, new SocketError("other side closed", util4.getSocketInfo(this))); }); addListener(socket, "close", function() { const client2 = this[kClient]; @@ -17698,7 +18148,7 @@ var require_client_h1 = __commonJS({ this[kParser].destroy(); this[kParser] = null; } - const err = this[kError] || new SocketError("closed", util3.getSocketInfo(this)); + const err = this[kError] || new SocketError("closed", util4.getSocketInfo(this)); client2[kSocket] = null; client2[kHTTPContext] = null; if (client2.destroyed) { @@ -17706,12 +18156,12 @@ var require_client_h1 = __commonJS({ const requests = client2[kQueue].splice(client2[kRunningIdx]); for (let i = 0; i < requests.length; i++) { const request2 = requests[i]; - util3.errorRequest(client2, request2, err); + util4.errorRequest(client2, request2, err); } } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") { const request2 = client2[kQueue][client2[kRunningIdx]]; client2[kQueue][client2[kRunningIdx]++] = null; - util3.errorRequest(client2, request2, err); + util4.errorRequest(client2, request2, err); } client2[kPendingIdx] = client2[kRunningIdx]; assert(client2[kRunning] === 0); @@ -17752,7 +18202,7 @@ var require_client_h1 = __commonJS({ if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) { return true; } - if (client[kRunning] > 0 && util3.bodyLength(request2.body) !== 0 && (util3.isStream(request2.body) || util3.isAsyncIterable(request2.body) || util3.isFormDataLike(request2.body))) { + if (client[kRunning] > 0 && util4.bodyLength(request2.body) !== 0 && (util4.isStream(request2.body) || util4.isAsyncIterable(request2.body) || util4.isFormDataLike(request2.body))) { return true; } } @@ -17833,7 +18283,7 @@ var require_client_h1 = __commonJS({ const { method, path, host, upgrade, blocking, reset } = request2; let { body, headers, contentLength } = request2; const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH"; - if (util3.isFormDataLike(body)) { + if (util4.isFormDataLike(body)) { if (!extractBody) { extractBody = require_body().extractBody; } @@ -17843,13 +18293,13 @@ var require_client_h1 = __commonJS({ } body = bodyStream.stream; contentLength = bodyStream.length; - } else if (util3.isBlobLike(body) && request2.contentType == null && body.type) { + } else if (util4.isBlobLike(body) && request2.contentType == null && body.type) { headers.push("content-type", body.type); } if (body && typeof body.read === "function") { body.read(0); } - const bodyLength = util3.bodyLength(body); + const bodyLength = util4.bodyLength(body); contentLength = bodyLength ?? contentLength; if (contentLength === null) { contentLength = request2.contentLength; @@ -17859,7 +18309,7 @@ var require_client_h1 = __commonJS({ } if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) { if (client[kStrictContentLength]) { - util3.errorRequest(client, request2, new RequestContentLengthMismatchError()); + util4.errorRequest(client, request2, new RequestContentLengthMismatchError()); return false; } process.emitWarning(new RequestContentLengthMismatchError()); @@ -17870,14 +18320,14 @@ var require_client_h1 = __commonJS({ if (request2.aborted || request2.completed) { return; } - util3.errorRequest(client, request2, err || new RequestAbortedError()); - util3.destroy(body); - util3.destroy(socket, new InformationalError("aborted")); + util4.errorRequest(client, request2, err || new RequestAbortedError()); + util4.destroy(body); + util4.destroy(socket, new InformationalError("aborted")); }; try { request2.onConnect(abort); } catch (err) { - util3.errorRequest(client, request2, err); + util4.errorRequest(client, request2, err); } if (request2.aborted) { return false; @@ -17934,17 +18384,17 @@ upgrade: ${upgrade}\r } if (!body || bodyLength === 0) { writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload); - } else if (util3.isBuffer(body)) { + } else if (util4.isBuffer(body)) { writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload); - } else if (util3.isBlobLike(body)) { + } else if (util4.isBlobLike(body)) { if (typeof body.stream === "function") { writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload); } else { writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload); } - } else if (util3.isStream(body)) { + } else if (util4.isStream(body)) { writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload); - } else if (util3.isIterable(body)) { + } else if (util4.isIterable(body)) { writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload); } else { assert(false); @@ -17964,7 +18414,7 @@ upgrade: ${upgrade}\r this.pause(); } } catch (err) { - util3.destroy(this, err); + util4.destroy(this, err); } }; const onDrain = function() { @@ -18001,9 +18451,9 @@ upgrade: ${upgrade}\r } writer.destroy(err); if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { - util3.destroy(body, err); + util4.destroy(body, err); } else { - util3.destroy(body); + util4.destroy(body); } }; body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose); @@ -18032,7 +18482,7 @@ upgrade: ${upgrade}\r socket.write(`${header}\r `, "latin1"); } - } else if (util3.isBuffer(body)) { + } else if (util4.isBuffer(body)) { assert(contentLength === body.byteLength, "buffer body must have content length"); socket.cork(); socket.write(`${header}content-length: ${contentLength}\r @@ -18227,7 +18677,7 @@ var require_client_h2 = __commonJS({ "use strict"; var assert = require("node:assert"); var { pipeline } = require("node:stream"); - var util3 = require_util(); + var util4 = require_util(); var { RequestContentLengthMismatchError, RequestAbortedError, @@ -18256,11 +18706,11 @@ var require_client_h2 = __commonJS({ var kOpenStreams = Symbol("open streams"); var extractBody; var h2ExperimentalWarned = false; - var http22; + var http23; try { - http22 = require("node:http2"); + http23 = require("node:http2"); } catch { - http22 = { constants: {} }; + http23 = { constants: {} }; } var { constants: { @@ -18272,7 +18722,7 @@ var require_client_h2 = __commonJS({ HTTP2_HEADER_EXPECT, HTTP2_HEADER_STATUS } - } = http22; + } = http23; function parseH2Headers(headers) { const result = []; for (const [name, value] of Object.entries(headers)) { @@ -18294,44 +18744,44 @@ var require_client_h2 = __commonJS({ code: "UNDICI-H2" }); } - const session = http22.connect(client[kUrl], { + const session = http23.connect(client[kUrl], { createConnection: () => socket, peerMaxConcurrentStreams: client[kMaxConcurrentStreams] }); session[kOpenStreams] = 0; session[kClient] = client; session[kSocket] = socket; - util3.addListener(session, "error", onHttp2SessionError); - util3.addListener(session, "frameError", onHttp2FrameError); - util3.addListener(session, "end", onHttp2SessionEnd); - util3.addListener(session, "goaway", onHTTP2GoAway); - util3.addListener(session, "close", function() { + util4.addListener(session, "error", onHttp2SessionError); + util4.addListener(session, "frameError", onHttp2FrameError); + util4.addListener(session, "end", onHttp2SessionEnd); + util4.addListener(session, "goaway", onHTTP2GoAway); + util4.addListener(session, "close", function() { const { [kClient]: client2 } = this; const { [kSocket]: socket2 } = client2; - const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util3.getSocketInfo(socket2)); + const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util4.getSocketInfo(socket2)); client2[kHTTP2Session] = null; if (client2.destroyed) { assert(client2[kPending] === 0); const requests = client2[kQueue].splice(client2[kRunningIdx]); for (let i = 0; i < requests.length; i++) { const request2 = requests[i]; - util3.errorRequest(client2, request2, err); + util4.errorRequest(client2, request2, err); } } }); session.unref(); client[kHTTP2Session] = session; socket[kHTTP2Session] = session; - util3.addListener(socket, "error", function(err) { + util4.addListener(socket, "error", function(err) { assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); this[kError] = err; this[kClient][kOnError](err); }); - util3.addListener(socket, "end", function() { - util3.destroy(this, new SocketError("other side closed", util3.getSocketInfo(this))); + util4.addListener(socket, "end", function() { + util4.destroy(this, new SocketError("other side closed", util4.getSocketInfo(this))); }); - util3.addListener(socket, "close", function() { - const err = this[kError] || new SocketError("closed", util3.getSocketInfo(this)); + util4.addListener(socket, "close", function() { + const err = this[kError] || new SocketError("closed", util4.getSocketInfo(this)); client[kSocket] = null; if (this[kHTTP2Session] != null) { this[kHTTP2Session].destroy(err); @@ -18394,12 +18844,12 @@ var require_client_h2 = __commonJS({ } } function onHttp2SessionEnd() { - const err = new SocketError("other side closed", util3.getSocketInfo(this[kSocket])); + const err = new SocketError("other side closed", util4.getSocketInfo(this[kSocket])); this.destroy(err); - util3.destroy(this[kSocket], err); + util4.destroy(this[kSocket], err); } function onHTTP2GoAway(code) { - const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util3.getSocketInfo(this)); + const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util4.getSocketInfo(this)); const client = this[kClient]; client[kSocket] = null; client[kHTTPContext] = null; @@ -18407,11 +18857,11 @@ var require_client_h2 = __commonJS({ this[kHTTP2Session].destroy(err); this[kHTTP2Session] = null; } - util3.destroy(this[kSocket], err); + util4.destroy(this[kSocket], err); if (client[kRunningIdx] < client[kQueue].length) { const request2 = client[kQueue][client[kRunningIdx]]; client[kQueue][client[kRunningIdx]++] = null; - util3.errorRequest(client, request2, err); + util4.errorRequest(client, request2, err); client[kPendingIdx] = client[kRunningIdx]; } assert(client[kRunning] === 0); @@ -18426,7 +18876,7 @@ var require_client_h2 = __commonJS({ const { method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2; let { body } = request2; if (upgrade) { - util3.errorRequest(client, request2, new Error("Upgrade not supported for H2")); + util4.errorRequest(client, request2, new Error("Upgrade not supported for H2")); return false; } const headers = {}; @@ -18454,18 +18904,18 @@ var require_client_h2 = __commonJS({ return; } err = err || new RequestAbortedError(); - util3.errorRequest(client, request2, err); + util4.errorRequest(client, request2, err); if (stream4 != null) { - util3.destroy(stream4, err); + util4.destroy(stream4, err); } - util3.destroy(body, err); + util4.destroy(body, err); client[kQueue][client[kRunningIdx]++] = null; client[kResume](); }; try { request2.onConnect(abort); } catch (err) { - util3.errorRequest(client, request2, err); + util4.errorRequest(client, request2, err); } if (request2.aborted) { return false; @@ -18496,8 +18946,8 @@ var require_client_h2 = __commonJS({ if (body && typeof body.read === "function") { body.read(0); } - let contentLength = util3.bodyLength(body); - if (util3.isFormDataLike(body)) { + let contentLength = util4.bodyLength(body); + if (util4.isFormDataLike(body)) { extractBody ??= require_body().extractBody; const [bodyStream, contentType] = extractBody(body); headers["content-type"] = contentType; @@ -18512,7 +18962,7 @@ var require_client_h2 = __commonJS({ } if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) { if (client[kStrictContentLength]) { - util3.errorRequest(client, request2, new RequestContentLengthMismatchError()); + util4.errorRequest(client, request2, new RequestContentLengthMismatchError()); return false; } process.emitWarning(new RequestContentLengthMismatchError()); @@ -18540,8 +18990,8 @@ var require_client_h2 = __commonJS({ request2.onResponseStarted(); if (request2.aborted) { const err = new RequestAbortedError(); - util3.errorRequest(client, request2, err); - util3.destroy(stream4, err); + util4.errorRequest(client, request2, err); + util4.destroy(stream4, err); return; } if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream4.resume.bind(stream4), "") === false) { @@ -18590,7 +19040,7 @@ var require_client_h2 = __commonJS({ contentLength, expectsPayload ); - } else if (util3.isBuffer(body)) { + } else if (util4.isBuffer(body)) { writeBuffer( abort, stream4, @@ -18601,7 +19051,7 @@ var require_client_h2 = __commonJS({ contentLength, expectsPayload ); - } else if (util3.isBlobLike(body)) { + } else if (util4.isBlobLike(body)) { if (typeof body.stream === "function") { writeIterable( abort, @@ -18625,7 +19075,7 @@ var require_client_h2 = __commonJS({ expectsPayload ); } - } else if (util3.isStream(body)) { + } else if (util4.isStream(body)) { writeStream( abort, client[kSocket], @@ -18636,7 +19086,7 @@ var require_client_h2 = __commonJS({ request2, contentLength ); - } else if (util3.isIterable(body)) { + } else if (util4.isIterable(body)) { writeIterable( abort, stream4, @@ -18654,7 +19104,7 @@ var require_client_h2 = __commonJS({ } function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { try { - if (body != null && util3.isBuffer(body)) { + if (body != null && util4.isBuffer(body)) { assert(contentLength === body.byteLength, "buffer body must have content length"); h2stream.cork(); h2stream.write(body); @@ -18678,10 +19128,10 @@ var require_client_h2 = __commonJS({ h2stream, (err) => { if (err) { - util3.destroy(pipe, err); + util4.destroy(pipe, err); abort(err); } else { - util3.removeAllListeners(pipe); + util4.removeAllListeners(pipe); request2.onRequestSent(); if (!expectsPayload) { socket[kReset] = true; @@ -18690,7 +19140,7 @@ var require_client_h2 = __commonJS({ } } ); - util3.addListener(pipe, "data", onPipeData); + util4.addListener(pipe, "data", onPipeData); function onPipeData(chunk) { request2.onBodySent(chunk); } @@ -18766,7 +19216,7 @@ var require_client_h2 = __commonJS({ var require_redirect_handler = __commonJS({ "node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) { "use strict"; - var util3 = require_util(); + var util4 = require_util(); var { kBodyUsed } = require_symbols(); var assert = require("node:assert"); var { InvalidArgumentError } = require_errors(); @@ -18789,7 +19239,7 @@ var require_redirect_handler = __commonJS({ if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { throw new InvalidArgumentError("maxRedirections must be a positive number"); } - util3.validateHandler(handler2, opts.method, opts.upgrade); + util4.validateHandler(handler2, opts.method, opts.upgrade); this.dispatch = dispatch; this.location = null; this.abort = null; @@ -18798,8 +19248,8 @@ var require_redirect_handler = __commonJS({ this.handler = handler2; this.history = []; this.redirectionLimitReached = false; - if (util3.isStream(this.opts.body)) { - if (util3.bodyLength(this.opts.body) === 0) { + if (util4.isStream(this.opts.body)) { + if (util4.bodyLength(this.opts.body) === 0) { this.opts.body.on("data", function() { assert(false); }); @@ -18812,7 +19262,7 @@ var require_redirect_handler = __commonJS({ } } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { this.opts.body = new BodyAsyncIterable(this.opts.body); - } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util3.isIterable(this.opts.body)) { + } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util4.isIterable(this.opts.body)) { this.opts.body = new BodyAsyncIterable(this.opts.body); } } @@ -18827,7 +19277,7 @@ var require_redirect_handler = __commonJS({ this.handler.onError(error2); } onHeaders(statusCode, headers, resume, statusText) { - this.location = this.history.length >= this.maxRedirections || util3.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); + this.location = this.history.length >= this.maxRedirections || util4.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) { if (this.request) { this.request.abort(new Error("max redirects")); @@ -18842,7 +19292,7 @@ var require_redirect_handler = __commonJS({ if (!this.location) { return this.handler.onHeaders(statusCode, headers, resume, statusText); } - const { origin: origin2, pathname, search } = util3.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); + const { origin: origin2, pathname, search } = util4.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); const path = search ? `${pathname}${search}` : pathname; this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin2); this.opts.path = path; @@ -18880,20 +19330,20 @@ var require_redirect_handler = __commonJS({ return null; } for (let i = 0; i < headers.length; i += 2) { - if (headers[i].length === 8 && util3.headerNameToString(headers[i]) === "location") { + if (headers[i].length === 8 && util4.headerNameToString(headers[i]) === "location") { return headers[i + 1]; } } } function shouldRemoveHeader(header, removeContent, unknownOrigin) { if (header.length === 4) { - return util3.headerNameToString(header) === "host"; + return util4.headerNameToString(header) === "host"; } - if (removeContent && util3.headerNameToString(header).startsWith("content-")) { + if (removeContent && util4.headerNameToString(header).startsWith("content-")) { return true; } if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) { - const name = util3.headerNameToString(header); + const name = util4.headerNameToString(header); return name === "authorization" || name === "cookie" || name === "proxy-authorization"; } return false; @@ -18950,7 +19400,7 @@ var require_client = __commonJS({ var assert = require("node:assert"); var net = require("node:net"); var http3 = require("node:http"); - var util3 = require_util(); + var util4 = require_util(); var { channels } = require_diagnostics(); var Request = require_request(); var DispatcherBase = require_dispatcher_base(); @@ -19134,7 +19584,7 @@ var require_client = __commonJS({ } else { this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })]; } - this[kUrl] = util3.parseOrigin(url2); + this[kUrl] = util4.parseOrigin(url2); this[kConnector] = connect2; this[kPipelining] = pipelining != null ? pipelining : 1; this[kMaxHeadersSize] = maxHeaderSize || http3.maxHeaderSize; @@ -19197,7 +19647,7 @@ var require_client = __commonJS({ const request2 = new Request(origin2, opts, handler2); this[kQueue].push(request2); if (this[kResuming]) { - } else if (util3.bodyLength(request2.body) == null && util3.isIterable(request2.body)) { + } else if (util4.bodyLength(request2.body) == null && util4.isIterable(request2.body)) { this[kResuming] = 1; queueMicrotask(() => resume(this)); } else { @@ -19222,7 +19672,7 @@ var require_client = __commonJS({ const requests = this[kQueue].splice(this[kPendingIdx]); for (let i = 0; i < requests.length; i++) { const request2 = requests[i]; - util3.errorRequest(this, request2, err); + util4.errorRequest(this, request2, err); } const callback = () => { if (this[kClosedResolve]) { @@ -19248,7 +19698,7 @@ var require_client = __commonJS({ const requests = client[kQueue].splice(client[kRunningIdx]); for (let i = 0; i < requests.length; i++) { const request2 = requests[i]; - util3.errorRequest(client, request2, err); + util4.errorRequest(client, request2, err); } assert(client[kSize] === 0); } @@ -19297,7 +19747,7 @@ var require_client = __commonJS({ }); }); if (client.destroyed) { - util3.destroy(socket.on("error", noop4), new ClientDestroyedError()); + util4.destroy(socket.on("error", noop4), new ClientDestroyedError()); return; } assert(socket); @@ -19352,7 +19802,7 @@ var require_client = __commonJS({ assert(client[kRunning] === 0); while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { const request2 = client[kQueue][client[kPendingIdx]++]; - util3.errorRequest(client, request2, err); + util4.errorRequest(client, request2, err); } } else { onError(client, err); @@ -19703,7 +20153,7 @@ var require_pool = __commonJS({ var { InvalidArgumentError } = require_errors(); - var util3 = require_util(); + var util4 = require_util(); var { kUrl, kInterceptors } = require_symbols(); var buildConnector = require_connect(); var kOptions = Symbol("options"); @@ -19749,8 +20199,8 @@ var require_pool = __commonJS({ super(options); this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; this[kConnections] = connections || null; - this[kUrl] = util3.parseOrigin(origin2); - this[kOptions] = { ...util3.deepClone(options), connect, allowH2 }; + this[kUrl] = util4.parseOrigin(origin2); + this[kOptions] = { ...util4.deepClone(options), connect, allowH2 }; this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; this[kFactory] = factory2; this.on("connectionError", (origin3, targets, error2) => { @@ -19924,7 +20374,7 @@ var require_balanced_pool = __commonJS({ }); // node_modules/undici/lib/dispatcher/agent.js -var require_agent = __commonJS({ +var require_agent2 = __commonJS({ "node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) { "use strict"; var { InvalidArgumentError } = require_errors(); @@ -19932,7 +20382,7 @@ var require_agent = __commonJS({ var DispatcherBase = require_dispatcher_base(); var Pool = require_pool(); var Client = require_client(); - var util3 = require_util(); + var util4 = require_util(); var createRedirectInterceptor = require_redirect_interceptor(); var kOnConnect = Symbol("onConnect"); var kOnDisconnect = Symbol("onDisconnect"); @@ -19960,7 +20410,7 @@ var require_agent = __commonJS({ connect = { ...connect }; } this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; - this[kOptions] = { ...util3.deepClone(options), connect }; + this[kOptions] = { ...util4.deepClone(options), connect }; this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; this[kMaxRedirections] = maxRedirections; this[kFactory] = factory2; @@ -20026,7 +20476,7 @@ var require_proxy_agent = __commonJS({ "use strict"; var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); var { URL: URL2 } = require("node:url"); - var Agent = require_agent(); + var Agent = require_agent2(); var Pool = require_pool(); var DispatcherBase = require_dispatcher_base(); var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors(); @@ -20250,7 +20700,7 @@ var require_env_http_proxy_agent = __commonJS({ var DispatcherBase = require_dispatcher_base(); var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols(); var ProxyAgent2 = require_proxy_agent(); - var Agent = require_agent(); + var Agent = require_agent2(); var DEFAULT_PORTS3 = { "http:": 80, "https:": 443 @@ -20719,7 +21169,7 @@ var require_readable = __commonJS({ var assert = require("node:assert"); var { Readable: Readable2 } = require("node:stream"); var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors(); - var util3 = require_util(); + var util4 = require_util(); var { ReadableStreamFrom } = require_util(); var kConsume = Symbol("kConsume"); var kReading = Symbol("kReading"); @@ -20821,7 +21271,7 @@ var require_readable = __commonJS({ } // https://fetch.spec.whatwg.org/#dom-body-bodyused get bodyUsed() { - return util3.isDisturbed(this); + return util4.isDisturbed(this); } // https://fetch.spec.whatwg.org/#dom-body-body get body() { @@ -20872,7 +21322,7 @@ var require_readable = __commonJS({ return self2[kBody] && self2[kBody].locked === true || self2[kConsume]; } function isUnusable(self2) { - return util3.isDisturbed(self2) || isLocked(self2); + return util4.isDisturbed(self2) || isLocked(self2); } async function consume(stream4, type) { assert(!stream4[kConsume]); @@ -21073,7 +21523,7 @@ var require_api_request = __commonJS({ var assert = require("node:assert"); var { Readable: Readable2 } = require_readable(); var { InvalidArgumentError, RequestAbortedError } = require_errors(); - var util3 = require_util(); + var util4 = require_util(); var { getResolveErrorBodyCallback } = require_util3(); var { AsyncResource } = require("node:async_hooks"); var RequestHandler = class extends AsyncResource { @@ -21100,8 +21550,8 @@ var require_api_request = __commonJS({ } super("UNDICI_REQUEST"); } catch (err) { - if (util3.isStream(body)) { - util3.destroy(body.on("error", util3.nop), err); + if (util4.isStream(body)) { + util4.destroy(body.on("error", util4.nop), err); } throw err; } @@ -21120,7 +21570,7 @@ var require_api_request = __commonJS({ this.signal = signal; this.reason = null; this.removeAbortListener = null; - if (util3.isStream(body)) { + if (util4.isStream(body)) { body.on("error", (err) => { this.onError(err); }); @@ -21129,10 +21579,10 @@ var require_api_request = __commonJS({ if (this.signal.aborted) { this.reason = this.signal.reason ?? new RequestAbortedError(); } else { - this.removeAbortListener = util3.addAbortListener(this.signal, () => { + this.removeAbortListener = util4.addAbortListener(this.signal, () => { this.reason = this.signal.reason ?? new RequestAbortedError(); if (this.res) { - util3.destroy(this.res.on("error", util3.nop), this.reason); + util4.destroy(this.res.on("error", util4.nop), this.reason); } else if (this.abort) { this.abort(this.reason); } @@ -21156,14 +21606,14 @@ var require_api_request = __commonJS({ } onHeaders(statusCode, rawHeaders, resume, statusMessage) { const { callback, opaque, abort, context: context3, responseHeaders, highWaterMark } = this; - const headers = responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + const headers = responseHeaders === "raw" ? util4.parseRawHeaders(rawHeaders) : util4.parseHeaders(rawHeaders); if (statusCode < 200) { if (this.onInfo) { this.onInfo({ statusCode, headers }); } return; } - const parsedHeaders = responseHeaders === "raw" ? util3.parseHeaders(rawHeaders) : headers; + const parsedHeaders = responseHeaders === "raw" ? util4.parseHeaders(rawHeaders) : headers; const contentType = parsedHeaders["content-type"]; const contentLength = parsedHeaders["content-length"]; const res = new Readable2({ @@ -21201,7 +21651,7 @@ var require_api_request = __commonJS({ return this.res.push(chunk); } onComplete(trailers) { - util3.parseHeaders(trailers, this.trailers); + util4.parseHeaders(trailers, this.trailers); this.res.push(null); } onError(err) { @@ -21215,12 +21665,12 @@ var require_api_request = __commonJS({ if (res) { this.res = null; queueMicrotask(() => { - util3.destroy(res, err); + util4.destroy(res, err); }); } if (body) { this.body = null; - util3.destroy(body, err); + util4.destroy(body, err); } if (this.removeAbortListener) { res?.off("close", this.removeAbortListener); @@ -21310,7 +21760,7 @@ var require_api_stream = __commonJS({ var assert = require("node:assert"); var { finished, PassThrough } = require("node:stream"); var { InvalidArgumentError, InvalidReturnValueError } = require_errors(); - var util3 = require_util(); + var util4 = require_util(); var { getResolveErrorBodyCallback } = require_util3(); var { AsyncResource } = require("node:async_hooks"); var { addSignal, removeSignal } = require_abort_signal(); @@ -21338,8 +21788,8 @@ var require_api_stream = __commonJS({ } super("UNDICI_STREAM"); } catch (err) { - if (util3.isStream(body)) { - util3.destroy(body.on("error", util3.nop), err); + if (util4.isStream(body)) { + util4.destroy(body.on("error", util4.nop), err); } throw err; } @@ -21354,7 +21804,7 @@ var require_api_stream = __commonJS({ this.body = body; this.onInfo = onInfo || null; this.throwOnError = throwOnError || false; - if (util3.isStream(body)) { + if (util4.isStream(body)) { body.on("error", (err) => { this.onError(err); }); @@ -21372,7 +21822,7 @@ var require_api_stream = __commonJS({ } onHeaders(statusCode, rawHeaders, resume, statusMessage) { const { factory: factory2, opaque, context: context3, callback, responseHeaders } = this; - const headers = responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + const headers = responseHeaders === "raw" ? util4.parseRawHeaders(rawHeaders) : util4.parseHeaders(rawHeaders); if (statusCode < 200) { if (this.onInfo) { this.onInfo({ statusCode, headers }); @@ -21382,7 +21832,7 @@ var require_api_stream = __commonJS({ this.factory = null; let res; if (this.throwOnError && statusCode >= 400) { - const parsedHeaders = responseHeaders === "raw" ? util3.parseHeaders(rawHeaders) : headers; + const parsedHeaders = responseHeaders === "raw" ? util4.parseHeaders(rawHeaders) : headers; const contentType = parsedHeaders["content-type"]; res = new PassThrough(); this.callback = null; @@ -21408,7 +21858,7 @@ var require_api_stream = __commonJS({ const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this; this.res = null; if (err || !res2.readable) { - util3.destroy(res2, err); + util4.destroy(res2, err); } this.callback = null; this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers }); @@ -21432,7 +21882,7 @@ var require_api_stream = __commonJS({ if (!res) { return; } - this.trailers = util3.parseHeaders(trailers); + this.trailers = util4.parseHeaders(trailers); res.end(); } onError(err) { @@ -21441,7 +21891,7 @@ var require_api_stream = __commonJS({ this.factory = null; if (res) { this.res = null; - util3.destroy(res, err); + util4.destroy(res, err); } else if (callback) { this.callback = null; queueMicrotask(() => { @@ -21450,7 +21900,7 @@ var require_api_stream = __commonJS({ } if (body) { this.body = null; - util3.destroy(body, err); + util4.destroy(body, err); } } }; @@ -21490,7 +21940,7 @@ var require_api_pipeline = __commonJS({ InvalidReturnValueError, RequestAbortedError } = require_errors(); - var util3 = require_util(); + var util4 = require_util(); var { AsyncResource } = require("node:async_hooks"); var { addSignal, removeSignal } = require_abort_signal(); var assert = require("node:assert"); @@ -21552,7 +22002,7 @@ var require_api_pipeline = __commonJS({ this.abort = null; this.context = null; this.onInfo = onInfo || null; - this.req = new PipelineRequest().on("error", util3.nop); + this.req = new PipelineRequest().on("error", util4.nop); this.ret = new Duplex({ readableObjectMode: opts.objectMode, autoDestroy: true, @@ -21578,9 +22028,9 @@ var require_api_pipeline = __commonJS({ if (abort && err) { abort(); } - util3.destroy(body, err); - util3.destroy(req, err); - util3.destroy(res, err); + util4.destroy(body, err); + util4.destroy(req, err); + util4.destroy(res, err); removeSignal(this); callback(err); } @@ -21606,7 +22056,7 @@ var require_api_pipeline = __commonJS({ const { opaque, handler: handler2, context: context3 } = this; if (statusCode < 200) { if (this.onInfo) { - const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + const headers = this.responseHeaders === "raw" ? util4.parseRawHeaders(rawHeaders) : util4.parseHeaders(rawHeaders); this.onInfo({ statusCode, headers }); } return; @@ -21615,7 +22065,7 @@ var require_api_pipeline = __commonJS({ let body; try { this.handler = null; - const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + const headers = this.responseHeaders === "raw" ? util4.parseRawHeaders(rawHeaders) : util4.parseHeaders(rawHeaders); body = this.runInAsyncScope(handler2, null, { statusCode, headers, @@ -21624,7 +22074,7 @@ var require_api_pipeline = __commonJS({ context: context3 }); } catch (err) { - this.res.on("error", util3.nop); + this.res.on("error", util4.nop); throw err; } if (!body || typeof body.on !== "function") { @@ -21637,14 +22087,14 @@ var require_api_pipeline = __commonJS({ } }).on("error", (err) => { const { ret } = this; - util3.destroy(ret, err); + util4.destroy(ret, err); }).on("end", () => { const { ret } = this; ret.push(null); }).on("close", () => { const { ret } = this; if (!ret._readableState.ended) { - util3.destroy(ret, new RequestAbortedError()); + util4.destroy(ret, new RequestAbortedError()); } }); this.body = body; @@ -21660,7 +22110,7 @@ var require_api_pipeline = __commonJS({ onError(err) { const { ret } = this; this.handler = null; - util3.destroy(ret, err); + util4.destroy(ret, err); } }; function pipeline(opts, handler2) { @@ -21682,7 +22132,7 @@ var require_api_upgrade = __commonJS({ "use strict"; var { InvalidArgumentError, SocketError } = require_errors(); var { AsyncResource } = require("node:async_hooks"); - var util3 = require_util(); + var util4 = require_util(); var { addSignal, removeSignal } = require_abort_signal(); var assert = require("node:assert"); var UpgradeHandler = class extends AsyncResource { @@ -21722,7 +22172,7 @@ var require_api_upgrade = __commonJS({ const { callback, opaque, context: context3 } = this; removeSignal(this); this.callback = null; - const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + const headers = this.responseHeaders === "raw" ? util4.parseRawHeaders(rawHeaders) : util4.parseHeaders(rawHeaders); this.runInAsyncScope(callback, null, null, { headers, socket, @@ -21775,7 +22225,7 @@ var require_api_connect = __commonJS({ var assert = require("node:assert"); var { AsyncResource } = require("node:async_hooks"); var { InvalidArgumentError, SocketError } = require_errors(); - var util3 = require_util(); + var util4 = require_util(); var { addSignal, removeSignal } = require_abort_signal(); var ConnectHandler = class extends AsyncResource { constructor(opts, callback) { @@ -21814,7 +22264,7 @@ var require_api_connect = __commonJS({ this.callback = null; let headers = rawHeaders; if (headers != null) { - headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); + headers = this.responseHeaders === "raw" ? util4.parseRawHeaders(rawHeaders) : util4.parseHeaders(rawHeaders); } this.runInAsyncScope(callback, null, null, { statusCode, @@ -22564,7 +23014,7 @@ var require_mock_agent = __commonJS({ "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) { "use strict"; var { kClients } = require_symbols(); - var Agent = require_agent(); + var Agent = require_agent2(); var { kAgent, kMockAgentSet, @@ -22695,7 +23145,7 @@ var require_global2 = __commonJS({ "use strict"; var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); var { InvalidArgumentError } = require_errors(); - var Agent = require_agent(); + var Agent = require_agent2(); if (getGlobalDispatcher() === void 0) { setGlobalDispatcher(new Agent()); } @@ -22814,7 +23264,7 @@ var require_retry = __commonJS({ var require_dump = __commonJS({ "node_modules/undici/lib/interceptor/dump.js"(exports2, module2) { "use strict"; - var util3 = require_util(); + var util4 = require_util(); var { InvalidArgumentError, RequestAbortedError } = require_errors(); var DecoratorHandler = require_decorator_handler(); var DumpHandler = class extends DecoratorHandler { @@ -22843,7 +23293,7 @@ var require_dump = __commonJS({ } // TODO: will require adjustment after new hooks are out onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const headers = util3.parseHeaders(rawHeaders); + const headers = util4.parseHeaders(rawHeaders); const contentLength = headers["content-length"]; if (contentLength != null && contentLength > this.#maxSize) { throw new RequestAbortedError( @@ -23210,7 +23660,7 @@ var require_headers = __commonJS({ } = require_util2(); var { webidl } = require_webidl(); var assert = require("node:assert"); - var util3 = require("node:util"); + var util4 = require("node:util"); var kHeadersMap = Symbol("headers map"); var kHeadersSortedMap = Symbol("headers map sorted"); function isHTTPWhiteSpaceCharCode(code) { @@ -23569,9 +24019,9 @@ var require_headers = __commonJS({ } return this.#headersList[kHeadersSortedMap] = headers; } - [util3.inspect.custom](depth, options) { + [util4.inspect.custom](depth, options) { options.depth ??= depth; - return `Headers ${util3.formatWithOptions(options, this.#headersList.entries)}`; + return `Headers ${util4.formatWithOptions(options, this.#headersList.entries)}`; } static getHeadersGuard(o) { return o.#guard; @@ -23603,14 +24053,14 @@ var require_headers = __commonJS({ value: "Headers", configurable: true }, - [util3.inspect.custom]: { + [util4.inspect.custom]: { enumerable: false } }); webidl.converters.HeadersInit = function(V, prefix, argument) { if (webidl.util.Type(V) === "Object") { const iterator3 = Reflect.get(V, Symbol.iterator); - if (!util3.types.isProxy(V) && iterator3 === Headers2.prototype.entries) { + if (!util4.types.isProxy(V) && iterator3 === Headers2.prototype.entries) { try { return getHeadersList(V).entriesList; } catch { @@ -23647,9 +24097,9 @@ var require_response = __commonJS({ "use strict"; var { Headers: Headers2, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers(); var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body(); - var util3 = require_util(); + var util4 = require_util(); var nodeUtil = require("node:util"); - var { kEnumerableProperty } = util3; + var { kEnumerableProperty } = util4; var { isValidReasonPhrase, isCancelled, @@ -23779,7 +24229,7 @@ var require_response = __commonJS({ } get bodyUsed() { webidl.brandCheck(this, _Response); - return !!this[kState].body && util3.isDisturbed(this[kState].body.stream); + return !!this[kState].body && util4.isDisturbed(this[kState].body.stream); } // Returns a clone of response. clone() { @@ -23994,7 +24444,7 @@ var require_response = __commonJS({ if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) { return webidl.converters.BufferSource(V, prefix, name); } - if (util3.isFormDataLike(V)) { + if (util4.isFormDataLike(V)) { return webidl.converters.FormData(V, prefix, name, { strict: false }); } if (V instanceof URLSearchParams) { @@ -24089,7 +24539,7 @@ var require_request2 = __commonJS({ var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body(); var { Headers: Headers2, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers(); var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref()(); - var util3 = require_util(); + var util4 = require_util(); var nodeUtil = require("node:util"); var { isValidHTTPToken, @@ -24106,7 +24556,7 @@ var require_request2 = __commonJS({ requestCache, requestDuplex } = require_constants3(); - var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util3; + var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util4; var { kHeaders, kSignal, kState, kDispatcher } = require_symbols2(); var { webidl } = require_webidl(); var { URLSerializer } = require_data_url(); @@ -24351,7 +24801,7 @@ var require_request2 = __commonJS({ } } catch { } - util3.addAbortListener(signal, abort); + util4.addAbortListener(signal, abort); requestFinalizer.register(ac, { signal, abort }, abort); } } @@ -24534,7 +24984,7 @@ var require_request2 = __commonJS({ } get bodyUsed() { webidl.brandCheck(this, _Request); - return !!this[kState].body && util3.isDisturbed(this[kState].body.stream); + return !!this[kState].body && util4.isDisturbed(this[kState].body.stream); } get duplex() { webidl.brandCheck(this, _Request); @@ -24558,7 +25008,7 @@ var require_request2 = __commonJS({ } const acRef = new WeakRef(ac); list.add(acRef); - util3.addAbortListener( + util4.addAbortListener( ac.signal, buildAbort(acRef) ); @@ -30062,12 +30512,12 @@ var require_undici = __commonJS({ var Dispatcher = require_dispatcher(); var Pool = require_pool(); var BalancedPool = require_balanced_pool(); - var Agent = require_agent(); + var Agent = require_agent2(); var ProxyAgent2 = require_proxy_agent(); var EnvHttpProxyAgent = require_env_http_proxy_agent(); var RetryAgent = require_retry_agent(); var errors = require_errors(); - var util3 = require_util(); + var util4 = require_util(); var { InvalidArgumentError } = errors; var api = require_api(); var buildConnector = require_connect(); @@ -30102,8 +30552,8 @@ var require_undici = __commonJS({ module2.exports.buildConnector = buildConnector; module2.exports.errors = errors; module2.exports.util = { - parseHeaders: util3.parseHeaders, - headerNameToString: util3.headerNameToString + parseHeaders: util4.parseHeaders, + headerNameToString: util4.headerNameToString }; function makeDispatcher(fn) { return (url2, opts, handler2) => { @@ -30125,12 +30575,12 @@ var require_undici = __commonJS({ if (!opts.path.startsWith("/")) { path = `/${path}`; } - url2 = new URL(util3.parseOrigin(url2).origin + path); + url2 = new URL(util4.parseOrigin(url2).origin + path); } else { if (!opts) { opts = typeof url2 === "object" ? url2 : {}; } - url2 = util3.parseURL(url2); + url2 = util4.parseURL(url2); } const { agent, dispatcher = getGlobalDispatcher() } = opts; if (agent) { @@ -31075,6 +31525,23 @@ function bind(fn, thisArg) { var { toString } = Object.prototype; var { getPrototypeOf } = Object; var { iterator, toStringTag } = Symbol; +var hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype); +var hasOwnInPrototypeChain = (thing, prop) => { + let obj = thing; + const seen = []; + while (obj != null && obj !== Object.prototype) { + if (seen.indexOf(obj) !== -1) { + return false; + } + seen.push(obj); + if (hasOwnProperty(obj, prop)) { + return true; + } + obj = getPrototypeOf(obj); + } + return false; +}; +var getSafeProp = (obj, prop) => obj != null && hasOwnInPrototypeChain(obj, prop) ? obj[prop] : void 0; var kindOf = /* @__PURE__ */ ((cache) => (thing) => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); @@ -31105,11 +31572,14 @@ var isNumber = typeOfTest("number"); var isObject = (thing) => thing !== null && typeof thing === "object"; var isBoolean = (thing) => thing === true || thing === false; var isPlainObject = (val) => { - if (kindOf(val) !== "object") { + if (!isObject(val)) { return false; } const prototype2 = getPrototypeOf(val); - return (prototype2 === null || prototype2 === Object.prototype || Object.getPrototypeOf(prototype2) === null) && !(toStringTag in val) && !(iterator in val); + return (prototype2 === null || prototype2 === Object.prototype || getPrototypeOf(prototype2) === null) && // Treat any genuine (non-Object.prototype-polluted) Symbol.toStringTag or + // Symbol.iterator as evidence the value is a tagged/iterable type rather + // than a plain object, while ignoring keys injected onto Object.prototype. + !hasOwnInPrototypeChain(val, toStringTag) && !hasOwnInPrototypeChain(val, iterator); }; var isEmptyObject = (val) => { if (!isObject(val) || isBuffer(val)) { @@ -31213,7 +31683,7 @@ function merge(...objs) { if (key === "__proto__" || key === "constructor" || key === "prototype") { return; } - const targetKey = caseless && findKey(result, key) || key; + const targetKey = caseless && typeof key === "string" && findKey(result, key) || key; const existing = hasOwnProperty(result, targetKey) ? result[targetKey] : void 0; if (isPlainObject(existing) && isPlainObject(val)) { result[targetKey] = merge(existing, val); @@ -31226,7 +31696,21 @@ function merge(...objs) { } }; for (let i = 0, l = objs.length; i < l; i++) { - objs[i] && forEach(objs[i], assignValue); + const source = objs[i]; + if (!source || isBuffer(source)) { + continue; + } + forEach(source, assignValue); + if (typeof source !== "object" || isArray(source)) { + continue; + } + const symbols = Object.getOwnPropertySymbols(source); + for (let j = 0; j < symbols.length; j++) { + const symbol = symbols[j]; + if (propertyIsEnumerable.call(source, symbol)) { + assignValue(source[symbol], symbol); + } + } } return result; } @@ -31348,7 +31832,7 @@ var toCamelCase = (str) => { return p1.toUpperCase() + p2; }); }; -var hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype); +var { propertyIsEnumerable } = Object.prototype; var isRegExp = kindOfTest("RegExp"); var reduceDescriptors = (obj, reducer) => { const descriptors = Object.getOwnPropertyDescriptors(obj); @@ -31399,29 +31883,29 @@ function isSpecCompliantForm(thing) { return !!(thing && isFunction(thing.append) && thing[toStringTag] === "FormData" && thing[iterator]); } var toJSONObject = (obj) => { - const stack = new Array(10); - const visit = (source, i) => { + const visited = /* @__PURE__ */ new WeakSet(); + const visit = (source) => { if (isObject(source)) { - if (stack.indexOf(source) >= 0) { + if (visited.has(source)) { return; } if (isBuffer(source)) { return source; } if (!("toJSON" in source)) { - stack[i] = source; + visited.add(source); const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { - const reducedValue = visit(value, i + 1); + const reducedValue = visit(value); !isUndefined(reducedValue) && (target[key] = reducedValue); }); - stack[i] = void 0; + visited.delete(source); return target; } } return source; }; - return visit(obj, 0); + return visit(obj); }; var isAsyncFn = kindOfTest("AsyncFunction"); var isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); @@ -31447,6 +31931,7 @@ var _setImmediate = ((setImmediateSupported, postMessageSupported) => { })(typeof setImmediate === "function", isFunction(_global.postMessage)); var asap = typeof queueMicrotask !== "undefined" ? queueMicrotask.bind(_global) : typeof process !== "undefined" && process.nextTick || _setImmediate; var isIterable = (thing) => thing != null && isFunction(thing[iterator]); +var isSafeIterable = (thing) => thing != null && hasOwnInPrototypeChain(thing, iterator) && isIterable(thing); var utils_default = { isArray, isArrayBuffer, @@ -31492,6 +31977,8 @@ var utils_default = { hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection + hasOwnInPrototypeChain, + getSafeProp, reduceDescriptors, freezeMethods, toObjectSet, @@ -31507,7 +31994,8 @@ var utils_default = { isThenable, setImmediate: _setImmediate, asap, - isIterable + isIterable, + isSafeIterable }; // node_modules/axios/lib/helpers/parseHeaders.js @@ -31555,9 +32043,7 @@ var parseHeaders_default = (rawHeaders) => { return parsed; }; -// node_modules/axios/lib/core/AxiosHeaders.js -var $internals = Symbol("internals"); -var INVALID_HEADER_VALUE_CHARS_RE = /[^\x09\x20-\x7E\x80-\xFF]/g; +// node_modules/axios/lib/helpers/sanitizeHeaderValue.js function trimSPorHTAB(str) { let start = 0; let end = str.length; @@ -31577,12 +32063,29 @@ function trimSPorHTAB(str) { } return start === 0 && end === str.length ? str : str.slice(start, end); } +var INVALID_UNICODE_HEADER_VALUE_CHARS = new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+", "g"); +var INVALID_BYTE_STRING_HEADER_VALUE_CHARS = new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+", "g"); +function sanitizeValue(value, invalidChars) { + if (utils_default.isArray(value)) { + return value.map((item) => sanitizeValue(item, invalidChars)); + } + return trimSPorHTAB(String(value).replace(invalidChars, "")); +} +var sanitizeHeaderValue = (value) => sanitizeValue(value, INVALID_UNICODE_HEADER_VALUE_CHARS); +var sanitizeByteStringHeaderValue = (value) => sanitizeValue(value, INVALID_BYTE_STRING_HEADER_VALUE_CHARS); +function toByteStringHeaderObject(headers) { + const byteStringHeaders = /* @__PURE__ */ Object.create(null); + utils_default.forEach(headers.toJSON(), (value, header) => { + byteStringHeaders[header] = sanitizeByteStringHeaderValue(value); + }); + return byteStringHeaders; +} + +// node_modules/axios/lib/core/AxiosHeaders.js +var $internals = Symbol("internals"); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } -function sanitizeHeaderValue(str) { - return trimSPorHTAB(str.replace(INVALID_HEADER_VALUE_CHARS_RE, "")); -} function normalizeValue(value) { if (value === false || value == null) { return value; @@ -31642,7 +32145,7 @@ var AxiosHeaders = class { function setHeader(_value, _header, _rewrite) { const lHeader = normalizeHeader(_header); if (!lHeader) { - throw new Error("header name must be a non-empty string"); + return; } const key = utils_default.findKey(self2, lHeader); if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) { @@ -31654,13 +32157,19 @@ var AxiosHeaders = class { setHeaders(header, valueOrRewrite); } else if (utils_default.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders_default(header), valueOrRewrite); - } else if (utils_default.isObject(header) && utils_default.isIterable(header)) { - let obj = {}, dest, key; + } else if (utils_default.isObject(header) && utils_default.isSafeIterable(header)) { + let obj = /* @__PURE__ */ Object.create(null), dest, key; for (const entry of header) { if (!utils_default.isArray(entry)) { - throw TypeError("Object iterator must return a key-value pair"); + throw new TypeError("Object iterator must return a key-value pair"); + } + key = entry[0]; + if (utils_default.hasOwnProp(obj, key)) { + dest = obj[key]; + obj[key] = utils_default.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]; + } else { + obj[key] = entry[1]; } - obj[key = entry[0]] = (dest = obj[key]) ? utils_default.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]] : entry[1]; } setHeaders(obj, valueOrRewrite); } else { @@ -31873,7 +32382,13 @@ function redactConfig(config, redactKeys) { var AxiosError = class _AxiosError extends Error { static from(error2, code, config, request2, response, customProps) { const axiosError = new _AxiosError(error2.message, code || error2.code, config, request2, response); - axiosError.cause = error2; + Object.defineProperty(axiosError, "cause", { + __proto__: null, + value: error2, + writable: true, + enumerable: false, + configurable: true + }); axiosError.name = error2.name; if (error2.status != null && axiosError.status == null) { axiosError.status = error2.status; @@ -31957,6 +32472,7 @@ var import_form_data = __toESM(require_form_data(), 1); var FormData_default = import_form_data.default; // node_modules/axios/lib/helpers/toFormData.js +var DEFAULT_FORM_DATA_MAX_DEPTH = 100; function isVisitable(thing) { return utils_default.isPlainObject(thing) || utils_default.isArray(thing); } @@ -31998,8 +32514,9 @@ function toFormData(obj, formData, options) { const dots = options.dots; const indexes = options.indexes; const _Blob = options.Blob || typeof Blob !== "undefined" && Blob; - const maxDepth = options.maxDepth === void 0 ? 100 : options.maxDepth; + const maxDepth = options.maxDepth === void 0 ? DEFAULT_FORM_DATA_MAX_DEPTH : options.maxDepth; const useBlob = _Blob && utils_default.isSpecCompliantForm(formData); + const stack = []; if (!utils_default.isFunction(visitor)) { throw new TypeError("visitor must be a function"); } @@ -32015,10 +32532,41 @@ function toFormData(obj, formData, options) { throw new AxiosError_default("Blob is not supported. Use a Buffer instead."); } if (utils_default.isArrayBuffer(value) || utils_default.isTypedArray(value)) { - return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value); + if (useBlob && typeof _Blob === "function") { + return new _Blob([value]); + } + if (typeof Buffer !== "undefined") { + return Buffer.from(value); + } + throw new AxiosError_default("Blob is not supported. Use a Buffer instead.", AxiosError_default.ERR_NOT_SUPPORT); } return value; } + function throwIfMaxDepthExceeded(depth) { + if (depth > maxDepth) { + throw new AxiosError_default( + "Object is too deeply nested (" + depth + " levels). Max depth: " + maxDepth, + AxiosError_default.ERR_FORM_DATA_DEPTH_EXCEEDED + ); + } + } + function stringifyWithDepthLimit(value, depth) { + if (maxDepth === Infinity) { + return JSON.stringify(value); + } + const ancestors = []; + return JSON.stringify(value, function limitDepth(_key, currentValue) { + if (!utils_default.isObject(currentValue)) { + return currentValue; + } + while (ancestors.length && ancestors[ancestors.length - 1] !== this) { + ancestors.pop(); + } + ancestors.push(currentValue); + throwIfMaxDepthExceeded(depth + ancestors.length - 1); + return currentValue; + }); + } function defaultVisitor(value, key, path) { let arr = value; if (utils_default.isReactNative(formData) && utils_default.isReactNativeBlob(value)) { @@ -32028,7 +32576,7 @@ function toFormData(obj, formData, options) { if (value && !path && typeof value === "object") { if (utils_default.endsWith(key, "{}")) { key = metaTokens ? key : key.slice(0, -2); - value = JSON.stringify(value); + value = stringifyWithDepthLimit(value, 1); } else if (utils_default.isArray(value) && isFlatArray(value) || (utils_default.isFileList(value) || utils_default.endsWith(key, "[]")) && (arr = utils_default.toArray(value))) { key = removeBrackets(key); arr.forEach(function each(el, index) { @@ -32047,7 +32595,6 @@ function toFormData(obj, formData, options) { formData.append(renderKey(path, key, dots), convertValue(value)); return false; } - const stack = []; const exposedHelpers = Object.assign(predicates, { defaultVisitor, convertValue, @@ -32055,14 +32602,9 @@ function toFormData(obj, formData, options) { }); function build(value, path, depth = 0) { if (utils_default.isUndefined(value)) return; - if (depth > maxDepth) { - throw new AxiosError_default( - "Object is too deeply nested (" + depth + " levels). Max depth: " + maxDepth, - AxiosError_default.ERR_FORM_DATA_DEPTH_EXCEEDED - ); - } + throwIfMaxDepthExceeded(depth); if (stack.indexOf(value) !== -1) { - throw Error("Circular reference detected in " + path.join(".")); + throw new Error("Circular reference detected in " + path.join(".")); } stack.push(value); utils_default.forEach(value, function each(el, key) { @@ -32104,9 +32646,7 @@ prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString2(encoder) { - const _encode = encoder ? function(value) { - return encoder.call(this, value, encode); - } : encode; + const _encode = encoder ? (value) => encoder.call(this, value, encode) : encode; return this._pairs.map(function each(pair) { return _encode(pair[0]) + "=" + _encode(pair[1]); }, "").join("&"); @@ -32121,11 +32661,12 @@ function buildURL(url2, params, options) { if (!params) { return url2; } - const _encode = options && options.encode || encode2; + url2 = url2 || ""; const _options = utils_default.isFunction(options) ? { serialize: options } : options; - const serializeFn = _options && _options.serialize; + const _encode = utils_default.getSafeProp(_options, "encode") || encode2; + const serializeFn = utils_default.getSafeProp(_options, "serialize"); let serializedParams; if (serializeFn) { serializedParams = serializeFn(params, _options); @@ -32212,7 +32753,9 @@ var transitional_default = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false, - legacyInterceptorReqResOrdering: true + legacyInterceptorReqResOrdering: true, + advertiseZstdAcceptEncoding: false, + validateStatusUndefinedResolves: true }; // node_modules/axios/lib/platform/node/index.js @@ -32291,10 +32834,24 @@ function toURLEncodedForm(data, options) { } // node_modules/axios/lib/helpers/formDataToJSON.js +var MAX_DEPTH = DEFAULT_FORM_DATA_MAX_DEPTH; +function throwIfDepthExceeded(index) { + if (index > MAX_DEPTH) { + throw new AxiosError_default( + "FormData field is too deeply nested (" + index + " levels). Max depth: " + MAX_DEPTH, + AxiosError_default.ERR_FORM_DATA_DEPTH_EXCEEDED + ); + } +} function parsePropPath(name) { - return utils_default.matchAll(/\w+|\[(\w*)]/g, name).map((match) => { - return match[0] === "[]" ? "" : match[1] || match[0]; - }); + const path = []; + const pattern = /\w+|\[(\w*)]/g; + let match; + while ((match = pattern.exec(name)) !== null) { + throwIfDepthExceeded(path.length); + path.push(match[0] === "[]" ? "" : match[1] || match[0]); + } + return path; } function arrayToObject(arr) { const obj = {}; @@ -32310,6 +32867,7 @@ function arrayToObject(arr) { } function formDataToJSON(formData) { function buildPath(path, value, target, index) { + throwIfDepthExceeded(index); let name = path[index++]; if (name === "__proto__") return true; const isNumericKey = Number.isFinite(+name); @@ -32323,7 +32881,7 @@ function formDataToJSON(formData) { } return !isNumericKey; } - if (!target[name] || !utils_default.isObject(target[name])) { + if (!utils_default.hasOwnProp(target, name) || !utils_default.isObject(target[name])) { target[name] = []; } const result = buildPath(path, value, target[name], index); @@ -32527,9 +33085,32 @@ function combineURLs(baseURL, relativeURL) { } // node_modules/axios/lib/core/buildFullPath.js -function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) { +var malformedHttpProtocol = /^https?:(?!\/\/)/i; +var httpProtocolControlCharacters = /[\t\n\r]/g; +function stripLeadingC0ControlOrSpace(url2) { + let i = 0; + while (i < url2.length && url2.charCodeAt(i) <= 32) { + i++; + } + return url2.slice(i); +} +function normalizeURLForProtocolCheck(url2) { + return stripLeadingC0ControlOrSpace(url2).replace(httpProtocolControlCharacters, ""); +} +function assertValidHttpProtocolURL(url2, config) { + if (typeof url2 === "string" && malformedHttpProtocol.test(normalizeURLForProtocolCheck(url2))) { + throw new AxiosError_default( + 'Invalid URL: missing "//" after protocol', + AxiosError_default.ERR_INVALID_URL, + config + ); + } +} +function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls, config) { + assertValidHttpProtocolURL(requestedURL, config); let isRelativeUrl = !isAbsoluteURL(requestedURL); if (baseURL && (isRelativeUrl || allowAbsoluteUrls === false)) { + assertValidHttpProtocolURL(baseURL, config); return combineURLs(baseURL, requestedURL); } return requestedURL; @@ -32603,16 +33184,17 @@ function getEnv(key) { } // node_modules/axios/lib/adapters/http.js +var import_https_proxy_agent = __toESM(require_dist(), 1); var import_http = __toESM(require("http"), 1); var import_https = __toESM(require("https"), 1); -var import_http2 = __toESM(require("http2"), 1); -var import_util2 = __toESM(require("util"), 1); +var import_http22 = __toESM(require("http2"), 1); +var import_util3 = __toESM(require("util"), 1); var import_path = require("path"); var import_follow_redirects = __toESM(require_follow_redirects(), 1); var import_zlib = __toESM(require("zlib"), 1); // node_modules/axios/lib/env/data.js -var VERSION = "1.16.0"; +var VERSION = "1.18.1"; // node_modules/axios/lib/helpers/parseProtocol.js function parseProtocol(url2) { @@ -32621,7 +33203,7 @@ function parseProtocol(url2) { } // node_modules/axios/lib/helpers/fromDataURI.js -var DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; +var DATA_URL_PATTERN = /^([^,;]+\/[^,;]+)?((?:;[^,;=]+=[^,;]+)*)(;base64)?,([\s\S]*)$/; function fromDataURI(uri, asBlob, options) { const _Blob = options && options.Blob || platform_default.classes.Blob; const protocol = parseProtocol(uri); @@ -32634,10 +33216,17 @@ function fromDataURI(uri, asBlob, options) { if (!match) { throw new AxiosError_default("Invalid URL", AxiosError_default.ERR_INVALID_URL); } - const mime = match[1]; - const isBase64 = match[2]; - const body = match[3]; - const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? "base64" : "utf8"); + const type = match[1]; + const params = match[2]; + const encoding = match[3] ? "base64" : "utf8"; + const body = match[4]; + let mime = ""; + if (type) { + mime = params ? type + params : type; + } else if (params) { + mime = "text/plain" + params; + } + const buffer = encoding === "base64" ? Buffer.from(body, "base64") : Buffer.from(decodeURIComponent(body), encoding); if (asBlob) { if (!_Blob) { throw new AxiosError_default("Blob is not supported", AxiosError_default.ERR_NOT_SUPPORT); @@ -32848,10 +33437,10 @@ var formDataToStream = (form, headersHandler, options) => { boundary = tag + "-" + platform_default.generateString(size, BOUNDARY_ALPHABET) } = options || {}; if (!utils_default.isFormData(form)) { - throw TypeError("FormData instance required"); + throw new TypeError("FormData instance required"); } if (boundary.length < 1 || boundary.length > 70) { - throw Error("boundary must be 1-70 characters long"); + throw new Error("boundary must be 1-70 characters long"); } const boundaryBytes = textEncoder.encode("--" + boundary + CRLF); const footerBytes = textEncoder.encode("--" + boundary + "--" + CRLF); @@ -32904,6 +33493,87 @@ var ZlibHeaderTransformStream = class extends import_stream3.default.Transform { }; var ZlibHeaderTransformStream_default = ZlibHeaderTransformStream; +// node_modules/axios/lib/helpers/Http2Sessions.js +var import_http2 = __toESM(require("http2"), 1); +var import_util2 = __toESM(require("util"), 1); +var Http2Sessions = class { + constructor() { + this.sessions = /* @__PURE__ */ Object.create(null); + } + getSession(authority, options) { + options = Object.assign( + { + sessionTimeout: 1e3 + }, + options + ); + let authoritySessions = this.sessions[authority]; + if (authoritySessions) { + let len = authoritySessions.length; + for (let i = 0; i < len; i++) { + const [sessionHandle, sessionOptions] = authoritySessions[i]; + if (!sessionHandle.destroyed && !sessionHandle.closed && import_util2.default.isDeepStrictEqual(sessionOptions, options)) { + return sessionHandle; + } + } + } + const session = import_http2.default.connect(authority, options); + let removed; + let timer; + const removeSession = () => { + if (removed) { + return; + } + removed = true; + if (timer) { + clearTimeout(timer); + timer = null; + } + let entries = authoritySessions, len = entries.length, i = len; + while (i--) { + if (entries[i][0] === session) { + if (len === 1) { + delete this.sessions[authority]; + } else { + entries.splice(i, 1); + } + if (!session.closed) { + session.close(); + } + return; + } + } + }; + const originalRequestFn = session.request; + const { sessionTimeout } = options; + if (sessionTimeout != null) { + let streamsCount = 0; + session.request = function() { + const stream4 = originalRequestFn.apply(this, arguments); + streamsCount++; + if (timer) { + clearTimeout(timer); + timer = null; + } + stream4.once("close", () => { + if (!--streamsCount) { + timer = setTimeout(() => { + timer = null; + removeSession(); + }, sessionTimeout); + } + }); + return stream4; + }; + } + session.once("close", removeSession); + let entry = [session, options]; + authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry]; + return session; + } +}; +var Http2Sessions_default = Http2Sessions; + // node_modules/axios/lib/helpers/callbackify.js var callbackify = (fn, reducer) => { return utils_default.isAsyncFn(fn) ? function(...args) { @@ -32920,13 +33590,29 @@ var callbackify = (fn, reducer) => { var callbackify_default = callbackify; // node_modules/axios/lib/helpers/shouldBypassProxy.js -var LOOPBACK_HOSTNAMES = /* @__PURE__ */ new Set(["localhost"]); +var LOOPBACK_HOSTNAMES = /* @__PURE__ */ new Set(["localhost", "0.0.0.0"]); var isIPv4Loopback = (host) => { const parts = host.split("."); if (parts.length !== 4) return false; if (parts[0] !== "127") return false; return parts.every((p) => /^\d+$/.test(p) && Number(p) >= 0 && Number(p) <= 255); }; +var isIPv6ZeroGroup = (group) => /^0{1,4}$/.test(group); +var isIPv6Unspecified = (host) => { + if (host === "::") return true; + const compressionIndex = host.indexOf("::"); + if (compressionIndex !== -1) { + if (compressionIndex !== host.lastIndexOf("::")) return false; + const left = host.slice(0, compressionIndex); + const right = host.slice(compressionIndex + 2); + const leftGroups = left ? left.split(":") : []; + const rightGroups = right ? right.split(":") : []; + const explicitGroups = leftGroups.length + rightGroups.length; + return explicitGroups < 8 && leftGroups.every(isIPv6ZeroGroup) && rightGroups.every(isIPv6ZeroGroup); + } + const groups = host.split(":"); + return groups.length === 8 && groups.every(isIPv6ZeroGroup); +}; var isIPv6Loopback = (host) => { if (host === "::1") return true; const v4MappedDotted = host.match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/i); @@ -32949,6 +33635,7 @@ var isLoopback = (host) => { if (!host) return false; if (LOOPBACK_HOSTNAMES.has(host)) return true; if (isIPv4Loopback(host)) return true; + if (isIPv6Unspecified(host)) return true; return isIPv6Loopback(host); }; var DEFAULT_PORTS2 = { @@ -33117,6 +33804,9 @@ var progressEventReducer = (listener, isDownloadStream, freq = 3) => { let bytesNotified = 0; const _speedometer = speedometer_default(50, 250); return throttle_default((e) => { + if (!e || typeof e.loaded !== "number") { + return; + } const rawLoaded = e.loaded; const total = e.lengthComputable ? e.total : void 0; const loaded = total != null ? Math.min(rawLoaded, total) : rawLoaded; @@ -33151,6 +33841,8 @@ var progressEventDecorator = (total, throttled) => { var asyncDecorator = (fn) => (...args) => utils_default.asap(() => fn(...args)); // node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +var isHexDigit = (charCode) => charCode >= 48 && charCode <= 57 || charCode >= 65 && charCode <= 70 || charCode >= 97 && charCode <= 102; +var isPercentEncodedByte = (str, i, len) => i + 2 < len && isHexDigit(str.charCodeAt(i + 1)) && isHexDigit(str.charCodeAt(i + 2)); function estimateDataURLDecodedBytes(url2) { if (!url2 || typeof url2 !== "string") return 0; if (!url2.startsWith("data:")) return 0; @@ -33166,7 +33858,7 @@ function estimateDataURLDecodedBytes(url2) { if (body.charCodeAt(i) === 37 && i + 2 < len) { const a = body.charCodeAt(i + 1); const b = body.charCodeAt(i + 2); - const isHex = (a >= 48 && a <= 57 || a >= 65 && a <= 70 || a >= 97 && a <= 102) && (b >= 48 && b <= 57 || b >= 65 && b <= 70 || b >= 97 && b <= 102); + const isHex = isHexDigit(a) && isHexDigit(b); if (isHex) { effectiveLen -= 2; i += 2; @@ -33198,13 +33890,13 @@ function estimateDataURLDecodedBytes(url2) { const bytes2 = groups * 3 - (pad || 0); return bytes2 > 0 ? bytes2 : 0; } - if (typeof Buffer !== "undefined" && typeof Buffer.byteLength === "function") { - return Buffer.byteLength(body, "utf8"); - } let bytes = 0; for (let i = 0, len = body.length; i < len; i++) { const c = body.charCodeAt(i); - if (c < 128) { + if (c === 37 && isPercentEncodedByte(body, i, len)) { + bytes += 1; + i += 2; + } else if (c < 128) { bytes += 1; } else if (c < 2048) { bytes += 2; @@ -33232,7 +33924,14 @@ var brotliOptions = { flush: import_zlib.default.constants.BROTLI_OPERATION_FLUSH, finishFlush: import_zlib.default.constants.BROTLI_OPERATION_FLUSH }; +var zstdOptions = { + flush: import_zlib.default.constants.ZSTD_e_flush, + finishFlush: import_zlib.default.constants.ZSTD_e_flush +}; var isBrotliSupported = utils_default.isFunction(import_zlib.default.createBrotliDecompress); +var isZstdSupported = utils_default.isFunction(import_zlib.default.createZstdDecompress); +var ACCEPT_ENCODING = "gzip, compress, deflate" + (isBrotliSupported ? ", br" : ""); +var ACCEPT_ENCODING_WITH_ZSTD = ACCEPT_ENCODING + (isZstdSupported ? ", zstd" : ""); var { http: httpFollow, https: httpsFollow } = import_follow_redirects.default; var isHttps = /https:?/; var FORM_DATA_CONTENT_HEADERS = ["content-type", "content-length"]; @@ -33249,6 +33948,56 @@ function setFormDataHeaders(headers, formHeaders, policy) { } var kAxiosSocketListener = Symbol("axios.http.socketListener"); var kAxiosCurrentReq = Symbol("axios.http.currentReq"); +var kAxiosInstalledTunnel = Symbol("axios.http.installedTunnel"); +var tunnelingAgentCache = /* @__PURE__ */ new Map(); +var tunnelingAgentCacheUser = /* @__PURE__ */ new WeakMap(); +var NODE_NATIVE_ENV_PROXY_SUPPORT = { + 22: 21, + 24: 5 +}; +function isNodeNativeEnvProxySupported(nodeVersion = process.versions && process.versions.node) { + if (!nodeVersion) { + return false; + } + const [major, minor] = nodeVersion.split(".").map((part) => Number(part)); + if (!Number.isInteger(major) || !Number.isInteger(minor)) { + return false; + } + if (major > 24) { + return true; + } + return NODE_NATIVE_ENV_PROXY_SUPPORT[major] != null && minor >= NODE_NATIVE_ENV_PROXY_SUPPORT[major]; +} +function isNodeEnvProxyEnabled(agent, nodeVersion = process.versions && process.versions.node) { + if (!isNodeNativeEnvProxySupported(nodeVersion)) { + return false; + } + const agentOptions = agent && agent.options; + return Boolean( + agentOptions && utils_default.hasOwnProp(agentOptions, "proxyEnv") && agentOptions.proxyEnv != null + ); +} +function getProxyEnvAgent(options, configHttpAgent, configHttpsAgent) { + return isHttps.test(options.protocol) ? configHttpsAgent || import_https.default.globalAgent : configHttpAgent || import_http.default.globalAgent; +} +function getTunnelingAgent(agentOptions, userHttpsAgent) { + const key = agentOptions.protocol + "//" + agentOptions.hostname + ":" + (agentOptions.port || "") + "#" + (agentOptions.auth || ""); + const cache = userHttpsAgent ? tunnelingAgentCacheUser.get(userHttpsAgent) || tunnelingAgentCacheUser.set(userHttpsAgent, /* @__PURE__ */ new Map()).get(userHttpsAgent) : tunnelingAgentCache; + let agent = cache.get(key); + if (agent) return agent; + const merged = userHttpsAgent && userHttpsAgent.options ? { ...userHttpsAgent.options, ...agentOptions } : agentOptions; + agent = new import_https_proxy_agent.default(merged); + if (userHttpsAgent && userHttpsAgent.options) { + const originTLSOptions = { ...userHttpsAgent.options }; + const callback = agent.callback; + agent.callback = function axiosTunnelingAgentCallback(req, opts) { + return callback.call(this, req, { ...originTLSOptions, ...opts }); + }; + } + agent[kAxiosInstalledTunnel] = true; + cache.set(key, agent); + return agent; +} var supportedProtocols = platform_default.protocols.map((protocol) => { return protocol + ":"; }); @@ -33266,90 +34015,45 @@ var flushOnFinish = (stream4, [throttled, flush]) => { stream4.on("end", flush).on("error", flush); return throttled; }; -var Http2Sessions = class { - constructor() { - this.sessions = /* @__PURE__ */ Object.create(null); - } - getSession(authority, options) { - options = Object.assign( - { - sessionTimeout: 1e3 - }, - options - ); - let authoritySessions = this.sessions[authority]; - if (authoritySessions) { - let len = authoritySessions.length; - for (let i = 0; i < len; i++) { - const [sessionHandle, sessionOptions] = authoritySessions[i]; - if (!sessionHandle.destroyed && !sessionHandle.closed && import_util2.default.isDeepStrictEqual(sessionOptions, options)) { - return sessionHandle; - } - } - } - const session = import_http2.default.connect(authority, options); - let removed; - const removeSession = () => { - if (removed) { - return; - } - removed = true; - let entries = authoritySessions, len = entries.length, i = len; - while (i--) { - if (entries[i][0] === session) { - if (len === 1) { - delete this.sessions[authority]; - } else { - entries.splice(i, 1); - } - if (!session.closed) { - session.close(); - } - return; - } - } - }; - const originalRequestFn = session.request; - const { sessionTimeout } = options; - if (sessionTimeout != null) { - let timer; - let streamsCount = 0; - session.request = function() { - const stream4 = originalRequestFn.apply(this, arguments); - streamsCount++; - if (timer) { - clearTimeout(timer); - timer = null; - } - stream4.once("close", () => { - if (!--streamsCount) { - timer = setTimeout(() => { - timer = null; - removeSession(); - }, sessionTimeout); - } - }); - return stream4; - }; - } - session.once("close", removeSession); - let entry = [session, options]; - authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry]; - return session; - } -}; -var http2Sessions = new Http2Sessions(); +var http2Sessions = new Http2Sessions_default(); function dispatchBeforeRedirect(options, responseDetails, requestDetails) { if (options.beforeRedirects.proxy) { options.beforeRedirects.proxy(options); } + if (options.beforeRedirects.auth) { + options.beforeRedirects.auth(options); + } + if (options.beforeRedirects.sensitiveHeaders) { + options.beforeRedirects.sensitiveHeaders(options, requestDetails); + } if (options.beforeRedirects.config) { options.beforeRedirects.config(options, responseDetails, requestDetails); } } -function setProxy(options, configProxy, location, isRedirect) { +function stripMatchingHeaders(headers, sensitiveSet) { + if (!headers) { + return; + } + Object.keys(headers).forEach((header) => { + if (sensitiveSet.has(header.toLowerCase())) { + delete headers[header]; + } + }); +} +function isSameOriginRedirect(redirectOptions, requestDetails) { + if (!requestDetails) { + return false; + } + try { + return new URL(requestDetails.url).origin === new URL(redirectOptions.href).origin; + } catch (e) { + return false; + } +} +function setProxy(options, configProxy, location, isRedirect, configHttpsAgent, configHttpAgent) { let proxy = configProxy; - if (!proxy && proxy !== false) { + const proxyEnvAgent = getProxyEnvAgent(options, configHttpAgent, configHttpsAgent); + if (!proxy && proxy !== false && !isNodeEnvProxyEnabled(proxyEnvAgent)) { const proxyUrl = getProxyForUrl(location); if (proxyUrl) { if (!shouldBypassProxy(location)) { @@ -33364,6 +34068,9 @@ function setProxy(options, configProxy, location, isRedirect) { } } } + if (isRedirect && options.agent && options.agent[kAxiosInstalledTunnel]) { + options.agent = void 0; + } if (proxy) { const isProxyURL = proxy instanceof URL; const readProxyField = (key) => isProxyURL || utils_default.hasOwnProp(proxy, key) ? proxy[key] : void 0; @@ -33383,31 +34090,68 @@ function setProxy(options, configProxy, location, isRedirect) { } else if (authIsObject) { throw new AxiosError_default("Invalid proxy authorization", AxiosError_default.ERR_BAD_OPTION, { proxy }); } - const base64 = Buffer.from(proxyAuth, "utf8").toString("base64"); - options.headers["Proxy-Authorization"] = "Basic " + base64; } - let hasUserHostHeader = false; - for (const name of Object.keys(options.headers)) { - if (name.toLowerCase() === "host") { - hasUserHostHeader = true; - break; + const targetIsHttps = isHttps.test(options.protocol); + if (targetIsHttps) { + if (!(configHttpsAgent instanceof import_https_proxy_agent.default)) { + const proxyHost = readProxyField("hostname") || readProxyField("host"); + const proxyPort = readProxyField("port"); + const rawProxyProtocol = readProxyField("protocol"); + const normalizedProtocol = rawProxyProtocol ? rawProxyProtocol.includes(":") ? rawProxyProtocol : `${rawProxyProtocol}:` : "http:"; + const proxyHostForURL = proxyHost && proxyHost.includes(":") && !proxyHost.startsWith("[") ? `[${proxyHost}]` : proxyHost; + const proxyURL = new URL( + `${normalizedProtocol}//${proxyHostForURL}${proxyPort ? ":" + proxyPort : ""}` + ); + const agentOptions = { + protocol: proxyURL.protocol, + hostname: proxyURL.hostname.replace(/^\[|\]$/g, ""), + port: proxyURL.port, + auth: proxyAuth && typeof proxyAuth === "string" ? proxyAuth : void 0 + }; + if (proxyURL.protocol === "https:") { + agentOptions.ALPNProtocols = ["http/1.1"]; + } + const tunnelingAgent = getTunnelingAgent(agentOptions, configHttpsAgent); + options.agent = tunnelingAgent; + if (options.agents) { + options.agents.https = tunnelingAgent; + } + } + } else { + if (proxyAuth) { + const base64 = Buffer.from(proxyAuth, "utf8").toString("base64"); + options.headers["Proxy-Authorization"] = "Basic " + base64; + } + let hasUserHostHeader = false; + for (const name of Object.keys(options.headers)) { + if (name.toLowerCase() === "host") { + hasUserHostHeader = true; + break; + } + } + if (!hasUserHostHeader) { + options.headers.host = options.hostname + (options.port ? ":" + options.port : ""); + } + const proxyHost = readProxyField("hostname") || readProxyField("host"); + options.hostname = proxyHost; + options.host = proxyHost; + options.port = readProxyField("port"); + options.path = location; + const proxyProtocol = readProxyField("protocol"); + if (proxyProtocol) { + options.protocol = proxyProtocol.includes(":") ? proxyProtocol : `${proxyProtocol}:`; } - } - if (!hasUserHostHeader) { - options.headers.host = options.hostname + (options.port ? ":" + options.port : ""); - } - const proxyHost = readProxyField("hostname") || readProxyField("host"); - options.hostname = proxyHost; - options.host = proxyHost; - options.port = readProxyField("port"); - options.path = location; - const proxyProtocol = readProxyField("protocol"); - if (proxyProtocol) { - options.protocol = proxyProtocol.includes(":") ? proxyProtocol : `${proxyProtocol}:`; } } options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) { - setProxy(redirectOptions, configProxy, redirectOptions.href, true); + setProxy( + redirectOptions, + configProxy, + redirectOptions.href, + true, + configHttpsAgent, + configHttpAgent + ); }; } var isHttpAdapterSupported = typeof process !== "undefined" && utils_default.kindOf(process) === "process"; @@ -33446,7 +34190,7 @@ var http2Transport = { const authority = options.protocol + "//" + options.hostname + ":" + (options.port || (options.protocol === "https:" ? 443 : 80)); const { http2Options, headers } = options; const session = http2Sessions.getSession(authority, http2Options); - const { HTTP2_HEADER_SCHEME, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS } = import_http2.default.constants; + const { HTTP2_HEADER_SCHEME, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS } = import_http22.default.constants; const http2Headers = { [HTTP2_HEADER_SCHEME]: options.protocol.replace(":", ""), [HTTP2_HEADER_METHOD]: options.method, @@ -33470,16 +34214,25 @@ var http2Transport = { }; var http_default = isHttpAdapterSupported && function httpAdapter(config) { return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - const own2 = (key) => utils_default.hasOwnProp(config, key) ? config[key] : void 0; + const own2 = (key) => utils_default.getSafeProp(config, key); + const transitional2 = own2("transitional") || transitional_default; let data = own2("data"); let lookup = own2("lookup"); let family = own2("family"); let httpVersion = own2("httpVersion"); if (httpVersion === void 0) httpVersion = 1; let http2Options = own2("http2Options"); + const httpAgent = own2("httpAgent"); + const httpsAgent = own2("httpsAgent"); + const configProxy = own2("proxy"); const responseType = own2("responseType"); const responseEncoding = own2("responseEncoding"); - const method = config.method.toUpperCase(); + const socketPath = own2("socketPath"); + const method = own2("method").toUpperCase(); + const maxRedirects = own2("maxRedirects"); + const maxBodyLength = own2("maxBodyLength"); + const maxContentLength = own2("maxContentLength"); + const decompress = own2("decompress"); let isDone; let rejected = false; let req; @@ -33512,7 +34265,6 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { !reason || reason.type ? new CanceledError_default(null, config, req) : reason ); } catch (err) { - console.warn("emit error", err); } } function clearConnectPhaseTimer() { @@ -33522,10 +34274,11 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { } } function createTimeoutError() { - let timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config.transitional || transitional_default; - if (config.timeoutErrorMessage) { - timeoutErrorMessage = config.timeoutErrorMessage; + const configTimeout = own2("timeout"); + let timeoutErrorMessage = configTimeout ? "timeout of " + configTimeout + "ms exceeded" : "timeout exceeded"; + const configTimeoutErrorMessage = own2("timeoutErrorMessage"); + if (configTimeoutErrorMessage) { + timeoutErrorMessage = configTimeoutErrorMessage; } return new AxiosError_default( timeoutErrorMessage, @@ -33569,17 +34322,18 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { onFinished(); } }); - const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); - const parsed = new URL(fullPath, platform_default.hasBrowserEnv ? platform_default.origin : void 0); + const fullPath = buildFullPath(own2("baseURL"), own2("url"), own2("allowAbsoluteUrls"), config); + const urlBase = socketPath ? "http://localhost" : platform_default.hasBrowserEnv ? platform_default.origin : void 0; + const parsed = new URL(fullPath, urlBase); const protocol = parsed.protocol || supportedProtocols[0]; if (protocol === "data:") { - if (config.maxContentLength > -1) { - const dataUrl = String(config.url || fullPath || ""); + if (maxContentLength > -1) { + const dataUrl = String(own2("url") || fullPath || ""); const estimated = estimateDataURLDecodedBytes(dataUrl); - if (estimated > config.maxContentLength) { + if (estimated > maxContentLength) { return reject( new AxiosError_default( - "maxContentLength size of " + config.maxContentLength + " exceeded", + "maxContentLength size of " + maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, config ) @@ -33596,7 +34350,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { }); } try { - convertedData = fromDataURI(config.url, responseType === "blob", { + convertedData = fromDataURI(own2("url"), responseType === "blob", { Blob: config.env && config.env.Blob }); } catch (err) { @@ -33645,7 +34399,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { setFormDataHeaders(headers, data.getHeaders(), own2("formDataHeaderPolicy")); if (!headers.hasContentLength()) { try { - const knownLength = await import_util2.default.promisify(data.getLength).call(data); + const knownLength = await import_util3.default.promisify(data.getLength).call(data); Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); } catch (e) { } @@ -33670,7 +34424,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { ); } headers.setContentLength(data.length, false); - if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { + if (maxBodyLength > -1 && data.length > maxBodyLength) { return reject( new AxiosError_default( "Request body larger than maxBodyLength limit", @@ -33714,11 +34468,11 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { let auth2 = void 0; const configAuth = own2("auth"); if (configAuth) { - const username = configAuth.username || ""; - const password = configAuth.password || ""; + const username = utils_default.getSafeProp(configAuth, "username") || ""; + const password = utils_default.getSafeProp(configAuth, "password") || ""; auth2 = username + ":" + password; } - if (!auth2 && parsed.username) { + if (!auth2 && (parsed.username || parsed.password)) { const urlUsername = decodeURIComponentSafe(parsed.username); const urlPassword = decodeURIComponentSafe(parsed.password); auth2 = urlUsername + ":" + urlPassword; @@ -33728,26 +34482,27 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { try { path = buildURL( parsed.pathname + parsed.search, - config.params, - config.paramsSerializer + own2("params"), + own2("paramsSerializer") ).replace(/^\?/, ""); } catch (err) { - const customErr = new Error(err.message); - customErr.config = config; - customErr.url = config.url; - customErr.exists = true; - return reject(customErr); + return reject( + AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config, null, null, { + url: own2("url"), + exists: true + }) + ); } headers.set( "Accept-Encoding", - "gzip, compress, deflate" + (isBrotliSupported ? ", br" : ""), + utils_default.hasOwnProp(transitional2, "advertiseZstdAcceptEncoding") && transitional2.advertiseZstdAcceptEncoding === true ? ACCEPT_ENCODING_WITH_ZSTD : ACCEPT_ENCODING, false ); const options = Object.assign(/* @__PURE__ */ Object.create(null), { path, method, - headers: headers.toJSON(), - agents: { http: config.httpAgent, https: config.httpsAgent }, + headers: toByteStringHeaderObject(headers), + agents: { http: httpAgent, https: httpsAgent }, auth: auth2, protocol, family, @@ -33756,64 +34511,118 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { http2Options }); !utils_default.isUndefined(lookup) && (options.lookup = lookup); - if (config.socketPath) { - if (typeof config.socketPath !== "string") { + if (socketPath) { + if (typeof socketPath !== "string") { return reject( new AxiosError_default("socketPath must be a string", AxiosError_default.ERR_BAD_OPTION_VALUE, config) ); } - if (config.allowedSocketPaths != null) { - const allowed = Array.isArray(config.allowedSocketPaths) ? config.allowedSocketPaths : [config.allowedSocketPaths]; - const resolvedSocket = (0, import_path.resolve)(config.socketPath); + const allowedSocketPaths = own2("allowedSocketPaths"); + if (allowedSocketPaths != null) { + const allowed = Array.isArray(allowedSocketPaths) ? allowedSocketPaths : [allowedSocketPaths]; + const resolvedSocket = (0, import_path.resolve)(socketPath); const isAllowed = allowed.some( (entry) => typeof entry === "string" && (0, import_path.resolve)(entry) === resolvedSocket ); if (!isAllowed) { return reject( new AxiosError_default( - `socketPath "${config.socketPath}" is not permitted by allowedSocketPaths`, + `socketPath "${socketPath}" is not permitted by allowedSocketPaths`, AxiosError_default.ERR_BAD_OPTION_VALUE, config ) ); } } - options.socketPath = config.socketPath; + options.socketPath = socketPath; } else { options.hostname = parsed.hostname.startsWith("[") ? parsed.hostname.slice(1, -1) : parsed.hostname; options.port = parsed.port; setProxy( options, - config.proxy, - protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path + configProxy, + protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path, + false, + httpsAgent, + httpAgent ); } let transport; let isNativeTransport = false; + let transportEnforcesMaxBodyLength = false; const isHttpsRequest = isHttps.test(options.protocol); - options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; + if (options.agent == null) { + options.agent = isHttpsRequest ? httpsAgent : httpAgent; + } if (isHttp2) { transport = http2Transport; } else { const configTransport = own2("transport"); if (configTransport) { transport = configTransport; - } else if (config.maxRedirects === 0) { + } else if (maxRedirects === 0) { transport = isHttpsRequest ? import_https.default : import_http.default; isNativeTransport = true; } else { - if (config.maxRedirects) { - options.maxRedirects = config.maxRedirects; + transportEnforcesMaxBodyLength = true; + options.sensitiveHeaders = []; + if (maxRedirects) { + options.maxRedirects = maxRedirects; } const configBeforeRedirect = own2("beforeRedirect"); if (configBeforeRedirect) { options.beforeRedirects.config = configBeforeRedirect; } + if (auth2) { + const requestOrigin = parsed.origin; + const authToRestore = auth2; + options.beforeRedirects.auth = function beforeRedirectAuth(redirectOptions) { + try { + if (new URL(redirectOptions.href).origin === requestOrigin) { + redirectOptions.auth = authToRestore; + } + } catch (e) { + } + }; + } + const sensitiveHeaders = own2("sensitiveHeaders"); + if (sensitiveHeaders != null) { + if (!utils_default.isArray(sensitiveHeaders)) { + return reject( + new AxiosError_default( + "sensitiveHeaders must be an array of strings", + AxiosError_default.ERR_BAD_OPTION_VALUE, + config + ) + ); + } + const sensitiveSet = /* @__PURE__ */ new Set(); + for (const header of sensitiveHeaders) { + if (!utils_default.isString(header)) { + return reject( + new AxiosError_default( + "sensitiveHeaders must be an array of strings", + AxiosError_default.ERR_BAD_OPTION_VALUE, + config + ) + ); + } + sensitiveSet.add(header.toLowerCase()); + } + if (sensitiveSet.size) { + options.sensitiveHeaders = Array.from(sensitiveSet); + options.beforeRedirects.sensitiveHeaders = function beforeRedirectSensitiveHeaders(redirectOptions, requestDetails) { + if (!isSameOriginRedirect(redirectOptions, requestDetails)) { + stripMatchingHeaders(redirectOptions.headers, sensitiveSet); + } + }; + } + } transport = isHttpsRequest ? httpsFollow : httpFollow; } } - if (config.maxBodyLength > -1) { - options.maxBodyLength = config.maxBodyLength; + if (maxBodyLength > -1) { + options.maxBodyLength = maxBodyLength; } else { options.maxBodyLength = Infinity; } @@ -33841,7 +34650,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { } let responseStream = res; const lastRequest = res.req || req; - if (config.decompress !== false && res.headers["content-encoding"]) { + if (decompress !== false && res.headers["content-encoding"]) { if (method === "HEAD" || res.statusCode === 204) { delete res.headers["content-encoding"]; } @@ -33864,6 +34673,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { streams.push(import_zlib.default.createBrotliDecompress(brotliOptions)); delete res.headers["content-encoding"]; } + break; + case "zstd": + if (isZstdSupported) { + streams.push(import_zlib.default.createZstdDecompress(zstdOptions)); + delete res.headers["content-encoding"]; + } + break; } } responseStream = streams.length > 1 ? import_stream4.default.pipeline(streams, utils_default.noop) : streams[0]; @@ -33875,8 +34691,8 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { request: lastRequest }; if (responseType === "stream") { - if (config.maxContentLength > -1) { - const limit = config.maxContentLength; + if (maxContentLength > -1) { + const limit = maxContentLength; const source = responseStream; async function* enforceMaxContentLength() { let totalResponseBytes = 0; @@ -33905,12 +34721,12 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { responseStream.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { + if (maxContentLength > -1 && totalResponseBytes > maxContentLength) { rejected = true; responseStream.destroy(); abort( new AxiosError_default( - "maxContentLength size of " + config.maxContentLength + " exceeded", + "maxContentLength size of " + maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, config, lastRequest @@ -33971,7 +34787,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { }); const boundSockets = /* @__PURE__ */ new Set(); req.on("socket", function handleRequestSocket(socket) { - socket.setKeepAlive(true, 1e3 * 60); + if (typeof socket.setKeepAlive === "function") { + socket.setKeepAlive(true, 1e3 * 60); + } if (!socket[kAxiosSocketListener]) { socket.on("error", function handleSocketError(err) { const current = socket[kAxiosCurrentReq]; @@ -33993,8 +34811,8 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { } boundSockets.clear(); }); - if (config.timeout) { - const timeout = parseInt(config.timeout, 10); + if (own2("timeout")) { + const timeout = parseInt(own2("timeout"), 10); if (Number.isNaN(timeout)) { abort( new AxiosError_default( @@ -34033,8 +34851,8 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { } }); let uploadStream = data; - if (config.maxBodyLength > -1 && config.maxRedirects === 0) { - const limit = config.maxBodyLength; + if (maxBodyLength > -1 && !transportEnforcesMaxBodyLength) { + const limit = maxBodyLength; let bytesSent = 0; uploadStream = import_stream4.default.pipeline( [ @@ -34110,7 +34928,11 @@ var cookies_default = platform_default.hasStandardBrowserEnv ? ( const cookie = cookies[i].replace(/^\s+/, ""); const eq = cookie.indexOf("="); if (eq !== -1 && cookie.slice(0, eq) === name) { - return decodeURIComponent(cookie.slice(eq + 1)); + try { + return decodeURIComponent(cookie.slice(eq + 1)); + } catch (e) { + return cookie.slice(eq + 1); + } } } return null; @@ -34135,6 +34957,7 @@ var cookies_default = platform_default.hasStandardBrowserEnv ? ( // node_modules/axios/lib/core/mergeConfig.js var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing; function mergeConfig(config1, config2) { + config1 = config1 || {}; config2 = config2 || {}; const config = /* @__PURE__ */ Object.create(null); Object.defineProperty(config, "hasOwnProperty", { @@ -34175,6 +34998,23 @@ function mergeConfig(config1, config2) { return getMergedValue(void 0, a); } } + function getMergedTransitionalOption(prop) { + const transitional2 = utils_default.hasOwnProp(config2, "transitional") ? config2.transitional : void 0; + if (!utils_default.isUndefined(transitional2)) { + if (utils_default.isPlainObject(transitional2)) { + if (utils_default.hasOwnProp(transitional2, prop)) { + return transitional2[prop]; + } + } else { + return void 0; + } + } + const transitional1 = utils_default.hasOwnProp(config1, "transitional") ? config1.transitional : void 0; + if (utils_default.isPlainObject(transitional1) && utils_default.hasOwnProp(transitional1, prop)) { + return transitional1[prop]; + } + return void 0; + } function mergeDirectKeys(a, b, prop) { if (utils_default.hasOwnProp(config2, prop)) { return getMergedValue(a, b); @@ -34222,6 +35062,13 @@ function mergeConfig(config1, config2) { const configValue = merge3(a, b, prop); utils_default.isUndefined(configValue) && merge3 !== mergeDirectKeys || (config[prop] = configValue); }); + if (utils_default.hasOwnProp(config2, "validateStatus") && utils_default.isUndefined(config2.validateStatus) && getMergedTransitionalOption("validateStatusUndefinedResolves") === false) { + if (utils_default.hasOwnProp(config1, "validateStatus")) { + config.validateStatus = getMergedValue(void 0, config1.validateStatus); + } else { + delete config.validateStatus; + } + } return config; } @@ -34232,7 +35079,7 @@ function setFormDataHeaders2(headers, formHeaders, policy) { headers.set(formHeaders); return; } - Object.entries(formHeaders).forEach(([key, val]) => { + Object.entries(formHeaders || {}).forEach(([key, val]) => { if (FORM_DATA_CONTENT_HEADERS2.includes(key.toLowerCase())) { headers.set(key, val); } @@ -34242,7 +35089,7 @@ var encodeUTF8 = (str) => encodeURIComponent(str).replace( /%([0-9A-F]{2})/gi, (_, hex) => String.fromCharCode(parseInt(hex, 16)) ); -var resolveConfig_default = (config) => { +function resolveConfig(config) { const newConfig = mergeConfig({}, config); const own2 = (key) => utils_default.hasOwnProp(newConfig, key) ? newConfig[key] : void 0; const data = own2("data"); @@ -34256,18 +35103,24 @@ var resolveConfig_default = (config) => { const url2 = own2("url"); newConfig.headers = headers = AxiosHeaders_default.from(headers); newConfig.url = buildURL( - buildFullPath(baseURL, url2, allowAbsoluteUrls), - config.params, - config.paramsSerializer + buildFullPath(baseURL, url2, allowAbsoluteUrls, newConfig), + own2("params"), + own2("paramsSerializer") ); if (auth2) { - headers.set( - "Authorization", - "Basic " + btoa((auth2.username || "") + ":" + (auth2.password ? encodeUTF8(auth2.password) : "")) - ); + const username = utils_default.getSafeProp(auth2, "username") || ""; + const password = utils_default.getSafeProp(auth2, "password") || ""; + try { + headers.set( + "Authorization", + "Basic " + btoa(username + ":" + (password ? encodeUTF8(password) : "")) + ); + } catch (e) { + throw AxiosError_default.from(e, AxiosError_default.ERR_BAD_OPTION_VALUE, config); + } } if (utils_default.isFormData(data)) { - if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) { + if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv || utils_default.isReactNative(data)) { headers.setContentType(void 0); } else if (utils_default.isFunction(data.getHeaders)) { setFormDataHeaders2(headers, data.getHeaders(), own2("formDataHeaderPolicy")); @@ -34286,7 +35139,8 @@ var resolveConfig_default = (config) => { } } return newConfig; -}; +} +var resolveConfig_default = resolveConfig; // node_modules/axios/lib/adapters/xhr.js var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; @@ -34385,7 +35239,7 @@ var xhr_default = isXHRAdapterSupported && function(config) { }; requestData === void 0 && requestHeaders.setContentType(null); if ("setRequestHeader" in request2) { - utils_default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + utils_default.forEach(toByteStringHeaderObject(requestHeaders), function setRequestHeader(val, key) { request2.setRequestHeader(key, val); }); } @@ -34428,6 +35282,7 @@ var xhr_default = isXHRAdapterSupported && function(config) { config ) ); + done(); return; } request2.send(requestData || null); @@ -34436,39 +35291,41 @@ var xhr_default = isXHRAdapterSupported && function(config) { // node_modules/axios/lib/helpers/composeSignals.js var composeSignals = (signals, timeout) => { - const { length } = signals = signals ? signals.filter(Boolean) : []; - if (timeout || length) { - let controller = new AbortController(); - let aborted; - const onabort = function(reason) { - if (!aborted) { - aborted = true; - unsubscribe(); - const err = reason instanceof Error ? reason : this.reason; - controller.abort( - err instanceof AxiosError_default ? err : new CanceledError_default(err instanceof Error ? err.message : err) - ); - } - }; - let timer = timeout && setTimeout(() => { - timer = null; - onabort(new AxiosError_default(`timeout of ${timeout}ms exceeded`, AxiosError_default.ETIMEDOUT)); - }, timeout); - const unsubscribe = () => { - if (signals) { - timer && clearTimeout(timer); - timer = null; - signals.forEach((signal2) => { - signal2.unsubscribe ? signal2.unsubscribe(onabort) : signal2.removeEventListener("abort", onabort); - }); - signals = null; - } - }; - signals.forEach((signal2) => signal2.addEventListener("abort", onabort)); - const { signal } = controller; - signal.unsubscribe = () => utils_default.asap(unsubscribe); - return signal; + signals = signals ? signals.filter(Boolean) : []; + if (!timeout && !signals.length) { + return; } + const controller = new AbortController(); + let aborted = false; + const onabort = function(reason) { + if (!aborted) { + aborted = true; + unsubscribe(); + const err = reason instanceof Error ? reason : this.reason; + controller.abort( + err instanceof AxiosError_default ? err : new CanceledError_default(err instanceof Error ? err.message : err) + ); + } + }; + let timer = timeout && setTimeout(() => { + timer = null; + onabort(new AxiosError_default(`timeout of ${timeout}ms exceeded`, AxiosError_default.ETIMEDOUT)); + }, timeout); + const unsubscribe = () => { + if (!signals) { + return; + } + timer && clearTimeout(timer); + timer = null; + signals.forEach((signal2) => { + signal2.unsubscribe ? signal2.unsubscribe(onabort) : signal2.removeEventListener("abort", onabort); + }); + signals = null; + }; + signals.forEach((signal2) => signal2.addEventListener("abort", onabort, { once: true })); + const { signal } = controller; + signal.unsubscribe = () => utils_default.asap(unsubscribe); + return signal; }; var composeSignals_default = composeSignals; @@ -34555,6 +35412,20 @@ var trackStream = (stream4, chunkSize, onProgress, onFinish) => { // node_modules/axios/lib/adapters/fetch.js var DEFAULT_CHUNK_SIZE = 64 * 1024; var { isFunction: isFunction2 } = utils_default; +var encodeUTF82 = (str) => encodeURIComponent(str).replace( + /%([0-9A-F]{2})/gi, + (_, hex) => String.fromCharCode(parseInt(hex, 16)) +); +var decodeURIComponentSafe2 = (value) => { + if (!utils_default.isString(value)) { + return value; + } + try { + return decodeURIComponent(value); + } catch (error2) { + return value; + } +}; var test = (fn, ...args) => { try { return !!fn(...args); @@ -34562,8 +35433,16 @@ var test = (fn, ...args) => { return false; } }; +var maybeWithAuthCredentials = (url2) => { + const protocolIndex = url2.indexOf("://"); + let urlToCheck = url2; + if (protocolIndex !== -1) { + urlToCheck = urlToCheck.slice(protocolIndex + 3); + } + return urlToCheck.includes("@") || urlToCheck.includes(":"); +}; var factory = (env) => { - const globalObject = utils_default.global ?? globalThis; + const globalObject = utils_default.global !== void 0 && utils_default.global !== null ? utils_default.global : globalThis; const { ReadableStream: ReadableStream2, TextEncoder: TextEncoder2 } = globalObject; env = utils_default.merge.call( { @@ -34666,6 +35545,7 @@ var factory = (env) => { } = resolveConfig_default(config); const hasMaxContentLength = utils_default.isNumber(maxContentLength) && maxContentLength > -1; const hasMaxBodyLength = utils_default.isNumber(maxBodyLength) && maxBodyLength > -1; + const own2 = (key) => utils_default.hasOwnProp(config, key) ? config[key] : void 0; let _fetch = envFetch || fetch; responseType = responseType ? (responseType + "").toLowerCase() : "text"; let composedSignal = composeSignals_default( @@ -34677,7 +35557,47 @@ var factory = (env) => { composedSignal.unsubscribe(); }); let requestContentLength; + let pendingBodyError = null; + const maxBodyLengthError = () => new AxiosError_default( + "Request body larger than maxBodyLength limit", + AxiosError_default.ERR_BAD_REQUEST, + config, + request2 + ); try { + let auth2 = void 0; + const configAuth = own2("auth"); + if (configAuth) { + const username = utils_default.getSafeProp(configAuth, "username") || ""; + const password = utils_default.getSafeProp(configAuth, "password") || ""; + auth2 = { + username, + password + }; + } + if (maybeWithAuthCredentials(url2)) { + const parsedURL = new URL(url2, platform_default.origin); + if (!auth2 && (parsedURL.username || parsedURL.password)) { + const urlUsername = decodeURIComponentSafe2(parsedURL.username); + const urlPassword = decodeURIComponentSafe2(parsedURL.password); + auth2 = { + username: urlUsername, + password: urlPassword + }; + } + if (parsedURL.username || parsedURL.password) { + parsedURL.username = ""; + parsedURL.password = ""; + url2 = parsedURL.href; + } + } + if (auth2) { + headers.delete("authorization"); + headers.set( + "Authorization", + "Basic " + btoa(encodeUTF82((auth2.username || "") + ":" + (auth2.password || ""))) + ); + } if (hasMaxContentLength && typeof url2 === "string" && url2.startsWith("data:")) { const estimated = estimateDataURLDecodedBytes(url2); if (estimated > maxContentLength) { @@ -34690,33 +35610,55 @@ var factory = (env) => { } } if (hasMaxBodyLength && method !== "get" && method !== "head") { - const outboundLength = await resolveBodyLength(headers, data); - if (typeof outboundLength === "number" && isFinite(outboundLength) && outboundLength > maxBodyLength) { - throw new AxiosError_default( - "Request body larger than maxBodyLength limit", - AxiosError_default.ERR_BAD_REQUEST, - config, - request2 - ); + const outboundLength = await getBodyLength(data); + if (typeof outboundLength === "number" && isFinite(outboundLength)) { + requestContentLength = outboundLength; + if (outboundLength > maxBodyLength) { + throw maxBodyLengthError(); + } } } - if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data)) !== 0) { - let _request = new Request(url2, { - method: "POST", - body: data, - duplex: "half" - }); - let contentTypeHeader; - if (utils_default.isFormData(data) && (contentTypeHeader = _request.headers.get("content-type"))) { - headers.setContentType(contentTypeHeader); - } - if (_request.body) { - const [onProgress, flush] = progressEventDecorator( - requestContentLength, - progressEventReducer(asyncDecorator(onUploadProgress)) - ); - data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush); + const mustEnforceStreamBody = hasMaxBodyLength && (utils_default.isReadableStream(data) || utils_default.isStream(data)); + const trackRequestStream = (stream4, onProgress, flush) => trackStream( + stream4, + DEFAULT_CHUNK_SIZE, + (loadedBytes) => { + if (hasMaxBodyLength && loadedBytes > maxBodyLength) { + throw pendingBodyError = maxBodyLengthError(); + } + onProgress && onProgress(loadedBytes); + }, + flush + ); + if (supportsRequestStream && method !== "get" && method !== "head" && (onUploadProgress || mustEnforceStreamBody)) { + requestContentLength = requestContentLength == null ? await resolveBodyLength(headers, data) : requestContentLength; + if (requestContentLength !== 0 || mustEnforceStreamBody) { + let _request = new Request(url2, { + method: "POST", + body: data, + duplex: "half" + }); + let contentTypeHeader; + if (utils_default.isFormData(data) && (contentTypeHeader = _request.headers.get("content-type"))) { + headers.setContentType(contentTypeHeader); + } + if (_request.body) { + const [onProgress, flush] = onUploadProgress && progressEventDecorator( + requestContentLength, + progressEventReducer(asyncDecorator(onUploadProgress)) + ) || []; + data = trackRequestStream(_request.body, onProgress, flush); + } } + } else if (mustEnforceStreamBody && !isRequestSupported && isReadableStreamSupported && method !== "get" && method !== "head") { + data = trackRequestStream(data); + } else if (mustEnforceStreamBody && isRequestSupported && !supportsRequestStream && method !== "get" && method !== "head") { + throw new AxiosError_default( + "Stream request bodies are not supported by the current fetch implementation", + AxiosError_default.ERR_NOT_SUPPORT, + config, + request2 + ); } if (!utils_default.isString(withCredentials)) { withCredentials = withCredentials ? "include" : "omit"; @@ -34733,15 +35675,16 @@ var factory = (env) => { ...fetchOptions, signal: composedSignal, method: method.toUpperCase(), - headers: headers.normalize().toJSON(), + headers: toByteStringHeaderObject(headers.normalize()), body: data, duplex: "half", credentials: isCredentialsSupported ? withCredentials : void 0 }; request2 = isRequestSupported && new Request(url2, resolvedOptions); let response = await (isRequestSupported ? _fetch(request2, fetchOptions) : _fetch(url2, resolvedOptions)); + const responseHeaders = AxiosHeaders_default.from(response.headers); if (hasMaxContentLength) { - const declaredLength = utils_default.toFiniteNumber(response.headers.get("content-length")); + const declaredLength = utils_default.toFiniteNumber(responseHeaders.getContentLength()); if (declaredLength != null && declaredLength > maxContentLength) { throw new AxiosError_default( "maxContentLength size of " + maxContentLength + " exceeded", @@ -34757,7 +35700,7 @@ var factory = (env) => { ["status", "statusText", "headers"].forEach((prop) => { options[prop] = response[prop]; }); - const responseContentLength = utils_default.toFiniteNumber(response.headers.get("content-length")); + const responseContentLength = utils_default.toFiniteNumber(responseHeaders.getContentLength()); const [onProgress, flush] = onDownloadProgress && progressEventDecorator( responseContentLength, progressEventReducer(asyncDecorator(onDownloadProgress), true) @@ -34827,22 +35770,41 @@ var factory = (env) => { const canceledError = composedSignal.reason; canceledError.config = config; request2 && (canceledError.request = request2); - err !== canceledError && (canceledError.cause = err); + if (err !== canceledError) { + Object.defineProperty(canceledError, "cause", { + __proto__: null, + value: err, + writable: true, + enumerable: false, + configurable: true + }); + } throw canceledError; } + if (pendingBodyError) { + request2 && !pendingBodyError.request && (pendingBodyError.request = request2); + throw pendingBodyError; + } + if (err instanceof AxiosError_default) { + request2 && !err.request && (err.request = request2); + throw err; + } if (err && err.name === "TypeError" && /Load failed|fetch/i.test(err.message)) { - throw Object.assign( - new AxiosError_default( - "Network Error", - AxiosError_default.ERR_NETWORK, - config, - request2, - err && err.response - ), - { - cause: err.cause || err - } + const networkError = new AxiosError_default( + "Network Error", + AxiosError_default.ERR_NETWORK, + config, + request2, + err && err.response ); + Object.defineProperty(networkError, "cause", { + __proto__: null, + value: err.cause || err, + writable: true, + enumerable: false, + configurable: true + }); + throw networkError; } throw AxiosError_default.from(err, err && err.code, config, request2, err && err.response); } @@ -34911,7 +35873,7 @@ function getAdapter(adapters, config) { let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified"; throw new AxiosError_default( `There is no suitable adapter to dispatch the request ` + s, - "ERR_NOT_SUPPORT" + AxiosError_default.ERR_NOT_SUPPORT ); } return adapter2; @@ -35018,7 +35980,7 @@ validators.spelling = function spelling(correctSpelling) { }; }; function assertOptions(options, schema, allowUnknown) { - if (typeof options !== "object") { + if (typeof options !== "object" || options === null) { throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); @@ -35112,7 +36074,9 @@ var Axios = class { silentJSONParsing: validators2.transitional(validators2.boolean), forcedJSONParsing: validators2.transitional(validators2.boolean), clarifyTimeoutError: validators2.transitional(validators2.boolean), - legacyInterceptorReqResOrdering: validators2.transitional(validators2.boolean) + legacyInterceptorReqResOrdering: validators2.transitional(validators2.boolean), + advertiseZstdAcceptEncoding: validators2.transitional(validators2.boolean), + validateStatusUndefinedResolves: validators2.transitional(validators2.boolean) }, false ); @@ -35212,7 +36176,7 @@ var Axios = class { } getUri(config) { config = mergeConfig(this.defaults, config); - const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls, config); return buildURL(fullPath, config.params, config.paramsSerializer); } }; @@ -35222,7 +36186,7 @@ utils_default.forEach(["delete", "get", "head", "options"], function forEachMeth mergeConfig(config || {}, { method, url: url2, - data: (config || {}).data + data: config && utils_default.hasOwnProp(config, "data") ? config.data : void 0 }) ); }; diff --git a/package-lock.json b/package-lock.json index a3075a9..7e69f14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1158,6 +1158,19 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/ajv": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", @@ -1183,14 +1196,15 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz", - "integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.18.1.tgz", + "integrity": "sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==", "dev": true, "license": "MIT", "dependencies": { "follow-redirects": "^1.16.0", "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", "proxy-from-env": "^2.1.0" } }, @@ -1208,9 +1222,9 @@ "license": "Apache-2.0" }, "node_modules/brace-expansion": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", - "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.2.tgz", + "integrity": "sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==", "dev": true, "license": "MIT", "dependencies": { @@ -1847,6 +1861,20 @@ "node": ">= 0.4" } }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -2018,16 +2046,16 @@ } }, "node_modules/minimatch/node_modules/brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.8.tgz", + "integrity": "sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==", "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" }, "engines": { - "node": "18 || 20 || >=22" + "node": "20 || >=22" } }, "node_modules/ms": {