@gooddata/code-cli 0.57.0-alpha.3 → 0.57.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/NOTICE +437 -343
  2. package/dist/index.js +661 -221
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -37370,7 +37370,7 @@ function isPromise(value) {
37370
37370
  //#endregion
37371
37371
  //#region package.json
37372
37372
  var name$1 = "@gooddata/code-cli";
37373
- var version$1 = "0.57.0-alpha.3";
37373
+ var version$1 = "0.57.0-alpha.5";
37374
37374
  //#endregion
37375
37375
  //#region ../../../common/temp/aac/node_modules/.pnpm/vscode-languageserver@8.1.0/node_modules/vscode-languageserver/lib/common/utils/is.js
37376
37376
  var require_is$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
@@ -80144,7 +80144,7 @@ var require_src$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
80144
80144
  else module.exports = require_node$1();
80145
80145
  }));
80146
80146
  //#endregion
80147
- //#region ../../../common/temp/aac/node_modules/.pnpm/follow-redirects@1.16.0_debug@4.4.3/node_modules/follow-redirects/debug.js
80147
+ //#region ../../../common/temp/aac/node_modules/.pnpm/follow-redirects@1.16.1_debug@4.4.3/node_modules/follow-redirects/debug.js
80148
80148
  var require_debug$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
80149
80149
  var debug;
80150
80150
  module.exports = function() {
@@ -80158,7 +80158,7 @@ var require_debug$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
80158
80158
  };
80159
80159
  }));
80160
80160
  //#endregion
80161
- //#region ../../../common/temp/aac/node_modules/.pnpm/follow-redirects@1.16.0_debug@4.4.3/node_modules/follow-redirects/index.js
80161
+ //#region ../../../common/temp/aac/node_modules/.pnpm/follow-redirects@1.16.1_debug@4.4.3/node_modules/follow-redirects/index.js
80162
80162
  var require_follow_redirects$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
80163
80163
  var url$4 = __require("url");
80164
80164
  var URL = url$4.URL;
