@rharkor/caching-for-turbo 2.1.0 → 2.1.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.
package/dist/cli/index.js CHANGED
@@ -11242,6 +11242,7 @@ var ChecksumType = {
11242
11242
  };
11243
11243
  var ServerSideEncryption = {
11244
11244
  AES256: "AES256",
11245
+ aws_fsx: "aws:fsx",
11245
11246
  aws_kms: "aws:kms",
11246
11247
  aws_kms_dsse: "aws:kms:dsse"
11247
11248
  };
@@ -11276,6 +11277,7 @@ var ObjectLockMode = {
11276
11277
  var StorageClass = {
11277
11278
  DEEP_ARCHIVE: "DEEP_ARCHIVE",
11278
11279
  EXPRESS_ONEZONE: "EXPRESS_ONEZONE",
11280
+ FSX_OPENZFS: "FSX_OPENZFS",
11279
11281
  GLACIER: "GLACIER",
11280
11282
  GLACIER_IR: "GLACIER_IR",
11281
11283
  INTELLIGENT_TIERING: "INTELLIGENT_TIERING",
@@ -11680,6 +11682,7 @@ var EncodingType = {
11680
11682
  var ObjectStorageClass = {
11681
11683
  DEEP_ARCHIVE: "DEEP_ARCHIVE",
11682
11684
  EXPRESS_ONEZONE: "EXPRESS_ONEZONE",
11685
+ FSX_OPENZFS: "FSX_OPENZFS",
11683
11686
  GLACIER: "GLACIER",
11684
11687
  GLACIER_IR: "GLACIER_IR",
11685
11688
  INTELLIGENT_TIERING: "INTELLIGENT_TIERING",
@@ -16043,7 +16046,7 @@ var de_SelectObjectContentEventStream = /* @__PURE__ */ __name((output, context)
16043
16046
  End: await de_EndEvent_event(event["End"], context)
16044
16047
  };
16045
16048
  }
16046
- return { $unknown: output };
16049
+ return { $unknown: event };
16047
16050
  });
16048
16051
  }, "de_SelectObjectContentEventStream");
