@layerzerolabs/vm-tooling 0.0.63 → 0.0.65

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 (104) hide show
  1. package/dist/{DV6Y5YK3.cjs → 22KWM667.cjs} +12 -12
  2. package/dist/22KWM667.cjs.map +1 -0
  3. package/dist/3H446V2K.js +6 -0
  4. package/dist/3H446V2K.js.map +1 -0
  5. package/dist/{KFOKN2M2.cjs → 4QL6ZBHT.cjs} +4 -4
  6. package/dist/{KFOKN2M2.cjs.map → 4QL6ZBHT.cjs.map} +1 -1
  7. package/dist/{CJNBA2MN.js → 6YQKZHZ5.js} +81 -61
  8. package/dist/6YQKZHZ5.js.map +1 -0
  9. package/dist/7PSRMQMS.cjs +51 -0
  10. package/dist/7PSRMQMS.cjs.map +1 -0
  11. package/dist/{L6RZSSWB.cjs → BG3MG6IF.cjs} +15 -15
  12. package/dist/{L6RZSSWB.cjs.map → BG3MG6IF.cjs.map} +1 -1
  13. package/dist/{HSC5AWAD.cjs → BNMJ5QME.cjs} +3 -3
  14. package/dist/{HSC5AWAD.cjs.map → BNMJ5QME.cjs.map} +1 -1
  15. package/dist/{NX66I36H.js → DN5VBC3L.js} +17 -20
  16. package/dist/DN5VBC3L.js.map +1 -0
  17. package/dist/{KONCDJAL.cjs → ER722VGO.cjs} +14 -14
  18. package/dist/{KONCDJAL.cjs.map → ER722VGO.cjs.map} +1 -1
  19. package/dist/{TBDZQONT.js → GBR35MZ7.js} +3 -3
  20. package/dist/{TBDZQONT.js.map → GBR35MZ7.js.map} +1 -1
  21. package/dist/{WHAPJZ3U.cjs → GERMNIDG.cjs} +81 -60
  22. package/dist/GERMNIDG.cjs.map +1 -0
  23. package/dist/{45K4IRAA.js → JZHAF3IW.js} +5 -5
  24. package/dist/{45K4IRAA.js.map → JZHAF3IW.js.map} +1 -1
  25. package/dist/{UHPHZ6AE.js → KFXJIHI6.js} +3 -3
  26. package/dist/{UHPHZ6AE.js.map → KFXJIHI6.js.map} +1 -1
  27. package/dist/{FI3AZBYE.cjs → KPYTMXHJ.cjs} +4 -4
  28. package/dist/{FI3AZBYE.cjs.map → KPYTMXHJ.cjs.map} +1 -1
  29. package/dist/{SPOUVTPR.cjs → KTAMTSBK.cjs} +3 -3
  30. package/dist/{SPOUVTPR.cjs.map → KTAMTSBK.cjs.map} +1 -1
  31. package/dist/{JLKKDVCL.cjs → Q3ORCLJH.cjs} +17 -20
  32. package/dist/Q3ORCLJH.cjs.map +1 -0
  33. package/dist/{5APCIOW3.js → QPWLW7SN.js} +4 -4
  34. package/dist/QPWLW7SN.js.map +1 -0
  35. package/dist/R2U2WXP4.js +49 -0
  36. package/dist/R2U2WXP4.js.map +1 -0
  37. package/dist/{5QGJ7CFM.js → W5XVOHRB.js} +4 -4
  38. package/dist/{5QGJ7CFM.js.map → W5XVOHRB.js.map} +1 -1
  39. package/dist/{5JYEGDVK.js → XYNAO6GV.js} +4 -4
  40. package/dist/{5JYEGDVK.js.map → XYNAO6GV.js.map} +1 -1
  41. package/dist/{U4OLGGKH.js → Y3REZYJA.js} +3 -3
  42. package/dist/{U4OLGGKH.js.map → Y3REZYJA.js.map} +1 -1
  43. package/dist/Y7OWS2C2.cjs +8 -0
  44. package/dist/Y7OWS2C2.cjs.map +1 -0
  45. package/dist/commands/sui/build.cjs +20 -0
  46. package/dist/commands/sui/build.cjs.map +1 -0
  47. package/dist/commands/sui/build.d.ts +3 -0
  48. package/dist/commands/sui/build.d.ts.map +1 -0
  49. package/dist/commands/sui/build.js +11 -0
  50. package/dist/commands/sui/build.js.map +1 -0
  51. package/dist/commands/sui/index.cjs +21 -0
  52. package/dist/commands/sui/index.cjs.map +1 -0
  53. package/dist/commands/sui/index.d.ts +2 -0
  54. package/dist/commands/sui/index.d.ts.map +1 -0
  55. package/dist/commands/sui/index.js +12 -0
  56. package/dist/commands/sui/index.js.map +1 -0
  57. package/dist/config/index.cjs +8 -8
  58. package/dist/config/index.js +2 -2
  59. package/dist/config/tools.cjs +7 -3
  60. package/dist/config/tools.d.ts +2 -1
  61. package/dist/config/tools.d.ts.map +1 -1
  62. package/dist/config/tools.js +2 -2
  63. package/dist/config/version-matrices.cjs +2 -2
  64. package/dist/config/version-matrices.js +1 -1
  65. package/dist/core/index.cjs +9 -9
  66. package/dist/core/index.js +5 -5
  67. package/dist/core/tool-executor.cjs +6 -6
  68. package/dist/core/tool-executor.d.ts +7 -6
  69. package/dist/core/tool-executor.d.ts.map +1 -1
  70. package/dist/core/tool-executor.js +5 -5
  71. package/dist/core/version-resolver.cjs +6 -6
  72. package/dist/core/version-resolver.js +3 -3
  73. package/dist/display/formatters.cjs +4 -4
  74. package/dist/display/formatters.js +3 -3
  75. package/dist/display/index.cjs +7 -7
  76. package/dist/display/index.js +4 -4
  77. package/dist/display/version-display.cjs +6 -6
  78. package/dist/display/version-display.js +4 -4
  79. package/dist/index.cjs +25 -15
  80. package/dist/index.cjs.map +1 -1
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +18 -8
  83. package/dist/index.js.map +1 -1
  84. package/dist/scripts/generate-github-matrix.cjs +9 -9
  85. package/dist/scripts/generate-github-matrix.js +5 -5
  86. package/dist/types/tool.cjs.map +1 -1
  87. package/dist/types/tool.d.ts +1 -1
  88. package/dist/types/tool.d.ts.map +1 -1
  89. package/dist/types/tool.js.map +1 -1
  90. package/dist/utils/docker.cjs +4 -4
  91. package/dist/utils/docker.js +2 -2
  92. package/dist/utils/finder.cjs +11 -11
  93. package/dist/utils/finder.js +2 -2
  94. package/dist/utils/version.cjs +6 -6
  95. package/dist/utils/version.js +2 -2
  96. package/dist/utils.cjs +5 -5
  97. package/dist/utils.js +2 -2
  98. package/package.json +5 -5
  99. package/dist/5APCIOW3.js.map +0 -1
  100. package/dist/CJNBA2MN.js.map +0 -1
  101. package/dist/DV6Y5YK3.cjs.map +0 -1
  102. package/dist/JLKKDVCL.cjs.map +0 -1
  103. package/dist/NX66I36H.js.map +0 -1
  104. package/dist/WHAPJZ3U.cjs.map +0 -1
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var YNMZEV5X_cjs = require('./YNMZEV5X.cjs');
4
+ var BG3MG6IF_cjs = require('./BG3MG6IF.cjs');
5
+ var GERMNIDG_cjs = require('./GERMNIDG.cjs');
4
6
  var TQMUPD75_cjs = require('./TQMUPD75.cjs');
5
- var L6RZSSWB_cjs = require('./L6RZSSWB.cjs');
6
- var WHAPJZ3U_cjs = require('./WHAPJZ3U.cjs');
7
7
  var U7VZULNU_cjs = require('./U7VZULNU.cjs');
8
8
  var fs = require('fs');
9
9
  var path = require('path');
@@ -51,7 +51,7 @@ async function ensureDockerImage(imageURI) {
51
51
  ` - ECR image: ${imageURI} (pull failed)`,
52
52
  "",
53
53
  "\u{1F4A1} Solutions:",
54
- ` 1. Authenticate with ECR: aws ecr get-login-password --region ${WHAPJZ3U_cjs.AWS_REGION} | docker login --username AWS --password-stdin ${WHAPJZ3U_cjs.AWS_ACCOUNT_ID}.dkr.ecr.${WHAPJZ3U_cjs.AWS_REGION}.amazonaws.com`,
54
+ ` 1. Authenticate with ECR: aws ecr get-login-password --region ${GERMNIDG_cjs.AWS_REGION} | docker login --username AWS --password-stdin ${GERMNIDG_cjs.AWS_ACCOUNT_ID}.dkr.ecr.${GERMNIDG_cjs.AWS_REGION}.amazonaws.com`,
55
55
  " 2. Check if the image tag exists in ECR."
56
56
  ].join("\n"));
57
57
  }
