@psnext/slingcli 2.4.20260521-1 → 2.4.20260521-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.
Files changed (88) hide show
  1. package/node_modules/@aws-sdk/core/package.json +5 -5
  2. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  3. package/node_modules/@aws-sdk/credential-provider-http/package.json +7 -7
  4. package/node_modules/@aws-sdk/credential-provider-ini/package.json +12 -12
  5. package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
  6. package/node_modules/@aws-sdk/credential-provider-node/package.json +10 -10
  7. package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
  8. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +6 -6
  9. package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
  10. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
  11. package/node_modules/@aws-sdk/eventstream-handler-node/package.json +4 -4
  12. package/node_modules/@aws-sdk/middleware-eventstream/package.json +4 -4
  13. package/node_modules/@aws-sdk/middleware-websocket/package.json +6 -6
  14. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  15. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  16. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  17. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  18. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  19. package/node_modules/@aws-sdk/nested-clients/package.json +8 -8
  20. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +4 -4
  21. package/node_modules/@aws-sdk/types/package.json +2 -2
  22. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  23. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +45 -9
  24. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  25. package/node_modules/@protobufjs/eventemitter/CHANGELOG.md +8 -0
  26. package/node_modules/@protobufjs/eventemitter/index.d.ts +10 -8
  27. package/node_modules/@protobufjs/eventemitter/index.js +17 -7
  28. package/node_modules/@protobufjs/eventemitter/package.json +2 -2
  29. package/node_modules/@protobufjs/eventemitter/tests/index.js +39 -3
  30. package/node_modules/@smithy/core/cbor.d.ts +1 -3
  31. package/node_modules/@smithy/core/cbor.js +0 -1
  32. package/node_modules/@smithy/core/checksum.d.ts +2 -2
  33. package/node_modules/@smithy/core/checksum.js +1 -1
  34. package/node_modules/@smithy/core/client.d.ts +1 -3
  35. package/node_modules/@smithy/core/client.js +0 -1
  36. package/node_modules/@smithy/core/config.d.ts +2 -2
  37. package/node_modules/@smithy/core/config.js +1 -1
  38. package/node_modules/@smithy/core/endpoints.d.ts +1 -3
  39. package/node_modules/@smithy/core/endpoints.js +0 -1
  40. package/node_modules/@smithy/core/event-streams.d.ts +1 -3
  41. package/node_modules/@smithy/core/event-streams.js +0 -1
  42. package/node_modules/@smithy/core/package.json +1 -1
  43. package/node_modules/@smithy/core/protocols.d.ts +1 -3
  44. package/node_modules/@smithy/core/protocols.js +0 -1
  45. package/node_modules/@smithy/core/retry.d.ts +2 -2
  46. package/node_modules/@smithy/core/retry.js +1 -1
  47. package/node_modules/@smithy/core/schema.d.ts +1 -3
  48. package/node_modules/@smithy/core/schema.js +0 -1
  49. package/node_modules/@smithy/core/serde.d.ts +1 -3
  50. package/node_modules/@smithy/core/serde.js +0 -1
  51. package/node_modules/@smithy/credential-provider-imds/package.json +2 -2
  52. package/node_modules/@smithy/fetch-http-handler/package.json +2 -2
  53. package/node_modules/@smithy/node-http-handler/package.json +2 -2
  54. package/node_modules/@smithy/signature-v4/package.json +2 -2
  55. package/node_modules/protobufjs/dist/light/protobuf.js +127 -69
  56. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  57. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  58. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  59. package/node_modules/protobufjs/dist/minimal/protobuf.js +62 -25
  60. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  61. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  62. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  63. package/node_modules/protobufjs/dist/protobuf.js +148 -76
  64. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  65. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  66. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  67. package/node_modules/protobufjs/ext/descriptor/index.js +7 -2
  68. package/node_modules/protobufjs/index.d.ts +12 -3
  69. package/node_modules/protobufjs/package.json +2 -2
  70. package/node_modules/protobufjs/src/converter.js +8 -5
  71. package/node_modules/protobufjs/src/encoder.js +8 -5
  72. package/node_modules/protobufjs/src/enum.js +2 -2
  73. package/node_modules/protobufjs/src/field.js +1 -1
  74. package/node_modules/protobufjs/src/namespace.js +2 -0
  75. package/node_modules/protobufjs/src/object.js +6 -6
  76. package/node_modules/protobufjs/src/parse.js +19 -5
  77. package/node_modules/protobufjs/src/root.js +14 -8
  78. package/node_modules/protobufjs/src/type.js +8 -5
  79. package/node_modules/protobufjs/src/util/minimal.js +32 -7
  80. package/node_modules/protobufjs/src/util/patterns.js +0 -1
  81. package/node_modules/protobufjs/src/util.js +4 -3
  82. package/node_modules/protobufjs/src/wrappers.js +11 -7
  83. package/node_modules/protobufjs/src/writer.js +11 -9
  84. package/node_modules/semver/classes/range.js +7 -0
  85. package/node_modules/semver/package.json +1 -1
  86. package/node_modules/semver/ranges/subset.js +2 -2
  87. package/package.json +2 -2
  88. package/slingshot/index.js +78 -78
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * protobuf.js v7.6.0 (c) 2016, daniel wirtz
3
- * compiled mon, 18 may 2026 18:11:08 utc
2
+ * protobuf.js v7.6.1 (c) 2016, daniel wirtz
3
+ * compiled fri, 22 may 2026 02:52:08 utc
4
4
  * licensed under the bsd-3-clause license
