@cloudsnorkel/cdk-github-runners 0.14.7 → 0.14.9

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 (49) hide show
  1. package/.jsii +107 -73
  2. package/API.md +29 -3
  3. package/README.md +6 -0
  4. package/assets/delete-failed-runner.lambda/index.js +72 -46
  5. package/assets/idle-runner-repear.lambda/index.js +72 -46
  6. package/assets/image-builders/aws-image-builder/versioner.lambda/index.js +25 -10
  7. package/assets/setup.lambda/index.html +8 -8
  8. package/assets/status.lambda/index.js +72 -46
  9. package/assets/token-retriever.lambda/index.js +72 -46
  10. package/assets/webhook-handler.lambda/index.js +80 -49
  11. package/lib/access.js +1 -1
  12. package/lib/delete-failed-runner-function.js +2 -2
  13. package/lib/idle-runner-repear-function.js +2 -2
  14. package/lib/image-builders/api.js +1 -1
  15. package/lib/image-builders/aws-image-builder/ami.js +10 -2
  16. package/lib/image-builders/aws-image-builder/builder.js +1 -1
  17. package/lib/image-builders/aws-image-builder/container.d.ts +1 -1
  18. package/lib/image-builders/aws-image-builder/container.js +5 -2
  19. package/lib/image-builders/aws-image-builder/delete-resources-function.js +2 -2
  20. package/lib/image-builders/aws-image-builder/deprecated/ami.js +4 -4
  21. package/lib/image-builders/aws-image-builder/deprecated/container.js +1 -1
  22. package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
  23. package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
  24. package/lib/image-builders/aws-image-builder/filter-failed-builds-function.js +2 -2
  25. package/lib/image-builders/aws-image-builder/versioner-function.js +2 -2
  26. package/lib/image-builders/build-image-function.js +2 -2
  27. package/lib/image-builders/codebuild-deprecated.js +1 -1
  28. package/lib/image-builders/common.d.ts +2 -2
  29. package/lib/image-builders/common.js +1 -1
  30. package/lib/image-builders/components.js +16 -16
  31. package/lib/image-builders/static.js +1 -1
  32. package/lib/providers/ami-root-device-function.js +2 -2
  33. package/lib/providers/codebuild.js +2 -2
  34. package/lib/providers/common.d.ts +17 -1
  35. package/lib/providers/common.js +22 -6
  36. package/lib/providers/ec2.js +2 -2
  37. package/lib/providers/ecs.js +1 -1
  38. package/lib/providers/fargate.js +2 -2
  39. package/lib/providers/lambda.js +2 -2
  40. package/lib/providers/update-lambda-function.js +2 -2
  41. package/lib/runner.js +2 -2
  42. package/lib/secrets.js +1 -1
  43. package/lib/setup-function.js +2 -2
  44. package/lib/status-function.js +2 -2
  45. package/lib/token-retriever-function.js +2 -2
  46. package/lib/webhook-handler-function.js +2 -2
  47. package/lib/webhook-handler.lambda.d.ts +8 -0
  48. package/lib/webhook-handler.lambda.js +15 -5
  49. package/package.json +22 -22
@@ -4766,40 +4766,6 @@ var require_data_stream = __commonJS({
4766
4766
  }
4767
4767
  });
4768
4768
 
4769
- // node_modules/buffer-equal-constant-time/index.js
4770
- var require_buffer_equal_constant_time = __commonJS({
4771
- "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
4772
- "use strict";
4773
- var Buffer2 = require("buffer").Buffer;
4774
- var SlowBuffer = require("buffer").SlowBuffer;
4775
- module2.exports = bufferEq;
4776
- function bufferEq(a, b) {
4777
- if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {
4778
- return false;
4779
- }
4780
- if (a.length !== b.length) {
4781
- return false;
4782
- }
4783
- var c = 0;
4784
- for (var i = 0; i < a.length; i++) {
4785
- c |= a[i] ^ b[i];
4786
- }
4787
- return c === 0;
4788
- }
4789
- bufferEq.install = function() {
4790
- Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
4791
- return bufferEq(this, that);
4792
- };
4793
- };
4794
- var origBufEqual = Buffer2.prototype.equal;
4795
- var origSlowBufEqual = SlowBuffer.prototype.equal;
4796
- bufferEq.restore = function() {
4797
- Buffer2.prototype.equal = origBufEqual;
4798
- SlowBuffer.prototype.equal = origSlowBufEqual;
4799
- };
4800
- }
4801
- });
4802
-
4803
4769
  // node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js
