@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.
- package/dist/{DV6Y5YK3.cjs → 22KWM667.cjs} +12 -12
- package/dist/22KWM667.cjs.map +1 -0
- package/dist/3H446V2K.js +6 -0
- package/dist/3H446V2K.js.map +1 -0
- package/dist/{KFOKN2M2.cjs → 4QL6ZBHT.cjs} +4 -4
- package/dist/{KFOKN2M2.cjs.map → 4QL6ZBHT.cjs.map} +1 -1
- package/dist/{CJNBA2MN.js → 6YQKZHZ5.js} +81 -61
- package/dist/6YQKZHZ5.js.map +1 -0
- package/dist/7PSRMQMS.cjs +51 -0
- package/dist/7PSRMQMS.cjs.map +1 -0
- package/dist/{L6RZSSWB.cjs → BG3MG6IF.cjs} +15 -15
- package/dist/{L6RZSSWB.cjs.map → BG3MG6IF.cjs.map} +1 -1
- package/dist/{HSC5AWAD.cjs → BNMJ5QME.cjs} +3 -3
- package/dist/{HSC5AWAD.cjs.map → BNMJ5QME.cjs.map} +1 -1
- package/dist/{NX66I36H.js → DN5VBC3L.js} +17 -20
- package/dist/DN5VBC3L.js.map +1 -0
- package/dist/{KONCDJAL.cjs → ER722VGO.cjs} +14 -14
- package/dist/{KONCDJAL.cjs.map → ER722VGO.cjs.map} +1 -1
- package/dist/{TBDZQONT.js → GBR35MZ7.js} +3 -3
- package/dist/{TBDZQONT.js.map → GBR35MZ7.js.map} +1 -1
- package/dist/{WHAPJZ3U.cjs → GERMNIDG.cjs} +81 -60
- package/dist/GERMNIDG.cjs.map +1 -0
- package/dist/{45K4IRAA.js → JZHAF3IW.js} +5 -5
- package/dist/{45K4IRAA.js.map → JZHAF3IW.js.map} +1 -1
- package/dist/{UHPHZ6AE.js → KFXJIHI6.js} +3 -3
- package/dist/{UHPHZ6AE.js.map → KFXJIHI6.js.map} +1 -1
- package/dist/{FI3AZBYE.cjs → KPYTMXHJ.cjs} +4 -4
- package/dist/{FI3AZBYE.cjs.map → KPYTMXHJ.cjs.map} +1 -1
- package/dist/{SPOUVTPR.cjs → KTAMTSBK.cjs} +3 -3
- package/dist/{SPOUVTPR.cjs.map → KTAMTSBK.cjs.map} +1 -1
- package/dist/{JLKKDVCL.cjs → Q3ORCLJH.cjs} +17 -20
- package/dist/Q3ORCLJH.cjs.map +1 -0
- package/dist/{5APCIOW3.js → QPWLW7SN.js} +4 -4
- package/dist/QPWLW7SN.js.map +1 -0
- package/dist/R2U2WXP4.js +49 -0
- package/dist/R2U2WXP4.js.map +1 -0
- package/dist/{5QGJ7CFM.js → W5XVOHRB.js} +4 -4
- package/dist/{5QGJ7CFM.js.map → W5XVOHRB.js.map} +1 -1
- package/dist/{5JYEGDVK.js → XYNAO6GV.js} +4 -4
- package/dist/{5JYEGDVK.js.map → XYNAO6GV.js.map} +1 -1
- package/dist/{U4OLGGKH.js → Y3REZYJA.js} +3 -3
- package/dist/{U4OLGGKH.js.map → Y3REZYJA.js.map} +1 -1
- package/dist/Y7OWS2C2.cjs +8 -0
- package/dist/Y7OWS2C2.cjs.map +1 -0
- package/dist/commands/sui/build.cjs +20 -0
- package/dist/commands/sui/build.cjs.map +1 -0
- package/dist/commands/sui/build.d.ts +3 -0
- package/dist/commands/sui/build.d.ts.map +1 -0
- package/dist/commands/sui/build.js +11 -0
- package/dist/commands/sui/build.js.map +1 -0
- package/dist/commands/sui/index.cjs +21 -0
- package/dist/commands/sui/index.cjs.map +1 -0
- package/dist/commands/sui/index.d.ts +2 -0
- package/dist/commands/sui/index.d.ts.map +1 -0
- package/dist/commands/sui/index.js +12 -0
- package/dist/commands/sui/index.js.map +1 -0
- package/dist/config/index.cjs +8 -8
- package/dist/config/index.js +2 -2
- package/dist/config/tools.cjs +7 -3
- package/dist/config/tools.d.ts +2 -1
- package/dist/config/tools.d.ts.map +1 -1
- package/dist/config/tools.js +2 -2
- package/dist/config/version-matrices.cjs +2 -2
- package/dist/config/version-matrices.js +1 -1
- package/dist/core/index.cjs +9 -9
- package/dist/core/index.js +5 -5
- package/dist/core/tool-executor.cjs +6 -6
- package/dist/core/tool-executor.d.ts +7 -6
- package/dist/core/tool-executor.d.ts.map +1 -1
- package/dist/core/tool-executor.js +5 -5
- package/dist/core/version-resolver.cjs +6 -6
- package/dist/core/version-resolver.js +3 -3
- package/dist/display/formatters.cjs +4 -4
- package/dist/display/formatters.js +3 -3
- package/dist/display/index.cjs +7 -7
- package/dist/display/index.js +4 -4
- package/dist/display/version-display.cjs +6 -6
- package/dist/display/version-display.js +4 -4
- package/dist/index.cjs +25 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -8
- package/dist/index.js.map +1 -1
- package/dist/scripts/generate-github-matrix.cjs +9 -9
- package/dist/scripts/generate-github-matrix.js +5 -5
- package/dist/types/tool.cjs.map +1 -1
- package/dist/types/tool.d.ts +1 -1
- package/dist/types/tool.d.ts.map +1 -1
- package/dist/types/tool.js.map +1 -1
- package/dist/utils/docker.cjs +4 -4
- package/dist/utils/docker.js +2 -2
- package/dist/utils/finder.cjs +11 -11
- package/dist/utils/finder.js +2 -2
- package/dist/utils/version.cjs +6 -6
- package/dist/utils/version.js +2 -2
- package/dist/utils.cjs +5 -5
- package/dist/utils.js +2 -2
- package/package.json +5 -5
- package/dist/5APCIOW3.js.map +0 -1
- package/dist/CJNBA2MN.js.map +0 -1
- package/dist/DV6Y5YK3.cjs.map +0 -1
- package/dist/JLKKDVCL.cjs.map +0 -1
- package/dist/NX66I36H.js.map +0 -1
- 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 ${
|
|
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 =
|
|
64
|
-
const type =
|
|
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: ${
|
|
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 =
|
|
84
|
-
const versionResult =
|
|
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 (!
|
|
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 =
|
|
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=
|
|
200
|
-
//# sourceMappingURL=
|
|
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"]}
|
package/dist/3H446V2K.js
ADDED
|
@@ -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('./
|
|
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('./
|
|
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=
|
|
342
|
-
//# sourceMappingURL=
|
|
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 './
|
|
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
|
-
|
|
262
|
-
|
|
263
|
-
|
|
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"]}
|