5
5
  * see: https://github.com/dcodeio/protobuf.js for details
6
6
  */
@@ -363,15 +363,23 @@ function EventEmitter() {
363
363
  * @type {Object.<string,*>}
364
364
  * @private
365
365
  */
366
- this._listeners = {};
366
+ this._listeners = Object.create(null);
367
367
  }
368
368
 
369
+ /**
370
+ * Event listener as used by {@link util.EventEmitter}.
371
+ * @typedef EventEmitterListener
372
+ * @type {function}
373
+ * @param {...*} args Arguments
374
+ * @returns {undefined}
375
+ */
376
+
369
377
  /**
370
378
  * Registers an event listener.
371
379
  * @param {string} evt Event name
372
- * @param {function} fn Listener
380
+ * @param {EventEmitterListener} fn Listener
373
381
  * @param {*} [ctx] Listener context
374
- * @returns {util.EventEmitter} `this`
382
+ * @returns {this} `this`
375
383
  */
376
384
  EventEmitter.prototype.on = function on(evt, fn, ctx) {
377
385
  (this._listeners[evt] || (this._listeners[evt] = [])).push({
@@ -384,17 +392,19 @@ EventEmitter.prototype.on = function on(evt, fn, ctx) {
384
392
  /**
385
393
  * Removes an event listener or any matching listeners if arguments are omitted.
386
394
  * @param {string} [evt] Event name. Removes all listeners if omitted.
387
- * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
388
- * @returns {util.EventEmitter} `this`
395
+ * @param {EventEmitterListener} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
396
+ * @returns {this} `this`
389
397
  */
390
398
  EventEmitter.prototype.off = function off(evt, fn) {
391
399
  if (evt === undefined)
392
- this._listeners = {};
400
+ this._listeners = Object.create(null);
393
401
  else {
394
402
  if (fn === undefined)
395
403
  this._listeners[evt] = [];
396
404
  else {
397
405
  var listeners = this._listeners[evt];
406
+ if (!listeners)
407
+ return this;
398
408
  for (var i = 0; i < listeners.length;)
399
409
  if (listeners[i].fn === fn)
400
410
  listeners.splice(i, 1);
@@ -409,7 +419,7 @@ EventEmitter.prototype.off = function off(evt, fn) {
409
419
  * Emits an event by calling its listeners with the specified arguments.
410
420
  * @param {string} evt Event name
411
421
  * @param {...*} args Arguments
412
- * @returns {util.EventEmitter} `this`
422
+ * @returns {this} `this`
413
423
  */
414
424
  EventEmitter.prototype.emit = function emit(evt) {
415
425
  var listeners = this._listeners[evt];
@@ -1217,14 +1227,14 @@ function genValuePartial_fromObject(gen, field, fieldIndex, prop) {
1217
1227
  ("m%s=d%s|0", prop, prop);
1218
1228
  break;
1219
1229
  case "uint64":
1230
+ case "fixed64":
1220
1231
  isUnsigned = true;
1221
1232
  // eslint-disable-next-line no-fallthrough
1222
1233
  case "int64":
1223
1234
  case "sint64":
1224
- case "fixed64":
1225
1235
  case "sfixed64": gen
1226
1236
  ("if(util.Long)")
1227
- ("(m%s=util.Long.fromValue(d%s)).unsigned=%j", prop, prop, isUnsigned)
1237
+ ("m%s=util.Long.fromValue(d%s,%j)", prop, prop, isUnsigned)
1228
1238
  ("else if(typeof d%s===\"string\")", prop)
1229
1239
  ("m%s=parseInt(d%s,10)", prop, prop)
1230
1240
  ("else if(typeof d%s===\"number\")", prop)
@@ -1328,7 +1338,7 @@ function genValuePartial_toObject(gen, field, fieldIndex, prop) {
1328
1338
  if (field.resolvedType instanceof Enum) gen
1329
1339
  ("d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s", prop, fieldIndex, prop, prop, fieldIndex, prop, prop);
1330
1340
  else gen
1331
- ("d%s=types[%i].toObject(m%s,o)", prop, fieldIndex, prop);
1341
+ ("d%s=types[%i].toObject(m%s,o,q+1)", prop, fieldIndex, prop);
1332
1342
  } else {
1333
1343
  var isUnsigned = false;
1334
1344
  switch (field.type) {
@@ -1337,11 +1347,11 @@ function genValuePartial_toObject(gen, field, fieldIndex, prop) {
1337
1347
  ("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s", prop, prop, prop, prop);
1338
1348
  break;
1339
1349
  case "uint64":
1350
+ case "fixed64":
1340
1351
  isUnsigned = true;
1341
1352
  // eslint-disable-next-line no-fallthrough
1342
1353
  case "int64":
1343
1354
  case "sint64":
1344
- case "fixed64":
1345
1355
  case "sfixed64": gen
1346
1356
  ("if(typeof BigInt!==\"undefined\"&&o.longs===BigInt)")
1347
1357
  ("d%s=typeof m%s===\"number\"?BigInt(m%s):util.Long.fromBits(m%s.low>>>0,m%s.high>>>0,%j).toBigInt()", prop, prop, prop, prop, prop, isUnsigned)
@@ -1372,9 +1382,12 @@ converter.toObject = function toObject(mtype) {
1372
1382
  var fields = mtype.fieldsArray.slice().sort(util.compareFieldsById);
1373
1383
  if (!fields.length)
1374
1384
  return util.codegen()("return {}");
1375
- var gen = util.codegen(["m", "o"], mtype.name + "$toObject")
1385
+ var gen = util.codegen(["m", "o", "q"], mtype.name + "$toObject")
1376
1386
  ("if(!o)")
1377
1387
  ("o={}")
1388
+ ("if(q===undefined)q=0")
1389
+ ("if(q>util.recursionLimit)")
1390
+ ("throw Error(\"max depth exceeded\")")
1378
1391
  ("var d={}");
1379
1392
 
1380
1393
  var repeatedFields = [],
@@ -1623,8 +1636,8 @@ var Enum = require(16),
1623
1636
  */
1624
1637
  function genTypePartial(gen, field, fieldIndex, ref) {
1625
1638
  return field.delimited
1626
- ? gen("types[%i].encode(%s,w.uint32(%i)).uint32(%i)", fieldIndex, ref, (field.id << 3 | 3) >>> 0, (field.id << 3 | 4) >>> 0)
1627
- : gen("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()", fieldIndex, ref, (field.id << 3 | 2) >>> 0);
1639
+ ? gen("types[%i].encode(%s,w.uint32(%i),q+1).uint32(%i)", fieldIndex, ref, (field.id << 3 | 3) >>> 0, (field.id << 3 | 4) >>> 0)
1640
+ : gen("types[%i].encode(%s,w.uint32(%i).fork(),q+1).ldelim()", fieldIndex, ref, (field.id << 3 | 2) >>> 0);
1628
1641
  }
1629
1642
 
1630
1643
  /**
@@ -1634,9 +1647,12 @@ function genTypePartial(gen, field, fieldIndex, ref) {
1634
1647
  */
1635
1648
  function encoder(mtype) {
1636
1649
  /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */
1637
- var gen = util.codegen(["m", "w"], mtype.name + "$encode")
1650
+ var gen = util.codegen(["m", "w", "q"], mtype.name + "$encode")
1638
1651
  ("if(!w)")
1639
- ("w=Writer.create()");
1652
+ ("w=Writer.create()")
1653
+ ("if(q===undefined)q=0")
1654
+ ("if(q>util.recursionLimit)")
1655
+ ("throw Error(\"max depth exceeded\")");
1640
1656
 
1641
1657
  var i, ref;
1642
1658
 
@@ -1657,7 +1673,7 @@ function encoder(mtype) {
1657
1673
  ("for(var ks=Object.keys(%s),i=0;i<ks.length;++i){", ref)
1658
1674
  ("w.uint32(%i).fork().uint32(%i).%s(ks[i])", (field.id << 3 | 2) >>> 0, 8 | types.mapKey[field.keyType], field.keyType);
1659
1675
  if (wireType === undefined) gen
1660
- ("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()", index, ref); // can't be groups
1676
+ ("types[%i].encode(%s[ks[i]],w.uint32(18).fork(),q+1).ldelim().ldelim()", index, ref); // can't be groups
1661
1677
  else gen
1662
1678
  (".uint32(%i).%s(%s[ks[i]]).ldelim()", 16 | wireType, type, ref);
1663
1679
  gen
@@ -1795,8 +1811,8 @@ Enum.prototype._resolveFeatures = function _resolveFeatures(edition) {
1795
1811
  ReflectionObject.prototype._resolveFeatures.call(this, edition);
1796
1812
 
1797
1813
  Object.keys(this.values).forEach(key => {
1798
- var parentFeaturesCopy = Object.assign({}, this._features);
1799
- this._valuesFeatures[key] = Object.assign(parentFeaturesCopy, this.valuesOptions && this.valuesOptions[key] && this.valuesOptions[key].features);
1814
+ var parentFeaturesCopy = util.merge({}, this._features);
1815
+ this._valuesFeatures[key] = util.merge(parentFeaturesCopy, this.valuesOptions && this.valuesOptions[key] && this.valuesOptions[key].features || {});
1800
1816
  });
1801
1817
 
1802
1818
  return this;
@@ -2265,7 +2281,7 @@ Field.prototype.resolve = function resolve() {
2265
2281
 
2266
2282
  // convert to internal data type if necesssary
2267
2283
  if (this.long) {
2268
- this.typeDefault = util.Long.fromNumber(this.typeDefault, this.type.charAt(0) === "u");
2284
+ this.typeDefault = util.Long.fromNumber(this.typeDefault, this.type === "uint64" || this.type === "fixed64");
2269
2285
 
2270
2286
  /* istanbul ignore else */
2271
2287
  if (Object.freeze)
@@ -3308,6 +3324,8 @@ Namespace.prototype.define = function define(path, json) {
3308
3324
  throw TypeError("illegal path");
3309
3325
  if (path && path.length && path[0] === "")
3310
3326
  throw Error("path must be relative");
3327
+ if (path.length > util.recursionLimit)
3328
+ throw Error("max depth exceeded");
3311
3329
 
3312
3330
  var ptr = this;
3313
3331
  while (path.length > 0) {
@@ -3742,7 +3760,7 @@ ReflectionObject.prototype._resolveFeatures = function _resolveFeatures(edition)
3742
3760
  throw new Error("Unknown edition for " + this.fullName);
3743
3761
  }
3744
3762
 
3745
- var protoFeatures = Object.assign(this.options ? Object.assign({}, this.options.features) : {},
3763
+ var protoFeatures = util.merge({}, this.options && this.options.features,
3746
3764
  this._inferLegacyProtoFeatures(edition));
3747
3765
 
3748
3766
  if (this._edition) {
@@ -3757,7 +3775,7 @@ ReflectionObject.prototype._resolveFeatures = function _resolveFeatures(edition)
3757
3775
  } else {
3758
3776
  throw new Error("Unknown edition: " + edition);
3759
3777
  }
3760
- this._features = Object.assign(defaults, protoFeatures || {});
3778
+ this._features = util.merge(defaults, protoFeatures);
3761
3779
  this._featuresResolved = true;
3762
3780
  return;
3763
3781
  }
@@ -3766,13 +3784,13 @@ ReflectionObject.prototype._resolveFeatures = function _resolveFeatures(edition)
3766
3784
  // special-case it
3767
3785
  /* istanbul ignore else */
3768
3786
  if (this.partOf instanceof OneOf) {
3769
- var lexicalParentFeaturesCopy = Object.assign({}, this.partOf._features);
3770
- this._features = Object.assign(lexicalParentFeaturesCopy, protoFeatures || {});
3787
+ var lexicalParentFeaturesCopy = util.merge({}, this.partOf._features);
3788
+ this._features = util.merge(lexicalParentFeaturesCopy, protoFeatures);
3771
3789
  } else if (this.declaringField) {
3772
3790
  // Skip feature resolution of sister fields.
3773
3791
  } else if (this.parent) {
3774
- var parentFeaturesCopy = Object.assign({}, this.parent._features);
3775
- this._features = Object.assign(parentFeaturesCopy, protoFeatures || {});
3792
+ var parentFeaturesCopy = util.merge({}, this.parent._features);
3793
+ this._features = util.merge(parentFeaturesCopy, protoFeatures);
3776
3794
  } else {
3777
3795
  throw new Error("Unable to find a parent for " + this.fullName);
3778
3796
  }
@@ -4756,8 +4774,12 @@ Root.prototype.load = function load(filename, options, callback) {
4756
4774
  }
4757
4775
 
4758
4776
  // Processes a single file
4759
- function process(filename, source) {
4777
+ function process(filename, source, depth) {
4778
+ if (depth === undefined)
4779
+ depth = 0;
4760
4780
  try {
4781
+ if (depth > util.recursionLimit)
4782
+ throw Error("max depth exceeded");
4761
4783
  if (util.isString(source) && source.charAt(0) === "{")
4762
4784
  source = JSON.parse(source);
4763
4785
  if (!util.isString(source))
@@ -4770,11 +4792,11 @@ Root.prototype.load = function load(filename, options, callback) {
4770
4792
  if (parsed.imports)
4771
4793
  for (; i < parsed.imports.length; ++i)
4772
4794
  if (resolved = getBundledFileName(parsed.imports[i]) || self.resolvePath(filename, parsed.imports[i]))
4773
- fetch(resolved);
4795
+ fetch(resolved, false, depth + 1);
4774
4796
  if (parsed.weakImports)
4775
4797
  for (i = 0; i < parsed.weakImports.length; ++i)
4776
4798
  if (resolved = getBundledFileName(parsed.weakImports[i]) || self.resolvePath(filename, parsed.weakImports[i]))
4777
- fetch(resolved, true);
4799
+ fetch(resolved, true, depth + 1);
4778
4800
  }
4779
4801
  } catch (err) {
4780
4802
  finish(err);
@@ -4785,7 +4807,9 @@ Root.prototype.load = function load(filename, options, callback) {
4785
4807
  }
4786
4808
 
4787
4809
  // Fetches a single file
4788
- function fetch(filename, weak) {
4810
+ function fetch(filename, weak, depth) {
4811
+ if (depth === undefined)
4812
+ depth = 0;
4789
4813
  filename = getBundledFileName(filename) || filename;
4790
4814
 
4791
4815
  // Skip if already loaded / attempted
@@ -4797,12 +4821,12 @@ Root.prototype.load = function load(filename, options, callback) {
4797
4821
  // Shortcut bundled definitions
4798
4822
  if (filename in common) {
4799
4823
  if (sync) {
4800
- process(filename, common[filename]);
4824
+ process(filename, common[filename], depth);
4801
4825
  } else {
4802
4826
  ++queued;
4803
4827
  setTimeout(function() {
4804
4828
  --queued;
4805
- process(filename, common[filename]);
4829
+ process(filename, common[filename], depth);
4806
4830
  });
4807
4831
  }
4808
4832
  return;
@@ -4818,7 +4842,7 @@ Root.prototype.load = function load(filename, options, callback) {
4818
4842
  finish(err);
4819
4843
  return;
4820
4844
  }
4821
- process(filename, source);
4845
+ process(filename, source, depth);
4822
4846
  } else {
4823
4847
  ++queued;
4824
4848
  self.fetch(filename, function(err, source) {
@@ -4835,7 +4859,7 @@ Root.prototype.load = function load(filename, options, callback) {
4835
4859
  finish(null, self);
4836
4860
  return;
4837
4861
  }
4838
- process(filename, source);
4862
+ process(filename, source, depth);
4839
4863
  });
4840
4864
  }
4841
4865
  }
@@ -5662,7 +5686,10 @@ function clearCache(type) {
5662
5686
  * @returns {Type} Created message type
5663
5687
  */
5664
5688
  Type.fromJSON = function fromJSON(name, json, depth) {
5665
- depth = util.checkDepth(depth);
5689
+ if (depth === undefined)
5690
+ depth = 0;
5691
+ if (depth > util.nestingLimit)
5692
+ throw Error("max depth exceeded");
5666
5693
  var type = new Type(name, json.options);
5667
5694
  type.extensions = json.extensions;
5668
5695
  type.reserved = json.reserved;
@@ -5940,8 +5967,8 @@ Type.prototype.setup = function setup() {
5940
5967
  * @param {Writer} [writer] Writer to encode to
5941
5968
  * @returns {Writer} writer
5942
5969
  */
5943
- Type.prototype.encode = function encode_setup(message, writer) {
5944
- return this.setup().encode(message, writer); // overrides this method
5970
+ Type.prototype.encode = function encode_setup(message, writer) { // eslint-disable-line no-unused-vars
5971
+ return this.setup().encode.apply(this, arguments); // overrides this method
5945
5972
  };
5946
5973
 
5947
5974
  /**
@@ -6026,8 +6053,8 @@ Type.prototype.fromObject = function fromObject(object, depth) {
6026
6053
  * @param {IConversionOptions} [options] Conversion options
6027
6054
  * @returns {Object.<string,*>} Plain object
6028
6055
  */
6029
- Type.prototype.toObject = function toObject(message, options) {
6030
- return this.setup().toObject(message, options);
6056
+ Type.prototype.toObject = function toObject(message, options) { // eslint-disable-line no-unused-vars
6057
+ return this.setup().toObject.apply(this, arguments);
6031
6058
  };
6032
6059
 
6033
6060
  /**
@@ -6268,8 +6295,7 @@ util.fetch = require(5);
6268
6295
  util.path = require(9);
6269
6296
  util.patterns = require(39);
6270
6297
 
6271
- var reservedRe = util.patterns.reservedRe,
6272
- unsafePropertyRe = util.patterns.unsafePropertyRe;
6298
+ var reservedRe = util.patterns.reservedRe;
6273
6299
 
6274
6300
  /**
6275
6301
  * Node's fs module if available.
@@ -6444,7 +6470,7 @@ util.decorateEnum = function decorateEnum(object) {
6444
6470
  util.setProperty = function setProperty(dst, path, value, ifNotSet) {
6445
6471
  function setProp(dst, path, value) {
6446
6472
  var part = path.shift();
6447
- if (unsafePropertyRe.test(part))
6473
+ if (util.isUnsafeProperty(part))
6448
6474
  return dst;
6449
6475
  if (path.length > 0) {
6450
6476
  dst[part] = setProp(dst[part] || {}, path, value);
@@ -6465,6 +6491,8 @@ util.setProperty = function setProperty(dst, path, value, ifNotSet) {
6465
6491
  throw TypeError("path must be specified");
6466
6492
 
6467
6493
  path = path.split(".");
6494
+ if (path.length > util.recursionLimit)
6495
+ throw Error("max depth exceeded");
6468
6496
  return setProp(dst, path, value);
6469
6497
  };
6470
6498
 
@@ -6723,6 +6751,18 @@ util.pool = require(10);
6723
6751
  // utility to work with the low and high bits of a 64 bit value
6724
6752
  util.LongBits = require(37);
6725
6753
 
6754
+ /**
6755
+ * Tests if the specified key can affect object prototypes.
6756
+ * @memberof util
6757
+ * @param {string} key Key to test
6758
+ * @returns {boolean} `true` if the key is unsafe
6759
+ */
6760
+ function isUnsafeProperty(key) {
6761
+ return key === "__proto__" || key === "prototype" || key === "constructor";
6762
+ }
6763
+
6764
+ util.isUnsafeProperty = isUnsafeProperty;
6765
+
6726
6766
  /**
6727
6767
  * Whether running within node or not.
6728
6768
  * @memberof util
@@ -6936,26 +6976,39 @@ util.longFromHash = function longFromHash(hash, unsigned) {
6936
6976
  * Merges the properties of the source object into the destination object.
6937
6977
  * @memberof util
6938
6978
  * @param {Object.<string,*>} dst Destination object
6939
- * @param {Object.<string,*>} src Source object
6940
- * @param {boolean} [ifNotSet=false] Merges only if the key is not already set
6979
+ * @param {...(Object.<string,*>|boolean)} src Source objects, optionally followed by an `ifNotSet` flag
6941
6980
  * @returns {Object.<string,*>} Destination object
6942
6981
  */
6943
- function merge(dst, src, ifNotSet) { // used by converters
6944
- for (var keys = Object.keys(src), i = 0; i < keys.length; ++i)
6945
- if (dst[keys[i]] === undefined || !ifNotSet)
6946
- if (keys[i] !== "__proto__")
6982
+ function merge(dst) { // used by converters
6983
+ var ifNotSet = typeof arguments[arguments.length - 1] === "boolean",
6984
+ limit = ifNotSet ? arguments.length - 1 : arguments.length;
6985
+ ifNotSet = ifNotSet && arguments[arguments.length - 1];
6986
+ for (var a = 1; a < limit; ++a) {
6987
+ var src = arguments[a];
6988
+ if (!src)
6989
+ continue;
6990
+ for (var keys = Object.keys(src), i = 0; i < keys.length; ++i)
6991
+ if (!isUnsafeProperty(keys[i]) && (dst[keys[i]] === undefined || !ifNotSet))
6947
6992
  dst[keys[i]] = src[keys[i]];
6993
+ }
6948
6994
  return dst;
6949
6995
  }
6950
6996
 
6951
6997
  util.merge = merge;
6952
6998
 
6999
+ /**
7000
+ * Schema declaration nesting limit.
7001
+ * @memberof util
7002
+ * @type {number}
7003
+ */
7004
+ util.nestingLimit = 32; // protoc: MaxMessageDeclarationNestingDepth
7005
+
6953
7006
  /**
6954
7007
  * Recursion limit.
6955
7008
  * @memberof util
6956
7009
  * @type {number}
6957
7010
  */
6958
- util.recursionLimit = 100;
7011
+ util.recursionLimit = 100; // protoc: CodedInputStream::default_recursion_limit_
6959
7012
 
6960
7013
  /**
6961
7014
  * Makes a property safe for assignment as an own property.
@@ -7174,7 +7227,6 @@ var patterns = exports;
7174
7227
  patterns.numberRe = /^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/;
7175
7228
  patterns.typeRefRe = /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/;
7176
7229
  patterns.reservedRe = /^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/;
7177
- patterns.unsafePropertyRe = /^(?:__proto__|prototype|constructor)$/;
7178
7230
 
7179
7231
  },{}],40:[function(require,module,exports){
7180
7232
  "use strict";
@@ -7368,7 +7420,8 @@ function verifier(mtype) {
7368
7420
  */
7369
7421
  var wrappers = exports;
7370
7422
 
7371
- var Message = require(21);
7423
+ var Message = require(21),
7424
+ util = require(38);
7372
7425
 
7373
7426
  /**
7374
7427
  * From object converter part of an {@link IWrapper}.
@@ -7415,10 +7468,9 @@ wrappers[".google.protobuf.Any"] = {
7415
7468
  if (type_url.indexOf("/") === -1) {
7416
7469
  type_url = "/" + type_url;
7417
7470
  }
7418
- var nextDepth = depth === undefined ? 1 : depth + 1;
7419
7471
  return this.create({
7420
7472
  type_url: type_url,
7421
- value: type.encode(type.fromObject(object, nextDepth)).finish()
7473
+ value: type.encode(type.fromObject(object, depth === undefined ? 1 : depth + 1)).finish()
7422
7474
  });
7423
7475
  }
7424
7476
  }
@@ -7426,7 +7478,11 @@ wrappers[".google.protobuf.Any"] = {
7426
7478
  return this.fromObject(object, depth);
7427
7479
  },
7428
7480
 
7429
- toObject: function(message, options) {
7481
+ toObject: function(message, options, depth) {
7482
+ if (depth === undefined)
7483
+ depth = 0;
7484
+ if (depth > util.recursionLimit)
7485
+ throw Error("max depth exceeded");
7430
7486
 
7431
7487
  // Default prefix
7432
7488
  var googleApi = "type.googleapis.com/";
@@ -7442,12 +7498,12 @@ wrappers[".google.protobuf.Any"] = {
7442
7498
  var type = this.lookup(name);
7443
7499
  /* istanbul ignore else */
7444
7500
  if (type)
7445
- message = type.decode(message.value);
7501
+ message = type.decode(message.value, undefined, undefined, depth + 1);
7446
7502
  }
7447
7503
 
7448
7504
  // wrap value if unmapped
7449
7505
  if (!(message instanceof this.ctor) && message instanceof Message) {
7450
- var object = message.$type.toObject(message, options);
7506
+ var object = message.$type.toObject(message, options, depth + 1);
7451
7507
  var messageName = message.$type.fullName[0] === "." ?
7452
7508
  message.$type.fullName.slice(1) : message.$type.fullName;
7453
7509
  // Default to type.googleapis.com prefix if no prefix is used
@@ -7459,11 +7515,11 @@ wrappers[".google.protobuf.Any"] = {
7459
7515
  return object;
7460
7516
  }
7461
7517
 
7462
- return this.toObject(message, options);
7518
+ return this.toObject(message, options, depth);
7463
7519
  }
7464
7520
  };
7465
7521
 
7466
- },{"21":21}],42:[function(require,module,exports){
7522
+ },{"21":21,"38":38}],42:[function(require,module,exports){
7467
7523
  "use strict";
7468
7524
  module.exports = Writer;
7469
7525
 
@@ -7691,7 +7747,7 @@ Writer.prototype.uint32 = function write_uint32(value) {
7691
7747
  * @returns {Writer} `this`
7692
7748
  */
7693
7749
  Writer.prototype.int32 = function write_int32(value) {
7694
- return value < 0
7750
+ return (value |= 0) < 0
7695
7751
  ? this._push(writeVarint64, 10, LongBits.fromNumber(value)) // 10 bytes per spec
7696
7752
  : this.uint32(value);
7697
7753
  };
@@ -7706,16 +7762,18 @@ Writer.prototype.sint32 = function write_sint32(value) {
7706
7762
  };
7707
7763
 
7708
7764
  function writeVarint64(val, buf, pos) {
7709
- while (val.hi) {
7710
- buf[pos++] = val.lo & 127 | 128;
7711
- val.lo = (val.lo >>> 7 | val.hi << 25) >>> 0;
7712
- val.hi >>>= 7;
7765
+ var lo = val.lo,
7766
+ hi = val.hi;
7767
+ while (hi) {
7768
+ buf[pos++] = lo & 127 | 128;
7769
+ lo = (lo >>> 7 | hi << 25) >>> 0;
7770
+ hi >>>= 7;
7713
7771
  }
7714
- while (val.lo > 127) {
7715
- buf[pos++] = val.lo & 127 | 128;
7716
- val.lo = val.lo >>> 7;
7772
+ while (lo > 127) {
7773
+ buf[pos++] = lo & 127 | 128;
7774
+ lo = lo >>> 7;
7717
7775
  }
7718
- buf[pos++] = val.lo;
7776
+ buf[pos++] = lo;
7719
7777
  }
7720
7778
 
7721
7779
  /**