16049
16052
  var de_ContinuationEvent_event = /* @__PURE__ */ __name(async (output, context) => {
@@ -79117,10 +79120,42 @@ var NumericValue = class {
79117
79120
  constructor(string, type) {
79118
79121
  this.string = string;
79119
79122
  this.type = type;
79123
+ let dot = 0;
79124
+ for (let i = 0; i < string.length; ++i) {
79125
+ const char = string.charCodeAt(i);
79126
+ if (i === 0 && char === 45) {
79127
+ continue;
79128
+ }
79129
+ if (char === 46) {
79130
+ if (dot) {
79131
+ throw new Error("@smithy/core/serde - NumericValue must contain at most one decimal point.");
79132
+ }
79133
+ dot = 1;
79134
+ continue;
79135
+ }
79136
+ if (char < 48 || char > 57) {
79137
+ throw new Error(
79138
+ `@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".`
79139
+ );
79140
+ }
79141
+ }
79142
+ }
79143
+ toString() {
79144
+ return this.string;
79145
+ }
79146
+ [Symbol.hasInstance](object) {
79147
+ if (!object || typeof object !== "object") {
79148
+ return false;
79149
+ }
79150
+ const _nv = object;
79151
+ if (typeof _nv.string === "string" && typeof _nv.type === "string" && _nv.constructor?.name === "NumericValue") {
79152
+ return true;
79153
+ }
79154
+ return false;
79120
79155
  }
79121
79156
  };
79122
- function nv(string) {
79123
- return new NumericValue(string, "bigDecimal");
79157
+ function nv(input) {
79158
+ return new NumericValue(String(input), "bigDecimal");
79124
79159
  }
79125
79160
  // Annotate the CommonJS export names for ESM import in node:
79126
79161
  0 && (0);
@@ -81004,6 +81039,7 @@ __export(src_exports, {
81004
81039
  getEndpointFromInstructions: () => getEndpointFromInstructions,
81005
81040
  getEndpointPlugin: () => getEndpointPlugin,
81006
81041
  resolveEndpointConfig: () => resolveEndpointConfig,
81042
+ resolveEndpointRequiredConfig: () => resolveEndpointRequiredConfig,
81007
81043
  resolveParams: () => resolveParams,
81008
81044
  toEndpointV1: () => toEndpointV1
81009
81045
  });
@@ -81244,6 +81280,19 @@ var resolveEndpointConfig = /* @__PURE__ */ __name((input) => {
81244
81280
  };
81245
81281
  return resolvedConfig;
81246
81282
  }, "resolveEndpointConfig");
81283
+
81284
+ // src/resolveEndpointRequiredConfig.ts
81285
+ var resolveEndpointRequiredConfig = /* @__PURE__ */ __name((input) => {
81286
+ const { endpoint } = input;
81287
+ if (endpoint === void 0) {
81288
+ input.endpoint = async () => {
81289
+ throw new Error(
81290
+ "@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint."
81291
+ );
81292
+ };
81293
+ }
81294
+ return input;
81295
+ }, "resolveEndpointRequiredConfig");
81247
81296
  // Annotate the CommonJS export names for ESM import in node:
81248
81297
 
81249
81298
  0 && (0);
@@ -84324,6 +84373,7 @@ var THROTTLING_ERROR_CODES = [
84324
84373
  var TRANSIENT_ERROR_CODES = ["TimeoutError", "RequestTimeout", "RequestTimeoutException"];
84325
84374
  var TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];
84326
84375
  var NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT"];
84376
+ var NODEJS_NETWORK_ERROR_CODES = ["EHOSTUNREACH", "ENETUNREACH", "ENOTFOUND"];
84327
84377
 
84328
84378
  // src/index.ts
84329
84379
  var isRetryableByTrait = /* @__PURE__ */ __name((error) => error.$retryable !== void 0, "isRetryableByTrait");
@@ -84349,7 +84399,7 @@ var isBrowserNetworkError = /* @__PURE__ */ __name((error) => {
84349
84399
  return errorMessages.has(error.message);
84350
84400
  }, "isBrowserNetworkError");
84351
84401
  var isThrottlingError = /* @__PURE__ */ __name((error) => error.$metadata?.httpStatusCode === 429 || THROTTLING_ERROR_CODES.includes(error.name) || error.$retryable?.throttling == true, "isThrottlingError");
84352
- var isTransientError = /* @__PURE__ */ __name((error, depth = 0) => isClockSkewCorrectedError(error) || TRANSIENT_ERROR_CODES.includes(error.name) || NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || "") || TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0) || isBrowserNetworkError(error) || error.cause !== void 0 && depth <= 10 && isTransientError(error.cause, depth + 1), "isTransientError");
84402
+ var isTransientError = /* @__PURE__ */ __name((error, depth = 0) => isClockSkewCorrectedError(error) || TRANSIENT_ERROR_CODES.includes(error.name) || NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || "") || NODEJS_NETWORK_ERROR_CODES.includes(error?.code || "") || TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0) || isBrowserNetworkError(error) || error.cause !== void 0 && depth <= 10 && isTransientError(error.cause, depth + 1), "isTransientError");
84353
84403
  var isServerError = /* @__PURE__ */ __name((error) => {
84354
84404
  if (error.$metadata?.httpStatusCode !== void 0) {
84355
84405
  const statusCode = error.$metadata.httpStatusCode;
@@ -88701,15 +88751,24 @@ var validateWaiterOptions = /* @__PURE__ */ __name((options) => {
88701
88751
  }, "validateWaiterOptions");
88702
88752
 
88703
88753
  // src/createWaiter.ts
88704
- var abortTimeout = /* @__PURE__ */ __name(async (abortSignal) => {
88705
- return new Promise((resolve) => {
88706
- const onAbort = /* @__PURE__ */ __name(() => resolve({ state: "ABORTED" /* ABORTED */ }), "onAbort");
88754
+ var abortTimeout = /* @__PURE__ */ __name((abortSignal) => {
88755
+ let onAbort;
88756
+ const promise = new Promise((resolve) => {
88757
+ onAbort = /* @__PURE__ */ __name(() => resolve({ state: "ABORTED" /* ABORTED */ }), "onAbort");
88707
88758
  if (typeof abortSignal.addEventListener === "function") {
88708
88759
  abortSignal.addEventListener("abort", onAbort);
88709
88760
  } else {
88710
88761
  abortSignal.onabort = onAbort;
88711
88762
  }
88712
88763
  });
88764
+ return {
88765
+ clearListener() {
88766
+ if (typeof abortSignal.removeEventListener === "function") {
88767
+ abortSignal.removeEventListener("abort", onAbort);
88768
+ }
88769
+ },
88770
+ aborted: promise
88771
+ };
88713
88772
  }, "abortTimeout");
88714
88773
  var createWaiter = /* @__PURE__ */ __name(async (options, input, acceptorChecks) => {
88715
88774
  const params = {
@@ -88718,13 +88777,23 @@ var createWaiter = /* @__PURE__ */ __name(async (options, input, acceptorChecks)
88718
88777
  };
88719
88778
  validateWaiterOptions(params);
88720
88779
  const exitConditions = [runPolling(params, input, acceptorChecks)];
88721
- if (options.abortController) {
88722
- exitConditions.push(abortTimeout(options.abortController.signal));
88723
- }
88780
+ const finalize = [];
88724
88781
  if (options.abortSignal) {
88725
- exitConditions.push(abortTimeout(options.abortSignal));
88782
+ const { aborted, clearListener } = abortTimeout(options.abortSignal);
88783
+ finalize.push(clearListener);
88784
+ exitConditions.push(aborted);
88785
+ }
88786
+ if (options.abortController?.signal) {
88787
+ const { aborted, clearListener } = abortTimeout(options.abortController.signal);
88788
+ finalize.push(clearListener);
88789
+ exitConditions.push(aborted);
88726
88790
  }
88727
- return Promise.race(exitConditions);
88791
+ return Promise.race(exitConditions).then((result) => {
88792
+ for (const fn of finalize) {
88793
+ fn();
88794
+ }
88795
+ return result;
88796
+ });
88728
88797
  }, "createWaiter");
88729
88798
  // Annotate the CommonJS export names for ESM import in node:
88730
88799
 
@@ -97382,10 +97451,11 @@ function parse (src) {
97382
97451
  }
97383
97452
 
97384
97453
  function _parseVault (options) {
97385
- const vaultPath = _vaultPath(options)
97454
+ options = options || {}
97386
97455
 
97387
- // Parse .env.vault
97388
- const result = DotenvModule.configDotenv({ path: vaultPath })
97456
+ const vaultPath = _vaultPath(options)
97457
+ options.path = vaultPath // parse .env.vault
97458
+ const result = DotenvModule.configDotenv(options)
97389
97459
  if (!result.parsed) {
97390
97460
  const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`)
97391
97461
  err.code = 'MISSING_DATA'
@@ -97431,6 +97501,10 @@ function _debug (message) {
97431
97501
  console.log(`[dotenv@${version}][DEBUG] ${message}`)
97432
97502
  }
97433
97503
 
97504
+ function _log (message) {
97505
+ console.log(`[dotenv@${version}] ${message}`)
97506
+ }
97507
+
97434
97508
  function _dotenvKey (options) {
97435
97509
  // prioritize developer directly setting options.DOTENV_KEY
97436
97510
  if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {
@@ -97519,8 +97593,10 @@ function _resolveHome (envPath) {
97519
97593
 
97520
97594
  function _configVault (options) {
97521
97595
  const debug = Boolean(options && options.debug)
97522
- if (debug) {
97523
- _debug('Loading env from encrypted .env.vault')
97596
+ const quiet = options && 'quiet' in options ? options.quiet : true
97597
+
97598
+ if (debug || !quiet) {
97599
+ _log('Loading env from encrypted .env.vault')
97524
97600
  }
97525
97601
 
97526
97602
  const parsed = DotenvModule._parseVault(options)
@@ -97539,6 +97615,7 @@ function configDotenv (options) {
97539
97615
  const dotenvPath = path.resolve(process.cwd(), '.env')
97540
97616
  let encoding = 'utf8'
97541
97617
  const debug = Boolean(options && options.debug)
97618
+ const quiet = options && 'quiet' in options ? options.quiet : true
97542
97619
 
97543
97620
  if (options && options.encoding) {
97544
97621
  encoding = options.encoding
@@ -97585,6 +97662,24 @@ function configDotenv (options) {
97585
97662
 
97586
97663
  DotenvModule.populate(processEnv, parsedAll, options)
97587
97664
 
97665
+ if (debug || !quiet) {
97666
+ const keysCount = Object.keys(parsedAll).length
97667
+ const shortPaths = []
97668
+ for (const filePath of optionPaths) {
97669
+ try {
97670
+ const relative = path.relative(process.cwd(), filePath)
97671
+ shortPaths.push(relative)
97672
+ } catch (e) {
97673
+ if (debug) {
97674
+ _debug(`Failed to load ${filePath} ${e.message}`)
97675
+ }
97676
+ lastError = e
97677
+ }
97678
+ }
97679
+
97680
+ _log(`injecting env (${keysCount}) from ${shortPaths.join(',')}`)
97681
+ }
97682
+
97588
97683
  if (lastError) {
97589
97684
  return { parsed: parsedAll, error: lastError }
97590
97685
  } else {
@@ -200858,21 +200953,21 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@actions/cache","version":"4.
200858
200953
  /***/ 27413:
200859
200954
  /***/ ((module) => {
200860
200955
 
200861
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/client-s3","description":"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native","version":"3.832.0","scripts":{"build":"concurrently \'yarn:build:cjs\' \'yarn:build:es\' \'yarn:build:types\'","build:cjs":"node ../../scripts/compilation/inline client-s3","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3","test":"yarn g:vitest run","test:browser":"node ./test/browser-build/esbuild && yarn g:vitest run -c vitest.config.browser.ts","test:browser:watch":"node ./test/browser-build/esbuild && yarn g:vitest watch -c vitest.config.browser.ts","test:e2e":"yarn g:vitest run -c vitest.config.e2e.ts && yarn test:browser","test:e2e:watch":"yarn g:vitest watch -c vitest.config.e2e.ts","test:integration":"yarn g:vitest run -c vitest.config.integ.ts","test:integration:watch":"yarn g:vitest watch -c vitest.config.integ.ts","test:watch":"yarn g:vitest watch"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha1-browser":"5.2.0","@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"3.826.0","@aws-sdk/credential-provider-node":"3.830.0","@aws-sdk/middleware-bucket-endpoint":"3.830.0","@aws-sdk/middleware-expect-continue":"3.821.0","@aws-sdk/middleware-flexible-checksums":"3.826.0","@aws-sdk/middleware-host-header":"3.821.0","@aws-sdk/middleware-location-constraint":"3.821.0","@aws-sdk/middleware-logger":"3.821.0","@aws-sdk/middleware-recursion-detection":"3.821.0","@aws-sdk/middleware-sdk-s3":"3.826.0","@aws-sdk/middleware-ssec":"3.821.0","@aws-sdk/middleware-user-agent":"3.828.0","@aws-sdk/region-config-resolver":"3.821.0","@aws-sdk/signature-v4-multi-region":"3.826.0","@aws-sdk/types":"3.821.0","@aws-sdk/util-endpoints":"3.828.0","@aws-sdk/util-user-agent-browser":"3.821.0","@aws-sdk/util-user-agent-node":"3.828.0","@aws-sdk/xml-builder":"3.821.0","@smithy/config-resolver":"^4.1.4","@smithy/core":"^3.5.3","@smithy/eventstream-serde-browser":"^4.0.4","@smithy/eventstream-serde-config-resolver":"^4.1.2","@smithy/eventstream-serde-node":"^4.0.4","@smithy/fetch-http-handler":"^5.0.4","@smithy/hash-blob-browser":"^4.0.4","@smithy/hash-node":"^4.0.4","@smithy/hash-stream-node":"^4.0.4","@smithy/invalid-dependency":"^4.0.4","@smithy/md5-js":"^4.0.4","@smithy/middleware-content-length":"^4.0.4","@smithy/middleware-endpoint":"^4.1.11","@smithy/middleware-retry":"^4.1.12","@smithy/middleware-serde":"^4.0.8","@smithy/middleware-stack":"^4.0.4","@smithy/node-config-provider":"^4.1.3","@smithy/node-http-handler":"^4.0.6","@smithy/protocol-http":"^5.1.2","@smithy/smithy-client":"^4.4.3","@smithy/types":"^4.3.1","@smithy/url-parser":"^4.0.4","@smithy/util-base64":"^4.0.0","@smithy/util-body-length-browser":"^4.0.0","@smithy/util-body-length-node":"^4.0.0","@smithy/util-defaults-mode-browser":"^4.0.19","@smithy/util-defaults-mode-node":"^4.0.19","@smithy/util-endpoints":"^3.0.6","@smithy/util-middleware":"^4.0.4","@smithy/util-retry":"^4.0.5","@smithy/util-stream":"^4.2.2","@smithy/util-utf8":"^4.0.0","@smithy/util-waiter":"^4.0.5","@types/uuid":"^9.0.1","tslib":"^2.6.2","uuid":"^9.0.1"},"devDependencies":{"@aws-sdk/signature-v4-crt":"3.828.0","@tsconfig/node18":"18.2.4","@types/node":"^18.19.69","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.8.3"},"engines":{"node":">=18.0.0"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-s3"}}');
200956
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/client-s3","description":"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native","version":"3.839.0","scripts":{"build":"concurrently \'yarn:build:cjs\' \'yarn:build:es\' \'yarn:build:types\'","build:cjs":"node ../../scripts/compilation/inline client-s3","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3","test":"yarn g:vitest run","test:browser":"node ./test/browser-build/esbuild && yarn g:vitest run -c vitest.config.browser.ts","test:browser:watch":"node ./test/browser-build/esbuild && yarn g:vitest watch -c vitest.config.browser.ts","test:e2e":"yarn g:vitest run -c vitest.config.e2e.ts && yarn test:browser","test:e2e:watch":"yarn g:vitest watch -c vitest.config.e2e.ts","test:integration":"yarn g:vitest run -c vitest.config.integ.ts","test:integration:watch":"yarn g:vitest watch -c vitest.config.integ.ts","test:watch":"yarn g:vitest watch"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha1-browser":"5.2.0","@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"3.839.0","@aws-sdk/credential-provider-node":"3.839.0","@aws-sdk/middleware-bucket-endpoint":"3.830.0","@aws-sdk/middleware-expect-continue":"3.821.0","@aws-sdk/middleware-flexible-checksums":"3.839.0","@aws-sdk/middleware-host-header":"3.821.0","@aws-sdk/middleware-location-constraint":"3.821.0","@aws-sdk/middleware-logger":"3.821.0","@aws-sdk/middleware-recursion-detection":"3.821.0","@aws-sdk/middleware-sdk-s3":"3.839.0","@aws-sdk/middleware-ssec":"3.821.0","@aws-sdk/middleware-user-agent":"3.839.0","@aws-sdk/region-config-resolver":"3.821.0","@aws-sdk/signature-v4-multi-region":"3.839.0","@aws-sdk/types":"3.821.0","@aws-sdk/util-endpoints":"3.828.0","@aws-sdk/util-user-agent-browser":"3.821.0","@aws-sdk/util-user-agent-node":"3.839.0","@aws-sdk/xml-builder":"3.821.0","@smithy/config-resolver":"^4.1.4","@smithy/core":"^3.6.0","@smithy/eventstream-serde-browser":"^4.0.4","@smithy/eventstream-serde-config-resolver":"^4.1.2","@smithy/eventstream-serde-node":"^4.0.4","@smithy/fetch-http-handler":"^5.0.4","@smithy/hash-blob-browser":"^4.0.4","@smithy/hash-node":"^4.0.4","@smithy/hash-stream-node":"^4.0.4","@smithy/invalid-dependency":"^4.0.4","@smithy/md5-js":"^4.0.4","@smithy/middleware-content-length":"^4.0.4","@smithy/middleware-endpoint":"^4.1.13","@smithy/middleware-retry":"^4.1.14","@smithy/middleware-serde":"^4.0.8","@smithy/middleware-stack":"^4.0.4","@smithy/node-config-provider":"^4.1.3","@smithy/node-http-handler":"^4.0.6","@smithy/protocol-http":"^5.1.2","@smithy/smithy-client":"^4.4.5","@smithy/types":"^4.3.1","@smithy/url-parser":"^4.0.4","@smithy/util-base64":"^4.0.0","@smithy/util-body-length-browser":"^4.0.0","@smithy/util-body-length-node":"^4.0.0","@smithy/util-defaults-mode-browser":"^4.0.21","@smithy/util-defaults-mode-node":"^4.0.21","@smithy/util-endpoints":"^3.0.6","@smithy/util-middleware":"^4.0.4","@smithy/util-retry":"^4.0.6","@smithy/util-stream":"^4.2.2","@smithy/util-utf8":"^4.0.0","@smithy/util-waiter":"^4.0.6","@types/uuid":"^9.0.1","tslib":"^2.6.2","uuid":"^9.0.1"},"devDependencies":{"@aws-sdk/signature-v4-crt":"3.839.0","@tsconfig/node18":"18.2.4","@types/node":"^18.19.69","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.8.3"},"engines":{"node":">=18.0.0"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-s3"}}');
200862
200957
 
200863
200958
  /***/ }),
200864
200959
 
200865
200960
  /***/ 45188:
200866
200961
  /***/ ((module) => {
200867
200962
 
200868
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/client-sso","description":"AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native","version":"3.830.0","scripts":{"build":"concurrently \'yarn:build:cjs\' \'yarn:build:es\' \'yarn:build:types\'","build:cjs":"node ../../scripts/compilation/inline client-sso","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo sso"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"3.826.0","@aws-sdk/middleware-host-header":"3.821.0","@aws-sdk/middleware-logger":"3.821.0","@aws-sdk/middleware-recursion-detection":"3.821.0","@aws-sdk/middleware-user-agent":"3.828.0","@aws-sdk/region-config-resolver":"3.821.0","@aws-sdk/types":"3.821.0","@aws-sdk/util-endpoints":"3.828.0","@aws-sdk/util-user-agent-browser":"3.821.0","@aws-sdk/util-user-agent-node":"3.828.0","@smithy/config-resolver":"^4.1.4","@smithy/core":"^3.5.3","@smithy/fetch-http-handler":"^5.0.4","@smithy/hash-node":"^4.0.4","@smithy/invalid-dependency":"^4.0.4","@smithy/middleware-content-length":"^4.0.4","@smithy/middleware-endpoint":"^4.1.11","@smithy/middleware-retry":"^4.1.12","@smithy/middleware-serde":"^4.0.8","@smithy/middleware-stack":"^4.0.4","@smithy/node-config-provider":"^4.1.3","@smithy/node-http-handler":"^4.0.6","@smithy/protocol-http":"^5.1.2","@smithy/smithy-client":"^4.4.3","@smithy/types":"^4.3.1","@smithy/url-parser":"^4.0.4","@smithy/util-base64":"^4.0.0","@smithy/util-body-length-browser":"^4.0.0","@smithy/util-body-length-node":"^4.0.0","@smithy/util-defaults-mode-browser":"^4.0.19","@smithy/util-defaults-mode-node":"^4.0.19","@smithy/util-endpoints":"^3.0.6","@smithy/util-middleware":"^4.0.4","@smithy/util-retry":"^4.0.5","@smithy/util-utf8":"^4.0.0","tslib":"^2.6.2"},"devDependencies":{"@tsconfig/node18":"18.2.4","@types/node":"^18.19.69","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.8.3"},"engines":{"node":">=18.0.0"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-sso"}}');
200963
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/client-sso","description":"AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native","version":"3.839.0","scripts":{"build":"concurrently \'yarn:build:cjs\' \'yarn:build:es\' \'yarn:build:types\'","build:cjs":"node ../../scripts/compilation/inline client-sso","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo sso"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"3.839.0","@aws-sdk/middleware-host-header":"3.821.0","@aws-sdk/middleware-logger":"3.821.0","@aws-sdk/middleware-recursion-detection":"3.821.0","@aws-sdk/middleware-user-agent":"3.839.0","@aws-sdk/region-config-resolver":"3.821.0","@aws-sdk/types":"3.821.0","@aws-sdk/util-endpoints":"3.828.0","@aws-sdk/util-user-agent-browser":"3.821.0","@aws-sdk/util-user-agent-node":"3.839.0","@smithy/config-resolver":"^4.1.4","@smithy/core":"^3.6.0","@smithy/fetch-http-handler":"^5.0.4","@smithy/hash-node":"^4.0.4","@smithy/invalid-dependency":"^4.0.4","@smithy/middleware-content-length":"^4.0.4","@smithy/middleware-endpoint":"^4.1.13","@smithy/middleware-retry":"^4.1.14","@smithy/middleware-serde":"^4.0.8","@smithy/middleware-stack":"^4.0.4","@smithy/node-config-provider":"^4.1.3","@smithy/node-http-handler":"^4.0.6","@smithy/protocol-http":"^5.1.2","@smithy/smithy-client":"^4.4.5","@smithy/types":"^4.3.1","@smithy/url-parser":"^4.0.4","@smithy/util-base64":"^4.0.0","@smithy/util-body-length-browser":"^4.0.0","@smithy/util-body-length-node":"^4.0.0","@smithy/util-defaults-mode-browser":"^4.0.21","@smithy/util-defaults-mode-node":"^4.0.21","@smithy/util-endpoints":"^3.0.6","@smithy/util-middleware":"^4.0.4","@smithy/util-retry":"^4.0.6","@smithy/util-utf8":"^4.0.0","tslib":"^2.6.2"},"devDependencies":{"@tsconfig/node18":"18.2.4","@types/node":"^18.19.69","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.8.3"},"engines":{"node":">=18.0.0"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-sso"}}');
200869
200964
 
200870
200965
  /***/ }),
200871
200966
 
200872
200967
  /***/ 39955:
200873
200968
  /***/ ((module) => {
200874
200969
 
200875
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","version":"3.830.0","description":"Nested clients for AWS SDK packages.","main":"./dist-cjs/index.js","module":"./dist-es/index.js","types":"./dist-types/index.d.ts","scripts":{"build":"yarn lint && concurrently \'yarn:build:cjs\' \'yarn:build:es\' \'yarn:build:types\'","build:cjs":"node ../../scripts/compilation/inline nested-clients","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","lint":"node ../../scripts/validation/submodules-linter.js --pkg nested-clients","test":"yarn g:vitest run","test:watch":"yarn g:vitest watch"},"engines":{"node":">=18.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"3.826.0","@aws-sdk/middleware-host-header":"3.821.0","@aws-sdk/middleware-logger":"3.821.0","@aws-sdk/middleware-recursion-detection":"3.821.0","@aws-sdk/middleware-user-agent":"3.828.0","@aws-sdk/region-config-resolver":"3.821.0","@aws-sdk/types":"3.821.0","@aws-sdk/util-endpoints":"3.828.0","@aws-sdk/util-user-agent-browser":"3.821.0","@aws-sdk/util-user-agent-node":"3.828.0","@smithy/config-resolver":"^4.1.4","@smithy/core":"^3.5.3","@smithy/fetch-http-handler":"^5.0.4","@smithy/hash-node":"^4.0.4","@smithy/invalid-dependency":"^4.0.4","@smithy/middleware-content-length":"^4.0.4","@smithy/middleware-endpoint":"^4.1.11","@smithy/middleware-retry":"^4.1.12","@smithy/middleware-serde":"^4.0.8","@smithy/middleware-stack":"^4.0.4","@smithy/node-config-provider":"^4.1.3","@smithy/node-http-handler":"^4.0.6","@smithy/protocol-http":"^5.1.2","@smithy/smithy-client":"^4.4.3","@smithy/types":"^4.3.1","@smithy/url-parser":"^4.0.4","@smithy/util-base64":"^4.0.0","@smithy/util-body-length-browser":"^4.0.0","@smithy/util-body-length-node":"^4.0.0","@smithy/util-defaults-mode-browser":"^4.0.19","@smithy/util-defaults-mode-node":"^4.0.19","@smithy/util-endpoints":"^3.0.6","@smithy/util-middleware":"^4.0.4","@smithy/util-retry":"^4.0.5","@smithy/util-utf8":"^4.0.0","tslib":"^2.6.2"},"devDependencies":{"concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.8.3"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["./sso-oidc.d.ts","./sso-oidc.js","./sts.d.ts","./sts.js","dist-*/**"],"browser":{"./dist-es/submodules/sso-oidc/runtimeConfig":"./dist-es/submodules/sso-oidc/runtimeConfig.browser","./dist-es/submodules/sts/runtimeConfig":"./dist-es/submodules/sts/runtimeConfig.browser"},"react-native":{},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"packages/nested-clients"},"exports":{"./sso-oidc":{"types":"./dist-types/submodules/sso-oidc/index.d.ts","module":"./dist-es/submodules/sso-oidc/index.js","node":"./dist-cjs/submodules/sso-oidc/index.js","import":"./dist-es/submodules/sso-oidc/index.js","require":"./dist-cjs/submodules/sso-oidc/index.js"},"./sts":{"types":"./dist-types/submodules/sts/index.d.ts","module":"./dist-es/submodules/sts/index.js","node":"./dist-cjs/submodules/sts/index.js","import":"./dist-es/submodules/sts/index.js","require":"./dist-cjs/submodules/sts/index.js"}}}');
200970
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","version":"3.839.0","description":"Nested clients for AWS SDK packages.","main":"./dist-cjs/index.js","module":"./dist-es/index.js","types":"./dist-types/index.d.ts","scripts":{"build":"yarn lint && concurrently \'yarn:build:cjs\' \'yarn:build:es\' \'yarn:build:types\'","build:cjs":"node ../../scripts/compilation/inline nested-clients","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","lint":"node ../../scripts/validation/submodules-linter.js --pkg nested-clients","test":"yarn g:vitest run","test:watch":"yarn g:vitest watch"},"engines":{"node":">=18.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"3.839.0","@aws-sdk/middleware-host-header":"3.821.0","@aws-sdk/middleware-logger":"3.821.0","@aws-sdk/middleware-recursion-detection":"3.821.0","@aws-sdk/middleware-user-agent":"3.839.0","@aws-sdk/region-config-resolver":"3.821.0","@aws-sdk/types":"3.821.0","@aws-sdk/util-endpoints":"3.828.0","@aws-sdk/util-user-agent-browser":"3.821.0","@aws-sdk/util-user-agent-node":"3.839.0","@smithy/config-resolver":"^4.1.4","@smithy/core":"^3.6.0","@smithy/fetch-http-handler":"^5.0.4","@smithy/hash-node":"^4.0.4","@smithy/invalid-dependency":"^4.0.4","@smithy/middleware-content-length":"^4.0.4","@smithy/middleware-endpoint":"^4.1.13","@smithy/middleware-retry":"^4.1.14","@smithy/middleware-serde":"^4.0.8","@smithy/middleware-stack":"^4.0.4","@smithy/node-config-provider":"^4.1.3","@smithy/node-http-handler":"^4.0.6","@smithy/protocol-http":"^5.1.2","@smithy/smithy-client":"^4.4.5","@smithy/types":"^4.3.1","@smithy/url-parser":"^4.0.4","@smithy/util-base64":"^4.0.0","@smithy/util-body-length-browser":"^4.0.0","@smithy/util-body-length-node":"^4.0.0","@smithy/util-defaults-mode-browser":"^4.0.21","@smithy/util-defaults-mode-node":"^4.0.21","@smithy/util-endpoints":"^3.0.6","@smithy/util-middleware":"^4.0.4","@smithy/util-retry":"^4.0.6","@smithy/util-utf8":"^4.0.0","tslib":"^2.6.2"},"devDependencies":{"concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.8.3"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["./sso-oidc.d.ts","./sso-oidc.js","./sts.d.ts","./sts.js","dist-*/**"],"browser":{"./dist-es/submodules/sso-oidc/runtimeConfig":"./dist-es/submodules/sso-oidc/runtimeConfig.browser","./dist-es/submodules/sts/runtimeConfig":"./dist-es/submodules/sts/runtimeConfig.browser"},"react-native":{},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"packages/nested-clients"},"exports":{"./sso-oidc":{"types":"./dist-types/submodules/sso-oidc/index.d.ts","module":"./dist-es/submodules/sso-oidc/index.js","node":"./dist-cjs/submodules/sso-oidc/index.js","import":"./dist-es/submodules/sso-oidc/index.js","require":"./dist-cjs/submodules/sso-oidc/index.js"},"./sts":{"types":"./dist-types/submodules/sts/index.d.ts","module":"./dist-es/submodules/sts/index.js","node":"./dist-cjs/submodules/sts/index.js","import":"./dist-es/submodules/sts/index.js","require":"./dist-cjs/submodules/sts/index.js"}}}');
200876
200971
 
200877
200972
  /***/ }),
200878
200973
 
@@ -200907,7 +201002,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"$schema":"http://json-schema.org/dra
200907
201002
  /***/ 80056:
200908
201003
  /***/ ((module) => {
200909
201004
 
200910
- module.exports = /*#__PURE__*/JSON.parse('{"name":"dotenv","version":"16.5.0","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","pretest":"npm run lint && npm run dts-check","test":"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"homepage":"https://github.com/motdotla/dotenv#readme","funding":"https://dotenvx.com","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@types/node":"^18.11.3","decache":"^4.6.2","sinon":"^14.0.1","standard":"^17.0.0","standard-version":"^9.5.0","tap":"^19.2.0","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}');
201005
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"dotenv","version":"16.6.1","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","pretest":"npm run lint && npm run dts-check","test":"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"homepage":"https://github.com/motdotla/dotenv#readme","funding":"https://dotenvx.com","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@types/node":"^18.11.3","decache":"^4.6.2","sinon":"^14.0.1","standard":"^17.0.0","standard-version":"^9.5.0","tap":"^19.2.0","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}');
200911
201006
 
200912
201007
  /***/ }),
200913
201008
 
@@ -201614,7 +201709,7 @@ var lib_storage_dist_cjs = __nccwpck_require__(22358);
201614
201709
 
201615
201710
 
201616
201711
  // Helper function to get input value, prioritizing environment variables for local development
201617
- const s3_getInput = (name, envName) => {
201712
+ const s3_getInput = (name, envNames) => {
201618
201713
  // In GitHub Actions context, try core.getInput first
201619
201714
  if (process.env.GITHUB_ACTIONS === 'true') {
201620
201715
  const coreInput = core_core.getInput(name);
@@ -201622,16 +201717,35 @@ const s3_getInput = (name, envName) => {
201622
201717
  return coreInput;
201623
201718
  }
201624
201719
  // Fall back to environment variable
201625
- const envVar = envName || name.toUpperCase().replace(/-/g, '_');
201626
- return process.env[envVar];
201720
+ const envVars = envNames || [name.toUpperCase().replace(/-/g, '_')];
201721
+ for (const envVar of envVars) {
201722
+ if (process.env[envVar]) {
201723
+ return process.env[envVar];
201724
+ }
201725
+ }
201726
+ return undefined;
201627
201727
  };
201628
201728
  const getS3Provider = () => {
201629
- const s3AccessKeyId = s3_getInput('s3-access-key-id', 'S3_ACCESS_KEY_ID');
201630
- const s3SecretAccessKey = s3_getInput('s3-secret-access-key', 'S3_SECRET_ACCESS_KEY');
201631
- const s3Bucket = s3_getInput('s3-bucket', 'S3_BUCKET');
201632
- const s3Region = s3_getInput('s3-region', 'S3_REGION');
201633
- const s3Endpoint = s3_getInput('s3-endpoint', 'S3_ENDPOINT') || 'https://s3.amazonaws.com';
201634
- const s3Prefix = s3_getInput('s3-prefix', 'S3_PREFIX') || 'turbogha/';
201729
+ const s3AccessKeyId = s3_getInput('s3-access-key-id', [
201730
+ 'AWS_ACCESS_KEY_ID',
201731
+ 'S3_ACCESS_KEY_ID'
201732
+ ]);
201733
+ const s3SecretAccessKey = s3_getInput('s3-secret-access-key', [
201734
+ 'AWS_SECRET_ACCESS_KEY',
201735
+ 'S3_SECRET_ACCESS_KEY'
201736
+ ]);
201737
+ const s3Bucket = s3_getInput('s3-bucket', ['S3_BUCKET']);
201738
+ const s3Region = s3_getInput('s3-region', [
201739
+ 'AWS_REGION',
201740
+ 'AWS_DEFAULT_REGION',
201741
+ 'S3_REGION'
201742
+ ]);
201743
+ const s3Endpoint = s3_getInput('s3-endpoint', [
201744
+ 'AWS_ENDPOINT_URL_S3',
201745
+ 'AWS_ENDPOINT_URL',
201746
+ 'S3_ENDPOINT'
201747
+ ]) || 'https://s3.amazonaws.com';
201748
+ const s3Prefix = s3_getInput('s3-prefix', ['S3_PREFIX']) || 'turbogha/';
201635
201749
  if (!s3AccessKeyId || !s3SecretAccessKey || !s3Bucket || !s3Region) {
201636
201750
  throw new Error('S3 provider requires s3-access-key-id, s3-secret-access-key, s3-bucket, and s3-region. Set these as environment variables or GitHub Actions inputs.');
201637
201751
  }
@@ -201972,11 +202086,14 @@ async function cleanup(ctx) {
201972
202086
  }
201973
202087
  }
201974
202088
 
202089
+ // EXTERNAL MODULE: external "stream"
202090
+ var external_stream_ = __nccwpck_require__(2203);
201975
202091
  ;// CONCATENATED MODULE: ./src/lib/server/index.ts
201976
202092
 
201977
202093
 
201978
202094
 
201979
202095
 
202096
+
201980
202097
  async function server() {
201981
202098
  //* Create the server
201982
202099
  const fastify = fastify_default()({
@@ -201986,6 +202103,56 @@ async function server() {
201986
202103
  fastify.get('/', async () => {
201987
202104
  return { ok: true };
201988
202105
  });
202106
+ //? Ping endpoint to test cache provider functionality
202107
+ fastify.get('/ping', async (request) => {
202108
+ request.log.info('Ping endpoint called - testing cache provider functionality');
202109
+ try {
202110
+ const tests = [];
202111
+ const provider = getProvider();
202112
+ const testHash = 'ping-test-file';
202113
+ const testContent = 'This is a test file for ping functionality';
202114
+ // Create a readable stream from the test content
202115
+ const testStream = new external_stream_.Readable();
202116
+ testStream.push(testContent);
202117
+ testStream.push(null); // End the stream
202118
+ // Test 1: Upload a test file
202119
+ request.log.info('Testing cache upload...');
202120
+ await provider.save(request, testHash, 'ping-test', testStream);
202121
+ request.log.info('Cache upload test successful');
202122
+ tests.push('upload');
202123
+ // Test 2: Retrieve the test file
202124
+ request.log.info('Testing cache retrieval...');
202125
+ const result = await provider.get(request, testHash);
202126
+ if (!result) {
202127
+ throw new Error('Failed to retrieve test file from cache');
202128
+ }
202129
+ request.log.info('Cache retrieval test successful');
202130
+ tests.push('retrieve');
202131
+ // Test 3: Delete the test file (only if supported)
202132
+ try {
202133
+ request.log.info('Testing cache deletion...');
202134
+ await provider.delete(testHash);
202135
+ request.log.info('Cache deletion test successful');
202136
+ tests.push('delete');
202137
+ }
202138
+ catch (deleteError) {
202139
+ request.log.info(`Cache deletion not supported or failed: ${deleteError}`);
202140
+ // Don't fail the ping test if deletion is not supported
202141
+ }
202142
+ return {
202143
+ ok: true,
202144
+ message: 'Cache provider functionality test completed successfully',
202145
+ tests
202146
+ };
202147
+ }
202148
+ catch (error) {
202149
+ request.log.error(`Ping test failed: ${error}`);
202150
+ return {
202151
+ ok: false,
202152
+ error: error instanceof Error ? error.message : String(error)
202153
+ };
202154
+ }
202155
+ });
201989
202156
  //? Shut down the server
201990
202157
  const shutdown = async (ctx) => {
201991
202158
  //* Handle cleanup
@@ -202041,8 +202208,30 @@ async function server() {
202041
202208
 
202042
202209
 
202043
202210
  const ping = async () => {
202044
- await waitForServer();
202045
- core_core.success('Server is up and running');
202211
+ try {
202212
+ const controller = new AbortController();
202213
+ const timeoutId = setTimeout(() => {
202214
+ core_core.error('Cache provider test timed out');
202215
+ controller.abort();
202216
+ }, 15000);
202217
+ const response = await fetch(`http://localhost:${serverPort}/ping`, {
202218
+ signal: controller.signal
202219
+ });
202220
+ clearTimeout(timeoutId);
202221
+ const result = await response.json();
202222
+ if (result.ok) {
202223
+ core_core.success('Cache provider functionality test completed successfully');
202224
+ core_core.info(`Tests performed: ${result.tests.join(', ')}`);
202225
+ }
202226
+ else {
202227
+ core_core.error(`Cache provider test failed: ${result.error}`);
202228
+ throw new Error(result.error);
202229
+ }
202230
+ }
202231
+ catch (error) {
202232
+ core_core.error(`Failed to test cache provider: ${error}`);
202233
+ throw error;
202234
+ }
202046
202235
  };
202047
202236
 
202048
202237
  // EXTERNAL MODULE: external "fs/promises"
@@ -202063,72 +202252,98 @@ const package_namespaceObject = {"rE":"2.0.0"};
202063
202252
  const cli_main = async () => {
202064
202253
  await logger.init();
202065
202254
  const args = process.argv.slice(2);
202066
- if (args.includes('--help') || args.includes('-h')) {
202067
- console.log(`
202255
+ const command = args[0];
202256
+ const help = `
202068
202257
  Turborepo GitHub Actions Cache Server
202069
202258
 
202070
202259
  Usage:
202071
- turbogha [options]
202260
+ turbogha <command> [options]
202072
202261
 
202073
- Options:
202074
- --server Run the server in foreground mode
202075
- --help, -h Show this help message
202076
- --version, -v Show version
202077
- --ping Ping the server
202078
- --kill Kill the server
202262
+ Commands:
202263
+ start Start the cache server (default: background mode)
202264
+ start --foreground Start the cache server in foreground mode
202265
+ kill Kill the running server
202266
+ ping Ping the server to check if it's running
202267
+ help Show this help message
202268
+ version Show version
202079
202269
 
202080
202270
  Environment Variables:
202081
202271
  The following environment variables are supported for S3 configuration:
202082
- - S3_ACCESS_KEY_ID: AWS S3 access key ID
202083
- - S3_SECRET_ACCESS_KEY: AWS S3 secret access key
202272
+ - AWS_ACCESS_KEY_ID: AWS S3 access key ID
202273
+ - AWS_SECRET_ACCESS_KEY: AWS S3 secret access key
202274
+ - AWS_REGION: AWS S3 region
202275
+ - AWS_ENDPOINT_URL_S3: S3 endpoint (default: https://s3.amazonaws.com)
202084
202276
  - S3_BUCKET: AWS S3 bucket name
202085
- - S3_REGION: AWS S3 region
202086
- - S3_ENDPOINT: S3 endpoint (default: https://s3.amazonaws.com)
202087
202277
  - S3_PREFIX: Prefix for S3 objects (default: turbogha/)
202088
202278
  - PROVIDER: Cache provider (github or s3)
202089
202279
 
202090
202280
  Examples:
202091
- # Run server in background and export environment variables
202092
- turbogha
202281
+ # Start server in background and export environment variables
202282
+ turbogha start
202093
202283
 
202094
- # Run server in foreground mode
202095
- turbogha --server
202284
+ # Start server in foreground mode
202285
+ turbogha start --foreground
202096
202286
 
202097
202287
  # Ping the server
202098
- turbogha --ping
202288
+ turbogha ping
202289
+
202290
+ # Kill the server
202291
+ turbogha kill
202099
202292
 
202100
202293
  # With S3 configuration
202101
- S3_ACCESS_KEY_ID=your-key S3_SECRET_ACCESS_KEY=your-secret S3_BUCKET=your-bucket S3_REGION=us-east-1 turbogha
202102
- `);
202294
+ AWS_ACCESS_KEY_ID=your-key AWS_SECRET_ACCESS_KEY=your-secret S3_BUCKET=your-bucket AWS_REGION=us-east-1 turbogha start
202295
+ `;
202296
+ if (!command ||
202297
+ command === '--help' ||
202298
+ command === '-h' ||
202299
+ command === 'help') {
202300
+ console.log(help);
202103
202301
  process.exit(0);
202104
202302
  }
202105
- if (args.includes('--version') || args.includes('-v')) {
202303
+ if (command === '--version' || command === '-v' || command === 'version') {
202106
202304
  console.log(package_namespaceObject.rE);
202107
202305
  process.exit(0);
202108
202306
  }
202307
+ const startForeground = async () => {
202308
+ // Empty log file
202309
+ await (0,promises_.writeFile)(serverLogFile, '', { flag: 'w' });
202310
+ // Run server in foreground mode
202311
+ console.log('Starting Turborepo cache server in foreground mode...');
202312
+ await server();
202313
+ };
202314
+ if (command === '--server') {
202315
+ await startForeground();
202316
+ return;
202317
+ }
202109
202318
  try {
202110
- if (args.includes('--ping')) {
202111
- await ping();
202112
- }
202113
- else if (args.includes('--kill')) {
202114
- await killServer();
202115
- }
202116
- else if (args.includes('--server')) {
202117
- // Empty log file
202118
- await (0,promises_.writeFile)(serverLogFile, '', { flag: 'w' });
202119
- // Run server in foreground mode
202120
- console.log('Starting Turborepo cache server in foreground mode...');
202121
- await server();
202122
- }
202123
- else {
202124
- // Run server in background mode and export environment variables
202125
- console.log('Starting Turborepo cache server...');
202126
- // Empty log file
202127
- await (0,promises_.writeFile)(serverLogFile, '', { flag: 'w' });
202128
- await launchServer();
202129
- console.log('\nServer is running! You can now use Turbo with remote caching.');
202130
- console.log('\nTo stop the server, run:');
202131
- console.log('curl -X DELETE http://localhost:41230/shutdown');
202319
+ switch (command) {
202320
+ case 'ping':
202321
+ await ping();
202322
+ break;
202323
+ case 'kill':
202324
+ await killServer();
202325
+ break;
202326
+ case 'start': {
202327
+ const isForeground = args.includes('--foreground');
202328
+ if (isForeground) {
202329
+ await startForeground();
202330
+ }
202331
+ else {
202332
+ // Run server in background mode and export environment variables
202333
+ console.log('Starting Turborepo cache server...');
202334
+ // Empty log file
202335
+ await (0,promises_.writeFile)(serverLogFile, '', { flag: 'w' });
202336
+ await launchServer();
202337
+ console.log('\nServer is running! You can now use Turbo with remote caching.');
202338
+ console.log('\nTo stop the server, run:');
202339
+ console.log('turbogha kill');
202340
+ }
202341
+ break;
202342
+ }
202343
+ default:
202344
+ console.error(`Unknown command: ${command}`);
202345
+ console.log(help);
202346
+ process.exit(1);
202132
202347
  }
202133
202348
  }
202134
202349
  catch (error) {