@@ -80362,6 +80362,11 @@ var require_follow_redirects$1 = /* @__PURE__ */ __commonJSMin(((exports, module
80362
80362
  });
80363
80363
  RedirectableRequest.prototype._sanitizeOptions = function(options) {
80364
80364
  if (!options.headers) options.headers = {};
80365
+ else if (Array.isArray(options.headers)) {
80366
+ var headerList = options.headers;
80367
+ options.headers = {};
80368
+ for (var i = 0; i < headerList.length; i += 2) options.headers[headerList[i]] = headerList[i + 1];
80369
+ }
80365
80370
  if (!isArray(options.sensitiveHeaders)) options.sensitiveHeaders = [];
80366
80371
  if (options.host) {
80367
80372
  if (!options.hostname) options.hostname = options.host;
@@ -80594,7 +80599,7 @@ var require_follow_redirects$1 = /* @__PURE__ */ __commonJSMin(((exports, module
80594
80599
  return URL && value instanceof URL;
80595
80600
  }
80596
80601
  function escapeRegex(regex) {
80597
- return regex.replace(/[\]\\/()*+?.$]/g, "\\$&");
80602
+ return regex.replace(/[[\]\\/()*+?.^$|]/g, "\\$&");
80598
80603
  }
80599
80604
  module.exports = wrap({
80600
80605
  http: http$6,
@@ -99715,18 +99720,34 @@ var require_data = /* @__PURE__ */ __commonJSMin(((exports, module) => {
99715
99720
  };
99716
99721
  }));
99717
99722
  //#endregion
99718
- //#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.4/node_modules/fast-uri/lib/utils.js
99723
+ //#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.8/node_modules/fast-uri/lib/utils.js
99719
99724
  var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
99720
99725
  /** @type {(value: string) => boolean} */
99721
99726
  const isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
99722
99727
  /** @type {(value: string) => boolean} */
99723
99728
  const isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
99724
99729
  /** @type {(value: string) => boolean} */
99730
+ const isPort = RegExp.prototype.test.bind(/^\d*$/u);
99731
+ /** @type {(value: string) => boolean} */
99725
99732
  const isHexPair = RegExp.prototype.test.bind(/^[\da-f]{2}$/iu);
99726
99733
  /** @type {(value: string) => boolean} */
99727
99734
  const isUnreserved = RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu);
99728
99735
  /** @type {(value: string) => boolean} */
99729
- const isPathCharacter = RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);
99736
+ const isPathCharacter = RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/]$/u);
99737
+ /** @type {(value: string) => boolean} */
99738
+ const isQueryFragmentCharacter = RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/?]$/u);
99739
+ /** @type {(value: string) => boolean} */
99740
+ const isUserinfoCharacter = RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:]$/u);
99741
+ const BYTE_HEX = new Array(256);
99742
+ {
99743
+ const HEX_DIGITS = "0123456789ABCDEF";
99744
+ for (let i = 0; i < 256; i++) BYTE_HEX[i] = "%" + HEX_DIGITS[i >> 4] + HEX_DIGITS[i & 15];
99745
+ }
99746
+ function percentEncodeNonAscii(cp) {
99747
+ if (cp < 2048) return BYTE_HEX[192 | cp >> 6] + BYTE_HEX[128 | cp & 63];
99748
+ if (cp < 65536) return BYTE_HEX[224 | cp >> 12] + BYTE_HEX[128 | cp >> 6 & 63] + BYTE_HEX[128 | cp & 63];
99749
+ return BYTE_HEX[240 | cp >> 18] + BYTE_HEX[128 | cp >> 12 & 63] + BYTE_HEX[128 | cp >> 6 & 63] + BYTE_HEX[128 | cp & 63];
99750
+ }
99730
99751
  /**
99731
99752
  * @param {Array<string>} input
99732
99753
  * @returns {string}
@@ -99749,119 +99770,162 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
99749
99770
  }
99750
99771
  return acc;
99751
99772
  }
99752
- /**
99753
- * @typedef {Object} GetIPV6Result
99754
- * @property {boolean} error - Indicates if there was an error parsing the IPv6 address.
99755
- * @property {string} address - The parsed IPv6 address.
99756
- * @property {string} [zone] - The zone identifier, if present.
99757
- */
99773
+ /** @type {(value: string) => boolean} */
99774
+ const isHextet = RegExp.prototype.test.bind(/^[\dA-Fa-f]{1,4}$/);
99775
+ /** @type {(value: string) => boolean} */
99776
+ const isIPvFuture = RegExp.prototype.test.bind(/^[vV][\dA-Fa-f]+\.[A-Za-z\d\-._~!$&'()*+,;=:]+$/);
99777
+ /** @type {(value: string) => boolean} */
99778
+ const isZoneCharacter = RegExp.prototype.test.bind(/^[A-Za-z\d\-._~]$/);
99758
99779
  /**
99759
99780
  * @param {string} value
99760
99781
  * @returns {boolean}
99761
99782
  */
99762
99783
  const nonSimpleDomain = RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);
99763
99784
  /**
99764
- * @param {Array<string>} buffer
99785
+ * @param {string} zone
99765
99786
  * @returns {boolean}
99766
99787
  */
99767
- function consumeIsZone(buffer) {
99768
- buffer.length = 0;
99788
+ function isZoneIdentifier(zone) {
99789
+ if (zone.length === 0) return false;
99790
+ for (let i = 0; i < zone.length; i++) {
99791
+ if (isZoneCharacter(zone[i])) continue;
99792
+ if (zone[i] === "%" && i + 2 < zone.length && isHexPair(zone.slice(i + 1, i + 3))) {
99793
+ i += 2;
99794
+ continue;
99795
+ }
99796
+ return false;
99797
+ }
99769
99798
  return true;
99770
99799
  }
99771
99800
  /**
99772
- * @param {Array<string>} buffer
99773
- * @param {Array<string>} address
99774
- * @param {GetIPV6Result} output
99775
- * @returns {boolean}
99801
+ * Compresses the longest run of zero hextets to "::" per RFC 5952. A run of a
99802
+ * single zero hextet is left uncompressed. On ties the leftmost run wins.
99803
+ *
99804
+ * @param {string[]} hextets
99805
+ * @returns {string}
99776
99806
  */
99777
- function consumeHextets(buffer, address, output) {
99778
- if (buffer.length) {
99779
- const hex = stringArrayToHexStripped(buffer);
99780
- if (hex !== "") address.push(hex);
99781
- else {
99782
- output.error = true;
99783
- return false;
99807
+ function compressIPv6ZeroRun(hextets) {
99808
+ let bestStart = -1;
99809
+ let bestLength = 0;
99810
+ let runStart = -1;
99811
+ let runLength = 0;
99812
+ for (let i = 0; i < hextets.length; i++) if (hextets[i] === "0") {
99813
+ if (runStart === -1) runStart = i;
99814
+ runLength++;
99815
+ if (runLength > bestLength) {
99816
+ bestLength = runLength;
99817
+ bestStart = runStart;
99784
99818
  }
99785
- buffer.length = 0;
99819
+ } else {
99820
+ runStart = -1;
99821
+ runLength = 0;
99786
99822
  }
99787
- return true;
99823
+ if (bestLength < 2) return hextets.join(":");
99824
+ const head = hextets.slice(0, bestStart).join(":");
99825
+ const tail = hextets.slice(bestStart + bestLength).join(":");
99826
+ return head + "::" + tail;
99788
99827
  }
99789
99828
  /**
99829
+ * Validates an IPv6 address against the alternatives in RFC 3986 section
99830
+ * 3.2.2 and returns the same address with leading hextet zeroes removed.
99831
+ * An embedded IPv4 address counts as two hextets and is only valid at the end.
99832
+ *
99790
99833
  * @param {string} input
99791
- * @returns {GetIPV6Result}
99834
+ * @returns {string|undefined}
99792
99835
  */
99793
- function getIPV6(input) {
99794
- let tokenCount = 0;
99795
- const output = {
99796
- error: false,
99797
- address: "",
99798
- zone: ""
99799
- };
99800
- /** @type {Array<string>} */
99801
- const address = [];
99802
- /** @type {Array<string>} */
99803
- const buffer = [];
99804
- let endipv6Encountered = false;
99805
- let endIpv6 = false;
99806
- let consume = consumeHextets;
99807
- for (let i = 0; i < input.length; i++) {
99808
- const cursor = input[i];
99809
- if (cursor === "[" || cursor === "]") continue;
99810
- if (cursor === ":") {
99811
- if (endipv6Encountered === true) endIpv6 = true;
99812
- if (!consume(buffer, address, output)) break;
99813
- if (++tokenCount > 7) {
99814
- output.error = true;
99815
- break;
99816
- }
99817
- if (i > 0 && input[i - 1] === ":") endipv6Encountered = true;
99818
- address.push(":");
99819
- continue;
99820
- } else if (cursor === "%") {
99821
- if (!consume(buffer, address, output)) break;
99822
- consume = consumeIsZone;
99823
- } else {
99824
- buffer.push(cursor);
99836
+ function normalizeIPv6Address(input) {
99837
+ const compression = input.indexOf("::");
99838
+ if (compression !== -1 && input.indexOf("::", compression + 1) !== -1) return void 0;
99839
+ const left = compression === -1 ? input.split(":") : input.slice(0, compression).split(":");
99840
+ const right = compression === -1 ? [] : input.slice(compression + 2).split(":");
99841
+ if (compression !== -1) {
99842
+ if (left.length === 1 && left[0] === "") left.length = 0;
99843
+ if (right.length === 1 && right[0] === "") right.length = 0;
99844
+ }
99845
+ const parts = left.concat(right);
99846
+ let hextetCount = 0;
99847
+ for (let i = 0; i < parts.length; i++) {
99848
+ const part = parts[i];
99849
+ if (part === "") return void 0;
99850
+ if (part.indexOf(".") !== -1) {
99851
+ if (i !== parts.length - 1 || compression !== -1 && right.length === 0 || !isIPv4(part)) return void 0;
99852
+ hextetCount += 2;
99825
99853
  continue;
99826
99854
  }
99855
+ if (!isHextet(part)) return void 0;
99856
+ parts[i] = parseInt(part, 16).toString(16);
99857
+ hextetCount++;
99827
99858
  }
99828
- if (buffer.length) if (consume === consumeIsZone) output.zone = buffer.join("");
99829
- else if (endIpv6) address.push(buffer.join(""));
99830
- else address.push(stringArrayToHexStripped(buffer));
99831
- output.address = address.join("");
99832
- return output;
99859
+ if (compression === -1) {
99860
+ if (hextetCount !== 8) return void 0;
99861
+ return compressIPv6ZeroRun(parts);
99862
+ }
99863
+ if (hextetCount >= 8) return void 0;
99864
+ const expanded = parts.slice(0, left.length);
99865
+ for (let i = hextetCount; i < 8; i++) expanded.push("0");
99866
+ for (let i = left.length; i < parts.length; i++) expanded.push(parts[i]);
99867
+ return compressIPv6ZeroRun(expanded);
99833
99868
  }
99834
99869
  /**
99835
99870
  * @typedef {Object} NormalizeIPv6Result
99836
99871
  * @property {string} host - The normalized host.
99837
99872
  * @property {string} [escapedHost] - The escaped host.
99838
99873
  * @property {boolean} isIPV6 - Indicates if the host is an IPv6 address.
99874
+ * @property {boolean} [isIPVFuture] - Indicates if the host is an IPvFuture literal.
99875
+ * @property {boolean} [error] - Indicates if a bracketed IP literal is malformed.
99839
99876
  */
99840
99877
  /**
99878
+ * Validates and normalizes a bracketed IP literal. Raw zone separators remain
99879
+ * accepted for backwards compatibility, while encoded separators and zone
99880
+ * contents follow RFC 6874.
99881
+ *
99841
99882
  * @param {string} host
99842
99883
  * @returns {NormalizeIPv6Result}
99843
99884
  */
99844
99885
  function normalizeIPv6(host) {
99845
- if (findToken(host, ":") < 2) return {
99886
+ const bracketed = host[0] === "[" && host[host.length - 1] === "]";
99887
+ if ((host[0] === "[" || host[host.length - 1] === "]") && !bracketed) return {
99846
99888
  host,
99847
- isIPV6: false
99889
+ isIPV6: false,
99890
+ error: true
99848
99891
  };
99849
- const ipv6 = getIPV6(host);
99850
- if (!ipv6.error) {
99851
- let newHost = ipv6.address;
99852
- let escapedHost = ipv6.address;
99853
- if (ipv6.zone) {
99854
- newHost += "%" + ipv6.zone;
99855
- escapedHost += "%25" + ipv6.zone;
99856
- }
99892
+ let input = bracketed ? host.slice(1, -1) : host;
99893
+ if (bracketed && isIPvFuture(input)) {
99894
+ input = input.toLowerCase();
99857
99895
  return {
99858
- host: newHost,
99859
- isIPV6: true,
99860
- escapedHost
99896
+ host: `[${input}]`,
99897
+ escapedHost: input,
99898
+ isIPV6: false,
99899
+ isIPVFuture: true
99861
99900
  };
99862
- } else return {
99901
+ }
99902
+ if (findToken(input, ":") < 2) return {
99863
99903
  host,
99864
- isIPV6: false
99904
+ isIPV6: false,
99905
+ error: bracketed
99906
+ };
99907
+ let zoneIdentifier = "";
99908
+ const zoneSeparator = input.indexOf("%");
99909
+ if (zoneSeparator !== -1) {
99910
+ const separatorLength = input.slice(zoneSeparator, zoneSeparator + 3).toLowerCase() === "%25" ? 3 : 1;
99911
+ zoneIdentifier = input.slice(zoneSeparator + separatorLength);
99912
+ if (!isZoneIdentifier(zoneIdentifier)) return {
99913
+ host,
99914
+ isIPV6: false,
99915
+ error: true
99916
+ };
99917
+ input = input.slice(0, zoneSeparator);
99918
+ }
99919
+ const address = normalizeIPv6Address(input);
99920
+ if (address === void 0) return {
99921
+ host,
99922
+ isIPV6: false,
99923
+ error: true
99924
+ };
99925
+ return {
99926
+ host: address + (zoneIdentifier ? "%" + zoneIdentifier : ""),
99927
+ escapedHost: address + (zoneIdentifier ? "%25" + zoneIdentifier : ""),
99928
+ isIPV6: true
99865
99929
  };
99866
99930
  }
99867
99931
  /**
@@ -99974,7 +100038,7 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
99974
100038
  }
99975
100039
  /**
99976
100040
  * Normalizes percent escapes and optionally decodes only unreserved ASCII bytes.
99977
- * Reserved delimiters such as `%2F` and `%2E` stay escaped.
100041
+ * Reserved delimiters such as `%2F` stay escaped; `%2E` is unreserved.
99978
100042
  *
99979
100043
  * @param {string} input
99980
100044
  * @param {boolean} [decodeUnreserved=false]
@@ -100010,7 +100074,8 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100010
100074
  function normalizePathEncoding(input) {
100011
100075
  let output = "";
100012
100076
  for (let i = 0; i < input.length; i++) {
100013
- if (input[i] === "%" && i + 2 < input.length) {
100077
+ const ch = input[i];
100078
+ if (ch === "%" && i + 2 < input.length) {
100014
100079
  const hex = input.slice(i + 1, i + 3);
100015
100080
  if (isHexPair(hex)) {
100016
100081
  const normalizedHex = hex.toUpperCase();
@@ -100021,8 +100086,168 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100021
100086
  continue;
100022
100087
  }
100023
100088
  }
100024
- if (isPathCharacter(input[i])) output += input[i];
100025
- else output += escape(input[i]);
100089
+ if (isPathCharacter(ch)) output += ch;
100090
+ else {
100091
+ const code = input.charCodeAt(i);
100092
+ if (code < 128) output += isEscapeSafe(code) ? ch : BYTE_HEX[code];
100093
+ else if (code < 55296 || code > 57343) output += percentEncodeNonAscii(code);
100094
+ else if (code <= 56319 && i + 1 < input.length) {
100095
+ const low = input.charCodeAt(i + 1);
100096
+ if (low >= 56320 && low <= 57343) {
100097
+ output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
100098
+ i++;
100099
+ } else output += percentEncodeNonAscii(65533);
100100
+ } else output += percentEncodeNonAscii(65533);
100101
+ }
100102
+ }
100103
+ return output;
100104
+ }
100105
+ /**
100106
+ * Serializes a path without rewriting reserved data. Raw RFC 3986 path
100107
+ * characters remain literal, valid escapes are preserved and uppercased, and
100108
+ * everything else is UTF-8 percent-encoded. In a path-noscheme, a colon in the
100109
+ * first segment must be escaped so the result cannot be parsed as a scheme.
100110
+ *
100111
+ * @param {string} input
100112
+ * @param {boolean} [pathNoScheme=false]
100113
+ * @returns {string}
100114
+ */
100115
+ function serializePathEncoding(input, pathNoScheme = false) {
100116
+ let output = "";
100117
+ let firstSegment = pathNoScheme && input[0] !== "/";
100118
+ for (let i = 0; i < input.length; i++) {
100119
+ const ch = input[i];
100120
+ if (ch === "%" && i + 2 < input.length) {
100121
+ const hex = input.slice(i + 1, i + 3);
100122
+ if (isHexPair(hex)) {
100123
+ output += "%" + hex.toUpperCase();
100124
+ i += 2;
100125
+ continue;
100126
+ }
100127
+ }
100128
+ if (ch === "/") firstSegment = false;
100129
+ if (isPathCharacter(ch) && (ch !== ":" || !firstSegment)) output += ch;
100130
+ else {
100131
+ const code = input.charCodeAt(i);
100132
+ if (code < 128) output += BYTE_HEX[code];
100133
+ else if (code < 55296 || code > 57343) output += percentEncodeNonAscii(code);
100134
+ else if (code <= 56319 && i + 1 < input.length) {
100135
+ const low = input.charCodeAt(i + 1);
100136
+ if (low >= 56320 && low <= 57343) {
100137
+ output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
100138
+ i++;
100139
+ } else output += percentEncodeNonAscii(65533);
100140
+ } else output += percentEncodeNonAscii(65533);
100141
+ }
100142
+ }
100143
+ return output;
100144
+ }
100145
+ /**
100146
+ * Percent-encodes a URI component using its RFC 3986 literal character set.
100147
+ * Existing valid escapes are preserved and normalized to uppercase hex.
100148
+ *
100149
+ * @param {string} input
100150
+ * @param {(value: string) => boolean} isAllowed
100151
+ * @returns {string}
100152
+ */
100153
+ function encodeComponent(input, isAllowed) {
100154
+ let output = "";
100155
+ for (let i = 0; i < input.length; i++) {
100156
+ const ch = input[i];
100157
+ if (ch === "%" && i + 2 < input.length) {
100158
+ const hex = input.slice(i + 1, i + 3);
100159
+ if (isHexPair(hex)) {
100160
+ output += "%" + hex.toUpperCase();
100161
+ i += 2;
100162
+ continue;
100163
+ }
100164
+ }
100165
+ if (isAllowed(ch)) output += ch;
100166
+ else {
100167
+ const code = input.charCodeAt(i);
100168
+ if (code < 128) output += BYTE_HEX[code];
100169
+ else if (code < 55296 || code > 57343) output += percentEncodeNonAscii(code);
100170
+ else if (code <= 56319 && i + 1 < input.length) {
100171
+ const low = input.charCodeAt(i + 1);
100172
+ if (low >= 56320 && low <= 57343) {
100173
+ output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
100174
+ i++;
100175
+ } else output += percentEncodeNonAscii(65533);
100176
+ } else output += percentEncodeNonAscii(65533);
100177
+ }
100178
+ }
100179
+ return output;
100180
+ }
100181
+ /**
100182
+ * Encodes userinfo while preserving its RFC 3986 §3.2.1 literal characters.
100183
+ * In particular, authority delimiters such as `@`, `/`, `?`, and `#` are data.
100184
+ *
100185
+ * @param {string} input
100186
+ * @returns {string}
100187
+ */
100188
+ function encodeUserinfo(input) {
100189
+ return encodeComponent(input, isUserinfoCharacter);
100190
+ }
100191
+ /**
100192
+ * Encodes query data using the RFC 3986 §3.4 grammar. A literal `#` must be
100193
+ * escaped because it would otherwise begin the fragment component.
100194
+ *
100195
+ * @param {string} input
100196
+ * @returns {string}
100197
+ */
100198
+ function encodeQuery(input) {
100199
+ return encodeComponent(input, isQueryFragmentCharacter);
100200
+ }
100201
+ /**
100202
+ * Encodes fragment data using the RFC 3986 §3.5 grammar.
100203
+ *
100204
+ * @param {string} input
100205
+ * @returns {string}
100206
+ */
100207
+ function encodeFragment(input) {
100208
+ return encodeComponent(input, isQueryFragmentCharacter);
100209
+ }
100210
+ function isEscapeSafe(cp) {
100211
+ return cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 42 || cp === 43 || cp === 45 || cp === 46 || cp === 47 || cp === 64 || cp === 95;
100212
+ }
100213
+ /**
100214
+ * Normalizes the percent-encoding of a query or fragment component.
100215
+ *
100216
+ * Like `normalizePathEncoding`, but uses the query/fragment character set
100217
+ * (which additionally allows `?`) and decodes `.` since it has no dot-segment
100218
+ * meaning outside of a path.
100219
+ *
100220
+ * @param {string} input
100221
+ * @returns {string}
100222
+ */
100223
+ function normalizeQueryFragmentEncoding(input) {
100224
+ let output = "";
100225
+ for (let i = 0; i < input.length; i++) {
100226
+ const ch = input[i];
100227
+ if (ch === "%" && i + 2 < input.length) {
100228
+ const hex = input.slice(i + 1, i + 3);
100229
+ if (isHexPair(hex)) {
100230
+ const normalizedHex = hex.toUpperCase();
100231
+ const decoded = String.fromCharCode(parseInt(normalizedHex, 16));
100232
+ if (isUnreserved(decoded)) output += decoded;
100233
+ else output += "%" + normalizedHex;
100234
+ i += 2;
100235
+ continue;
100236
+ }
100237
+ }
100238
+ if (isQueryFragmentCharacter(ch)) output += ch;
100239
+ else {
100240
+ const code = input.charCodeAt(i);
100241
+ if (code < 128) output += isEscapeSafe(code) ? ch : BYTE_HEX[code];
100242
+ else if (code < 55296 || code > 57343) output += percentEncodeNonAscii(code);
100243
+ else if (code <= 56319 && i + 1 < input.length) {
100244
+ const low = input.charCodeAt(i + 1);
100245
+ if (low >= 56320 && low <= 57343) {
100246
+ output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
100247
+ i++;
100248
+ } else output += percentEncodeNonAscii(65533);
100249
+ } else output += percentEncodeNonAscii(65533);
100250
+ }
100026
100251
  }
100027
100252
  return output;
100028
100253
  }
@@ -100054,21 +100279,27 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100054
100279
  function recomposeAuthority(component) {
100055
100280
  const uriTokens = [];
100056
100281
  if (component.userinfo !== void 0) {
100057
- uriTokens.push(component.userinfo);
100282
+ uriTokens.push(encodeUserinfo(component.userinfo));
100058
100283
  uriTokens.push("@");
100059
100284
  }
100060
100285
  if (component.host !== void 0) {
100061
- let host = unescape(component.host);
100286
+ let host = component.host;
100062
100287
  if (!isIPv4(host)) {
100063
- const ipV6res = normalizeIPv6(host);
100064
- if (ipV6res.isIPV6 === true) host = `[${ipV6res.escapedHost}]`;
100288
+ let ipV6res = normalizeIPv6(host);
100289
+ if (ipV6res.isIPV6 !== true && ipV6res.isIPVFuture !== true) {
100290
+ host = normalizePercentEncoding(host, true);
100291
+ ipV6res = normalizeIPv6(host);
100292
+ }
100293
+ if (ipV6res.isIPV6 === true || ipV6res.isIPVFuture === true) host = `[${ipV6res.escapedHost}]`;
100065
100294
  else host = reescapeHostDelimiters(host, false);
100066
100295
  }
100067
100296
  uriTokens.push(host);
100068
100297
  }
100069
100298
  if (typeof component.port === "number" || typeof component.port === "string") {
100299
+ const port = String(component.port);
100300
+ if (!isPort(port)) throw new TypeError("URI port is malformed.");
100070
100301
  uriTokens.push(":");
100071
- uriTokens.push(String(component.port));
100302
+ uriTokens.push(port);
100072
100303
  }
100073
100304
  return uriTokens.length ? uriTokens.join("") : void 0;
100074
100305
  }
@@ -100078,6 +100309,11 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100078
100309
  reescapeHostDelimiters,
100079
100310
  normalizePercentEncoding,
100080
100311
  normalizePathEncoding,
100312
+ serializePathEncoding,
100313
+ normalizeQueryFragmentEncoding,
100314
+ encodeUserinfo,
100315
+ encodeQuery,
100316
+ encodeFragment,
100081
100317
  escapePreservingEscapes,
100082
100318
  removeDotSegments,
100083
100319
  isIPv4,
@@ -100087,10 +100323,10 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100087
100323
  };
100088
100324
  }));
100089
100325
  //#endregion
100090
- //#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.4/node_modules/fast-uri/lib/schemes.js
100326
+ //#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.8/node_modules/fast-uri/lib/schemes.js
100091
100327
  var require_schemes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100092
100328
  const { isUUID } = require_utils();
100093
- const URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
100329
+ const URN_REG = /^([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-./:;=@]|%[\da-f]{2})+)$/iu;
100094
100330
  const supportedSchemeNames = [
100095
100331
  "http",
100096
100332
  "https",
@@ -100161,9 +100397,10 @@ var require_schemes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100161
100397
  wsComponent.secure = void 0;
100162
100398
  }
100163
100399
  if (wsComponent.resourceName) {
100164
- const [path, query] = wsComponent.resourceName.split("?");
100400
+ const queryIndex = wsComponent.resourceName.indexOf("?");
100401
+ const path = queryIndex === -1 ? wsComponent.resourceName : wsComponent.resourceName.slice(0, queryIndex);
100165
100402
  wsComponent.path = path && path !== "/" ? path : void 0;
100166
- wsComponent.query = query;
100403
+ wsComponent.query = queryIndex === -1 ? void 0 : wsComponent.resourceName.slice(queryIndex + 1);
100167
100404
  wsComponent.resourceName = void 0;
100168
100405
  }
100169
100406
  wsComponent.fragment = void 0;
@@ -100176,7 +100413,7 @@ var require_schemes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100176
100413
  return urnComponent;
100177
100414
  }
100178
100415
  const matches = urnComponent.path.match(URN_REG);
100179
- if (matches) {
100416
+ if (matches && matches[0] === urnComponent.path) {
100180
100417
  const scheme = options.scheme || urnComponent.scheme || "urn";
100181
100418
  urnComponent.nid = matches[1].toLowerCase();
100182
100419
  urnComponent.nss = matches[2];
@@ -100270,10 +100507,21 @@ var require_schemes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100270
100507
  };
100271
100508
  }));
100272
100509
  //#endregion
100273
- //#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.4/node_modules/fast-uri/index.js
100510
+ //#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.8/node_modules/fast-uri/index.js
100274
100511
  var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100275
- const { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = require_utils();
100512
+ const { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, serializePathEncoding, normalizeQueryFragmentEncoding, encodeQuery, encodeFragment, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = require_utils();
100276
100513
  const { SCHEMES, getSchemeHandler } = require_schemes();
100514
+ const VALID_SCHEME = /^[A-Za-z][A-Za-z0-9+.-]*$/u;
100515
+ const MALFORMED_SCHEME_ERROR = "URI scheme is malformed.";
100516
+ /**
100517
+ * @param {string} scheme
100518
+ * @returns {string}
100519
+ */
100520
+ function decodeValidScheme(scheme) {
100521
+ const decodedScheme = unescape(String(scheme));
100522
+ if (!VALID_SCHEME.test(decodedScheme)) throw new TypeError(MALFORMED_SCHEME_ERROR);
100523
+ return decodedScheme;
100524
+ }
100277
100525
  /**
100278
100526
  * @template {import('./types/index').URIComponent|string} T
100279
100527
  * @param {T} uri
@@ -100293,7 +100541,16 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100293
100541
  */
100294
100542
  function resolve(baseURI, relativeURI, options) {
100295
100543
  const schemelessOptions = options ? Object.assign({ scheme: "null" }, options) : { scheme: "null" };
100296
- const resolved = resolveComponent(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
100544
+ const { parsed: baseParsed, malformedAuthorityOrPort: baseMalformed, malformedPercentEncoding: baseMalformedPercentEncoding, malformedSchemeSpecific: baseMalformedSchemeSpecific, malformedHost: baseMalformedHost, malformedScheme: baseMalformedScheme } = parseWithStatus(baseURI, schemelessOptions);
100545
+ const { parsed: relativeParsed, malformedAuthorityOrPort: relativeMalformed, malformedPercentEncoding: relativeMalformedPercentEncoding, malformedSchemeSpecific: relativeMalformedSchemeSpecific, malformedHost: relativeMalformedHost, malformedScheme: relativeMalformedScheme } = parseWithStatus(relativeURI, schemelessOptions);
100546
+ if (baseMalformed || relativeMalformed || baseMalformedPercentEncoding || relativeMalformedPercentEncoding || baseMalformedSchemeSpecific || relativeMalformedSchemeSpecific || baseMalformedHost || relativeMalformedHost || baseMalformedScheme || relativeMalformedScheme) throw new Error(baseParsed.error || relativeParsed.error || "URI is malformed.");
100547
+ const resolved = resolveComponent(baseParsed, relativeParsed, schemelessOptions, true);
100548
+ const resolvedSchemeHandler = getSchemeHandler(options && options.scheme || resolved.scheme);
100549
+ const resolvedHost = resolved.host;
100550
+ const resolvedHostIsIP = resolvedHost !== void 0 && resolvedHost !== "" && (isIPv4(resolvedHost) || normalizeIPv6(resolvedHost).isIPV6);
100551
+ canonicalizeHost(resolved, options || {}, resolvedSchemeHandler, resolvedHostIsIP);
100552
+ const encodedASCIIHost = resolvedHost && resolvedHost.indexOf("%") !== -1 && !/\P{ASCII}/u.test(resolvedHost);
100553
+ if (resolved.error && !encodedASCIIHost) throw new Error(resolved.error);
100297
100554
  schemelessOptions.skipEscape = true;
100298
100555
  return serialize(resolved, schemelessOptions);
100299
100556
  }
@@ -100359,7 +100616,7 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100359
100616
  function equal(uriA, uriB, options) {
100360
100617
  const normalizedA = normalizeComparableURI(uriA, options);
100361
100618
  const normalizedB = normalizeComparableURI(uriB, options);
100362
- return normalizedA !== void 0 && normalizedB !== void 0 && normalizedA.toLowerCase() === normalizedB.toLowerCase();
100619
+ return normalizedA !== void 0 && normalizedB !== void 0 && normalizedA === normalizedB;
100363
100620
  }
100364
100621
  /**
100365
100622
  * @param {Readonly<import('./types/index').URIComponent>} cmpts
@@ -100385,13 +100642,17 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100385
100642
  };
100386
100643
  const options = Object.assign({}, opts);
100387
100644
  const uriTokens = [];
100645
+ if (component.scheme) component.scheme = decodeValidScheme(component.scheme);
100388
100646
  const schemeHandler = getSchemeHandler(options.scheme || component.scheme);
100389
100647
  if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options);
100390
- if (component.path !== void 0) if (!options.skipEscape) {
100391
- component.path = escapePreservingEscapes(component.path);
100392
- if (component.scheme !== void 0) component.path = component.path.split("%3A").join(":");
100393
- } else component.path = normalizePercentEncoding(component.path);
100394
- if (options.reference !== "suffix" && component.scheme) uriTokens.push(component.scheme, ":");
100648
+ const hasAuthority = component.userinfo !== void 0 || component.host !== void 0 || component.port !== void 0;
100649
+ const pathNoScheme = !options.skipEscape && component.scheme === void 0 && !hasAuthority;
100650
+ if (component.path !== void 0) if (!options.skipEscape) component.path = serializePathEncoding(component.path, pathNoScheme);
100651
+ else component.path = normalizePercentEncoding(component.path);
100652
+ if (options.reference !== "suffix" && component.scheme) {
100653
+ component.scheme = decodeValidScheme(component.scheme);
100654
+ uriTokens.push(component.scheme, ":");
100655
+ }
100395
100656
  const authority = recomposeAuthority(component);
100396
100657
  if (authority !== void 0) {
100397
100658
  if (options.reference !== "suffix") uriTokens.push("//");
@@ -100401,15 +100662,17 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100401
100662
  if (component.path !== void 0) {
100402
100663
  let s = component.path;
100403
100664
  if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) s = removeDotSegments(s);
100665
+ if (pathNoScheme) s = serializePathEncoding(s, true);
100404
100666
  if (authority === void 0 && s[0] === "/" && s[1] === "/") s = "/%2F" + s.slice(2);
100405
100667
  uriTokens.push(s);
100406
100668
  }
100407
- if (component.query !== void 0) uriTokens.push("?", component.query);
100408
- if (component.fragment !== void 0) uriTokens.push("#", component.fragment);
100669
+ if (component.query !== void 0) uriTokens.push("?", encodeQuery(component.query));
100670
+ if (component.fragment !== void 0) uriTokens.push("#", encodeFragment(component.fragment));
100409
100671
  return uriTokens.join("");
100410
100672
  }
100411
100673
  const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
100412
100674
  const AUTHORITY_PREFIX = /^(?:[^#/:?]+:)?\/\/([^/?#]*)/;
100675
+ const AUTHORITY_INTRODUCER_REGION = /^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;
100413
100676
  /**
100414
100677
  * @param {import('./types/index').URIComponent} parsed
100415
100678
  * @param {RegExpMatchArray} matches
@@ -100420,9 +100683,61 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100420
100683
  if (typeof parsed.port === "number" && (parsed.port < 0 || parsed.port > 65535)) return "URI port is malformed.";
100421
100684
  }
100422
100685
  /**
100686
+ * Checks percent syntax without decoding the represented octets. RFC 3986
100687
+ * percent-encoding is byte-oriented, so sequences such as `%FF` are valid even
100688
+ * though they are not independently valid UTF-8.
100689
+ *
100690
+ * @param {string|undefined} component
100691
+ * @returns {boolean}
100692
+ */
100693
+ function hasMalformedPercentEncoding(component) {
100694
+ if (component === void 0) return false;
100695
+ let percent = component.indexOf("%");
100696
+ while (percent !== -1) {
100697
+ if (percent + 2 >= component.length || !/^[\da-f]{2}$/iu.test(component.slice(percent + 1, percent + 3))) return true;
100698
+ percent = component.indexOf("%", percent + 3);
100699
+ }
100700
+ return false;
100701
+ }
100702
+ /**
100703
+ * Whether the host is a bracketed IP literal (RFC 3986 `IP-literal`).
100704
+ * An unterminated `[` is not a literal, so it must still be validated as a
100705
+ * reg-name instead of being waved through as an IP.
100706
+ *
100707
+ * @param {string} host
100708
+ * @returns {boolean}
100709
+ */
100710
+ function isIPLiteral(host) {
100711
+ return host[0] === "[" && host[host.length - 1] === "]";
100712
+ }
100713
+ /**
100714
+ * @param {RegExpMatchArray} matches
100715
+ * @returns {boolean}
100716
+ */
100717
+ function hasMalformedComponentPercentEncoding(matches) {
100718
+ const host = matches[4];
100719
+ return hasMalformedPercentEncoding(matches[3]) || host !== void 0 && !isIPLiteral(host) && hasMalformedPercentEncoding(host) || hasMalformedPercentEncoding(matches[6]) || hasMalformedPercentEncoding(matches[7]) || hasMalformedPercentEncoding(matches[8]);
100720
+ }
100721
+ /**
100722
+ * @param {import('./types/index').URIComponent} parsed
100723
+ * @param {import('./types/index').Options} options
100724
+ * @param {{ domainHost?: boolean, unicodeSupport?: boolean }|undefined} schemeHandler
100725
+ * @param {boolean} isIP
100726
+ * @returns {boolean} whether host conversion failed
100727
+ */
100728
+ function canonicalizeHost(parsed, options, schemeHandler, isIP) {
100729
+ if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport) && parsed.host && !isIPLiteral(parsed.host) && (options.domainHost || schemeHandler && schemeHandler.domainHost) && isIP === false && nonSimpleDomain(parsed.host)) try {
100730
+ parsed.host = new URL("http://" + parsed.host).hostname;
100731
+ } catch (e) {
100732
+ parsed.error = parsed.error || "Host's domain name can not be converted to ASCII: " + e;
100733
+ return true;
100734
+ }
100735
+ return false;
100736
+ }
100737
+ /**
100423
100738
  * @param {string} uri
100424
100739
  * @param {import('./types/index').Options} [opts]
100425
- * @returns {{ parsed: import('./types/index').URIComponent, malformedAuthorityOrPort: boolean }}
100740
+ * @returns {{ parsed: import('./types/index').URIComponent, malformedAuthorityOrPort: boolean, malformedPercentEncoding: boolean, malformedSchemeSpecific: boolean, malformedHost: boolean, malformedScheme: boolean }}
100426
100741
  */
100427
100742
  function parseWithStatus(uri, opts) {
100428
100743
  const options = Object.assign({}, opts);
@@ -100437,6 +100752,11 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100437
100752
  fragment: void 0
100438
100753
  };
100439
100754
  let malformedAuthorityOrPort = false;
100755
+ let malformedPercentEncoding = false;
100756
+ let malformedSchemeSpecific = false;
100757
+ let malformedHost = false;
100758
+ let malformedIPLiteral = false;
100759
+ let malformedScheme = false;
100440
100760
  let isIP = false;
100441
100761
  if (options.reference === "suffix") if (options.scheme) uri = options.scheme + ":" + uri;
100442
100762
  else uri = "//" + uri;
@@ -100445,6 +100765,20 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100445
100765
  parsed.error = "URI authority must not contain a literal backslash.";
100446
100766
  malformedAuthorityOrPort = true;
100447
100767
  }
100768
+ const introducerMatch = uri.match(AUTHORITY_INTRODUCER_REGION);
100769
+ if (introducerMatch !== null) {
100770
+ const region = introducerMatch[1];
100771
+ const normalizedRegion = region.replace(/[\t\n\r]/g, "");
100772
+ if (normalizedRegion.length >= 2) {
100773
+ if (normalizedRegion.slice(0, 2) !== "//") {
100774
+ parsed.error = parsed.error || "URI authority must not contain a literal backslash.";
100775
+ malformedAuthorityOrPort = true;
100776
+ } else if (region.length !== normalizedRegion.length) {
100777
+ parsed.error = parsed.error || "URI authority introducer must not contain whitespace.";
100778
+ malformedAuthorityOrPort = true;
100779
+ }
100780
+ }
100781
+ }
100448
100782
  const matches = uri.match(URI_PARSE);
100449
100783
  if (matches) {
100450
100784
  parsed.scheme = matches[1];
@@ -100454,6 +100788,16 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100454
100788
  parsed.path = matches[6] || "";
100455
100789
  parsed.query = matches[7];
100456
100790
  parsed.fragment = matches[8];
100791
+ if (parsed.scheme !== void 0) {
100792
+ const decodedScheme = unescape(parsed.scheme);
100793
+ if (VALID_SCHEME.test(decodedScheme)) parsed.scheme = decodedScheme.toLowerCase();
100794
+ else {
100795
+ parsed.error = parsed.error || MALFORMED_SCHEME_ERROR;
100796
+ malformedScheme = true;
100797
+ }
100798
+ }
100799
+ malformedPercentEncoding = hasMalformedComponentPercentEncoding(matches);
100800
+ if (malformedPercentEncoding) parsed.error = parsed.error || "URI contains malformed percent-encoding.";
100457
100801
  if (isNaN(parsed.port)) parsed.port = matches[5];
100458
100802
  const parseError = getParseError(parsed, matches);
100459
100803
  if (parseError !== void 0) {
@@ -100461,9 +100805,16 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100461
100805
  malformedAuthorityOrPort = true;
100462
100806
  }
100463
100807
  if (parsed.host) if (isIPv4(parsed.host) === false) {
100808
+ const bracketedIPLiteral = isIPLiteral(parsed.host);
100809
+ const hasIPLiteralBracket = parsed.host.indexOf("[") !== -1 || parsed.host.indexOf("]") !== -1;
100464
100810
  const ipv6result = normalizeIPv6(parsed.host);
100465
- parsed.host = ipv6result.host.toLowerCase();
100466
- isIP = ipv6result.isIPV6;
100811
+ isIP = ipv6result.isIPV6 || ipv6result.isIPVFuture === true;
100812
+ malformedIPLiteral = hasIPLiteralBracket && (!bracketedIPLiteral || ipv6result.error === true);
100813
+ parsed.host = isIP ? ipv6result.host : ipv6result.host.toLowerCase();
100814
+ if (malformedIPLiteral) {
100815
+ parsed.error = parsed.error || "URI host is malformed.";
100816
+ malformedAuthorityOrPort = true;
100817
+ }
100467
100818
  } else isIP = true;
100468
100819
  if (parsed.scheme === void 0 && parsed.userinfo === void 0 && parsed.host === void 0 && parsed.port === void 0 && parsed.query === void 0 && !parsed.path) parsed.reference = "same-document";
100469
100820
  else if (parsed.scheme === void 0) parsed.reference = "relative";
@@ -100471,30 +100822,29 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100471
100822
  else parsed.reference = "uri";
100472
100823
  if (options.reference && options.reference !== "suffix" && options.reference !== parsed.reference) parsed.error = parsed.error || "URI is not a " + options.reference + " reference.";
100473
100824
  const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme);
100474
- if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
100475
- if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) && isIP === false && nonSimpleDomain(parsed.host)) try {
100476
- parsed.host = new URL("http://" + parsed.host).hostname;
100477
- } catch (e) {
100478
- parsed.error = parsed.error || "Host's domain name can not be converted to ASCII: " + e;
100479
- }
100825
+ if (!malformedIPLiteral) malformedHost = canonicalizeHost(parsed, options, schemeHandler, isIP);
100826
+ if (uri.indexOf("%") !== -1 && parsed.host !== void 0 && !malformedIPLiteral) {
100827
+ let host = isIP ? parsed.host : normalizePercentEncoding(parsed.host, true);
100828
+ if (!isIP) host = normalizePercentEncoding(host.toLowerCase());
100829
+ parsed.host = reescapeHostDelimiters(host, isIP);
100480
100830
  }
