@hot-updater/aws 0.33.0 → 0.33.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -628,7 +628,7 @@ const fallbackSymbols = {
628
628
  const figures = isUnicodeSupported() ? mainSymbols : fallbackSymbols;
629
629
  Object.entries(specialMainSymbols);
630
630
  //#endregion
631
- //#region ../../node_modules/.pnpm/yoctocolors@2.1.1/node_modules/yoctocolors/base.js
631
+ //#region ../../node_modules/.pnpm/yoctocolors@2.1.2/node_modules/yoctocolors/base.js
632
632
  const hasColors = node_tty.default?.WriteStream?.prototype?.hasColors?.() ?? false;
633
633
  const format = (open, close) => {
634
634
  if (!hasColors) return (input) => input;
@@ -640,8 +640,9 @@ const format = (open, close) => {
640
640
  if (index === -1) return openCode + string + closeCode;
641
641
  let result = openCode;
642
642
  let lastIndex = 0;
643
+ const replaceCode = (close === 22 ? closeCode : "") + openCode;
643
644
  while (index !== -1) {
644
- result += string.slice(lastIndex, index) + openCode;
645
+ result += string.slice(lastIndex, index) + replaceCode;
645
646
  lastIndex = index + closeCode.length;
646
647
  index = string.indexOf(closeCode, lastIndex);
647
648
  }
@@ -3041,7 +3042,7 @@ function parseMilliseconds(milliseconds) {
3041
3042
  throw new TypeError("Expected a finite number or bigint");
3042
3043
  }
3043
3044
  //#endregion
3044
- //#region ../../node_modules/.pnpm/pretty-ms@9.2.0/node_modules/pretty-ms/index.js
3045
+ //#region ../../node_modules/.pnpm/pretty-ms@9.3.0/node_modules/pretty-ms/index.js
3045
3046
  const isZero = (value) => value === 0 || value === 0n;
3046
3047
  const pluralize = (word, count) => count === 1 || count === 1n ? word : `${word}s`;
3047
3048
  const SECOND_ROUNDING_EPSILON = 1e-7;
@@ -3090,7 +3091,7 @@ function prettyMilliseconds(milliseconds, options) {
3090
3091
  add(Number(parsed.hours), "hour", "h");
3091
3092
  }
3092
3093
  add(Number(parsed.minutes), "minute", "m");
3093
- if (!options.hideSeconds) if (options.separateMilliseconds || options.formatSubMilliseconds || !options.colonNotation && milliseconds < 1e3) {
3094
+ if (!options.hideSeconds) if (options.separateMilliseconds || options.formatSubMilliseconds || !options.colonNotation && milliseconds < 1e3 && !options.subSecondsAsDecimals) {
3094
3095
  const seconds = Number(parsed.seconds);
3095
3096
  const milliseconds = Number(parsed.milliseconds);
3096
3097
  const microseconds = Number(parsed.microseconds);
@@ -6213,15 +6214,58 @@ createExeca(mapNode);
6213
6214
  createExeca(mapScriptAsync, {}, deepScriptOptions, setScriptSync);
6214
6215
  const { sendMessage, getOneMessage, getEachMessage, getCancelSignal } = getIpcExport();
6215
6216
  //#endregion
6216
- //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/error/AbortError.mjs
6217
- var AbortError = class extends Error {
6217
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/_internal/globalThis.mjs
6218
+ const globalThis_ = typeof globalThis === "object" && globalThis || typeof window === "object" && window || typeof self === "object" && self || typeof global === "object" && global || (function() {
6219
+ return this;
6220
+ })() || Function("return this")();
6221
+ //#endregion
6222
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/_internal/DOMException.mjs
6223
+ const DOMException$1 = typeof globalThis_.DOMException !== "undefined" ? globalThis_.DOMException : Error;
6224
+ //#endregion
6225
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/error/AbortError.mjs
6226
+ /**
6227
+ * An error class representing an aborted operation.
6228
+ * @augments DOMException
6229
+ */
6230
+ var AbortError = class extends DOMException$1 {
6218
6231
  constructor(message = "The operation was aborted") {
6219
6232
  super(message);
6220
- this.name = "AbortError";
6221
6233
  }
6222
6234
  };
6223
6235
  //#endregion
6224
- //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/promise/delay.mjs
6236
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/promise/delay.mjs
6237
+ /**
6238
+ * Delays the execution of code for a specified number of milliseconds.
6239
+ *
6240
+ * This function returns a Promise that resolves after the specified delay, allowing you to use it
6241
+ * with async/await to pause execution.
6242
+ *
6243
+ * @param {number} ms - The number of milliseconds to delay.
6244
+ * @param {DelayOptions} options - The options object.
6245
+ * @param {AbortSignal} options.signal - An optional AbortSignal to cancel the delay.
6246
+ * @returns {Promise<void>} A Promise that resolves after the specified delay.
6247
+ *
6248
+ * @example
6249
+ * async function foo() {
6250
+ * console.log('Start');
6251
+ * await delay(1000); // Delays execution for 1 second
6252
+ * console.log('End');
6253
+ * }
6254
+ *
6255
+ * foo();
6256
+ *
6257
+ * // With AbortSignal
6258
+ * const controller = new AbortController();
6259
+ * const { signal } = controller;
6260
+ *
6261
+ * setTimeout(() => controller.abort(), 50); // Will cancel the delay after 50ms
6262
+ * try {
6263
+ * await delay(100, { signal });
6264
+ * } catch (error) {
6265
+ * console.error(error); // Will log 'AbortError'
6266
+ * }
6267
+ * }
6268
+ */
6225
6269
  function delay(ms, { signal } = {}) {
6226
6270
  return new Promise((resolve, reject) => {
6227
6271
  const abortError = () => {
@@ -6240,7 +6284,49 @@ function delay(ms, { signal } = {}) {
6240
6284
  });
6241
6285
  }
6242
6286
  //#endregion
6243
- //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/predicate/isPlainObject.mjs
6287
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/predicate/isPlainObject.mjs
6288
+ /**
6289
+ * Checks if a given value is a plain object.
6290
+ *
6291
+ * @param {object} value - The value to check.
6292
+ * @returns {value is Record<PropertyKey, any>} - True if the value is a plain object, otherwise false.
6293
+ *
6294
+ * @example
6295
+ * ```typescript
6296
+ * // ✅👇 True
6297
+ *
6298
+ * isPlainObject({ }); // ✅
6299
+ * isPlainObject({ key: 'value' }); // ✅
6300
+ * isPlainObject({ key: new Date() }); // ✅
6301
+ * isPlainObject(new Object()); // ✅
6302
+ * isPlainObject(Object.create(null)); // ✅
6303
+ * isPlainObject({ nested: { key: true} }); // ✅
6304
+ * isPlainObject(new Proxy({}, {})); // ✅
6305
+ * isPlainObject({ [Symbol('tag')]: 'A' }); // ✅
6306
+ *
6307
+ * // ✅👇 (cross-realms, node context, workers, ...)
6308
+ * const runInNewContext = await import('node:vm').then(
6309
+ * (mod) => mod.runInNewContext
6310
+ * );
6311
+ * isPlainObject(runInNewContext('({})')); // ✅
6312
+ *
6313
+ * // ❌👇 False
6314
+ *
6315
+ * class Test { };
6316
+ * isPlainObject(new Test()) // ❌
6317
+ * isPlainObject(10); // ❌
6318
+ * isPlainObject(null); // ❌
6319
+ * isPlainObject('hello'); // ❌
6320
+ * isPlainObject([]); // ❌
6321
+ * isPlainObject(new Date()); // ❌
6322
+ * isPlainObject(new Uint8Array([1])); // ❌
6323
+ * isPlainObject(Buffer.from('ABC')); // ❌
6324
+ * isPlainObject(Promise.resolve({})); // ❌
6325
+ * isPlainObject(Object.create({})); // ❌
6326
+ * isPlainObject(new (class Cls {})); // ❌
6327
+ * isPlainObject(globalThis); // ❌,
6328
+ * ```
6329
+ */
6244
6330
  function isPlainObject(value) {
6245
6331
  if (!value || typeof value !== "object") return false;
6246
6332
  const proto = Object.getPrototypeOf(value);
@@ -6248,23 +6334,98 @@ function isPlainObject(value) {
6248
6334
  return Object.prototype.toString.call(value) === "[object Object]";
6249
6335
  }
6250
6336
  //#endregion
6251
- //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/object/merge.mjs
6337
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.mjs
6338
+ /**
6339
+ * Checks if a property key is unsafe to modify directly.
6340
+ *
6341
+ * This function is used in functions like `merge` to prevent prototype pollution attacks
6342
+ * by identifying property keys that could modify the object's prototype chain or constructor.
6343
+ *
6344
+ * @param key - The property key to check
6345
+ * @returns `true` if the property is unsafe to modify directly, `false` otherwise
6346
+ * @internal
6347
+ */
6348
+ function isUnsafeProperty(key) {
6349
+ return key === "__proto__";
6350
+ }
6351
+ //#endregion
6352
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/object/merge.mjs
6353
+ /**
6354
+ * Merges the properties of the source object into the target object.
6355
+ *
6356
+ * This function performs a deep merge, meaning nested objects and arrays are merged recursively.
6357
+ * If a property in the source object is an array or an object and the corresponding property in the target object is also an array or object, they will be merged.
6358
+ * If a property in the source object is undefined, it will not overwrite a defined property in the target object.
6359
+ *
6360
+ * Note that this function mutates the target object.
6361
+ *
6362
+ * @param {T} target - The target object into which the source object properties will be merged. This object is modified in place.
6363
+ * @param {S} source - The source object whose properties will be merged into the target object.
6364
+ * @returns {T & S} The updated target object with properties from the source object merged in.
6365
+ *
6366
+ * @template T - Type of the target object.
6367
+ * @template S - Type of the source object.
6368
+ *
6369
+ * @example
6370
+ * const target = { a: 1, b: { x: 1, y: 2 } };
6371
+ * const source = { b: { y: 3, z: 4 }, c: 5 };
6372
+ *
6373
+ * const result = merge(target, source);
6374
+ * console.log(result);
6375
+ * // Output: { a: 1, b: { x: 1, y: 3, z: 4 }, c: 5 }
6376
+ *
6377
+ * @example
6378
+ * const target = { a: [1, 2], b: { x: 1 } };
6379
+ * const source = { a: [3], b: { y: 2 } };
6380
+ *
6381
+ * const result = merge(target, source);
6382
+ * console.log(result);
6383
+ * // Output: { a: [3, 2], b: { x: 1, y: 2 } }
6384
+ *
6385
+ * @example
6386
+ * const target = { a: null };
6387
+ * const source = { a: [1, 2, 3] };
6388
+ *
6389
+ * const result = merge(target, source);
6390
+ * console.log(result);
6391
+ * // Output: { a: [1, 2, 3] }
6392
+ */
6252
6393
  function merge(target, source) {
6253
6394
  const sourceKeys = Object.keys(source);
6254
6395
  for (let i = 0; i < sourceKeys.length; i++) {
6255
6396
  const key = sourceKeys[i];
6397
+ if (isUnsafeProperty(key)) continue;
6256
6398
  const sourceValue = source[key];
6257
6399
  const targetValue = target[key];
6258
- if (Array.isArray(sourceValue)) if (Array.isArray(targetValue)) target[key] = merge(targetValue, sourceValue);
6259
- else target[key] = merge([], sourceValue);
6260
- else if (isPlainObject(sourceValue)) if (isPlainObject(targetValue)) target[key] = merge(targetValue, sourceValue);
6261
- else target[key] = merge({}, sourceValue);
6400
+ if (isMergeableValue(sourceValue) && isMergeableValue(targetValue)) target[key] = merge(targetValue, sourceValue);
6401
+ else if (Array.isArray(sourceValue)) target[key] = merge([], sourceValue);
6402
+ else if (isPlainObject(sourceValue)) target[key] = merge({}, sourceValue);
6262
6403
  else if (targetValue === void 0 || sourceValue !== void 0) target[key] = sourceValue;
6263
6404
  }
6264
6405
  return target;
6265
6406
  }
6407
+ function isMergeableValue(value) {
6408
+ return isPlainObject(value) || Array.isArray(value);
6409
+ }
6266
6410
  //#endregion
6267
- //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/object/omit.mjs
6411
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/object/omit.mjs
6412
+ /**
6413
+ * Creates a new object with specified keys omitted.
6414
+ *
6415
+ * This function takes an object and an array of keys, and returns a new object that
6416
+ * excludes the properties corresponding to the specified keys.
6417
+ *
6418
+ * @template T - The type of object.
6419
+ * @template K - The type of keys in object.
6420
+ * @param {T} obj - The object to omit keys from.
6421
+ * @param {K[]} keys - An array of keys to be omitted from the object.
6422
+ * @returns {Omit<T, K>} A new object with the specified keys omitted.
6423
+ *
6424
+ * @example
6425
+ * const obj = { a: 1, b: 2, c: 3 };
6426
+ * const result = omit(obj, ['b', 'c']);
6427
+ * // result will be { a: 1 }
6428
+ */
6268
6429
  function omit(obj, keys) {
6269
6430
  const result = { ...obj };
6270
6431
  for (let i = 0; i < keys.length; i++) {
@@ -7145,6 +7306,7 @@ var Migration0001HotUpdater0_18_0 = class extends S3Migration {
7145
7306
  const regionLocationMap = {
7146
7307
  "af-south-1": "Cape Town, South Africa",
7147
7308
  "ap-east-1": "Hong Kong",
7309
+ "ap-east-2": "Taipei, Taiwan",
7148
7310
  "ap-northeast-1": "Tokyo, Japan",
7149
7311
  "ap-northeast-2": "Seoul, South Korea",
7150
7312
  "ap-northeast-3": "Osaka, Japan",
@@ -7155,7 +7317,10 @@ const regionLocationMap = {
7155
7317
  "ap-southeast-3": "Jakarta, Indonesia",
7156
7318
  "ap-southeast-4": "Melbourne, Australia",
7157
7319
  "ap-southeast-5": "Auckland, New Zealand",
7320
+ "ap-southeast-6": "New Zealand",
7321
+ "ap-southeast-7": "Thailand",
7158
7322
  "ca-central-1": "Montreal, Canada",
7323
+ "ca-west-1": "Calgary, Canada",
7159
7324
  "cn-north-1": "Beijing, China",
7160
7325
  "cn-northwest-1": "Ningxia, China",
7161
7326
  "eu-central-1": "Frankfurt, Germany",
@@ -7168,6 +7333,7 @@ const regionLocationMap = {
7168
7333
  "il-central-1": "Tel Aviv, Israel",
7169
7334
  "me-central-1": "UAE",
7170
7335
  "me-south-1": "Bahrain",
7336
+ "mx-central-1": "Mexico",
7171
7337
  "sa-east-1": "São Paulo, Brazil",
7172
7338
  "us-east-1": "Virginia, USA",
7173
7339
  "us-east-2": "Ohio, USA",
@@ -623,7 +623,7 @@ const fallbackSymbols = {
623
623
  const figures = isUnicodeSupported() ? mainSymbols : fallbackSymbols;
624
624
  Object.entries(specialMainSymbols);
625
625
  //#endregion
626
- //#region ../../node_modules/.pnpm/yoctocolors@2.1.1/node_modules/yoctocolors/base.js
626
+ //#region ../../node_modules/.pnpm/yoctocolors@2.1.2/node_modules/yoctocolors/base.js
627
627
  const hasColors = tty?.WriteStream?.prototype?.hasColors?.() ?? false;
628
628
  const format = (open, close) => {
629
629
  if (!hasColors) return (input) => input;
@@ -635,8 +635,9 @@ const format = (open, close) => {
635
635
  if (index === -1) return openCode + string + closeCode;
636
636
  let result = openCode;
637
637
  let lastIndex = 0;
638
+ const replaceCode = (close === 22 ? closeCode : "") + openCode;
638
639
  while (index !== -1) {
639
- result += string.slice(lastIndex, index) + openCode;
640
+ result += string.slice(lastIndex, index) + replaceCode;
640
641
  lastIndex = index + closeCode.length;
641
642
  index = string.indexOf(closeCode, lastIndex);
642
643
  }
@@ -3036,7 +3037,7 @@ function parseMilliseconds(milliseconds) {
3036
3037
  throw new TypeError("Expected a finite number or bigint");
3037
3038
  }
3038
3039
  //#endregion
3039
- //#region ../../node_modules/.pnpm/pretty-ms@9.2.0/node_modules/pretty-ms/index.js
3040
+ //#region ../../node_modules/.pnpm/pretty-ms@9.3.0/node_modules/pretty-ms/index.js
3040
3041
  const isZero = (value) => value === 0 || value === 0n;
3041
3042
  const pluralize = (word, count) => count === 1 || count === 1n ? word : `${word}s`;
3042
3043
  const SECOND_ROUNDING_EPSILON = 1e-7;
@@ -3085,7 +3086,7 @@ function prettyMilliseconds(milliseconds, options) {
3085
3086
  add(Number(parsed.hours), "hour", "h");
3086
3087
  }
3087
3088
  add(Number(parsed.minutes), "minute", "m");
3088
- if (!options.hideSeconds) if (options.separateMilliseconds || options.formatSubMilliseconds || !options.colonNotation && milliseconds < 1e3) {
3089
+ if (!options.hideSeconds) if (options.separateMilliseconds || options.formatSubMilliseconds || !options.colonNotation && milliseconds < 1e3 && !options.subSecondsAsDecimals) {
3089
3090
  const seconds = Number(parsed.seconds);
3090
3091
  const milliseconds = Number(parsed.milliseconds);
3091
3092
  const microseconds = Number(parsed.microseconds);
@@ -6208,15 +6209,58 @@ createExeca(mapNode);
6208
6209
  createExeca(mapScriptAsync, {}, deepScriptOptions, setScriptSync);
6209
6210
  const { sendMessage, getOneMessage, getEachMessage, getCancelSignal } = getIpcExport();
6210
6211
  //#endregion
6211
- //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/error/AbortError.mjs
6212
- var AbortError = class extends Error {
6212
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/_internal/globalThis.mjs
6213
+ const globalThis_ = typeof globalThis === "object" && globalThis || typeof window === "object" && window || typeof self === "object" && self || typeof global === "object" && global || (function() {
6214
+ return this;
6215
+ })() || Function("return this")();
6216
+ //#endregion
6217
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/_internal/DOMException.mjs
6218
+ const DOMException$1 = typeof globalThis_.DOMException !== "undefined" ? globalThis_.DOMException : Error;
6219
+ //#endregion
6220
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/error/AbortError.mjs
6221
+ /**
6222
+ * An error class representing an aborted operation.
6223
+ * @augments DOMException
6224
+ */
6225
+ var AbortError = class extends DOMException$1 {
6213
6226
  constructor(message = "The operation was aborted") {
6214
6227
  super(message);
6215
- this.name = "AbortError";
6216
6228
  }
6217
6229
  };
6218
6230
  //#endregion
6219
- //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/promise/delay.mjs
6231
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/promise/delay.mjs
6232
+ /**
6233
+ * Delays the execution of code for a specified number of milliseconds.
6234
+ *
6235
+ * This function returns a Promise that resolves after the specified delay, allowing you to use it
6236
+ * with async/await to pause execution.
6237
+ *
6238
+ * @param {number} ms - The number of milliseconds to delay.
6239
+ * @param {DelayOptions} options - The options object.
6240
+ * @param {AbortSignal} options.signal - An optional AbortSignal to cancel the delay.
6241
+ * @returns {Promise<void>} A Promise that resolves after the specified delay.
6242
+ *
6243
+ * @example
6244
+ * async function foo() {
6245
+ * console.log('Start');
6246
+ * await delay(1000); // Delays execution for 1 second
6247
+ * console.log('End');
6248
+ * }
6249
+ *
6250
+ * foo();
6251
+ *
6252
+ * // With AbortSignal
6253
+ * const controller = new AbortController();
6254
+ * const { signal } = controller;
6255
+ *
6256
+ * setTimeout(() => controller.abort(), 50); // Will cancel the delay after 50ms
6257
+ * try {
6258
+ * await delay(100, { signal });
6259
+ * } catch (error) {
6260
+ * console.error(error); // Will log 'AbortError'
6261
+ * }
6262
+ * }
6263
+ */
6220
6264
  function delay(ms, { signal } = {}) {
6221
6265
  return new Promise((resolve, reject) => {
6222
6266
  const abortError = () => {
@@ -6235,7 +6279,49 @@ function delay(ms, { signal } = {}) {
6235
6279
  });
6236
6280
  }
6237
6281
  //#endregion
6238
- //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/predicate/isPlainObject.mjs
6282
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/predicate/isPlainObject.mjs
6283
+ /**
6284
+ * Checks if a given value is a plain object.
6285
+ *
6286
+ * @param {object} value - The value to check.
6287
+ * @returns {value is Record<PropertyKey, any>} - True if the value is a plain object, otherwise false.
6288
+ *
6289
+ * @example
6290
+ * ```typescript
6291
+ * // ✅👇 True
6292
+ *
6293
+ * isPlainObject({ }); // ✅
6294
+ * isPlainObject({ key: 'value' }); // ✅
6295
+ * isPlainObject({ key: new Date() }); // ✅
6296
+ * isPlainObject(new Object()); // ✅
6297
+ * isPlainObject(Object.create(null)); // ✅
6298
+ * isPlainObject({ nested: { key: true} }); // ✅
6299
+ * isPlainObject(new Proxy({}, {})); // ✅
6300
+ * isPlainObject({ [Symbol('tag')]: 'A' }); // ✅
6301
+ *
6302
+ * // ✅👇 (cross-realms, node context, workers, ...)
6303
+ * const runInNewContext = await import('node:vm').then(
6304
+ * (mod) => mod.runInNewContext
6305
+ * );
6306
+ * isPlainObject(runInNewContext('({})')); // ✅
6307
+ *
6308
+ * // ❌👇 False
6309
+ *
6310
+ * class Test { };
6311
+ * isPlainObject(new Test()) // ❌
6312
+ * isPlainObject(10); // ❌
6313
+ * isPlainObject(null); // ❌
6314
+ * isPlainObject('hello'); // ❌
6315
+ * isPlainObject([]); // ❌
6316
+ * isPlainObject(new Date()); // ❌
6317
+ * isPlainObject(new Uint8Array([1])); // ❌
6318
+ * isPlainObject(Buffer.from('ABC')); // ❌
6319
+ * isPlainObject(Promise.resolve({})); // ❌
6320
+ * isPlainObject(Object.create({})); // ❌
6321
+ * isPlainObject(new (class Cls {})); // ❌
6322
+ * isPlainObject(globalThis); // ❌,
6323
+ * ```
6324
+ */
6239
6325
  function isPlainObject(value) {
6240
6326
  if (!value || typeof value !== "object") return false;
6241
6327
  const proto = Object.getPrototypeOf(value);
@@ -6243,23 +6329,98 @@ function isPlainObject(value) {
6243
6329
  return Object.prototype.toString.call(value) === "[object Object]";
6244
6330
  }
6245
6331
  //#endregion
6246
- //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/object/merge.mjs
6332
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.mjs
6333
+ /**
6334
+ * Checks if a property key is unsafe to modify directly.
6335
+ *
6336
+ * This function is used in functions like `merge` to prevent prototype pollution attacks
6337
+ * by identifying property keys that could modify the object's prototype chain or constructor.
6338
+ *
6339
+ * @param key - The property key to check
6340
+ * @returns `true` if the property is unsafe to modify directly, `false` otherwise
6341
+ * @internal
6342
+ */
6343
+ function isUnsafeProperty(key) {
6344
+ return key === "__proto__";
6345
+ }
6346
+ //#endregion
6347
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/object/merge.mjs
6348
+ /**
6349
+ * Merges the properties of the source object into the target object.
6350
+ *
6351
+ * This function performs a deep merge, meaning nested objects and arrays are merged recursively.
6352
+ * If a property in the source object is an array or an object and the corresponding property in the target object is also an array or object, they will be merged.
6353
+ * If a property in the source object is undefined, it will not overwrite a defined property in the target object.
6354
+ *
6355
+ * Note that this function mutates the target object.
6356
+ *
6357
+ * @param {T} target - The target object into which the source object properties will be merged. This object is modified in place.
6358
+ * @param {S} source - The source object whose properties will be merged into the target object.
6359
+ * @returns {T & S} The updated target object with properties from the source object merged in.
6360
+ *
6361
+ * @template T - Type of the target object.
6362
+ * @template S - Type of the source object.
6363
+ *
6364
+ * @example
6365
+ * const target = { a: 1, b: { x: 1, y: 2 } };
6366
+ * const source = { b: { y: 3, z: 4 }, c: 5 };
6367
+ *
6368
+ * const result = merge(target, source);
6369
+ * console.log(result);
6370
+ * // Output: { a: 1, b: { x: 1, y: 3, z: 4 }, c: 5 }
6371
+ *
6372
+ * @example
6373
+ * const target = { a: [1, 2], b: { x: 1 } };
6374
+ * const source = { a: [3], b: { y: 2 } };
6375
+ *
6376
+ * const result = merge(target, source);
6377
+ * console.log(result);
6378
+ * // Output: { a: [3, 2], b: { x: 1, y: 2 } }
6379
+ *
6380
+ * @example
6381
+ * const target = { a: null };
6382
+ * const source = { a: [1, 2, 3] };
6383
+ *
6384
+ * const result = merge(target, source);
6385
+ * console.log(result);
6386
+ * // Output: { a: [1, 2, 3] }
6387
+ */
6247
6388
  function merge(target, source) {
6248
6389
  const sourceKeys = Object.keys(source);
6249
6390
  for (let i = 0; i < sourceKeys.length; i++) {
6250
6391
  const key = sourceKeys[i];
6392
+ if (isUnsafeProperty(key)) continue;
6251
6393
  const sourceValue = source[key];
6252
6394
  const targetValue = target[key];
6253
- if (Array.isArray(sourceValue)) if (Array.isArray(targetValue)) target[key] = merge(targetValue, sourceValue);
6254
- else target[key] = merge([], sourceValue);
6255
- else if (isPlainObject(sourceValue)) if (isPlainObject(targetValue)) target[key] = merge(targetValue, sourceValue);
6256
- else target[key] = merge({}, sourceValue);
6395
+ if (isMergeableValue(sourceValue) && isMergeableValue(targetValue)) target[key] = merge(targetValue, sourceValue);
6396
+ else if (Array.isArray(sourceValue)) target[key] = merge([], sourceValue);
6397
+ else if (isPlainObject(sourceValue)) target[key] = merge({}, sourceValue);
6257
6398
  else if (targetValue === void 0 || sourceValue !== void 0) target[key] = sourceValue;
6258
6399
  }
6259
6400
  return target;
6260
6401
  }
6402
+ function isMergeableValue(value) {
6403
+ return isPlainObject(value) || Array.isArray(value);
6404
+ }
6261
6405
  //#endregion
6262
- //#region ../../node_modules/.pnpm/es-toolkit@1.32.0/node_modules/es-toolkit/dist/object/omit.mjs
6406
+ //#region ../../node_modules/.pnpm/es-toolkit@1.47.0/node_modules/es-toolkit/dist/object/omit.mjs
6407
+ /**
6408
+ * Creates a new object with specified keys omitted.
6409
+ *
6410
+ * This function takes an object and an array of keys, and returns a new object that
6411
+ * excludes the properties corresponding to the specified keys.
6412
+ *
6413
+ * @template T - The type of object.
6414
+ * @template K - The type of keys in object.
6415
+ * @param {T} obj - The object to omit keys from.
6416
+ * @param {K[]} keys - An array of keys to be omitted from the object.
6417
+ * @returns {Omit<T, K>} A new object with the specified keys omitted.
6418
+ *
6419
+ * @example
6420
+ * const obj = { a: 1, b: 2, c: 3 };
6421
+ * const result = omit(obj, ['b', 'c']);
6422
+ * // result will be { a: 1 }
6423
+ */
6263
6424
  function omit(obj, keys) {
6264
6425
  const result = { ...obj };
6265
6426
  for (let i = 0; i < keys.length; i++) {
@@ -7140,6 +7301,7 @@ var Migration0001HotUpdater0_18_0 = class extends S3Migration {
7140
7301
  const regionLocationMap = {
7141
7302
  "af-south-1": "Cape Town, South Africa",
7142
7303
  "ap-east-1": "Hong Kong",
7304
+ "ap-east-2": "Taipei, Taiwan",
7143
7305
  "ap-northeast-1": "Tokyo, Japan",
7144
7306
  "ap-northeast-2": "Seoul, South Korea",
7145
7307
  "ap-northeast-3": "Osaka, Japan",
@@ -7150,7 +7312,10 @@ const regionLocationMap = {
7150
7312
  "ap-southeast-3": "Jakarta, Indonesia",
7151
7313
  "ap-southeast-4": "Melbourne, Australia",
7152
7314
  "ap-southeast-5": "Auckland, New Zealand",
7315
+ "ap-southeast-6": "New Zealand",
7316
+ "ap-southeast-7": "Thailand",
7153
7317
  "ca-central-1": "Montreal, Canada",
7318
+ "ca-west-1": "Calgary, Canada",
7154
7319
  "cn-north-1": "Beijing, China",
7155
7320
  "cn-northwest-1": "Ningxia, China",
7156
7321
  "eu-central-1": "Frankfurt, Germany",
@@ -7163,6 +7328,7 @@ const regionLocationMap = {
7163
7328
  "il-central-1": "Tel Aviv, Israel",
7164
7329
  "me-central-1": "UAE",
7165
7330
  "me-south-1": "Bahrain",
7331
+ "mx-central-1": "Mexico",
7166
7332
  "sa-east-1": "São Paulo, Brazil",
7167
7333
  "us-east-1": "Virginia, USA",
7168
7334
  "us-east-2": "Ohio, USA",