@@ -60,12 +60,12 @@ async function ensureDockerImage(imageURI) {
60
60
  U7VZULNU_cjs.__name(ensureDockerImage, "ensureDockerImage");
61
61
  async function executeToolCommand(command, args, options) {
62
62
  const { cwd, volumes: userVolumes, customEntrypoint: entrypoint, env: customEnvVars, script, publish } = options;
63
- const tool = WHAPJZ3U_cjs.findToolByName(command);
64
- const type = WHAPJZ3U_cjs.getChainTypeForTool(command);
63
+ const tool = GERMNIDG_cjs.findToolByName(command);
64
+ const type = GERMNIDG_cjs.getChainTypeForTool(command);
65
65
  if (type === void 0) {
66
66
  throw new Error([
67
67
  `Tool '${command}' not found or no type configuration available.`,
68
- `Available tools: ${WHAPJZ3U_cjs.tools.map(({ name }) => name).join(", ")}`,
68
+ `Available tools: ${GERMNIDG_cjs.tools.map(({ name }) => name).join(", ")}`,
69
69
  `Try: lz-tool --list-versions to see all available tools`
70
70
  ].join("\n"));
71
71
  }
@@ -80,8 +80,8 @@ async function executeToolCommand(command, args, options) {
80
80
  }
81
81
  }
82
82
  }
83
- const userSpecifiedVersions = L6RZSSWB_cjs.extractUserVersions(options);
84
- const versionResult = L6RZSSWB_cjs.resolveTypeVersions(type, userSpecifiedVersions, options, cwd);
83
+ const userSpecifiedVersions = BG3MG6IF_cjs.extractUserVersions(options);
84
+ const versionResult = BG3MG6IF_cjs.resolveTypeVersions(type, userSpecifiedVersions, options, cwd);
85
85
  for (const warning of versionResult.warnings) {
86
86
  console.warn(warning);
87
87
  }
@@ -98,14 +98,14 @@ async function executeToolCommand(command, args, options) {
98
98
  const resolvedVersionObj = {
99
99
  version: resolvedVersion
100
100
  };
101
- if (!WHAPJZ3U_cjs.versionsSatisfied(secondaryVersion, resolvedVersionObj)) {
101
+ if (!GERMNIDG_cjs.versionsSatisfied(secondaryVersion, resolvedVersionObj)) {
102
102
  console.warn(`Warning: Local configuration version (${secondaryVersion.version}) differs from resolved version (${resolvedVersion})`);
103
103
  }
104
104
  } catch (error) {
105
105
  console.warn("Could not validate secondary version:", YNMZEV5X_cjs.stringifyError(error));
106
106
  }
107
107
  }
108
- const imageURI = WHAPJZ3U_cjs.getImageURI(tool.name, resolvedVersion);
108
+ const imageURI = GERMNIDG_cjs.getImageURI(tool.name, resolvedVersion);
109
109
  const workspaceRoot = await commonNodeUtils.getFullyQualifiedRepoRootPath();
110
110
  const relativePath = path__default.default.relative(workspaceRoot, cwd);
111
111
  await ensureDockerImage(imageURI);