100481
100831
  if (!schemeHandler || schemeHandler && !schemeHandler.skipNormalize) {
100482
- if (uri.indexOf("%") !== -1) {
100483
- if (parsed.scheme !== void 0) parsed.scheme = unescape(parsed.scheme);
100484
- if (parsed.host !== void 0) parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP);
100485
- }
100486
100832
  if (parsed.path) parsed.path = normalizePathEncoding(parsed.path);
100487
- if (parsed.fragment) try {
100488
- parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment));
100489
- } catch {
100490
- parsed.error = parsed.error || "URI malformed";
100491
- }
100833
+ if (parsed.query) parsed.query = normalizeQueryFragmentEncoding(parsed.query);
100834
+ if (parsed.fragment) parsed.fragment = normalizeQueryFragmentEncoding(parsed.fragment);
100835
+ }
100836
+ if (schemeHandler && schemeHandler.parse) {
100837
+ schemeHandler.parse(parsed, options);
100838
+ if (schemeHandler === SCHEMES.urn && parsed.nid === void 0) malformedSchemeSpecific = true;
100492
100839
  }
100493
- if (schemeHandler && schemeHandler.parse) schemeHandler.parse(parsed, options);
100494
100840
  } else parsed.error = parsed.error || "URI can not be parsed.";