4804
4770
  var require_param_bytes_for_alg = __commonJS({
4805
4771
  "node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js"(exports2, module2) {
@@ -4964,11 +4930,44 @@ var require_ecdsa_sig_formatter = __commonJS({
4964
4930
  }
4965
4931
  });
4966
4932
 
4933
+ // node_modules/buffer-equal-constant-time/index.js
4934
+ var require_buffer_equal_constant_time = __commonJS({
4935
+ "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
4936
+ "use strict";
4937
+ var Buffer2 = require("buffer").Buffer;
4938
+ var SlowBuffer = require("buffer").SlowBuffer;
4939
+ module2.exports = bufferEq;
4940
+ function bufferEq(a, b) {
4941
+ if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {
4942
+ return false;
4943
+ }
4944
+ if (a.length !== b.length) {
4945
+ return false;
4946
+ }
4947
+ var c = 0;
4948
+ for (var i = 0; i < a.length; i++) {
4949
+ c |= a[i] ^ b[i];
4950
+ }
4951
+ return c === 0;
4952
+ }
4953
+ bufferEq.install = function() {
4954
+ Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
4955
+ return bufferEq(this, that);
4956
+ };
4957
+ };
4958
+ var origBufEqual = Buffer2.prototype.equal;
4959
+ var origSlowBufEqual = SlowBuffer.prototype.equal;
4960
+ bufferEq.restore = function() {
4961
+ Buffer2.prototype.equal = origBufEqual;
4962
+ SlowBuffer.prototype.equal = origSlowBufEqual;
4963
+ };
4964
+ }
4965
+ });
4966
+
4967
4967
  // node_modules/jwa/index.js