@@ -196,5 +196,5 @@ function saveAptosModulesOrder(command, processOutput, workspaceRoot, relPath) {
196
196
  U7VZULNU_cjs.__name(saveAptosModulesOrder, "saveAptosModulesOrder");
197
197
 
198
198
  exports.executeToolCommand = executeToolCommand;
199
- //# sourceMappingURL=DV6Y5YK3.cjs.map
200
- //# sourceMappingURL=DV6Y5YK3.cjs.map
199
+ //# sourceMappingURL=22KWM667.cjs.map
200
+ //# sourceMappingURL=22KWM667.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/tool-executor.ts"],"names":["init_cjs_shims","$","verbose","stdio","process","stderr","mergeVolumes","__name","defaultVolumes","userVolumes","paths","Set","map","volume","containerPath","filter","has","ensureDockerImage","imageURI","output","nothrow","stdout","includes","split","console","info","error","Error","stringifyError","exitCode","AWS_REGION","AWS_ACCOUNT_ID","join","executeToolCommand","command","args","options","cwd","volumes","customEntrypoint","entrypoint","env","customEnvVars","script","publish","tool","findToolByName","type","getChainTypeForTool","undefined","tools","name","length","overrides","uv","some","dv","userSpecifiedVersions","extractUserVersions","versionResult","resolveTypeVersions","warning","warnings","warn","resolvedVersion","resolvedVersions","getSecondaryVersionCheckValue","secondaryVersion","resolvedVersionObj","version","versionsSatisfied","getImageURI","workspaceRoot","getFullyQualifiedRepoRootPath","relativePath","path","relative","volumeArgs","hostPath","components","shared","packageName","npm_package_name","push","basename","flatMap","trim","envArgs","envVar","value","flat","finalArgs","dockerArgs","privileged","lockMany","locked","saveAptosModulesOrder","exit","processOutput","relPath","outputJson","json","modules","Result","item","fs","writeFileSync","JSON","stringify"],"mappings":"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","file":"22KWM667.cjs","sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\nimport { $, type ProcessOutput } from 'zx';\n\nimport { getFullyQualifiedRepoRootPath } from '@layerzerolabs/common-node-utils';\n\nimport { AWS_ACCOUNT_ID, AWS_REGION, tools } from '../config';\nimport type { EnvironmentVariable, Version, VolumeMapping } from '../types';\nimport { getImageURI } from '../utils/docker';\nimport { stringifyError } from '../utils/error';\nimport { findToolByName, getChainTypeForTool } from '../utils/finder';\nimport { versionsSatisfied } from '../utils/version';\nimport { lockMany } from './lock';\nimport { extractUserVersions, resolveTypeVersions } from './version-resolver';\n\n// Configure zx to inherit stdio by default (moved from original setup)\n$.verbose = true;\n$.stdio = ['inherit', 'pipe', process.stderr];\n\n/**\n * Merge default volumes with user-specified volumes\n * User volumes take precedence when containerPath conflicts\n */\nconst mergeVolumes = (\n defaultVolumes: readonly VolumeMapping[],\n userVolumes: readonly VolumeMapping[],\n): VolumeMapping[] => {\n const paths = new Set(userVolumes.map((volume) => volume.containerPath));\n\n return [...userVolumes, ...defaultVolumes.filter((volume) => !paths.has(volume.containerPath))];\n};\n\nasync function ensureDockerImage(imageURI: string): Promise<void> {\n let output: ProcessOutput;\n\n try {\n // Check local images first.\n output = await $`docker image ls ${imageURI}`.nothrow();\n\n if (output.stdout.includes(imageURI.split(':')[1])) {\n console.info(`✅ Using cached Docker image: ${imageURI}`);\n return;\n }\n\n console.info('📥 Pulling Docker image from ECR:', imageURI);\n output = await $`docker pull ${imageURI}`.nothrow();\n } catch (error: unknown) {\n throw new Error(`Failed to pull Docker image ${imageURI}: ${stringifyError(error)}`);\n }\n\n if (output.exitCode) {\n throw new Error(\n [\n 'Docker image not available:',\n ` - ECR image: ${imageURI} (pull failed)`,\n '',\n '💡 Solutions:',\n ` 1. Authenticate with ECR: aws ecr get-login-password --region ${AWS_REGION} | ` +\n `docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com`,\n ' 2. Check if the image tag exists in ECR.',\n ].join('\\n'),\n );\n }\n\n console.info(`✅ Successfully pulled: ${imageURI}`);\n}\n\nexport interface ToolCommandExecutionOptions {\n cwd: string;\n volumes: readonly VolumeMapping[];\n customEntrypoint?: string;\n env: EnvironmentVariable[];\n script?: string;\n [key: string]: unknown;\n publish?: string;\n}\n\n/**\n * Enhanced tool command execution using the new version compatibility matrix system\n */\nexport async function executeToolCommand(\n command: string,\n args: string[],\n options: ToolCommandExecutionOptions,\n): Promise<void> {\n const {\n cwd,\n volumes: userVolumes,\n customEntrypoint: entrypoint,\n env: customEnvVars,\n script,\n publish,\n } = options;\n\n const tool = findToolByName(command);\n const type = getChainTypeForTool(command);\n\n if (type === undefined) {\n throw new Error(\n [\n `Tool '${command}' not found or no type configuration available.`,\n `Available tools: ${tools.map(({ name }) => name).join(', ')}`,\n `Try: lz-tool --list-versions to see all available tools`,\n ].join('\\n'),\n );\n }\n\n // Merge default volumes with user-specified volumes\n const defaultVolumes = tool.defaultVolumes ?? [];\n const volumes = mergeVolumes(defaultVolumes, userVolumes);\n\n if (defaultVolumes.length > 0) {\n console.info(`📦 Using ${defaultVolumes.length} default cache volume(s) for ${command}`);\n if (userVolumes.length > 0) {\n const overrides = userVolumes.filter((uv) =>\n defaultVolumes.some((dv) => dv.containerPath === uv.containerPath),\n );\n if (overrides.length > 0) {\n console.info(`🔧 User volumes override ${overrides.length} default volume(s)`);\n }\n }\n }\n\n // Extract user-specified versions from command line options\n const userSpecifiedVersions = extractUserVersions(options);\n\n // Resolve versions for all tools in the type using compatibility matrix\n const versionResult = resolveTypeVersions(type, userSpecifiedVersions, options, cwd);\n\n for (const warning of versionResult.warnings) {\n console.warn(warning);\n }\n\n // Get the resolved version for the current tool\n const resolvedVersion = versionResult.resolvedVersions[command];\n if (typeof resolvedVersion !== 'string' || resolvedVersion === '') {\n throw new Error(`No version resolved for tool ${command}`);\n }\n\n console.info(`🔧 ${command} version: ${resolvedVersion}`);\n\n // Check secondary version validation if available\n if (tool.getSecondaryVersionCheckValue) {\n try {\n const secondaryVersion = tool.getSecondaryVersionCheckValue({ cwd });\n const resolvedVersionObj: Version = { version: resolvedVersion };\n\n if (!versionsSatisfied(secondaryVersion, resolvedVersionObj)) {\n console.warn(\n `Warning: Local configuration version (${secondaryVersion.version}) differs from resolved version (${resolvedVersion})`,\n );\n }\n } catch (error) {\n // Secondary version check failed, but continue with resolved version\n console.warn('Could not validate secondary version:', stringifyError(error));\n }\n }\n\n // Use Docker image with merged volumes\n const imageURI = getImageURI(tool.name, resolvedVersion);\n const workspaceRoot = await getFullyQualifiedRepoRootPath();\n const relativePath = path.relative(workspaceRoot, cwd);\n\n await ensureDockerImage(imageURI);\n\n const volumeArgs = volumes\n .map((volume) => {\n if (volume.type === 'host') {\n return `${volume.hostPath}:${volume.containerPath}`;\n }\n\n const components = ['lz-tooling-cache', volume.name];\n\n if (!volume.shared) {\n // This is the package name where the `lz-tool` command is executed.\n // eslint-disable-next-line turbo/no-undeclared-env-vars\n const packageName = process.env.npm_package_name;\n\n if (!packageName) {\n throw new Error('npm_package_name environment variable not defined');\n }\n\n components.push(path.basename(packageName));\n }\n\n return `${components.join('-')}:${volume.containerPath}`;\n })\n .flatMap((volume) => ['-v', volume]);\n\n if (entrypoint?.trim()) {\n console.info(`🔧 Using custom entrypoint: ${entrypoint}`);\n }\n\n // Build the Docker command with proper argument separation\n const envArgs = customEnvVars.map((envVar) => ['-e', `${envVar.name}=${envVar.value}`]).flat();\n\n if (customEnvVars.length > 0) {\n console.info(`🌍 Using ${customEnvVars.length} custom environment variable(s)`);\n }\n\n // Handle custom script execution\n let finalArgs: string[];\n if (script && script.trim() !== '') {\n console.info(`📜 Executing custom script: ${script}`);\n finalArgs = ['bash', '-c', script];\n } else {\n finalArgs = entrypoint === undefined ? [tool.name, ...args] : args;\n }\n\n // Build the Docker command with proper argument separation\n const dockerArgs = [\n 'run',\n ...(tool.privileged ? ['--privileged'] : []),\n '--rm',\n ...envArgs,\n '-v',\n `${workspaceRoot}:/workspace`,\n '-w',\n `/workspace/${relativePath}`,\n ...(publish ? ['-p', publish.trim()] : []),\n ...volumeArgs,\n ...(entrypoint ? ['--entrypoint', entrypoint] : []),\n imageURI,\n ...finalArgs,\n ];\n\n const output = await lockMany(\n volumes.flatMap((volume) =>\n volume.type === 'isolate' && volume.locked ? [volume.name] : [],\n ),\n () => $`docker ${dockerArgs}`.nothrow(),\n );\n saveAptosModulesOrder(command, output, workspaceRoot, relativePath);\n\n // Handle the process completion\n const { exitCode } = output;\n if (exitCode !== 0) {\n process.exit(exitCode ?? 1);\n }\n}\n\nfunction saveAptosModulesOrder(\n command: string,\n processOutput: ProcessOutput,\n workspaceRoot: string,\n relPath: string,\n): void {\n if ('aptos' === command) {\n const outputJson: { Result: string[] } = processOutput.json();\n const modules = outputJson.Result.map((item: string) => `${item.split('::')[1]}.mv`);\n fs.writeFileSync(\n path.join(workspaceRoot, relPath, 'modules.json'),\n JSON.stringify(modules, null, 2),\n );\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { init_esm_shims } from './4RNWLMHM.js';
2
+
3
+ // src/commands/sui/index.ts
4
+ init_esm_shims();
5
+ //# sourceMappingURL=3H446V2K.js.map
6
+ //# sourceMappingURL=3H446V2K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/sui/index.ts"],"names":[],"mappings":";;;AAAA,cAAA,EAAA","file":"3H446V2K.js","sourcesContent":["export * from './build.js';\n"]}
@@ -34,7 +34,7 @@ U7VZULNU_cjs.init_cjs_shims();
34
34
  // ../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js
35
35
  U7VZULNU_cjs.init_cjs_shims();
36
36
  var getSsoOidcClient = /* @__PURE__ */ U7VZULNU_cjs.__name(async (ssoRegion, init = {}) => {
37
- const { SSOOIDCClient } = await import('./HSC5AWAD.cjs');
37
+ const { SSOOIDCClient } = await import('./BNMJ5QME.cjs');
38
38
  const ssoOidcClient = new SSOOIDCClient(Object.assign({}, init.clientConfig ?? {}, {
39
39
  region: ssoRegion ?? init.clientConfig?.region,
40
40
  logger: init.clientConfig?.logger ?? init.parentClientConfig?.logger
@@ -44,7 +44,7 @@ var getSsoOidcClient = /* @__PURE__ */ U7VZULNU_cjs.__name(async (ssoRegion, ini
44
44
 
45
45
  // ../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js
46
46
  var getNewSsoOidcToken = /* @__PURE__ */ U7VZULNU_cjs.__name(async (ssoToken, ssoRegion, init = {}) => {
47
- const { CreateTokenCommand } = await import('./HSC5AWAD.cjs');
47
+ const { CreateTokenCommand } = await import('./BNMJ5QME.cjs');
48
48
  const ssoOidcClient = await getSsoOidcClient(ssoRegion, init);
49
49
  return ssoOidcClient.send(new CreateTokenCommand({
50
50
  clientId: ssoToken.clientId,
@@ -338,5 +338,5 @@ U7VZULNU_cjs.init_cjs_shims();
338
338
  exports.fromSSO = fromSSO;
339
339
  exports.isSsoProfile = isSsoProfile;
340
340
  exports.validateSsoProfile = validateSsoProfile;
341
- //# sourceMappingURL=KFOKN2M2.cjs.map
342
- //# sourceMappingURL=KFOKN2M2.cjs.map
341
+ //# sourceMappingURL=4QL6ZBHT.cjs.map
342
+ //# sourceMappingURL=4QL6ZBHT.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/index.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/fromSSO.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/isSsoProfile.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/constants.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/validateSsoProfile.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/types.js"],"names":["init_cjs_shims","isSsoProfile","arg","sso_start_url","sso_account_id","sso_session","sso_region","sso_role_name","EXPIRE_WINDOW_MS","REFRESH_MESSAGE","getSsoOidcClient","__name","ssoRegion","init","SSOOIDCClient","ssoOidcClient","Object","assign","clientConfig","region","logger","parentClientConfig","getNewSsoOidcToken","ssoToken","CreateTokenCommand","send","clientId","clientSecret","refreshToken","grantType","validateTokenExpiry","token","expiration","getTime","Date","now","TokenProviderError","validateTokenKey","key","value","forRefresh","writeFile","fsPromises","writeSSOTokenToFile","id","tokenFilepath","getSSOTokenFilepath","tokenString","JSON","stringify","lastRefreshAttemptTime","fromSso","_init","callerClientConfig","debug","profiles","parseKnownFiles","profileName","getProfileName","profile","ssoSessionName","ssoSessions","loadSsoSessionData","ssoSession","ssoSessionRequiredKey","getSSOTokenFromFile","e","accessToken","expiresAt","existingToken","setTime","newSsoOidcToken","expiresIn","newTokenExpiration","toISOString","error","SHOULD_FAIL_CREDENTIAL_CHAIN","resolveSSOCredentials","ssoStartUrl","ssoAccountId","ssoRoleName","ssoClient","refreshMessage","_token","getSsoTokenProvider","CredentialsProviderError","message","tryNextLink","SSOClient","GetRoleCredentialsCommand","sso","ssoResp","accountId","roleName","roleCredentials","accessKeyId","secretAccessKey","sessionToken","credentialScope","credentials","setCredentialFeature","validateSsoProfile","keys","join","fromSSO","session","conflictMsg"],"mappings":"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","file":"KFOKN2M2.cjs","sourcesContent":["export * from \"./fromSSO\";\nexport * from \"./isSsoProfile\";\nexport * from \"./types\";\nexport * from \"./validateSsoProfile\";\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getProfileName, loadSsoSessionData, parseKnownFiles } from \"@smithy/shared-ini-file-loader\";\nimport { isSsoProfile } from \"./isSsoProfile\";\nimport { resolveSSOCredentials } from \"./resolveSSOCredentials\";\nimport { validateSsoProfile } from \"./validateSsoProfile\";\nexport const fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-sso - fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n const { ssoClient } = init;\n const profileName = getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n const profiles = await parseKnownFiles(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger });\n }\n if (!isSsoProfile(profile)) {\n throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {\n logger: init.logger,\n });\n }\n if (profile?.sso_session) {\n const ssoSessions = await loadSsoSessionData(init);\n const session = ssoSessions[profile.sso_session];\n const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;\n if (ssoRegion && ssoRegion !== session.sso_region) {\n throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {\n throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n profile.sso_region = session.sso_region;\n profile.sso_start_url = session.sso_start_url;\n }\n const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init.logger);\n return resolveSSOCredentials({\n ssoStartUrl: sso_start_url,\n ssoSession: sso_session,\n ssoAccountId: sso_account_id,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n ssoClient: ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n profile: profileName,\n });\n }\n else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {\n throw new CredentialsProviderError(\"Incomplete configuration. The fromSSO() argument hash must include \" +\n '\"ssoStartUrl\", \"ssoAccountId\", \"ssoRegion\", \"ssoRoleName\"', { tryNextLink: false, logger: init.logger });\n }\n else {\n return resolveSSOCredentials({\n ssoStartUrl,\n ssoSession,\n ssoAccountId,\n ssoRegion,\n ssoRoleName,\n ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n profile: profileName,\n });\n }\n};\n","export const isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { fromSso as getSsoTokenProvider } from \"@aws-sdk/token-providers\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getSSOTokenFromFile } from \"@smithy/shared-ini-file-loader\";\nconst SHOULD_FAIL_CREDENTIAL_CHAIN = false;\nexport const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, profile, logger, }) => {\n let token;\n const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;\n if (ssoSession) {\n try {\n const _token = await getSsoTokenProvider({ profile })();\n token = {\n accessToken: _token.token,\n expiresAt: new Date(_token.expiration).toISOString(),\n };\n }\n catch (e) {\n throw new CredentialsProviderError(e.message, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n else {\n try {\n token = await getSSOTokenFromFile(ssoStartUrl);\n }\n catch (e) {\n throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {\n throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { accessToken } = token;\n const { SSOClient, GetRoleCredentialsCommand } = await import(\"./loadSso\");\n const sso = ssoClient ||\n new SSOClient(Object.assign({}, clientConfig ?? {}, {\n logger: clientConfig?.logger ?? parentClientConfig?.logger,\n region: clientConfig?.region ?? ssoRegion,\n }));\n let ssoResp;\n try {\n ssoResp = await sso.send(new GetRoleCredentialsCommand({\n accountId: ssoAccountId,\n roleName: ssoRoleName,\n accessToken,\n }));\n }\n catch (e) {\n throw new CredentialsProviderError(e, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {}, } = ssoResp;\n if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {\n throw new CredentialsProviderError(\"SSO returns an invalid temporary credential.\", {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const credentials = {\n accessKeyId,\n secretAccessKey,\n sessionToken,\n expiration: new Date(expiration),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n if (ssoSession) {\n setCredentialFeature(credentials, \"CREDENTIALS_SSO\", \"s\");\n }\n else {\n setCredentialFeature(credentials, \"CREDENTIALS_SSO_LEGACY\", \"u\");\n }\n return credentials;\n};\n","import { TokenProviderError } from \"@smithy/property-provider\";\nimport { getProfileName, getSSOTokenFromFile, loadSsoSessionData, parseKnownFiles, } from \"@smithy/shared-ini-file-loader\";\nimport { EXPIRE_WINDOW_MS, REFRESH_MESSAGE } from \"./constants\";\nimport { getNewSsoOidcToken } from \"./getNewSsoOidcToken\";\nimport { validateTokenExpiry } from \"./validateTokenExpiry\";\nimport { validateTokenKey } from \"./validateTokenKey\";\nimport { writeSSOTokenToFile } from \"./writeSSOTokenToFile\";\nconst lastRefreshAttemptTime = new Date(0);\nexport const fromSso = (_init = {}) => async ({ callerClientConfig } = {}) => {\n const init = {\n ..._init,\n parentClientConfig: {\n ...callerClientConfig,\n ..._init.parentClientConfig,\n },\n };\n init.logger?.debug(\"@aws-sdk/token-providers - fromSso\");\n const profiles = await parseKnownFiles(init);\n const profileName = getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n const profile = profiles[profileName];\n if (!profile) {\n throw new TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);\n }\n else if (!profile[\"sso_session\"]) {\n throw new TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);\n }\n const ssoSessionName = profile[\"sso_session\"];\n const ssoSessions = await loadSsoSessionData(init);\n const ssoSession = ssoSessions[ssoSessionName];\n if (!ssoSession) {\n throw new TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);\n }\n for (const ssoSessionRequiredKey of [\"sso_start_url\", \"sso_region\"]) {\n if (!ssoSession[ssoSessionRequiredKey]) {\n throw new TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);\n }\n }\n const ssoStartUrl = ssoSession[\"sso_start_url\"];\n const ssoRegion = ssoSession[\"sso_region\"];\n let ssoToken;\n try {\n ssoToken = await getSSOTokenFromFile(ssoSessionName);\n }\n catch (e) {\n throw new TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${REFRESH_MESSAGE}`, false);\n }\n validateTokenKey(\"accessToken\", ssoToken.accessToken);\n validateTokenKey(\"expiresAt\", ssoToken.expiresAt);\n const { accessToken, expiresAt } = ssoToken;\n const existingToken = { token: accessToken, expiration: new Date(expiresAt) };\n if (existingToken.expiration.getTime() - Date.now() > EXPIRE_WINDOW_MS) {\n return existingToken;\n }\n if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1000) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n validateTokenKey(\"clientId\", ssoToken.clientId, true);\n validateTokenKey(\"clientSecret\", ssoToken.clientSecret, true);\n validateTokenKey(\"refreshToken\", ssoToken.refreshToken, true);\n try {\n lastRefreshAttemptTime.setTime(Date.now());\n const newSsoOidcToken = await getNewSsoOidcToken(ssoToken, ssoRegion, init);\n validateTokenKey(\"accessToken\", newSsoOidcToken.accessToken);\n validateTokenKey(\"expiresIn\", newSsoOidcToken.expiresIn);\n const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1000);\n try {\n await writeSSOTokenToFile(ssoSessionName, {\n ...ssoToken,\n accessToken: newSsoOidcToken.accessToken,\n expiresAt: newTokenExpiration.toISOString(),\n refreshToken: newSsoOidcToken.refreshToken,\n });\n }\n catch (error) {\n }\n return {\n token: newSsoOidcToken.accessToken,\n expiration: newTokenExpiration,\n };\n }\n catch (error) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n};\n","export const EXPIRE_WINDOW_MS = 5 * 60 * 1000;\nexport const REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;\n","import { getSsoOidcClient } from \"./getSsoOidcClient\";\nexport const getNewSsoOidcToken = async (ssoToken, ssoRegion, init = {}) => {\n const { CreateTokenCommand } = await import(\"@aws-sdk/nested-clients/sso-oidc\");\n const ssoOidcClient = await getSsoOidcClient(ssoRegion, init);\n return ssoOidcClient.send(new CreateTokenCommand({\n clientId: ssoToken.clientId,\n clientSecret: ssoToken.clientSecret,\n refreshToken: ssoToken.refreshToken,\n grantType: \"refresh_token\",\n }));\n};\n","export const getSsoOidcClient = async (ssoRegion, init = {}) => {\n const { SSOOIDCClient } = await import(\"@aws-sdk/nested-clients/sso-oidc\");\n const ssoOidcClient = new SSOOIDCClient(Object.assign({}, init.clientConfig ?? {}, {\n region: ssoRegion ?? init.clientConfig?.region,\n logger: init.clientConfig?.logger ?? init.parentClientConfig?.logger,\n }));\n return ssoOidcClient;\n};\n","import { TokenProviderError } from \"@smithy/property-provider\";\nimport { REFRESH_MESSAGE } from \"./constants\";\nexport const validateTokenExpiry = (token) => {\n if (token.expiration && token.expiration.getTime() < Date.now()) {\n throw new TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false);\n }\n};\n","import { TokenProviderError } from \"@smithy/property-provider\";\nimport { REFRESH_MESSAGE } from \"./constants\";\nexport const validateTokenKey = (key, value, forRefresh = false) => {\n if (typeof value === \"undefined\") {\n throw new TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? \". Cannot refresh\" : \"\"}. ${REFRESH_MESSAGE}`, false);\n }\n};\n","import { getSSOTokenFilepath } from \"@smithy/shared-ini-file-loader\";\nimport { promises as fsPromises } from \"fs\";\nconst { writeFile } = fsPromises;\nexport const writeSSOTokenToFile = (id, ssoToken) => {\n const tokenFilepath = getSSOTokenFilepath(id);\n const tokenString = JSON.stringify(ssoToken, null, 2);\n return writeFile(tokenFilepath, tokenString);\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nexport const validateSsoProfile = (profile, logger) => {\n const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;\n if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {\n throw new CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters \"sso_account_id\", ` +\n `\"sso_region\", \"sso_role_name\", \"sso_start_url\". Got ${Object.keys(profile).join(\", \")}\\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger });\n }\n return profile;\n};\n","export {};\n"]}
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/index.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/fromSSO.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/isSsoProfile.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/constants.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js","../../../node_modules/.pnpm/@aws-sdk+token-providers@3.879.0/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/validateSsoProfile.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.879.0/node_modules/@aws-sdk/credential-provider-sso/dist-es/types.js"],"names":["init_cjs_shims","isSsoProfile","arg","sso_start_url","sso_account_id","sso_session","sso_region","sso_role_name","EXPIRE_WINDOW_MS","REFRESH_MESSAGE","getSsoOidcClient","__name","ssoRegion","init","SSOOIDCClient","ssoOidcClient","Object","assign","clientConfig","region","logger","parentClientConfig","getNewSsoOidcToken","ssoToken","CreateTokenCommand","send","clientId","clientSecret","refreshToken","grantType","validateTokenExpiry","token","expiration","getTime","Date","now","TokenProviderError","validateTokenKey","key","value","forRefresh","writeFile","fsPromises","writeSSOTokenToFile","id","tokenFilepath","getSSOTokenFilepath","tokenString","JSON","stringify","lastRefreshAttemptTime","fromSso","_init","callerClientConfig","debug","profiles","parseKnownFiles","profileName","getProfileName","profile","ssoSessionName","ssoSessions","loadSsoSessionData","ssoSession","ssoSessionRequiredKey","getSSOTokenFromFile","e","accessToken","expiresAt","existingToken","setTime","newSsoOidcToken","expiresIn","newTokenExpiration","toISOString","error","SHOULD_FAIL_CREDENTIAL_CHAIN","resolveSSOCredentials","ssoStartUrl","ssoAccountId","ssoRoleName","ssoClient","refreshMessage","_token","getSsoTokenProvider","CredentialsProviderError","message","tryNextLink","SSOClient","GetRoleCredentialsCommand","sso","ssoResp","accountId","roleName","roleCredentials","accessKeyId","secretAccessKey","sessionToken","credentialScope","credentials","setCredentialFeature","validateSsoProfile","keys","join","fromSSO","session","conflictMsg"],"mappings":"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","file":"4QL6ZBHT.cjs","sourcesContent":["export * from \"./fromSSO\";\nexport * from \"./isSsoProfile\";\nexport * from \"./types\";\nexport * from \"./validateSsoProfile\";\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getProfileName, loadSsoSessionData, parseKnownFiles } from \"@smithy/shared-ini-file-loader\";\nimport { isSsoProfile } from \"./isSsoProfile\";\nimport { resolveSSOCredentials } from \"./resolveSSOCredentials\";\nimport { validateSsoProfile } from \"./validateSsoProfile\";\nexport const fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-sso - fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n const { ssoClient } = init;\n const profileName = getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n const profiles = await parseKnownFiles(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger });\n }\n if (!isSsoProfile(profile)) {\n throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {\n logger: init.logger,\n });\n }\n if (profile?.sso_session) {\n const ssoSessions = await loadSsoSessionData(init);\n const session = ssoSessions[profile.sso_session];\n const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;\n if (ssoRegion && ssoRegion !== session.sso_region) {\n throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {\n throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n profile.sso_region = session.sso_region;\n profile.sso_start_url = session.sso_start_url;\n }\n const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init.logger);\n return resolveSSOCredentials({\n ssoStartUrl: sso_start_url,\n ssoSession: sso_session,\n ssoAccountId: sso_account_id,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n ssoClient: ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n profile: profileName,\n });\n }\n else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {\n throw new CredentialsProviderError(\"Incomplete configuration. The fromSSO() argument hash must include \" +\n '\"ssoStartUrl\", \"ssoAccountId\", \"ssoRegion\", \"ssoRoleName\"', { tryNextLink: false, logger: init.logger });\n }\n else {\n return resolveSSOCredentials({\n ssoStartUrl,\n ssoSession,\n ssoAccountId,\n ssoRegion,\n ssoRoleName,\n ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n profile: profileName,\n });\n }\n};\n","export const isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { fromSso as getSsoTokenProvider } from \"@aws-sdk/token-providers\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getSSOTokenFromFile } from \"@smithy/shared-ini-file-loader\";\nconst SHOULD_FAIL_CREDENTIAL_CHAIN = false;\nexport const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, profile, logger, }) => {\n let token;\n const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;\n if (ssoSession) {\n try {\n const _token = await getSsoTokenProvider({ profile })();\n token = {\n accessToken: _token.token,\n expiresAt: new Date(_token.expiration).toISOString(),\n };\n }\n catch (e) {\n throw new CredentialsProviderError(e.message, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n else {\n try {\n token = await getSSOTokenFromFile(ssoStartUrl);\n }\n catch (e) {\n throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {\n throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { accessToken } = token;\n const { SSOClient, GetRoleCredentialsCommand } = await import(\"./loadSso\");\n const sso = ssoClient ||\n new SSOClient(Object.assign({}, clientConfig ?? {}, {\n logger: clientConfig?.logger ?? parentClientConfig?.logger,\n region: clientConfig?.region ?? ssoRegion,\n }));\n let ssoResp;\n try {\n ssoResp = await sso.send(new GetRoleCredentialsCommand({\n accountId: ssoAccountId,\n roleName: ssoRoleName,\n accessToken,\n }));\n }\n catch (e) {\n throw new CredentialsProviderError(e, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {}, } = ssoResp;\n if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {\n throw new CredentialsProviderError(\"SSO returns an invalid temporary credential.\", {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const credentials = {\n accessKeyId,\n secretAccessKey,\n sessionToken,\n expiration: new Date(expiration),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n if (ssoSession) {\n setCredentialFeature(credentials, \"CREDENTIALS_SSO\", \"s\");\n }\n else {\n setCredentialFeature(credentials, \"CREDENTIALS_SSO_LEGACY\", \"u\");\n }\n return credentials;\n};\n","import { TokenProviderError } from \"@smithy/property-provider\";\nimport { getProfileName, getSSOTokenFromFile, loadSsoSessionData, parseKnownFiles, } from \"@smithy/shared-ini-file-loader\";\nimport { EXPIRE_WINDOW_MS, REFRESH_MESSAGE } from \"./constants\";\nimport { getNewSsoOidcToken } from \"./getNewSsoOidcToken\";\nimport { validateTokenExpiry } from \"./validateTokenExpiry\";\nimport { validateTokenKey } from \"./validateTokenKey\";\nimport { writeSSOTokenToFile } from \"./writeSSOTokenToFile\";\nconst lastRefreshAttemptTime = new Date(0);\nexport const fromSso = (_init = {}) => async ({ callerClientConfig } = {}) => {\n const init = {\n ..._init,\n parentClientConfig: {\n ...callerClientConfig,\n ..._init.parentClientConfig,\n },\n };\n init.logger?.debug(\"@aws-sdk/token-providers - fromSso\");\n const profiles = await parseKnownFiles(init);\n const profileName = getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n const profile = profiles[profileName];\n if (!profile) {\n throw new TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);\n }\n else if (!profile[\"sso_session\"]) {\n throw new TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);\n }\n const ssoSessionName = profile[\"sso_session\"];\n const ssoSessions = await loadSsoSessionData(init);\n const ssoSession = ssoSessions[ssoSessionName];\n if (!ssoSession) {\n throw new TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);\n }\n for (const ssoSessionRequiredKey of [\"sso_start_url\", \"sso_region\"]) {\n if (!ssoSession[ssoSessionRequiredKey]) {\n throw new TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);\n }\n }\n const ssoStartUrl = ssoSession[\"sso_start_url\"];\n const ssoRegion = ssoSession[\"sso_region\"];\n let ssoToken;\n try {\n ssoToken = await getSSOTokenFromFile(ssoSessionName);\n }\n catch (e) {\n throw new TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${REFRESH_MESSAGE}`, false);\n }\n validateTokenKey(\"accessToken\", ssoToken.accessToken);\n validateTokenKey(\"expiresAt\", ssoToken.expiresAt);\n const { accessToken, expiresAt } = ssoToken;\n const existingToken = { token: accessToken, expiration: new Date(expiresAt) };\n if (existingToken.expiration.getTime() - Date.now() > EXPIRE_WINDOW_MS) {\n return existingToken;\n }\n if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1000) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n validateTokenKey(\"clientId\", ssoToken.clientId, true);\n validateTokenKey(\"clientSecret\", ssoToken.clientSecret, true);\n validateTokenKey(\"refreshToken\", ssoToken.refreshToken, true);\n try {\n lastRefreshAttemptTime.setTime(Date.now());\n const newSsoOidcToken = await getNewSsoOidcToken(ssoToken, ssoRegion, init);\n validateTokenKey(\"accessToken\", newSsoOidcToken.accessToken);\n validateTokenKey(\"expiresIn\", newSsoOidcToken.expiresIn);\n const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1000);\n try {\n await writeSSOTokenToFile(ssoSessionName, {\n ...ssoToken,\n accessToken: newSsoOidcToken.accessToken,\n expiresAt: newTokenExpiration.toISOString(),\n refreshToken: newSsoOidcToken.refreshToken,\n });\n }\n catch (error) {\n }\n return {\n token: newSsoOidcToken.accessToken,\n expiration: newTokenExpiration,\n };\n }\n catch (error) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n};\n","export const EXPIRE_WINDOW_MS = 5 * 60 * 1000;\nexport const REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;\n","import { getSsoOidcClient } from \"./getSsoOidcClient\";\nexport const getNewSsoOidcToken = async (ssoToken, ssoRegion, init = {}) => {\n const { CreateTokenCommand } = await import(\"@aws-sdk/nested-clients/sso-oidc\");\n const ssoOidcClient = await getSsoOidcClient(ssoRegion, init);\n return ssoOidcClient.send(new CreateTokenCommand({\n clientId: ssoToken.clientId,\n clientSecret: ssoToken.clientSecret,\n refreshToken: ssoToken.refreshToken,\n grantType: \"refresh_token\",\n }));\n};\n","export const getSsoOidcClient = async (ssoRegion, init = {}) => {\n const { SSOOIDCClient } = await import(\"@aws-sdk/nested-clients/sso-oidc\");\n const ssoOidcClient = new SSOOIDCClient(Object.assign({}, init.clientConfig ?? {}, {\n region: ssoRegion ?? init.clientConfig?.region,\n logger: init.clientConfig?.logger ?? init.parentClientConfig?.logger,\n }));\n return ssoOidcClient;\n};\n","import { TokenProviderError } from \"@smithy/property-provider\";\nimport { REFRESH_MESSAGE } from \"./constants\";\nexport const validateTokenExpiry = (token) => {\n if (token.expiration && token.expiration.getTime() < Date.now()) {\n throw new TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false);\n }\n};\n","import { TokenProviderError } from \"@smithy/property-provider\";\nimport { REFRESH_MESSAGE } from \"./constants\";\nexport const validateTokenKey = (key, value, forRefresh = false) => {\n if (typeof value === \"undefined\") {\n throw new TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? \". Cannot refresh\" : \"\"}. ${REFRESH_MESSAGE}`, false);\n }\n};\n","import { getSSOTokenFilepath } from \"@smithy/shared-ini-file-loader\";\nimport { promises as fsPromises } from \"fs\";\nconst { writeFile } = fsPromises;\nexport const writeSSOTokenToFile = (id, ssoToken) => {\n const tokenFilepath = getSSOTokenFilepath(id);\n const tokenString = JSON.stringify(ssoToken, null, 2);\n return writeFile(tokenFilepath, tokenString);\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nexport const validateSsoProfile = (profile, logger) => {\n const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;\n if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {\n throw new CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters \"sso_account_id\", ` +\n `\"sso_region\", \"sso_role_name\", \"sso_start_url\". Got ${Object.keys(profile).join(\", \")}\\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger });\n }\n return profile;\n};\n","export {};\n"]}
@@ -1,4 +1,4 @@
1
- import { versionMatrices } from './NX66I36H.js';
1
+ import { versionMatrices } from './DN5VBC3L.js';
2
2
  import { init_esm_shims, __name } from './4RNWLMHM.js';
3
3
  import { ChainType } from '@layerzerolabs/layerzero-definitions';
4
4
  import fs2 from 'fs';
@@ -7,9 +7,6 @@ import { parse } from 'dotenv';
7
7
  import fs from 'node:fs';
8
8
  import path, { join } from 'node:path';
9
9
 
10
- // src/utils/finder.ts
11
- init_esm_shims();
12
-
13
10
  // src/config/index.ts
14
11
  init_esm_shims();
15
12
 
@@ -24,6 +21,46 @@ init_esm_shims();
24
21
 
25
22
  // src/utils/docker.ts
26
23
  init_esm_shims();
24
+
25
+ // src/utils/finder.ts
26
+ init_esm_shims();
27
+ var findToolByName = /* @__PURE__ */ __name((toolName) => {
28
+ const tool = tools.find((tool2) => tool2.name === toolName);
29
+ if (!tool) {
30
+ throw new Error(`Tool '${toolName}' not found`);
31
+ }
32
+ return tool;
33
+ }, "findToolByName");
34
+ var findToolsByType = /* @__PURE__ */ __name((type) => tools.filter((tool) => tool.chainType === type), "findToolsByType");
35
+ var getChainTypeForTool = /* @__PURE__ */ __name((toolName) => findToolByName(toolName).chainType, "getChainTypeForTool");
36
+ var typeToImageBasename = {
37
+ [ChainType.APTOSMOVE]: "aptos",
38
+ [ChainType.SUIMOVE]: "sui"
39
+ };
40
+ var getImageBasenameForType = /* @__PURE__ */ __name((chainType) => typeToImageBasename[chainType] ?? chainType, "getImageBasenameForType");
41
+ var getImageNameForType = /* @__PURE__ */ __name((chainType) => `${getImageBasenameForType(chainType)}-tooling`, "getImageNameForType");
42
+ var getImageNameForTool = /* @__PURE__ */ __name((toolName) => getImageNameForType(getChainTypeForTool(toolName)), "getImageNameForTool");
43
+ var findMatrixForTool = /* @__PURE__ */ __name((toolName) => {
44
+ const combinations = Object.values(versionMatrices).find((combinations2) => combinations2.some(({ versions }) => versions[toolName]));
45
+ if (!combinations) {
46
+ throw new Error(`No version matrix found for tool '${toolName}'`);
47
+ }
48
+ return combinations;
49
+ }, "findMatrixForTool");
50
+ function getToolDefaultVersion(toolName) {
51
+ const version = findMatrixForTool(toolName)[0].versions[toolName];
52
+ if (!version) {
53
+ console.warn(`No default version found for tool '${toolName}' in matrix`);
54
+ return null;
55
+ }
56
+ return version;
57
+ }
58
+ __name(getToolDefaultVersion, "getToolDefaultVersion");
59
+ var getToolSupportedVersions = /* @__PURE__ */ __name((toolName) => [
60
+ ...new Set(findMatrixForTool(toolName).map(({ versions }) => versions[toolName]).filter(Boolean))
61
+ ].sort(), "getToolSupportedVersions");
62
+
63
+ // src/utils/docker.ts
27
64
  var getImageURI = /* @__PURE__ */ __name((toolName, version) => {
28
65
  const combination = findMatrixForTool(toolName).find(({ versions }) => versions[toolName] === version);
29
66
  if (!combination) {
@@ -121,7 +158,15 @@ var solanaDefaultVolumes = [
121
158
  {
122
159
  type: "isolate",
123
160
  containerPath: "/usr/local/cargo",
124
- name: "solana-cargo"
161
+ name: "solana-cargo",
162
+ shared: true
163
+ },
164
+ {
165
+ // Rustup installs Rust toolchain binaries into the Cargo binary directory.
166
+ // Thus, we can share neither the directory nor its Docker volume.
167
+ type: "isolate",
168
+ containerPath: "/usr/local/cargo/bin",
169
+ name: "solana-cargo-bin"
125
170
  },
126
171
  {
127
172
  type: "isolate",
@@ -134,6 +179,20 @@ var solanaDefaultVolumes = [
134
179
  name: "docker"
135
180
  }
136
181
  ];
182
+ var suiDefaultVolumes = [
183
+ {
184
+ type: "isolate",
185
+ containerPath: "/root/.move",
186
+ name: "sui",
187
+ shared: true
188
+ },
189
+ {
190
+ type: "isolate",
191
+ containerPath: "/root/.sui",
192
+ name: "sui-config",
193
+ shared: true
194
+ }
195
+ ];
137
196
  var tools = [
138
197
  {
139
198
  name: "hardhat",
@@ -206,22 +265,7 @@ var tools = [
206
265
  {
207
266
  name: "sui",
208
267
  chainType: ChainType.SUIMOVE,
209
- defaultVolumes: [
210
- {
211
- type: "isolate",
212
- containerPath: "/root/.move",
213
- name: "sui",
214
- shared: true,
215
- locked: true
216
- },
217
- {
218
- type: "isolate",
219
- containerPath: "/root/.sui",
220
- name: "sui-config",
221
- shared: true,
222
- locked: true
223
- }
224
- ]
268
+ defaultVolumes: suiDefaultVolumes
225
269
  },
226
270
  {
227
271
  name: "stellar",
@@ -249,6 +293,19 @@ var tools = [
249
293
  locked: false
250
294
  }
251
295
  ]
296
+ },
297
+ {
298
+ name: "daml",
299
+ chainType: ChainType.CANTON,
300
+ defaultVolumes: [
301
+ {
302
+ type: "isolate",
303
+ containerPath: "/root/.daml",
304
+ name: "canton-daml-cache",
305
+ shared: true,
306
+ locked: false
307
+ }
308
+ ]
252
309
  }
253
310
  ];
254
311
 
@@ -258,43 +315,6 @@ var AWS_REGION = "us-east-1";
258
315
  var ECR_REGISTRY = `${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com`;
259
316
  var ECR_IMAGE_DIRECTORY = "layerzerolabs";
260
317
 
261
- // src/utils/finder.ts
262
- var findToolByName = /* @__PURE__ */ __name((toolName) => {
263
- const tool = tools.find((tool2) => tool2.name === toolName);
264
- if (!tool) {
265
- throw new Error(`Tool '${toolName}' not found`);
266
- }
267
- return tool;
268
- }, "findToolByName");
269
- var findToolsByType = /* @__PURE__ */ __name((type) => tools.filter((tool) => tool.chainType === type), "findToolsByType");
270
- var getChainTypeForTool = /* @__PURE__ */ __name((toolName) => findToolByName(toolName).chainType, "getChainTypeForTool");
271
- var typeToImageBasename = {
272
- [ChainType.APTOSMOVE]: "aptos",
273
- [ChainType.SUIMOVE]: "sui"
274
- };
275
- var getImageBasenameForType = /* @__PURE__ */ __name((chainType) => typeToImageBasename[chainType] ?? chainType, "getImageBasenameForType");
276
- var getImageNameForType = /* @__PURE__ */ __name((chainType) => `${getImageBasenameForType(chainType)}-tooling`, "getImageNameForType");
277
- var getImageNameForTool = /* @__PURE__ */ __name((toolName) => getImageNameForType(getChainTypeForTool(toolName)), "getImageNameForTool");
278
- var findMatrixForTool = /* @__PURE__ */ __name((toolName) => {
279
- const combinations = Object.values(versionMatrices).find((combinations2) => combinations2.some(({ versions }) => versions[toolName]));
280
- if (!combinations) {
281
- throw new Error(`No version matrix found for tool '${toolName}'`);
282
- }
283
- return combinations;
284
- }, "findMatrixForTool");
285
- function getToolDefaultVersion(toolName) {
286
- const version = findMatrixForTool(toolName)[0].versions[toolName];
287
- if (!version) {
288
- console.warn(`No default version found for tool '${toolName}' in matrix`);
289
- return null;
290
- }
291
- return version;
292
- }
293
- __name(getToolDefaultVersion, "getToolDefaultVersion");
294
- var getToolSupportedVersions = /* @__PURE__ */ __name((toolName) => [
295
- ...new Set(findMatrixForTool(toolName).map(({ versions }) => versions[toolName]).filter(Boolean))
296
- ].sort(), "getToolSupportedVersions");
297
-
298
- export { AWS_ACCOUNT_ID, AWS_REGION, ECR_IMAGE_DIRECTORY, ECR_REGISTRY, findMatrixForTool, findParentDirectoryWithFile, findSemVersionFromString, findToolByName, findToolsByType, getChainTypeForTool, getCombinationId, getImageBasenameForType, getImageNameForTool, getImageNameForType, getImageTag, getImageURI, getToolDefaultVersion, getToolSupportedVersions, parseAnchorTomlVersion, parseVersionFileContents, tools, validateToolVersion, versionsSatisfied };
299
- //# sourceMappingURL=CJNBA2MN.js.map
300
- //# sourceMappingURL=CJNBA2MN.js.map
318
+ export { AWS_ACCOUNT_ID, AWS_REGION, ECR_IMAGE_DIRECTORY, ECR_REGISTRY, findMatrixForTool, findParentDirectoryWithFile, findSemVersionFromString, findToolByName, findToolsByType, getChainTypeForTool, getCombinationId, getImageBasenameForType, getImageNameForTool, getImageNameForType, getImageTag, getImageURI, getToolDefaultVersion, getToolSupportedVersions, parseAnchorTomlVersion, parseVersionFileContents, suiDefaultVolumes, tools, validateToolVersion, versionsSatisfied };
319
+ //# sourceMappingURL=6YQKZHZ5.js.map
320
+ //# sourceMappingURL=6YQKZHZ5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/config/index.ts","../src/config/tools.ts","../src/utils/version.ts","../src/utils.ts","../src/utils/docker.ts","../src/utils/finder.ts"],"names":["findToolByName","toolName","tool","tools","find","name","Error","findToolsByType","type","filter","chainType","getChainTypeForTool","typeToImageBasename","ChainType","APTOSMOVE","SUIMOVE","getImageBasenameForType","getImageNameForType","getImageNameForTool","findMatrixForTool","combinations","Object","values","versionMatrices","some","versions","getToolDefaultVersion","version","console","warn","getToolSupportedVersions","Set","map","Boolean","sort","getImageURI","combination","join","ECR_REGISTRY","ECR_IMAGE_DIRECTORY","getImageTag","patch","separator","entries","flat","findParentDirectoryWithFile","dir","filename","cur","filePath","path","fs","existsSync","directory","file","dirname","parseVersionFileContents","out","found","contents","readFileSync","parsed","dotenvParse","getCombinationId","versionsSatisfied","current","expected","satisfies","parseAnchorTomlVersion","cwd","projectFolder","toml","test","match","exec","matchedName","findSemVersionFromString","input","length","validateToolVersion","supportedVersions","includes","solanaDefaultVolumes","containerPath","shared","suiDefaultVolumes","EVM","defaultVolumes","SOLANA","privileged","getSecondaryVersionCheckValue","TON","STARKNET","STELLAR","locked","CANTON","AWS_ACCOUNT_ID","AWS_REGION"],"mappings":"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","file":"6YQKZHZ5.js","sourcesContent":["export { tools } from './tools';\nexport { versionMatrices } from './version-matrices';\n\nexport const AWS_ACCOUNT_ID = '438003944538';\nexport const AWS_REGION = 'us-east-1';\n\nexport const ECR_REGISTRY = `${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com`;\nexport const ECR_IMAGE_DIRECTORY = 'layerzerolabs';\n","import { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport type { GetExpectedVersionParameter, Tool, Version, VolumeMapping } from '../types';\nimport { parseAnchorTomlVersion } from '../utils/version';\n\nconst solanaDefaultVolumes: readonly VolumeMapping[] = [\n {\n type: 'isolate',\n containerPath: '/usr/local/cargo',\n name: 'solana-cargo',\n shared: true,\n },\n {\n // Rustup installs Rust toolchain binaries into the Cargo binary directory.\n // Thus, we can share neither the directory nor its Docker volume.\n type: 'isolate',\n containerPath: '/usr/local/cargo/bin',\n name: 'solana-cargo-bin',\n },\n {\n type: 'isolate',\n containerPath: '/usr/local/rustup',\n name: 'solana-rustup',\n },\n {\n type: 'isolate',\n containerPath: '/var/lib/docker',\n name: 'docker',\n },\n];\n\nexport const suiDefaultVolumes: readonly VolumeMapping[] = [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'sui',\n shared: true,\n },\n {\n type: 'isolate',\n containerPath: '/root/.sui',\n name: 'sui-config',\n shared: true,\n },\n];\n\n/**\n * Tool configurations with individual settings (version info managed by version-matrices)\n */\nexport const tools: readonly Tool[] = [\n {\n name: 'hardhat',\n chainType: ChainType.EVM,\n defaultVolumes: [],\n },\n {\n name: 'forge',\n chainType: ChainType.EVM,\n },\n {\n name: 'anchor',\n chainType: ChainType.SOLANA,\n privileged: true,\n defaultVolumes: solanaDefaultVolumes,\n getSecondaryVersionCheckValue: ({ cwd }: GetExpectedVersionParameter): Version => {\n return parseAnchorTomlVersion(cwd, 'anchor');\n },\n },\n {\n name: 'solana',\n chainType: ChainType.SOLANA,\n privileged: true,\n defaultVolumes: solanaDefaultVolumes,\n getSecondaryVersionCheckValue: ({ cwd }: GetExpectedVersionParameter): Version => {\n return parseAnchorTomlVersion(cwd, 'solana');\n },\n },\n {\n name: 'aptos',\n chainType: ChainType.APTOSMOVE,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'aptos',\n },\n ],\n },\n {\n name: 'initiad',\n chainType: ChainType.APTOSMOVE,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'initia',\n },\n ],\n },\n {\n name: 'movement',\n chainType: ChainType.APTOSMOVE,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'movement',\n },\n ],\n },\n {\n name: 'blueprint',\n chainType: ChainType.TON,\n },\n {\n name: 'scarb',\n chainType: ChainType.STARKNET,\n },\n {\n name: 'sui',\n chainType: ChainType.SUIMOVE,\n defaultVolumes: suiDefaultVolumes,\n },\n {\n name: 'stellar',\n chainType: ChainType.STELLAR,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.config/stellar',\n name: 'stellar-config',\n shared: true,\n locked: true,\n },\n {\n type: 'isolate',\n containerPath: '/usr/local/cargo',\n name: 'stellar-cargo',\n shared: true,\n locked: false,\n },\n {\n type: 'isolate',\n containerPath: '/usr/local/rustup',\n name: 'stellar-rustup',\n shared: true,\n locked: false,\n },\n ],\n },\n {\n name: 'daml',\n chainType: ChainType.CANTON,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.daml',\n name: 'canton-daml-cache',\n shared: true,\n locked: false,\n },\n ],\n },\n];\n","import fs from 'fs';\nimport * as semver from 'semver';\n\nimport type { Version } from '../types';\nimport { findParentDirectoryWithFile } from '../utils';\nimport { getToolSupportedVersions } from './finder';\n\n/**\n * Check if current version satisfies expected version using semver\n */\nexport function versionsSatisfied(current: Version, expected: Version): boolean {\n return semver.satisfies(current.version, expected.version);\n}\n\n/**\n * Parse anchor/solana version from Anchor.toml file\n */\nexport function parseAnchorTomlVersion(cwd: string, name: 'anchor' | 'solana'): Version {\n const projectFolder = findParentDirectoryWithFile(cwd, 'Anchor.toml');\n\n if (projectFolder === null) {\n throw new Error('Anchor project not found');\n }\n\n const toml = fs.readFileSync(projectFolder.file, 'utf-8');\n\n const test = /^([a-z]+)(?:_version ?= ?\")((?:[0-9]+\\.?){3})(?:\")$/gm;\n\n let match;\n while ((match = test.exec(toml))) {\n const [, matchedName, version] = match;\n if (matchedName === name) {\n return { version };\n }\n }\n\n throw new Error(`${name} version not found in ${projectFolder.file}`);\n}\n\n/**\n * Find semantic version from string output\n */\nexport function findSemVersionFromString(input: string): Version {\n const match = input.match(/^(solana-cli|anchor-cli|aptos)\\s+(([0-9]+\\.?){3}).*?/m);\n if (match === null || match.length < 3) {\n throw new Error(`Invalid semver version: ${input}`);\n }\n\n return { version: match[2] };\n}\n\n/**\n * Validate if a tool version is in the supported versions list\n */\nexport function validateToolVersion(toolName: string, version: string): boolean {\n const supportedVersions = getToolSupportedVersions(toolName);\n return supportedVersions.includes(version);\n}\n","import { parse as dotenvParse } from 'dotenv';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport type { VersionCombination } from './types';\nimport { getImageTag } from './utils/docker';\n\nexport interface FoundDirectory {\n directory: string;\n file: string;\n}\n\nexport function findParentDirectoryWithFile(dir: string, filename: string): FoundDirectory | null {\n let cur = dir;\n\n while (cur !== '/') {\n const filePath = path.join(cur, filename);\n if (fs.existsSync(filePath)) {\n return { directory: cur, file: filePath };\n }\n\n cur = path.dirname(cur);\n }\n\n return null;\n}\n\nexport function parseVersionFileContents(dir: string): { [key: string]: string | undefined } {\n let out = {};\n\n let cur = dir;\n while (cur !== '/') {\n const found = findParentDirectoryWithFile(cur, '.versions');\n if (found === null) {\n break;\n }\n cur = path.dirname(found.directory);\n\n const contents = fs.readFileSync(found.file, 'utf-8');\n const parsed = dotenvParse(contents);\n\n out = {\n ...parsed,\n ...out,\n };\n }\n\n return out;\n}\n\nexport const getCombinationId = (combination: VersionCombination): string =>\n getImageTag(combination, '-');\n","import { join } from 'node:path';\n\nimport { ECR_IMAGE_DIRECTORY, ECR_REGISTRY } from '../config/index.js';\nimport type { VersionCombination } from '../types/version.js';\nimport { findMatrixForTool, getImageNameForTool } from './finder.js';\n\nexport const getImageURI = (toolName: string, version: string): string => {\n const combination = findMatrixForTool(toolName).find(\n ({ versions }) => versions[toolName] === version,\n );\n\n if (!combination) {\n throw new Error(\n `No version combination found for tool ${toolName} with version ${version}`,\n );\n }\n\n return join(\n ECR_REGISTRY,\n ECR_IMAGE_DIRECTORY,\n `${getImageNameForTool(toolName)}:${getImageTag(combination)}`,\n );\n};\n\nexport const getImageTag = (\n { versions, patch }: VersionCombination,\n separator: '_' | '-' = '_',\n): string =>\n [...Object.entries(versions).sort().flat(), ...(patch ? ['patch', patch] : [])].join(separator);\n","import { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport { tools, versionMatrices } from '../config';\nimport type { Tool, VersionCombination } from '../types';\n\nexport const findToolByName = (toolName: string): Tool => {\n const tool = tools.find((tool) => tool.name === toolName);\n\n if (!tool) {\n throw new Error(`Tool '${toolName}' not found`);\n }\n\n return tool;\n};\n\nexport const findToolsByType = (type: ChainType): Tool[] =>\n tools.filter((tool) => tool.chainType === type);\n\nexport const getChainTypeForTool = (toolName: string): ChainType =>\n findToolByName(toolName).chainType;\n\nconst typeToImageBasename: Partial<Record<ChainType, string>> = {\n [ChainType.APTOSMOVE]: 'aptos',\n [ChainType.SUIMOVE]: 'sui',\n};\n\nexport const getImageBasenameForType = (chainType: ChainType): string =>\n typeToImageBasename[chainType] ?? chainType;\n\nexport const getImageNameForType = (chainType: ChainType): string =>\n `${getImageBasenameForType(chainType)}-tooling`;\n\nexport const getImageNameForTool = (toolName: string): string =>\n getImageNameForType(getChainTypeForTool(toolName));\n\n/**\n * Find version matrix that contains a specific tool\n */\nexport const findMatrixForTool = (toolName: string): VersionCombination[] => {\n const combinations = Object.values(versionMatrices).find((combinations) =>\n combinations.some(({ versions }) => versions[toolName]),\n );\n\n if (!combinations) {\n throw new Error(`No version matrix found for tool '${toolName}'`);\n }\n\n return combinations;\n};\n\n/**\n * Get default version for a specific tool from version matrix\n */\nexport function getToolDefaultVersion(toolName: string): string | null {\n const version = findMatrixForTool(toolName)[0].versions[toolName];\n\n if (!version) {\n console.warn(`No default version found for tool '${toolName}' in matrix`);\n return null;\n }\n\n return version;\n}\n\n/**\n * Get supported versions for a specific tool from version matrix\n */\nexport const getToolSupportedVersions = (toolName: string): string[] =>\n [\n ...new Set(\n findMatrixForTool(toolName)\n .map(({ versions }) => versions[toolName])\n .filter(Boolean),\n ),\n ].sort();\n"]}
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+
3
+ var _22KWM667_cjs = require('./22KWM667.cjs');
4
+ var GERMNIDG_cjs = require('./GERMNIDG.cjs');
5
+ var U7VZULNU_cjs = require('./U7VZULNU.cjs');
6
+
7
+ // src/commands/sui/build.ts
8
+ U7VZULNU_cjs.init_cjs_shims();
9
+ var permissionFixScripts = [
10
+ "chmod -R 777 build",
11
+ "find build -type f -exec chmod 644 {} +",
12
+ "chmod 644 Move.lock"
13
+ ];
14
+ var build = /* @__PURE__ */ U7VZULNU_cjs.__name(async (args, options) => {
15
+ if (options.volumes.length) {
16
+ throw new Error("Volume option is not supported by the Sui build wrapper");
17
+ }
18
+ await _22KWM667_cjs.executeToolCommand("sui", [
19
+ "move",
20
+ "build",
21
+ "--fetch-deps-only"
22
+ ], {
23
+ ...options,
24
+ volumes: GERMNIDG_cjs.suiDefaultVolumes.map((volume) => ({
25
+ ...volume,
26
+ locked: true
27
+ }))
28
+ });
29
+ await _22KWM667_cjs.executeToolCommand("sui", [
30
+ "move",
31
+ "build",
32
+ "--skip-fetch-latest-git-deps",
33
+ ...args
34
+ ], {
35
+ ...options,
36
+ volumes: GERMNIDG_cjs.suiDefaultVolumes
37
+ });
38
+ for (const script of permissionFixScripts) {
39
+ await _22KWM667_cjs.executeToolCommand("sui", [
40
+ "-c",
41
+ script
42
+ ], {
43
+ ...options,
44
+ customEntrypoint: "/bin/sh"
45
+ });
46
+ }
47
+ }, "build");
48
+
49
+ exports.build = build;
50
+ //# sourceMappingURL=7PSRMQMS.cjs.map
51
+ //# sourceMappingURL=7PSRMQMS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/sui/build.ts"],"names":["init_cjs_shims","permissionFixScripts","build","__name","args","options","volumes","length","Error","executeToolCommand","suiDefaultVolumes","map","volume","locked","script","customEntrypoint"],"mappings":";;;;;;;AAAAA,2BAAA,EAAA;AAQA,IAAMC,oBAAAA,GAAuB;AACzB,EAAA,oBAAA;AACA,EAAA,yCAAA;AACA,EAAA;;AAGG,IAAMC,KAAAA,mBAAQC,mBAAA,CAAA,OACjBC,IAAAA,EACAC,OAAAA,KAAAA;AAEA,EAAA,IAAIA,OAAAA,CAAQC,QAAQC,MAAAA,EAAQ;AACxB,IAAA,MAAM,IAAIC,MAAM,yDAAA,CAAA;AACpB,EAAA;AAGA,EAAA,MAAMC,iCAAmB,KAAA,EAAO;AAAC,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA;AAAsB,GAAA,EAAA;IACpE,GAAGJ,OAAAA;IACHC,OAAAA,EAASI,8BAAAA,CAAkBC,GAAAA,CAAI,CAACC,MAAAA,MAAY;MAAE,GAAGA,MAAAA;MAAQC,MAAAA,EAAQ;KAAK,CAAA;GAC1E,CAAA;AAEA,EAAA,MAAMJ,iCAAmB,KAAA,EAAO;AAAC,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA,8BAAA;AAAmCL,IAAAA,GAAAA;AAAO,GAAA,EAAA;IACxF,GAAGC,OAAAA;IACHC,OAAAA,EAASI;GACb,CAAA;AAEA,EAAA,KAAA,MAAWI,UAAUb,oBAAAA,EAAsB;AACvC,IAAA,MAAMQ,iCAAmB,KAAA,EAAO;AAAC,MAAA,IAAA;AAAMK,MAAAA;AAAS,KAAA,EAAA;MAC5C,GAAGT,OAAAA;MACHU,gBAAAA,EAAkB;KACtB,CAAA;AACJ,EAAA;AACJ,CAAA,EAzBqB,OAAA","file":"7PSRMQMS.cjs","sourcesContent":["import { suiDefaultVolumes } from '../../config/tools';\nimport type { ToolCommandExecutionOptions } from '../../core/tool-executor';\nimport { executeToolCommand } from '../../core/tool-executor';\n\n// Fix permissions for Turbo cache; make build outputs readable by all.\n// This ensures Turbo can properly cache the build artifacts.\n//\n// Also, Move.lock files can be created with restrictive permissions during build.\nconst permissionFixScripts = [\n 'chmod -R 777 build',\n 'find build -type f -exec chmod 644 {} +',\n 'chmod 644 Move.lock',\n];\n\nexport const build = async (\n args: string[],\n options: ToolCommandExecutionOptions,\n): Promise<void> => {\n if (options.volumes.length) {\n throw new Error('Volume option is not supported by the Sui build wrapper');\n }\n\n // Fetch dependencies into the shared Docker volume with a lock.\n await executeToolCommand('sui', ['move', 'build', '--fetch-deps-only'], {\n ...options,\n volumes: suiDefaultVolumes.map((volume) => ({ ...volume, locked: true })),\n });\n // Build contracts skipping dependency downloads that have completed in the previous step.\n await executeToolCommand('sui', ['move', 'build', '--skip-fetch-latest-git-deps', ...args], {\n ...options,\n volumes: suiDefaultVolumes,\n });\n\n for (const script of permissionFixScripts) {\n await executeToolCommand('sui', ['-c', script], {\n ...options,\n customEntrypoint: '/bin/sh',\n });\n }\n};\n"]}