100495
100841
  return {
100496
100842
  parsed,
100497
- malformedAuthorityOrPort
100843
+ malformedAuthorityOrPort,
100844
+ malformedPercentEncoding,
100845
+ malformedSchemeSpecific,
100846
+ malformedHost,
100847
+ malformedScheme
100498
100848
  };
100499
100849
  }
100500
100850
  /**
@@ -100516,13 +100866,17 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100516
100866
  /**
100517
100867
  * @param {string} uri
100518
100868
  * @param {import('./types/index').Options} [opts]
100519
- * @returns {{ normalized: string, malformedAuthorityOrPort: boolean }}
100869
+ * @returns {{ normalized: string, malformedAuthorityOrPort: boolean, malformedPercentEncoding: boolean, malformedSchemeSpecific: boolean, malformedHost: boolean, malformedScheme: boolean }}
100520
100870
  */
100521
100871
  function normalizeStringWithStatus(uri, opts) {
100522
- const { parsed, malformedAuthorityOrPort } = parseWithStatus(uri, opts);
100872
+ const { parsed, malformedAuthorityOrPort, malformedPercentEncoding, malformedSchemeSpecific, malformedHost, malformedScheme } = parseWithStatus(uri, opts);
100523
100873
  return {
100524
- normalized: malformedAuthorityOrPort ? uri : serialize(parsed, opts),
100525
- malformedAuthorityOrPort
100874
+ normalized: malformedAuthorityOrPort || malformedPercentEncoding || malformedSchemeSpecific || malformedHost || malformedScheme ? uri : serialize(parsed, opts),
100875
+ malformedAuthorityOrPort,
100876
+ malformedPercentEncoding,
100877
+ malformedSchemeSpecific,
100878
+ malformedHost,
100879
+ malformedScheme
100526
100880
  };
100527
100881
  }