4968
4968
  var require_jwa = __commonJS({
4969
4969
  "node_modules/jwa/index.js"(exports2, module2) {
4970
4970
  "use strict";
4971
- var bufferEqual = require_buffer_equal_constant_time();
4972
4971
  var Buffer2 = require_safe_buffer().Buffer;
4973
4972
  var crypto = require("crypto");
4974
4973
  var formatEcdsa = require_ecdsa_sig_formatter();
@@ -5072,10 +5071,22 @@ var require_jwa = __commonJS({
5072
5071
  return fromBase64(sig);
5073
5072
  };
5074
5073
  }
5074
+ var bufferEqual;
5075
+ var timingSafeEqual = "timingSafeEqual" in crypto ? function timingSafeEqual2(a, b) {
5076
+ if (a.byteLength !== b.byteLength) {
5077
+ return false;
5078
+ }
5079
+ return crypto.timingSafeEqual(a, b);
5080
+ } : function timingSafeEqual2(a, b) {
5081
+ if (!bufferEqual) {
5082
+ bufferEqual = require_buffer_equal_constant_time();
5083
+ }
5084
+ return bufferEqual(a, b);
5085
+ };
5075
5086
  function createHmacVerifier(bits) {
5076
5087
  return function verify(thing, signature, secret) {
5077
5088
  var computedSig = createHmacSigner(bits)(thing, secret);
5078
- return bufferEqual(Buffer2.from(signature), Buffer2.from(computedSig));
5089
+ return timingSafeEqual(Buffer2.from(signature), Buffer2.from(computedSig));
5079
5090
  };
5080
5091
  }
5081
5092
  function createKeySigner(bits) {
@@ -5688,6 +5699,7 @@ var require_re = __commonJS({
5688
5699
  var re = exports2.re = [];
5689
5700
  var safeRe = exports2.safeRe = [];
5690
5701
  var src = exports2.src = [];
5702
+ var safeSrc = exports2.safeSrc = [];
5691
5703
  var t = exports2.t = {};
5692
5704
  var R = 0;
5693
5705
  var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
@@ -5708,6 +5720,7 @@ var require_re = __commonJS({
5708
5720
  debug(name, index, value);
5709
5721
  t[name] = index;
5710
5722
  src[index] = value;
5723
+ safeSrc[index] = safe;
5711
5724
  re[index] = new RegExp(value, isGlobal ? "g" : void 0);
5712
5725
  safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
5713
5726
  };
@@ -5716,8 +5729,8 @@ var require_re = __commonJS({
5716
5729
  createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
5717
5730
  createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
5718
5731
  createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
5719
- createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
5720
- createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
5732
+ createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
5733
+ createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
5721
5734
  createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
5722
5735
  createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
5723
5736
  createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
@@ -5947,6 +5960,17 @@ var require_semver = __commonJS({
5947
5960
  // preminor will bump the version up to the next minor release, and immediately
5948
5961
  // down to pre-release. premajor and prepatch work the same way.
5949
5962
  inc(release, identifier, identifierBase) {
5963
+ if (release.startsWith("pre")) {
5964
+ if (!identifier && identifierBase === false) {
5965
+ throw new Error("invalid increment argument: identifier is empty");
5966
+ }
5967
+ if (identifier) {
5968
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
5969
+ if (!match || match[1] !== identifier) {
5970
+ throw new Error(`invalid identifier: ${identifier}`);
5971
+ }
5972
+ }
5973
+ }
5950
5974
  switch (release) {
5951
5975
  case "premajor":
5952
5976
  this.prerelease.length = 0;
@@ -5974,6 +5998,12 @@ var require_semver = __commonJS({
5974
5998
  }
5975
5999
  this.inc("pre", identifier, identifierBase);
5976
6000
  break;
6001
+ case "release":
6002
+ if (this.prerelease.length === 0) {
6003
+ throw new Error(`version ${this.raw} is not a prerelease`);
6004
+ }
6005
+ this.prerelease.length = 0;
6006
+ break;
5977
6007
  case "major":
5978
6008
  if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
5979
6009
  this.major++;
@@ -5999,9 +6029,6 @@ var require_semver = __commonJS({
5999
6029
  // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
6000
6030
  case "pre": {
6001
6031
  const base = Number(identifierBase) ? 1 : 0;
6002
- if (!identifier && identifierBase === false) {
6003
- throw new Error("invalid increment argument: identifier is empty");
6004
- }
6005
6032
  if (this.prerelease.length === 0) {
6006
6033
  this.prerelease = [base];
6007
6034
  } else {
@@ -6141,13 +6168,12 @@ var require_diff = __commonJS({
6141
6168
  if (!lowVersion.patch && !lowVersion.minor) {
6142
6169
  return "major";
6143
6170
  }
6144
- if (highVersion.patch) {
6171
+ if (lowVersion.compareMain(highVersion) === 0) {
6172
+ if (lowVersion.minor && !lowVersion.patch) {
6173
+ return "minor";
6174
+ }
6145
6175
  return "patch";
6146
6176
  }
6147
- if (highVersion.minor) {
6148
- return "minor";
6149
- }
6150
- return "major";
6151
6177
  }
6152
6178
  const prefix = highHasPre ? "pre" : "";
6153
6179
  if (v1.major !== v2.major) {
@@ -4766,40 +4766,6 @@ var require_data_stream = __commonJS({
4766
4766
  }
4767
4767
  });
4768
4768
 
4769
- // node_modules/buffer-equal-constant-time/index.js
4770
- var require_buffer_equal_constant_time = __commonJS({
4771
- "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
4772
- "use strict";
4773
- var Buffer2 = require("buffer").Buffer;
4774
- var SlowBuffer = require("buffer").SlowBuffer;
4775
- module2.exports = bufferEq;
4776
- function bufferEq(a, b) {
4777
- if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {
4778
- return false;
4779
- }
4780
- if (a.length !== b.length) {
4781
- return false;
4782
- }
4783
- var c = 0;
4784
- for (var i = 0; i < a.length; i++) {
4785
- c |= a[i] ^ b[i];
4786
- }
4787
- return c === 0;
4788
- }
4789
- bufferEq.install = function() {
4790
- Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
4791
- return bufferEq(this, that);
4792
- };
4793
- };
4794
- var origBufEqual = Buffer2.prototype.equal;
4795
- var origSlowBufEqual = SlowBuffer.prototype.equal;
4796
- bufferEq.restore = function() {
4797
- Buffer2.prototype.equal = origBufEqual;
4798
- SlowBuffer.prototype.equal = origSlowBufEqual;
4799
- };
4800
- }
4801
- });
4802
-
4803
4769
  // node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js
4804
4770
  var require_param_bytes_for_alg = __commonJS({
4805
4771
  "node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js"(exports2, module2) {
@@ -4964,11 +4930,44 @@ var require_ecdsa_sig_formatter = __commonJS({
4964
4930
  }
4965
4931
  });
4966
4932
 
4933
+ // node_modules/buffer-equal-constant-time/index.js
4934
+ var require_buffer_equal_constant_time = __commonJS({
4935
+ "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
4936
+ "use strict";
4937
+ var Buffer2 = require("buffer").Buffer;
4938
+ var SlowBuffer = require("buffer").SlowBuffer;
4939
+ module2.exports = bufferEq;
4940
+ function bufferEq(a, b) {
4941
+ if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {
4942
+ return false;
4943
+ }
4944
+ if (a.length !== b.length) {
4945
+ return false;
4946
+ }
4947
+ var c = 0;
4948
+ for (var i = 0; i < a.length; i++) {
4949
+ c |= a[i] ^ b[i];
4950
+ }
4951
+ return c === 0;
4952
+ }
4953
+ bufferEq.install = function() {
4954
+ Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
4955
+ return bufferEq(this, that);
4956
+ };
4957
+ };
4958
+ var origBufEqual = Buffer2.prototype.equal;
4959
+ var origSlowBufEqual = SlowBuffer.prototype.equal;
4960
+ bufferEq.restore = function() {
4961
+ Buffer2.prototype.equal = origBufEqual;
4962
+ SlowBuffer.prototype.equal = origSlowBufEqual;
4963
+ };
4964
+ }
4965
+ });
4966
+
4967
4967
  // node_modules/jwa/index.js
4968
4968
  var require_jwa = __commonJS({
4969
4969
  "node_modules/jwa/index.js"(exports2, module2) {
4970
4970
  "use strict";
4971
- var bufferEqual = require_buffer_equal_constant_time();
4972
4971
  var Buffer2 = require_safe_buffer().Buffer;
4973
4972
  var crypto = require("crypto");
4974
4973
  var formatEcdsa = require_ecdsa_sig_formatter();
@@ -5072,10 +5071,22 @@ var require_jwa = __commonJS({
5072
5071
  return fromBase64(sig);
5073
5072
  };
5074
5073
  }
5074
+ var bufferEqual;
5075
+ var timingSafeEqual = "timingSafeEqual" in crypto ? function timingSafeEqual2(a, b) {
5076
+ if (a.byteLength !== b.byteLength) {
5077
+ return false;
5078
+ }
5079
+ return crypto.timingSafeEqual(a, b);
5080
+ } : function timingSafeEqual2(a, b) {
5081
+ if (!bufferEqual) {
5082
+ bufferEqual = require_buffer_equal_constant_time();
5083
+ }
5084
+ return bufferEqual(a, b);
5085
+ };
5075
5086
  function createHmacVerifier(bits) {
5076
5087
  return function verify(thing, signature, secret) {
5077
5088
  var computedSig = createHmacSigner(bits)(thing, secret);
5078
- return bufferEqual(Buffer2.from(signature), Buffer2.from(computedSig));
5089
+ return timingSafeEqual(Buffer2.from(signature), Buffer2.from(computedSig));
5079
5090
  };
5080
5091
  }
5081
5092
  function createKeySigner(bits) {
@@ -5688,6 +5699,7 @@ var require_re = __commonJS({
5688
5699
  var re = exports2.re = [];
5689
5700
  var safeRe = exports2.safeRe = [];
5690
5701
  var src = exports2.src = [];
5702
+ var safeSrc = exports2.safeSrc = [];
5691
5703
  var t = exports2.t = {};
5692
5704
  var R = 0;
5693
5705
  var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
@@ -5708,6 +5720,7 @@ var require_re = __commonJS({
5708
5720
  debug(name, index, value);
5709
5721
  t[name] = index;
5710
5722
  src[index] = value;
5723
+ safeSrc[index] = safe;
5711
5724
  re[index] = new RegExp(value, isGlobal ? "g" : void 0);
5712
5725
  safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
5713
5726
  };
@@ -5716,8 +5729,8 @@ var require_re = __commonJS({
5716
5729
  createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
5717
5730
  createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
5718
5731
  createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
5719
- createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
5720
- createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
5732
+ createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
5733
+ createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
5721
5734
  createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
5722
5735
  createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
5723
5736
  createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
@@ -5947,6 +5960,17 @@ var require_semver = __commonJS({
5947
5960
  // preminor will bump the version up to the next minor release, and immediately
5948
5961
  // down to pre-release. premajor and prepatch work the same way.
5949
5962
  inc(release, identifier, identifierBase) {
5963
+ if (release.startsWith("pre")) {
5964
+ if (!identifier && identifierBase === false) {
5965
+ throw new Error("invalid increment argument: identifier is empty");
5966
+ }
5967
+ if (identifier) {
5968
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
5969
+ if (!match || match[1] !== identifier) {
5970
+ throw new Error(`invalid identifier: ${identifier}`);
5971
+ }
5972
+ }
5973
+ }
5950
5974
  switch (release) {
5951
5975
  case "premajor":
5952
5976
  this.prerelease.length = 0;
@@ -5974,6 +5998,12 @@ var require_semver = __commonJS({
5974
5998
  }
5975
5999
  this.inc("pre", identifier, identifierBase);
5976
6000
  break;
6001
+ case "release":
6002
+ if (this.prerelease.length === 0) {
6003
+ throw new Error(`version ${this.raw} is not a prerelease`);
6004
+ }
6005
+ this.prerelease.length = 0;
6006
+ break;
5977
6007
  case "major":
5978
6008
  if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
5979
6009
  this.major++;
@@ -5999,9 +6029,6 @@ var require_semver = __commonJS({
5999
6029
  // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
6000
6030
  case "pre": {
6001
6031
  const base = Number(identifierBase) ? 1 : 0;
6002
- if (!identifier && identifierBase === false) {
6003
- throw new Error("invalid increment argument: identifier is empty");
6004
- }
6005
6032
  if (this.prerelease.length === 0) {
6006
6033
  this.prerelease = [base];
6007
6034
  } else {
@@ -6141,13 +6168,12 @@ var require_diff = __commonJS({
6141
6168
  if (!lowVersion.patch && !lowVersion.minor) {
6142
6169
  return "major";
6143
6170
  }
6144
- if (highVersion.patch) {
6171
+ if (lowVersion.compareMain(highVersion) === 0) {
6172
+ if (lowVersion.minor && !lowVersion.patch) {
6173
+ return "minor";
6174
+ }
6145
6175
  return "patch";
6146
6176
  }
6147
- if (highVersion.minor) {
6148
- return "minor";
6149
- }
6150
- return "major";
6151
6177
  }
6152
6178
  const prefix = highHasPre ? "pre" : "";
6153
6179
  if (v1.major !== v2.major) {
@@ -4766,40 +4766,6 @@ var require_data_stream = __commonJS({
4766
4766
  }
4767
4767
  });
4768
4768
 
4769
- // node_modules/buffer-equal-constant-time/index.js
4770
- var require_buffer_equal_constant_time = __commonJS({
4771
- "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
4772
- "use strict";
4773
- var Buffer2 = require("buffer").Buffer;
4774
- var SlowBuffer = require("buffer").SlowBuffer;
4775
- module2.exports = bufferEq;
4776
- function bufferEq(a, b) {
4777
- if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {
4778
- return false;
4779
- }
4780
- if (a.length !== b.length) {
4781
- return false;
4782
- }
4783
- var c = 0;
4784
- for (var i = 0; i < a.length; i++) {
4785
- c |= a[i] ^ b[i];
4786
- }
4787
- return c === 0;
4788
- }
4789
- bufferEq.install = function() {
4790
- Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
4791
- return bufferEq(this, that);
4792
- };
4793
- };
4794
- var origBufEqual = Buffer2.prototype.equal;
4795
- var origSlowBufEqual = SlowBuffer.prototype.equal;
4796
- bufferEq.restore = function() {
4797
- Buffer2.prototype.equal = origBufEqual;
4798
- SlowBuffer.prototype.equal = origSlowBufEqual;
4799
- };
4800
- }
4801
- });
4802
-
4803
4769
  // node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js
4804
4770
  var require_param_bytes_for_alg = __commonJS({
4805
4771
  "node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js"(exports2, module2) {
@@ -4964,11 +4930,44 @@ var require_ecdsa_sig_formatter = __commonJS({
4964
4930
  }
4965
4931
  });
4966
4932
 
4933
+ // node_modules/buffer-equal-constant-time/index.js
4934
+ var require_buffer_equal_constant_time = __commonJS({
4935
+ "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) {
4936
+ "use strict";
4937
+ var Buffer2 = require("buffer").Buffer;
4938
+ var SlowBuffer = require("buffer").SlowBuffer;
4939
+ module2.exports = bufferEq;
4940
+ function bufferEq(a, b) {
4941
+ if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) {
4942
+ return false;
4943
+ }
4944
+ if (a.length !== b.length) {
4945
+ return false;
4946
+ }
4947
+ var c = 0;
4948
+ for (var i = 0; i < a.length; i++) {
4949
+ c |= a[i] ^ b[i];
4950
+ }
4951
+ return c === 0;
4952
+ }
4953
+ bufferEq.install = function() {
4954
+ Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
4955
+ return bufferEq(this, that);
4956
+ };
4957
+ };
4958
+ var origBufEqual = Buffer2.prototype.equal;
4959
+ var origSlowBufEqual = SlowBuffer.prototype.equal;
4960
+ bufferEq.restore = function() {
4961
+ Buffer2.prototype.equal = origBufEqual;
4962
+ SlowBuffer.prototype.equal = origSlowBufEqual;
4963
+ };
4964
+ }
4965
+ });
4966
+
4967
4967
  // node_modules/jwa/index.js
4968
4968
  var require_jwa = __commonJS({
4969
4969
  "node_modules/jwa/index.js"(exports2, module2) {
4970
4970
  "use strict";
4971
- var bufferEqual = require_buffer_equal_constant_time();
4972
4971
  var Buffer2 = require_safe_buffer().Buffer;
4973
4972
  var crypto2 = require("crypto");
4974
4973
  var formatEcdsa = require_ecdsa_sig_formatter();
@@ -5072,10 +5071,22 @@ var require_jwa = __commonJS({
5072
5071
  return fromBase64(sig);
5073
5072
  };
5074
5073
  }
5074
+ var bufferEqual;
5075
+ var timingSafeEqual2 = "timingSafeEqual" in crypto2 ? function timingSafeEqual3(a, b) {
5076
+ if (a.byteLength !== b.byteLength) {
5077
+ return false;
5078
+ }
5079
+ return crypto2.timingSafeEqual(a, b);
5080
+ } : function timingSafeEqual3(a, b) {
5081
+ if (!bufferEqual) {
5082
+ bufferEqual = require_buffer_equal_constant_time();
5083
+ }
5084
+ return bufferEqual(a, b);
5085
+ };
5075
5086
  function createHmacVerifier(bits) {
5076
5087
  return function verify(thing, signature, secret) {
5077
5088
  var computedSig = createHmacSigner(bits)(thing, secret);
5078
- return bufferEqual(Buffer2.from(signature), Buffer2.from(computedSig));
5089
+ return timingSafeEqual2(Buffer2.from(signature), Buffer2.from(computedSig));
5079
5090
  };
5080
5091
  }
5081
5092
  function createKeySigner(bits) {
@@ -5688,6 +5699,7 @@ var require_re = __commonJS({
5688
5699
  var re = exports2.re = [];
5689
5700
  var safeRe = exports2.safeRe = [];
5690
5701
  var src = exports2.src = [];
5702
+ var safeSrc = exports2.safeSrc = [];
5691
5703
  var t = exports2.t = {};
5692
5704
  var R = 0;
5693
5705
  var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
@@ -5708,6 +5720,7 @@ var require_re = __commonJS({
5708
5720
  debug(name, index, value);
5709
5721
  t[name] = index;
5710
5722
  src[index] = value;
5723
+ safeSrc[index] = safe;
5711
5724
  re[index] = new RegExp(value, isGlobal ? "g" : void 0);
5712
5725
  safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
5713
5726
  };
@@ -5716,8 +5729,8 @@ var require_re = __commonJS({
5716
5729
  createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
5717
5730
  createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
5718
5731
  createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
5719
- createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
5720
- createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
5732
+ createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
5733
+ createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
5721
5734
  createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
5722
5735
  createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
5723
5736
  createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
@@ -5947,6 +5960,17 @@ var require_semver = __commonJS({
5947
5960
  // preminor will bump the version up to the next minor release, and immediately
5948
5961
  // down to pre-release. premajor and prepatch work the same way.
5949
5962
  inc(release, identifier, identifierBase) {
5963
+ if (release.startsWith("pre")) {
5964
+ if (!identifier && identifierBase === false) {
5965
+ throw new Error("invalid increment argument: identifier is empty");
5966
+ }
5967
+ if (identifier) {
5968
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
5969
+ if (!match || match[1] !== identifier) {
5970
+ throw new Error(`invalid identifier: ${identifier}`);
5971
+ }
5972
+ }
5973
+ }
5950
5974
  switch (release) {
5951
5975
  case "premajor":
5952
5976
  this.prerelease.length = 0;
@@ -5974,6 +5998,12 @@ var require_semver = __commonJS({
5974
5998
  }
5975
5999
  this.inc("pre", identifier, identifierBase);
5976
6000
  break;
6001
+ case "release":
6002
+ if (this.prerelease.length === 0) {
6003
+ throw new Error(`version ${this.raw} is not a prerelease`);
6004
+ }
6005
+ this.prerelease.length = 0;
6006
+ break;
5977
6007
  case "major":
5978
6008
  if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
5979
6009
  this.major++;
@@ -5999,9 +6029,6 @@ var require_semver = __commonJS({
5999
6029
  // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
6000
6030
  case "pre": {
6001
6031
  const base = Number(identifierBase) ? 1 : 0;
6002
- if (!identifier && identifierBase === false) {
6003
- throw new Error("invalid increment argument: identifier is empty");
6004
- }
6005
6032
  if (this.prerelease.length === 0) {
6006
6033
  this.prerelease = [base];
6007
6034
  } else {
@@ -6141,13 +6168,12 @@ var require_diff = __commonJS({
6141
6168
  if (!lowVersion.patch && !lowVersion.minor) {
6142
6169
  return "major";
6143
6170
  }
6144
- if (highVersion.patch) {
6171
+ if (lowVersion.compareMain(highVersion) === 0) {
6172
+ if (lowVersion.minor && !lowVersion.patch) {
6173
+ return "minor";
6174
+ }
6145
6175
  return "patch";
6146
6176
  }
6147
- if (highVersion.minor) {
6148
- return "minor";
6149
- }
6150
- return "major";
6151
6177
  }
6152
6178
  const prefix = highHasPre ? "pre" : "";
6153
6179
  if (v1.major !== v2.major) {
@@ -13169,6 +13195,7 @@ var require_dist_node19 = __commonJS({
13169
13195
  // src/webhook-handler.lambda.ts
13170
13196
  var webhook_handler_lambda_exports = {};
13171
13197
  __export(webhook_handler_lambda_exports, {
13198
+ generateExecutionName: () => generateExecutionName,
13172
13199
  handler: () => handler,
13173
13200
  verifyBody: () => verifyBody
13174
13201
  });
@@ -13310,6 +13337,11 @@ function matchLabelsToProvider(labels) {
13310
13337
  }
13311
13338
  return void 0;
13312
13339
  }
13340
+ function generateExecutionName(payload) {
13341
+ const deliveryId = payload.workflow_job?.id || `${Math.random()}`;
13342
+ const repoNameTruncated = payload.repository.name.slice(0, 64 - deliveryId.length - 1);
13343
+ return `${repoNameTruncated}-${deliveryId}`;
13344
+ }
13313
13345
  async function handler(event) {
13314
13346
  if (!process.env.WEBHOOK_SECRET_ARN || !process.env.STEP_FUNCTION_ARN || !process.env.SUPPORTED_LABELS || !process.env.REQUIRE_SELF_HOSTED_LABEL) {
13315
13347
  throw new Error("Missing environment variables");
@@ -13387,9 +13419,7 @@ async function handler(event) {
13387
13419
  body: "OK. No runner started (deployment pending)."
13388
13420
  };
13389
13421
  }
13390
- let executionName = payload.repository.full_name.replace("/", "-").slice(0, 50);
13391
- let deliveryId = getHeader(event, "x-github-delivery") ?? `${Math.random()}`;
13392
- executionName = `${executionName}-${deliveryId.slice(0, 63 - executionName.length)}`;
13422
+ const executionName = generateExecutionName(payload);
13393
13423
  const input = {
13394
13424
  owner: payload.repository.owner.login,
13395
13425
  repo: payload.repository.name,
@@ -13419,6 +13449,7 @@ async function handler(event) {
13419
13449
  }
13420
13450
  // Annotate the CommonJS export names for ESM import in node:
13421
13451
  0 && (module.exports = {
13452
+ generateExecutionName,
13422
13453
  handler,
13423
13454
  verifyBody
13424
13455
  });
package/lib/access.js CHANGED
@@ -59,7 +59,7 @@ class LambdaAccess {
59
59
  }
60
60
  exports.LambdaAccess = LambdaAccess;
61
61
  _a = JSII_RTTI_SYMBOL_1;
62
- LambdaAccess[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.LambdaAccess", version: "0.14.7" };
62
+ LambdaAccess[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.LambdaAccess", version: "0.14.9" };
63
63
  /**
64
64
  * @internal
65
65
  */
@@ -12,7 +12,7 @@ class DeleteFailedRunnerFunction extends lambda.Function {
12
12
  super(scope, id, {
13
13
  description: 'src/delete-failed-runner.lambda.ts',
14
14
  ...props,
15
- runtime: new lambda.Runtime('nodejs18.x', lambda.RuntimeFamily.NODEJS),
15
+ runtime: new lambda.Runtime('nodejs22.x', lambda.RuntimeFamily.NODEJS),
16
16
  handler: 'index.handler',
17
17
  code: lambda.Code.fromAsset(path.join(__dirname, '../assets/delete-failed-runner.lambda')),
18
18
  });
@@ -20,4 +20,4 @@ class DeleteFailedRunnerFunction extends lambda.Function {
20
20
  }
21
21
  }
22
22
  exports.DeleteFailedRunnerFunction = DeleteFailedRunnerFunction;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWZhaWxlZC1ydW5uZXItZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVsZXRlLWZhaWxlZC1ydW5uZXItZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkVBQTZFO0FBQzdFLDZCQUE2QjtBQUM3QixpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLDBCQUEyQixTQUFRLE1BQU0sQ0FBQyxRQUFRO0lBQzdELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUM7UUFDL0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsb0NBQW9DO1lBQ2pELEdBQUcsS0FBSztZQUNSLE9BQU8sRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ3RFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFDO1NBQzNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUYsQ0FBQztDQUNGO0FBWEQsZ0VBV0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIERlbGV0ZUZhaWxlZFJ1bm5lckZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlRmFpbGVkUnVubmVyRnVuY3Rpb25Qcm9wcyBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMge1xufVxuXG4vKipcbiAqIEFuIEFXUyBMYW1iZGEgZnVuY3Rpb24gd2hpY2ggZXhlY3V0ZXMgc3JjL2RlbGV0ZS1mYWlsZWQtcnVubmVyLlxuICovXG5leHBvcnQgY2xhc3MgRGVsZXRlRmFpbGVkUnVubmVyRnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IERlbGV0ZUZhaWxlZFJ1bm5lckZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2RlbGV0ZS1mYWlsZWQtcnVubmVyLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMTgueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL2Fzc2V0cy9kZWxldGUtZmFpbGVkLXJ1bm5lci5sYW1iZGEnKSksXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQnLCAnMScsIHsgcmVtb3ZlSW5FZGdlOiB0cnVlIH0pO1xuICB9XG59Il19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWZhaWxlZC1ydW5uZXItZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVsZXRlLWZhaWxlZC1ydW5uZXItZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkVBQTZFO0FBQzdFLDZCQUE2QjtBQUM3QixpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLDBCQUEyQixTQUFRLE1BQU0sQ0FBQyxRQUFRO0lBQzdELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUM7UUFDL0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsb0NBQW9DO1lBQ2pELEdBQUcsS0FBSztZQUNSLE9BQU8sRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ3RFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFDO1NBQzNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUYsQ0FBQztDQUNGO0FBWEQsZ0VBV0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIERlbGV0ZUZhaWxlZFJ1bm5lckZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlRmFpbGVkUnVubmVyRnVuY3Rpb25Qcm9wcyBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMge1xufVxuXG4vKipcbiAqIEFuIEFXUyBMYW1iZGEgZnVuY3Rpb24gd2hpY2ggZXhlY3V0ZXMgc3JjL2RlbGV0ZS1mYWlsZWQtcnVubmVyLlxuICovXG5leHBvcnQgY2xhc3MgRGVsZXRlRmFpbGVkUnVubmVyRnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IERlbGV0ZUZhaWxlZFJ1bm5lckZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2RlbGV0ZS1mYWlsZWQtcnVubmVyLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMjIueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL2Fzc2V0cy9kZWxldGUtZmFpbGVkLXJ1bm5lci5sYW1iZGEnKSksXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQnLCAnMScsIHsgcmVtb3ZlSW5FZGdlOiB0cnVlIH0pO1xuICB9XG59Il19
@@ -12,7 +12,7 @@ class IdleRunnerRepearFunction extends lambda.Function {
12
12
  super(scope, id, {
13
13
  description: 'src/idle-runner-repear.lambda.ts',
14
14
  ...props,
15
- runtime: new lambda.Runtime('nodejs18.x', lambda.RuntimeFamily.NODEJS),
15
+ runtime: new lambda.Runtime('nodejs22.x', lambda.RuntimeFamily.NODEJS),
16
16
  handler: 'index.handler',
17
17
  code: lambda.Code.fromAsset(path.join(__dirname, '../assets/idle-runner-repear.lambda')),
18
18
  });
@@ -20,4 +20,4 @@ class IdleRunnerRepearFunction extends lambda.Function {
20
20
  }
21
21
  }
22
22
  exports.IdleRunnerRepearFunction = IdleRunnerRepearFunction;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS1ydW5uZXItcmVwZWFyLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lkbGUtcnVubmVyLXJlcGVhci1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDM0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxrQ0FBa0M7WUFDL0MsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHFDQUFxQyxDQUFDLENBQUM7U0FDekYsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0Y7QUFYRCw0REFXQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMuanMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgSWRsZVJ1bm5lclJlcGVhckZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWRsZVJ1bm5lclJlcGVhckZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25PcHRpb25zIHtcbn1cblxuLyoqXG4gKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzIHNyYy9pZGxlLXJ1bm5lci1yZXBlYXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBJZGxlUnVubmVyUmVwZWFyRnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IElkbGVSdW5uZXJSZXBlYXJGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ3NyYy9pZGxlLXJ1bm5lci1yZXBlYXIubGFtYmRhLnRzJyxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcnVudGltZTogbmV3IGxhbWJkYS5SdW50aW1lKCdub2RlanMxOC54JywgbGFtYmRhLlJ1bnRpbWVGYW1pbHkuTk9ERUpTKSxcbiAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vYXNzZXRzL2lkbGUtcnVubmVyLXJlcGVhci5sYW1iZGEnKSksXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQnLCAnMScsIHsgcmVtb3ZlSW5FZGdlOiB0cnVlIH0pO1xuICB9XG59Il19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS1ydW5uZXItcmVwZWFyLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lkbGUtcnVubmVyLXJlcGVhci1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDM0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxrQ0FBa0M7WUFDL0MsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHFDQUFxQyxDQUFDLENBQUM7U0FDekYsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0Y7QUFYRCw0REFXQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMuanMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgSWRsZVJ1bm5lclJlcGVhckZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWRsZVJ1bm5lclJlcGVhckZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25PcHRpb25zIHtcbn1cblxuLyoqXG4gKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzIHNyYy9pZGxlLXJ1bm5lci1yZXBlYXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBJZGxlUnVubmVyUmVwZWFyRnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IElkbGVSdW5uZXJSZXBlYXJGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ3NyYy9pZGxlLXJ1bm5lci1yZXBlYXIubGFtYmRhLnRzJyxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcnVudGltZTogbmV3IGxhbWJkYS5SdW50aW1lKCdub2RlanMyMi54JywgbGFtYmRhLlJ1bnRpbWVGYW1pbHkuTk9ERUpTKSxcbiAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vYXNzZXRzL2lkbGUtcnVubmVyLXJlcGVhci5sYW1iZGEnKSksXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQnLCAnMScsIHsgcmVtb3ZlSW5FZGdlOiB0cnVlIH0pO1xuICB9XG59Il19