100528
100882
  /**
@@ -100531,11 +100885,15 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100531
100885
  * @returns {string|undefined}
100532
100886
  */
100533
100887
  function normalizeComparableURI(uri, opts) {
100534
- if (typeof uri === "string") {
100535
- const { normalized, malformedAuthorityOrPort } = normalizeStringWithStatus(uri, opts);
100536
- return malformedAuthorityOrPort ? void 0 : normalized;
100888
+ if (typeof uri !== "string" && typeof uri !== "object") return;
100889
+ let value;
100890
+ try {
100891
+ value = typeof uri === "string" ? uri : serialize(uri, opts);
100892
+ } catch {
100893
+ return;
100537
100894
  }
100538
- if (typeof uri === "object") return serialize(uri, opts);
100895
+ const { normalized, malformedAuthorityOrPort, malformedPercentEncoding, malformedSchemeSpecific, malformedHost, malformedScheme } = normalizeStringWithStatus(value, opts);
100896
+ return malformedAuthorityOrPort || malformedPercentEncoding || malformedSchemeSpecific || malformedHost || malformedScheme ? void 0 : normalized;
100539
100897
  }
100540
100898
  const fastUri = {
100541
100899
  SCHEMES,
@@ -104360,6 +104718,10 @@ var import_brace_expansion = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJS
104360
104718
  var escClose = "\0CLOSE" + Math.random() + "\0";
104361
104719
  var escComma = "\0COMMA" + Math.random() + "\0";
104362
104720
  var escPeriod = "\0PERIOD" + Math.random() + "\0";
104721
+ var EXPANSION_MAX = 1e5;
104722
+ var EXPANSION_MAX_LENGTH = 4e6;
104723
+ var EXPANSION_MAX_DEPTH = 1e3;
104724
+ var EXPANSION_MAX_REWRITES = 1e3;
104363
104725
  function numeric(str) {
104364
104726
  return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0);
104365
104727
  }
@@ -104369,30 +104731,44 @@ var import_brace_expansion = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJS
104369
104731
  function unescapeBraces(str) {
104370
104732
  return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
104371
104733
  }
104734
+ function pushAll(target, items) {
104735
+ for (var i = 0; i < items.length; i++) target.push(items[i]);
104736
+ }
104372
104737
  function parseCommaParts(str) {
104373
- if (!str) return [""];
104374
104738
  var parts = [];
104375
- var m = balanced("{", "}", str);
104376
- if (!m) return str.split(",");
104377
- var pre = m.pre;
104378
- var body = m.body;
104379
- var post = m.post;
104380
- var p = pre.split(",");
104381
- p[p.length - 1] += "{" + body + "}";
104382
- var postParts = parseCommaParts(post);
104383
- if (post.length) {
104384
- p[p.length - 1] += postParts.shift();
104385
- p.push.apply(p, postParts);
104386
- }
104387
- parts.push.apply(parts, p);
104388
- return parts;
104739
+ var carry = "";
104740
+ for (;;) {
104741
+ var m = balanced("{", "}", str);
104742
+ if (!m) {
104743
+ var tail = str.split(",");
104744
+ tail[0] = carry + tail[0];
104745
+ pushAll(parts, tail);
104746
+ return parts;
104747
+ }
104748
+ var pre = m.pre;
104749
+ var body = m.body;
104750
+ var post = m.post;
104751
+ var p = pre.split(",");
104752
+ p[0] = carry + p[0];
104753
+ p[p.length - 1] += "{" + body + "}";
104754
+ if (!post.length) {
104755
+ pushAll(parts, p);
104756
+ return parts;
104757
+ }
104758
+ carry = p.pop();
104759
+ pushAll(parts, p);
104760
+ str = post;
104761
+ }
104389
104762
  }
104390
104763
  function expandTop(str, options) {
104391
104764
  if (!str) return [];
104392
104765
  options = options || {};
104393
- var max = options.max == null ? Infinity : options.max;
104766
+ var max = options.max == null ? EXPANSION_MAX : options.max;
104767
+ var maxLength = options.maxLength == null ? EXPANSION_MAX_LENGTH : options.maxLength;
104768
+ var maxDepth = options.maxDepth == null ? EXPANSION_MAX_DEPTH : options.maxDepth;
104769
+ var maxRewrites = options.maxRewrites == null ? EXPANSION_MAX_REWRITES : options.maxRewrites;
104394
104770
  if (str.substr(0, 2) === "{}") str = "\\{\\}" + str.substr(2);
104395
- return expand(escapeBraces(str), max, true).map(unescapeBraces);
104771
+ return expand(escapeBraces(str), max, maxLength, maxDepth, 0, maxRewrites, true).map(unescapeBraces);
104396
104772
  }
104397
104773
  function embrace(str) {
104398
104774
  return "{" + str + "}";
@@ -104406,85 +104782,126 @@ var import_brace_expansion = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJS
104406
104782
  function gte(i, y) {
104407
104783
  return i >= y;
104408
104784
  }
104409
- function expand(str, max, isTop) {
104410
- var expansions = [];
104785
+ function combine(acc, pre, values, max, maxLength, dropEmpties) {
104786
+ var out = [];
104787
+ var length = 0;
104788
+ for (var a = 0; a < acc.length; a++) for (var v = 0; v < values.length; v++) {
104789
+ if (out.length >= max) return out;
104790
+ var expansion = acc[a] + pre + values[v];
104791
+ if (dropEmpties && !expansion) continue;
104792
+ if (length + expansion.length > maxLength) return out;
104793
+ out.push(expansion);
104794
+ length += expansion.length;
104795
+ }
104796
+ return out;
104797
+ }
104798
+ function expandSequence(body, isAlphaSequence, max, maxLength) {
104799
+ var n = body.split(/\.\./);
104800
+ var N = [];
104801
+ /* c8 ignore start */
104802
+ if (n[0] === void 0 || n[1] === void 0) return N;
104803
+ /* c8 ignore stop */
104804
+ var x = numeric(n[0]);
104805
+ var y = numeric(n[1]);
104806
+ var width = Math.max(n[0].length, n[1].length);
104807
+ var incr = n.length === 3 && n[2] !== void 0 ? Math.max(Math.abs(numeric(n[2])), 1) : 1;
104808
+ var test = lte;
104809
+ if (y < x) {
104810
+ incr *= -1;
104811
+ test = gte;
104812
+ }
104813
+ var pad = n.some(isPadded);
104814
+ var length = 0;
104815
+ for (var i = x; test(i, y) && N.length < max; i += incr) {
104816
+ var c;
104817
+ if (isAlphaSequence) {
104818
+ c = String.fromCharCode(i);
104819
+ if (c === "\\") c = "";
104820
+ } else {
104821
+ c = String(i);
104822
+ if (pad) {
104823
+ var need = width - c.length;
104824
+ if (need > 0) {
104825
+ var z = new Array(need + 1).join("0");
104826
+ if (i < 0) c = "-" + z + c.slice(1);
104827
+ else c = z + c;
104828
+ }
104829
+ }
104830
+ }
104831
+ if (length + c.length > maxLength) break;
104832
+ N.push(c);
104833
+ length += c.length;
104834
+ }
104835
+ return N;
104836
+ }
104837
+ function expand(str, max, maxLength, maxDepth, depth, maxRewrites, isTop) {
104838
+ if (depth > maxDepth) return [str];
104839
+ var acc = [""];
104840
+ var rewrites = 0;
104841
+ var dropEmpties = false;
104842
+ var firstGroup = true;
104411
104843
  for (;;) {
104412
104844
  const m = balanced("{", "}", str);
104413
- if (!m) return [str];
104845
+ if (!m) return combine(acc, str, [""], max, maxLength, dropEmpties);
104414
104846
  const pre = m.pre;
104415
- if (/\$$/.test(m.pre)) {
104416
- const post = m.post.length ? expand(m.post, max, false) : [""];
104417
- for (let k = 0; k < post.length && k < max; k++) {
104418
- const expansion = pre + "{" + m.body + "}" + post[k];
104419
- expansions.push(expansion);
104420
- }
104421
- return expansions;
104847
+ if (/\$$/.test(pre)) {
104848
+ acc = combine(acc, pre + "{" + m.body + "}", [""], max, maxLength, dropEmpties && !m.post.length);
104849
+ firstGroup = false;
104850
+ if (!m.post.length) break;
104851
+ str = m.post;
104852
+ continue;
104422
104853
  }
104423
104854
  var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
104424
104855
  var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
104425
104856
  var isSequence = isNumericSequence || isAlphaSequence;
104426
104857
  var isOptions = m.body.indexOf(",") >= 0;
104427
104858
  if (!isSequence && !isOptions) {
104428
- if (m.post.match(/,(?!,).*\}/)) {
104859
+ if (rewrites < maxRewrites && m.post.match(/,(?!,).*\}/)) {
104860
+ rewrites++;
104429
104861
  str = m.pre + "{" + m.body + escClose + m.post;
104430
104862
  isTop = true;
104431
104863
  continue;
104432
104864
  }
104433
- return [str];
104865
+ return combine(acc, pre + "{" + m.body + "}" + m.post, [""], max, maxLength, dropEmpties);
104434
104866
  }
104435
- const post = m.post.length ? expand(m.post, max, false) : [""];
104436
- var n;
104437
- if (isSequence) n = m.body.split(/\.\./);
104867
+ if (firstGroup) {
104868
+ dropEmpties = isTop && !isSequence;
104869
+ firstGroup = false;
104870
+ }
104871
+ var values;
104872
+ if (isSequence) values = expandSequence(m.body, isAlphaSequence, max, maxLength);
104438
104873
  else {
104439
- n = parseCommaParts(m.body);
104440
- if (n.length === 1) {
104441
- n = expand(n[0], max, false).map(embrace);
104442
- if (n.length === 1) return post.map(function(p) {
104443
- return m.pre + n[0] + p;
104444
- });
104874
+ var n = parseCommaParts(m.body);
104875
+ if (n.length === 1 && n[0] !== void 0) {
104876
+ n = expand(n[0], max, maxLength, maxDepth, depth + 1, maxRewrites, false).map(embrace);
104877
+ /* c8 ignore start */
104878
+ if (n.length === 1) {
104879
+ acc = combine(acc, pre + n[0], [""], max, maxLength, dropEmpties && !m.post.length);
104880
+ if (!m.post.length) break;
104881
+ str = m.post;
104882
+ continue;
104883
+ }
104445
104884
  }
104446
- }
104447
- var N;
104448
- if (isSequence) {
104449
- var x = numeric(n[0]);
104450
- var y = numeric(n[1]);
104451
- var width = Math.max(n[0].length, n[1].length);
104452
- var incr = n.length == 3 ? Math.max(Math.abs(numeric(n[2])), 1) : 1;
104453
- var test = lte;
104454
- if (y < x) {
104455
- incr *= -1;
104456
- test = gte;
104457
- }
104458
- var pad = n.some(isPadded);
104459
- N = [];
104460
- for (var i = x; test(i, y) && N.length < max; i += incr) {
104461
- var c;
104462
- if (isAlphaSequence) {
104463
- c = String.fromCharCode(i);
104464
- if (c === "\\") c = "";
104465
- } else {
104466
- c = String(i);
104467
- if (pad) {
104468
- var need = width - c.length;
104469
- if (need > 0) {
104470
- var z = new Array(need + 1).join("0");
104471
- if (i < 0) c = "-" + z + c.slice(1);
104472
- else c = z + c;
104473
- }
104474
- }
104885
+ var dropsEmpties = dropEmpties && !m.post.length && !pre;
104886
+ for (var d = 0; dropsEmpties && d < acc.length; d++) if (acc[d]) dropsEmpties = false;
104887
+ values = [];
104888
+ var valuesLength = 0;
104889
+ outer: for (var j = 0; j < n.length; j++) {
104890
+ var expanded = expand(n[j], max, maxLength, maxDepth, depth + 1, maxRewrites, false);
104891
+ for (var k = 0; k < expanded.length; k++) {
104892
+ var v = expanded[k];
104893
+ if (dropsEmpties && !v) continue;
104894
+ if (values.length >= max || valuesLength + v.length > maxLength) break outer;
104895
+ values.push(v);
104896
+ valuesLength += v.length;
104475
104897
  }
104476
- N.push(c);
104477
104898
  }
104478
- } else {
104479
- N = [];
104480
- for (var j = 0; j < n.length; j++) N.push.apply(N, expand(n[j], max, false));
104481
- }
104482
- for (var j = 0; j < N.length; j++) for (var k = 0; k < post.length && expansions.length < max; k++) {
104483
- var expansion = pre + N[j] + post[k];
104484
- if (!isTop || isSequence || expansion) expansions.push(expansion);
104485
104899
  }
104486
- return expansions;
104900
+ acc = combine(acc, pre, values, max, maxLength, dropEmpties && !m.post.length);
104901
+ if (!m.post.length) break;
104902
+ str = m.post;
104487
104903
  }
104904
+ return acc;
104488
104905
  }
104489
104906
  })))(), 1);
104490
104907
  const MAX_PATTERN_LENGTH = 1024 * 64;
@@ -130140,7 +130557,7 @@ var require_dist$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
130140
130557
  module.exports = createHttpsProxyAgent;
130141
130558
  }));
130142
130559
  //#endregion
130143
- //#region ../../../common/temp/sdk/node_modules/.pnpm/follow-redirects@1.16.0/node_modules/follow-redirects/debug.js
130560
+ //#region ../../../common/temp/sdk/node_modules/.pnpm/follow-redirects@1.16.1/node_modules/follow-redirects/debug.js
130144
130561
  var require_debug = /* @__PURE__ */ __commonJSMin(((exports, module) => {
130145
130562
  var debug;
130146
130563
  module.exports = function() {
@@ -130154,7 +130571,7 @@ var require_debug = /* @__PURE__ */ __commonJSMin(((exports, module) => {
130154
130571
  };
130155
130572
  }));
130156
130573
  //#endregion
130157
- //#region ../../../common/temp/sdk/node_modules/.pnpm/follow-redirects@1.16.0/node_modules/follow-redirects/index.js
130574
+ //#region ../../../common/temp/sdk/node_modules/.pnpm/follow-redirects@1.16.1/node_modules/follow-redirects/index.js
130158
130575
  var require_follow_redirects = /* @__PURE__ */ __commonJSMin(((exports, module) => {
130159
130576
  var url$3 = __require("url");
130160
130577
  var URL = url$3.URL;
@@ -130358,6 +130775,11 @@ var require_follow_redirects = /* @__PURE__ */ __commonJSMin(((exports, module)
130358
130775
  });
130359
130776
  RedirectableRequest.prototype._sanitizeOptions = function(options) {
130360
130777
  if (!options.headers) options.headers = {};
130778
+ else if (Array.isArray(options.headers)) {
130779
+ var headerList = options.headers;
130780
+ options.headers = {};
130781
+ for (var i = 0; i < headerList.length; i += 2) options.headers[headerList[i]] = headerList[i + 1];
130782
+ }
130361
130783
  if (!isArray(options.sensitiveHeaders)) options.sensitiveHeaders = [];
130362
130784
  if (options.host) {
130363
130785
  if (!options.hostname) options.hostname = options.host;
@@ -130590,7 +131012,7 @@ var require_follow_redirects = /* @__PURE__ */ __commonJSMin(((exports, module)
130590
131012
  return URL && value instanceof URL;
130591
131013
  }
130592
131014
  function escapeRegex(regex) {
130593
- return regex.replace(/[\]\\/()*+?.$]/g, "\\$&");
131015
+ return regex.replace(/[[\]\\/()*+?.^$|]/g, "\\$&");
130594
131016
  }
130595
131017
  module.exports = wrap({
130596
131018
  http: http$4,
@@ -136007,12 +136429,14 @@ function yamlSizeToDeclarative(input) {
136007
136429
  gridHeight: input.rows ?? 22
136008
136430
  } };
136009
136431
  }
136432
+ /** @internal */
136010
136433
  function yamlInsightWidgetToDeclarative(entities, input) {
136434
+ const target = entities.filter((e) => VisualisationsTypes.includes(e.type)).find((e) => e.id === input.visualization)?.data;
136011
136435
  return {
136012
136436
  ...input.id ? { localIdentifier: input.id } : {},
136013
136437
  type: "insight",
136014
136438
  insight: createIdentifier(input.visualization, { forceType: "visualizationObject" }),
136015
- title: input.title || "",
136439
+ title: input.title || target?.title || "",
136016
136440
  description: useInherit(input.description),
136017
136441
  configuration: {
136018
136442
  hideTitle: input.title === false,
@@ -149814,6 +150238,10 @@ const metadata_v1 = {
149814
150238
  "description": "Custom variables the report's text can interpolate as {name}. Built-in variable names win a collision.",
149815
150239
  "items": { "$ref": "#/$global/gaac/reportVariable" }
149816
150240
  },
150241
+ "takeaways_instruction": {
150242
+ "type": "string",
150243
+ "description": "Instructions every AI takeaway without instructions of its own is generated with. Supports {variables}."
150244
+ },
149817
150245
  "variable_values": {
149818
150246
  "type": "object",
149819
150247
  "description": "Values for the declared variables, keyed by variable name. A variable with no value here falls back to its default.",
@@ -149878,6 +150306,10 @@ const metadata_v1 = {
149878
150306
  "type": "array",
149879
150307
  "description": "Custom variables the template's text can interpolate as {name}. A report created from it gives them values.",
149880
150308
  "items": { "$ref": "#/$global/gaac/reportVariable" }
150309
+ },
150310
+ "takeaways_instruction": {
150311
+ "type": "string",
150312
+ "description": "Instructions every AI takeaway without instructions of its own is generated with. Supports {variables}."
149881
150313
  }
149882
150314
  },
149883
150315
  "$semantic": {
@@ -155796,6 +156228,10 @@ const metadata_v1 = {
155796
156228
  "description": "Custom variables the report's text can interpolate as {name}. Built-in variable names win a collision.",
155797
156229
  "items": { "$ref": "#/$global/gaac/reportVariable" }
155798
156230
  },
156231
+ "takeaways_instruction": {
156232
+ "type": "string",
156233
+ "description": "Instructions every AI takeaway without instructions of its own is generated with. Supports {variables}."
156234
+ },
155799
156235
  "variable_values": {
155800
156236
  "type": "object",
155801
156237
  "description": "Values for the declared variables, keyed by variable name. A variable with no value here falls back to its default.",
@@ -156068,6 +156504,10 @@ const metadata_v1 = {
156068
156504
  "type": "array",
156069
156505
  "description": "Custom variables the template's text can interpolate as {name}. A report created from it gives them values.",
156070
156506
  "items": { "$ref": "#/$global/gaac/reportVariable" }
156507
+ },
156508
+ "takeaways_instruction": {
156509
+ "type": "string",
156510
+ "description": "Instructions every AI takeaway without instructions of its own is generated with. Supports {variables}."
156071
156511
  }
156072
156512
  },
156073
156513
  "$semantic": {
@@ -162562,7 +163002,7 @@ async function open(state, emitter, file) {
162562
163002
  //#endregion
162563
163003
  //#region ../code/package.json
162564
163004
  var name = "@gooddata/code";
162565
- var version = "0.57.0-alpha.3";
163005
+ var version = "0.57.0-alpha.5";
162566
163006
  //#endregion
162567
163007
  //#region ../../../sdk/libs/api-client-tiger/src/axios.ts
162568
163008
  /**
@@ -162584,7 +163024,7 @@ const _CONFIG = {
162584
163024
  common: {
162585
163025
  "X-Requested-With": "XMLHttpRequest",
162586
163026
  "X-GDC-JS-PACKAGE": "@gooddata/api-client-tiger",
162587
- "X-GDC-JS-PACKAGE-VERSION": "11.61.0-alpha.3"
163027
+ "X-GDC-JS-PACKAGE-VERSION": "11.61.0-alpha.5"
162588
163028
  },
162589
163029
  post: { "Content-Type": "application/json;charset=utf8" },
162590
163030
  put: { "Content-Type": "application/json;charset=utf8" }
@@ -166945,7 +167385,7 @@ async function EntitiesApiAxiosParamCreator_CreateEntityExportTemplates(jsonApiE
166945
167385
  * @summary Post Filter Context
166946
167386
  * @param {string} workspaceId
166947
167387
  * @param {JsonApiFilterContextPostOptionalIdDocument} jsonApiFilterContextPostOptionalIdDocument
166948
- * @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include&#x3D;entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \&quot;ALL\&quot; is present, all possible includes are used (include&#x3D;ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
167388
+ * @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'metrics' | 'facts' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include&#x3D;entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \&quot;ALL\&quot; is present, all possible includes are used (include&#x3D;ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
166949
167389
  * @param {Array<'origin' | 'all' | 'ALL'>} [metaInclude] Include Meta objects.
166950
167390
  * @param {*} [options] Override http request option.
166951
167391
  * @param {Configuration} [configuration] Optional configuration.
@@ -170595,7 +171035,7 @@ async function EntitiesApiAxiosParamCreator_GetAllEntitiesFacts(workspaceId, ori
170595
171035
  * @param {string} workspaceId
170596
171036
  * @param {'ALL' | 'PARENTS' | 'NATIVE'} [origin]
170597
171037
  * @param {string} [filter] Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title&#x3D;&#x3D;\&#39;Some Title\&#39;;description&#x3D;&#x3D;\&#39;desc\&#39;). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty&#x3D;&#x3D;\&#39;Value 123\&#39;).
170598
- * @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include&#x3D;entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \&quot;ALL\&quot; is present, all possible includes are used (include&#x3D;ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
171038
+ * @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'metrics' | 'facts' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include&#x3D;entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \&quot;ALL\&quot; is present, all possible includes are used (include&#x3D;ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
170599
171039
  * @param {number} [page] Zero-based page index (0..N)
170600
171040
  * @param {number} [size] The size of the page to be returned
170601
171041
  * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
@@ -173045,7 +173485,7 @@ async function EntitiesApiAxiosParamCreator_GetEntityFacts(workspaceId, objectId
173045
173485
  * @param {string} workspaceId
173046
173486
  * @param {string} objectId
173047
173487
  * @param {string} [filter] Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title&#x3D;&#x3D;\&#39;Some Title\&#39;;description&#x3D;&#x3D;\&#39;desc\&#39;). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty&#x3D;&#x3D;\&#39;Value 123\&#39;).
173048
- * @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include&#x3D;entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \&quot;ALL\&quot; is present, all possible includes are used (include&#x3D;ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
173488
+ * @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'metrics' | 'facts' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include&#x3D;entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \&quot;ALL\&quot; is present, all possible includes are used (include&#x3D;ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
173049
173489
  * @param {boolean} [xGDCVALIDATERELATIONS]
173050
173490
  * @param {Array<'origin' | 'all' | 'ALL'>} [metaInclude] Include Meta objects.
173051
173491
  * @param {*} [options] Override http request option.
@@ -175176,7 +175616,7 @@ async function EntitiesApiAxiosParamCreator_PatchEntityFacts(workspaceId, object
175176
175616
  * @param {string} objectId
175177
175617
  * @param {JsonApiFilterContextPatchDocument} jsonApiFilterContextPatchDocument
175178
175618
  * @param {string} [filter] Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title&#x3D;&#x3D;\&#39;Some Title\&#39;;description&#x3D;&#x3D;\&#39;desc\&#39;). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty&#x3D;&#x3D;\&#39;Value 123\&#39;).
175179
- * @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include&#x3D;entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \&quot;ALL\&quot; is present, all possible includes are used (include&#x3D;ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
175619
+ * @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'metrics' | 'facts' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include&#x3D;entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \&quot;ALL\&quot; is present, all possible includes are used (include&#x3D;ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
175180
175620
  * @param {*} [options] Override http request option.
175181
175621
  * @param {Configuration} [configuration] Optional configuration.
175182
175622
  * @throws {RequiredError}
@@ -178080,7 +178520,7 @@ async function EntitiesApiAxiosParamCreator_UpdateEntityExportTemplates(id, json
178080
178520
  * @param {string} objectId
178081
178521
  * @param {JsonApiFilterContextInDocument} jsonApiFilterContextInDocument
178082
178522
  * @param {string} [filter] Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title&#x3D;&#x3D;\&#39;Some Title\&#39;;description&#x3D;&#x3D;\&#39;desc\&#39;). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty&#x3D;&#x3D;\&#39;Value 123\&#39;).
178083
- * @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include&#x3D;entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \&quot;ALL\&quot; is present, all possible includes are used (include&#x3D;ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
178523
+ * @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'metrics' | 'facts' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include&#x3D;entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \&quot;ALL\&quot; is present, all possible includes are used (include&#x3D;ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
178084
178524
  * @param {*} [options] Override http request option.
178085
178525
  * @param {Configuration} [configuration] Optional configuration.
178086
178526
  * @throws {RequiredError}