@layerzerolabs/vm-tooling 0.0.75 → 0.2.6
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/{UKPHRO5A.js → 2Z6XZCGO.js} +3 -3
- package/dist/{UKPHRO5A.js.map → 2Z6XZCGO.js.map} +1 -1
- package/dist/{F35TPZS3.js → 3ATC7U63.js} +7 -2
- package/dist/3ATC7U63.js.map +1 -0
- package/dist/{55HL3CFD.js → 3GTIKWKS.js} +5 -5
- package/dist/3GTIKWKS.js.map +1 -0
- package/dist/{KSZMBVFB.cjs → 6GRSDUV3.cjs} +12 -2
- package/dist/6GRSDUV3.cjs.map +1 -0
- package/dist/{FOFSZBOK.cjs → 6QJ3ATEV.cjs} +6 -6
- package/dist/{FOFSZBOK.cjs.map → 6QJ3ATEV.cjs.map} +1 -1
- package/dist/{FQUILSS5.js → 73CRCY4G.js} +4 -4
- package/dist/{FQUILSS5.js.map → 73CRCY4G.js.map} +1 -1
- package/dist/{PUL6NSHI.cjs → 7C3FV2XA.cjs} +7 -2
- package/dist/7C3FV2XA.cjs.map +1 -0
- package/dist/{H7LPHZJT.js → AUA3QPCB.js} +4 -4
- package/dist/{H7LPHZJT.js.map → AUA3QPCB.js.map} +1 -1
- package/dist/{Y27GTZ2Q.js → BQMGLKBO.js} +3 -3
- package/dist/{Y27GTZ2Q.js.map → BQMGLKBO.js.map} +1 -1
- package/dist/{ZD3LAY33.cjs → C4FRNVDY.cjs} +14 -14
- package/dist/{ZD3LAY33.cjs.map → C4FRNVDY.cjs.map} +1 -1
- package/dist/{X72XTEFE.js → CSLN223N.js} +4 -4
- package/dist/{X72XTEFE.js.map → CSLN223N.js.map} +1 -1
- package/dist/{6NIOUVPA.cjs → CXM3VA7N.cjs} +4 -3
- package/dist/CXM3VA7N.cjs.map +1 -0
- package/dist/{ACDTMA6Q.cjs → DBRVUBWJ.cjs} +11 -11
- package/dist/DBRVUBWJ.cjs.map +1 -0
- package/dist/{SV3LGPR3.js → EDE37TVE.js} +3 -3
- package/dist/{SV3LGPR3.js.map → EDE37TVE.js.map} +1 -1
- package/dist/{D3JHHTB6.js → GWPT4OMB.js} +12 -2
- package/dist/GWPT4OMB.js.map +1 -0
- package/dist/{GJ24YLYE.cjs → H626YBWD.cjs} +5 -5
- package/dist/{GJ24YLYE.cjs.map → H626YBWD.cjs.map} +1 -1
- package/dist/{L2LY6RIT.cjs → I4WZRP7G.cjs} +7 -7
- package/dist/{L2LY6RIT.cjs.map → I4WZRP7G.cjs.map} +1 -1
- package/dist/{BRSAP7LG.cjs → JSLAKJHB.cjs} +15 -15
- package/dist/{BRSAP7LG.cjs.map → JSLAKJHB.cjs.map} +1 -1
- package/dist/{HCY4ASBG.js → KOKBYHOJ.js} +6 -6
- package/dist/{HCY4ASBG.js.map → KOKBYHOJ.js.map} +1 -1
- package/dist/{3YHRHIKS.js → RP32HMV5.js} +5 -5
- package/dist/{3YHRHIKS.js.map → RP32HMV5.js.map} +1 -1
- package/dist/{362ZLRXL.js → TPWAEA6V.js} +4 -4
- package/dist/{362ZLRXL.js.map → TPWAEA6V.js.map} +1 -1
- package/dist/{QU36PNBP.cjs → U4QZYPBU.cjs} +5 -5
- package/dist/{QU36PNBP.cjs.map → U4QZYPBU.cjs.map} +1 -1
- package/dist/{36UU6CJU.cjs → VI6POZO4.cjs} +8 -8
- package/dist/{36UU6CJU.cjs.map → VI6POZO4.cjs.map} +1 -1
- package/dist/{FL2DFW3Y.js → W44XSMQX.js} +4 -3
- package/dist/W44XSMQX.js.map +1 -0
- package/dist/{M6KBN6B2.cjs → Z6M5WEHB.cjs} +5 -5
- package/dist/{M6KBN6B2.cjs.map → Z6M5WEHB.cjs.map} +1 -1
- package/dist/{VPSZX4TV.cjs → ZOJHQPHA.cjs} +4 -4
- package/dist/{VPSZX4TV.cjs.map → ZOJHQPHA.cjs.map} +1 -1
- package/dist/commands/aptos.cjs +9 -9
- package/dist/commands/aptos.js +8 -8
- package/dist/commands/iota.cjs +10 -10
- package/dist/commands/iota.js +9 -9
- package/dist/commands/sui.cjs +10 -10
- package/dist/commands/sui.js +9 -9
- package/dist/commands/utility/sui-like.cjs +9 -9
- package/dist/commands/utility/sui-like.js +8 -8
- package/dist/config/docker-images.cjs +2 -2
- package/dist/config/docker-images.d.ts +11 -0
- package/dist/config/docker-images.d.ts.map +1 -1
- package/dist/config/docker-images.js +1 -1
- package/dist/config/docker-images.test.cjs +6 -6
- package/dist/config/docker-images.test.cjs.map +1 -1
- package/dist/config/docker-images.test.js +4 -4
- package/dist/config/index.cjs +14 -14
- package/dist/config/index.js +3 -3
- package/dist/config/tools.cjs +6 -6
- package/dist/config/tools.js +3 -3
- package/dist/config/version-matrices.cjs +2 -2
- package/dist/config/version-matrices.d.ts.map +1 -1
- package/dist/config/version-matrices.js +1 -1
- package/dist/core/index.cjs +9 -9
- package/dist/core/index.js +7 -7
- package/dist/core/lock.cjs +4 -4
- package/dist/core/lock.d.ts.map +1 -1
- package/dist/core/lock.js +1 -1
- package/dist/core/lock.test.cjs +6 -6
- package/dist/core/lock.test.cjs.map +1 -1
- package/dist/core/lock.test.js +1 -1
- package/dist/core/tool-executor.cjs +8 -8
- package/dist/core/tool-executor.js +7 -7
- package/dist/core/version-resolver.cjs +5 -5
- package/dist/core/version-resolver.js +4 -4
- package/dist/display/formatters.cjs +5 -5
- package/dist/display/formatters.js +4 -4
- package/dist/display/index.cjs +8 -8
- package/dist/display/index.js +5 -5
- package/dist/display/version-display.cjs +7 -7
- package/dist/display/version-display.js +5 -5
- package/dist/index.cjs +27 -27
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -14
- package/dist/scripts/generate-github-matrix.cjs +11 -8
- package/dist/scripts/generate-github-matrix.cjs.map +1 -1
- package/dist/scripts/generate-github-matrix.js +8 -5
- package/dist/scripts/generate-github-matrix.js.map +1 -1
- package/dist/utils/docker.cjs +8 -8
- package/dist/utils/docker.js +4 -4
- package/dist/utils/finder.cjs +11 -11
- package/dist/utils/finder.js +3 -3
- package/dist/utils/version.cjs +7 -7
- package/dist/utils/version.js +3 -3
- package/dist/utils.cjs +5 -5
- package/dist/utils.js +3 -3
- package/package.json +6 -6
- package/dist/55HL3CFD.js.map +0 -1
- package/dist/6NIOUVPA.cjs.map +0 -1
- package/dist/ACDTMA6Q.cjs.map +0 -1
- package/dist/D3JHHTB6.js.map +0 -1
- package/dist/F35TPZS3.js.map +0 -1
- package/dist/FL2DFW3Y.js.map +0 -1
- package/dist/KSZMBVFB.cjs.map +0 -1
- package/dist/PUL6NSHI.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/display/version-display.ts"],"names":["init_cjs_shims","displayVersionCombinations","console","log","type","combinations","Object","entries","versionMatrices","toolNames","Set","flatMap","images","keys","sort","join","length","toUpperCase","repeat","formatVersionCombination","index","combination","displayToolVersionInfo","toolName","tool","findToolByName","typeTools","findToolsByType","chainType","defaultVersion","getToolDefaultVersion","name","supportedVersions","getToolSupportedVersions","defaultVolumes","forEach","volume","volumeDesc","containerPath","hostPath"],"mappings":";;;;;;;;AAAAA,2BAAA,EAAA;AAYO,SAASC,0BAAAA,GAAAA;AACZC,EAAAA,OAAAA,CAAQC,IAAI,kEAAA,CAAA;AAEZ,EAAA,KAAA,MAAW,CAACC,IAAAA,EAAMC,YAAAA,KAAiBC,MAAAA,CAAOC,OAAAA,CAAQC,
|
|
1
|
+
{"version":3,"sources":["../src/display/version-display.ts"],"names":["init_cjs_shims","displayVersionCombinations","console","log","type","combinations","Object","entries","versionMatrices","toolNames","Set","flatMap","images","keys","sort","join","length","toUpperCase","repeat","formatVersionCombination","index","combination","displayToolVersionInfo","toolName","tool","findToolByName","typeTools","findToolsByType","chainType","defaultVersion","getToolDefaultVersion","name","supportedVersions","getToolSupportedVersions","defaultVolumes","forEach","volume","volumeDesc","containerPath","hostPath"],"mappings":"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","file":"C4FRNVDY.cjs","sourcesContent":["import { versionMatrices } from '../config';\nimport {\n findToolByName,\n findToolsByType,\n getToolDefaultVersion,\n getToolSupportedVersions,\n} from '../utils/finder';\nimport { formatVersionCombination } from './formatters';\n\n/**\n * Display all supported version combinations\n */\nexport function displayVersionCombinations(): void {\n console.log('\\n🚀 LayerZero VM Tool - Supported Version Combinations\\n');\n\n for (const [type, combinations] of Object.entries(versionMatrices)) {\n const toolNames = [...new Set(combinations.flatMap(({ images }) => Object.keys(images)))]\n .sort()\n .join(', ');\n\n if (!toolNames.length) {\n continue;\n }\n\n console.log(`📦 ${type.toUpperCase()} Type (tools: ${toolNames})`);\n console.log('─'.repeat(50));\n\n console.log('🎯 Default:');\n console.log(formatVersionCombination(combinations[0], true));\n console.log();\n\n // Show all combinations\n console.log('📋 All supported combinations:');\n for (const [index, combination] of combinations.entries()) {\n console.log(formatVersionCombination(combination, !index));\n }\n console.log();\n }\n\n console.log('💡 Usage examples:');\n console.log(' lz-tool anchor --anchor-version 0.29.0 --solana-version 1.17.31 build');\n console.log(\n ' lz-tool anchor --anchor-version 0.30.0 build # Auto-selects compatible solana version',\n );\n console.log();\n}\n\n/**\n * Display tool-specific version information\n */\nexport function displayToolVersionInfo(toolName: string): void {\n const tool = findToolByName(toolName);\n const typeTools = findToolsByType(tool.chainType);\n const combinations = versionMatrices[tool.chainType];\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n\n console.log(`\\n🔧 ${tool.name.toUpperCase()} Version Information`);\n console.log('─'.repeat(40));\n console.log(`Type: ${tool.chainType}`);\n console.log(`Default version: ${defaultVersion}`);\n console.log(`Supported versions: ${supportedVersions.join(', ')}`);\n console.log();\n\n // Display default cache volumes\n if (tool.defaultVolumes && tool.defaultVolumes.length > 0) {\n console.log('📦 Default cache volumes:');\n tool.defaultVolumes.forEach((volume) => {\n const volumeDesc =\n volume.type === 'isolate'\n ? `${volume.name} → ${volume.containerPath}`\n : `${volume.hostPath} → ${volume.containerPath}`;\n console.log(` • ${volumeDesc}`);\n });\n console.log(' 💡 Use -v to override or add additional volumes');\n console.log();\n }\n\n if (typeTools.length > 1) {\n console.log('🔗 Compatible combinations with other tools:');\n for (const [index, combination] of combinations.entries()) {\n if (combination.images[tool.name]) {\n console.log(formatVersionCombination(combination, !index));\n }\n }\n console.log();\n }\n\n console.log('📝 Version resolution priority:');\n console.log(' 1. Command line options (--{tool}-version)');\n console.log(' 2. Default version');\n console.log();\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SuiWrapper } from './
|
|
2
|
-
import { iotaDefaultVolumes } from './
|
|
1
|
+
import { SuiWrapper } from './2Z6XZCGO.js';
|
|
2
|
+
import { iotaDefaultVolumes } from './AUA3QPCB.js';
|
|
3
3
|
import { init_esm_shims } from './4RNWLMHM.js';
|
|
4
4
|
|
|
5
5
|
// src/commands/iota.ts
|
|
@@ -11,5 +11,5 @@ iota keytool import "test test test test test test test test test test test junk
|
|
|
11
11
|
var iotaWrapper = new SuiWrapper("iota", configScript, iotaDefaultVolumes);
|
|
12
12
|
|
|
13
13
|
export { iotaWrapper };
|
|
14
|
-
//# sourceMappingURL=
|
|
15
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=CSLN223N.js.map
|
|
15
|
+
//# sourceMappingURL=CSLN223N.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/iota.ts"],"names":["configScript","iotaWrapper","SuiWrapper","iotaDefaultVolumes"],"mappings":";;;;;AAAA,cAAA,EAAA;AAMA,IAAMA,YAAAA,GAAe;;;;AAKd,IAAMC,WAAAA,GAAc,IAAIC,UAAAA,CAAW,MAAA,EAAQF,cAAcG,kBAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/commands/iota.ts"],"names":["configScript","iotaWrapper","SuiWrapper","iotaDefaultVolumes"],"mappings":";;;;;AAAA,cAAA,EAAA;AAMA,IAAMA,YAAAA,GAAe;;;;AAKd,IAAMC,WAAAA,GAAc,IAAIC,UAAAA,CAAW,MAAA,EAAQF,cAAcG,kBAAAA","file":"CSLN223N.js","sourcesContent":["import { iotaDefaultVolumes } from '../config/tools';\nimport { SuiWrapper } from './utility/sui-like';\n\n// Initialize IOTA client configuration if it doesn't exist in the Docker volume.\n// This prevents interactive prompts on fresh machines.\n// Uses testnet for network operations like --dump-bytecode-as-base64.\nconst configScript = `\necho \"Initializing IOTA client configuration...\"\niota keytool import \"test test test test test test test test test test test junk\" ed25519\n`;\n\nexport const iotaWrapper = new SuiWrapper('iota', configScript, iotaDefaultVolumes);\n"]}
|
|
@@ -66,7 +66,8 @@ var lock = /* @__PURE__ */ U7VZULNU_cjs.__name(async (key, run, options = {}) =>
|
|
|
66
66
|
await promises.mkdir(directory, {
|
|
67
67
|
recursive: true
|
|
68
68
|
});
|
|
69
|
-
await promises.open(path, promises.constants.O_CREAT | promises.constants.O_EXCL);
|
|
69
|
+
const handle = await promises.open(path, promises.constants.O_CREAT | promises.constants.O_EXCL);
|
|
70
|
+
await handle.close();
|
|
70
71
|
break;
|
|
71
72
|
} catch (error) {
|
|
72
73
|
lockError = error;
|
|
@@ -99,5 +100,5 @@ var lockMany = /* @__PURE__ */ U7VZULNU_cjs.__name(async (keys, run) => (
|
|
|
99
100
|
exports.buildLockFilePath = buildLockFilePath;
|
|
100
101
|
exports.lock = lock;
|
|
101
102
|
exports.lockMany = lockMany;
|
|
102
|
-
//# sourceMappingURL=
|
|
103
|
-
//# sourceMappingURL=
|
|
103
|
+
//# sourceMappingURL=CXM3VA7N.cjs.map
|
|
104
|
+
//# sourceMappingURL=CXM3VA7N.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/lock.ts"],"names":["init_cjs_shims","directory","join","homedir","defaultOptions","interval","timeout","signals","buildLockFilePath","__name","key","lock","run","options","path","packageName","process","env","npm_package_name","info","time","Date","now","unlock","rmSync","force","lockError","mkdir","recursive","handle","open","constants","O_CREAT","O_EXCL","close","error","Error","message","delay","signal","addListener","console","log","removeListener","lockMany","keys","sort","reduce"],"mappings":"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","file":"CXM3VA7N.cjs","sourcesContent":["import { delay } from 'es-toolkit';\nimport * as console from 'node:console';\nimport { rmSync } from 'node:fs';\nimport { constants, mkdir, open } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\n\ninterface LockOptions {\n interval?: number;\n timeout?: number;\n}\n\nconst directory = join(homedir(), '.cache/vm-tooling/locks');\nconst defaultOptions = { interval: 1000, timeout: 15 * 60_000 };\nconst signals = ['SIGINT', 'SIGTERM', 'SIGHUP'] as const;\n\nexport const buildLockFilePath = (key: string): string => join(directory, key);\n\nexport const lock = async <T>(key: string, run: () => Promise<T>, options: LockOptions = {}) => {\n const { interval, timeout } = { ...defaultOptions, ...options };\n\n const path = buildLockFilePath(key);\n // eslint-disable-next-line turbo/no-undeclared-env-vars\n const packageName = process.env.npm_package_name;\n const info = [...(packageName ? ['for', packageName] : []), 'at', path].join(' ');\n\n const time = Date.now();\n const unlock = () => rmSync(path, { force: true });\n\n while (true) {\n let lockError;\n\n try {\n await mkdir(directory, { recursive: true });\n const handle = await open(path, constants.O_CREAT | constants.O_EXCL);\n await handle.close();\n break;\n } catch (error: unknown) {\n lockError = error as Error;\n }\n\n if (Date.now() - time > timeout) {\n // If the timeout is reached, we assume that the previous run is\n // in a bad state and recover automatically by removing the lock file\n // even when it is actually running still.\n unlock();\n throw new Error(`Timeout waiting for lock file ${info}: ${lockError.message}`);\n }\n\n await delay(interval);\n }\n\n for (const signal of signals) {\n process.addListener(signal, unlock);\n }\n\n console.log(`🔒 Acquired lock ${info}`);\n\n try {\n return await run();\n } finally {\n for (const signal of signals) {\n process.removeListener(signal, unlock);\n }\n\n unlock();\n\n console.log(`🔓 Released lock ${info}`);\n }\n};\n\nexport const lockMany = async <T>(keys: string[], run: () => Promise<T>): Promise<T> =>\n // Sort keys to avoid deadlocks.\n keys.sort().reduce((run, key) => () => lock(key, run), run)();\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var _6QJ3ATEV_cjs = require('./6QJ3ATEV.cjs');
|
|
4
|
+
var _7C3FV2XA_cjs = require('./7C3FV2XA.cjs');
|
|
5
5
|
var U7VZULNU_cjs = require('./U7VZULNU.cjs');
|
|
6
6
|
var console = require('console');
|
|
7
7
|
|
|
@@ -28,16 +28,16 @@ var console__namespace = /*#__PURE__*/_interopNamespace(console);
|
|
|
28
28
|
// src/core/version-resolver.ts
|
|
29
29
|
U7VZULNU_cjs.init_cjs_shims();
|
|
30
30
|
function resolveToolVersion(toolName, userSpecifiedVersions) {
|
|
31
|
-
const tool =
|
|
31
|
+
const tool = _6QJ3ATEV_cjs.findToolByName(toolName);
|
|
32
32
|
const userVersion = userSpecifiedVersions[toolName];
|
|
33
33
|
if (typeof userVersion === "string" && userVersion !== "") {
|
|
34
34
|
return userVersion;
|
|
35
35
|
}
|
|
36
|
-
return
|
|
36
|
+
return _6QJ3ATEV_cjs.getToolDefaultVersion(tool.name);
|
|
37
37
|
}
|
|
38
38
|
U7VZULNU_cjs.__name(resolveToolVersion, "resolveToolVersion");
|
|
39
39
|
function resolveTypeVersions(type, userSpecifiedVersions) {
|
|
40
|
-
const tools =
|
|
40
|
+
const tools = _6QJ3ATEV_cjs.findToolsByType(type);
|
|
41
41
|
if (!tools.length) {
|
|
42
42
|
throw new Error(`Type ${type} not found or no tools available`);
|
|
43
43
|
}
|
|
@@ -48,25 +48,25 @@ function resolveTypeVersions(type, userSpecifiedVersions) {
|
|
|
48
48
|
continue;
|
|
49
49
|
}
|
|
50
50
|
versions[tool.name] = version;
|
|
51
|
-
if (version ===
|
|
51
|
+
if (version === _6QJ3ATEV_cjs.getToolDefaultVersion(tool.name)) {
|
|
52
52
|
continue;
|
|
53
53
|
}
|
|
54
|
-
const supportedVersions =
|
|
54
|
+
const supportedVersions = _6QJ3ATEV_cjs.getToolSupportedVersions(tool.name);
|
|
55
55
|
if (!supportedVersions.includes(version)) {
|
|
56
56
|
console__namespace.warn(`\u26A0\uFE0F Version ${version} for ${tool.name} is not in the supported list.`);
|
|
57
57
|
console__namespace.warn(` Supported versions: ${supportedVersions.join(", ")}`);
|
|
58
58
|
console__namespace.warn(` Continuing with Docker availability as final validation...`);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
const combination =
|
|
61
|
+
const combination = _7C3FV2XA_cjs.versionMatrices[type].find((combination2) => Object.entries(_6QJ3ATEV_cjs.findToolVersionsForCombination(combination2)).every(([tool, version]) => versions[tool] === version));
|
|
62
62
|
if (!combination) {
|
|
63
63
|
throw new Error("Compatible combination of tool versions not found");
|
|
64
64
|
}
|
|
65
|
-
console__namespace.info(`\u2705 ${
|
|
65
|
+
console__namespace.info(`\u2705 ${_6QJ3ATEV_cjs.getCombinationId(combination)} ${combination.description ? `(${combination.description})` : ""}`);
|
|
66
66
|
return versions;
|
|
67
67
|
}
|
|
68
68
|
U7VZULNU_cjs.__name(resolveTypeVersions, "resolveTypeVersions");
|
|
69
69
|
|
|
70
70
|
exports.resolveTypeVersions = resolveTypeVersions;
|
|
71
|
-
//# sourceMappingURL=
|
|
72
|
-
//# sourceMappingURL=
|
|
71
|
+
//# sourceMappingURL=DBRVUBWJ.cjs.map
|
|
72
|
+
//# sourceMappingURL=DBRVUBWJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/version-resolver.ts"],"names":["init_cjs_shims","resolveToolVersion","toolName","userSpecifiedVersions","tool","findToolByName","userVersion","getToolDefaultVersion","name","resolveTypeVersions","type","tools","findToolsByType","length","Error","versions","version","supportedVersions","getToolSupportedVersions","includes","console","warn","join","combination","versionMatrices","find","Object","entries","findToolVersionsForCombination","every","info","getCombinationId","description"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,2BAAA,EAAA;AAmBA,SAASC,kBAAAA,CACLC,UACAC,qBAAAA,EAAgD;AAEhD,EAAA,MAAMC,IAAAA,GAAOC,6BAAeH,QAAAA,CAAAA;AAG5B,EAAA,MAAMI,WAAAA,GAAcH,sBAAsBD,QAAAA,CAAAA;AAC1C,EAAA,IAAI,OAAOI,WAAAA,KAAgB,QAAA,IAAYA,WAAAA,KAAgB,EAAA,EAAI;AACvD,IAAA,OAAOA,WAAAA;AACX,EAAA;AAGA,EAAA,OAAOC,mCAAAA,CAAsBH,KAAKI,IAAI,CAAA;AAC1C;AAdSP,mBAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAmBF,SAASQ,mBAAAA,CACZC,MACAP,qBAAAA,EAAgD;AAEhD,EAAA,MAAMQ,KAAAA,GAAQC,8BAAgBF,IAAAA,CAAAA;AAE9B,EAAA,IAAI,CAACC,MAAME,MAAAA,EAAQ;AACf,IAAA,MAAM,IAAIC,KAAAA,CAAM,CAAA,KAAA,EAAQJ,IAAAA,CAAAA,gCAAAA,CAAsC,CAAA;AAClE,EAAA;AAGA,EAAA,MAAMK,WAAmC,EAAC;AAE1C,EAAA,KAAA,MAAWX,QAAQO,KAAAA,EAAO;AACtB,IAAA,MAAMK,OAAAA,GAAUf,kBAAAA,CAAmBG,IAAAA,CAAKI,IAAAA,EAAML,qBAAAA,CAAAA;AAE9C,IAAA,IAAI,CAACa,OAAAA,EAAS;AACV,MAAA;AACJ,IAAA;AAEAD,IAAAA,QAAAA,CAASX,IAAAA,CAAKI,IAAI,CAAA,GAAIQ,OAAAA;AAEtB,IAAA,IAAIA,OAAAA,KAAYT,mCAAAA,CAAsBH,IAAAA,CAAKI,IAAI,CAAA,EAAG;AAC9C,MAAA;AACJ,IAAA;AAGA,IAAA,MAAMS,iBAAAA,GAAoBC,sCAAAA,CAAyBd,IAAAA,CAAKI,IAAI,CAAA;AAE5D,IAAA,IAAI,CAACS,iBAAAA,CAAkBE,QAAAA,CAASH,OAAAA,CAAAA,EAAU;AACtCI,MAAQC,wBAAK,CAAA,sBAAA,EAAeL,OAAAA,CAAAA,KAAAA,EAAeZ,IAAAA,CAAKI,IAAI,CAAA,8BAAA,CAAgC,CAAA;AACpFY,MAAQC,wBAAK,CAAA,uBAAA,EAA0BJ,iBAAAA,CAAkBK,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAO,CAAA;AACrEF,MAAQC,wBAAK,CAAA,6DAAA,CAA+D,CAAA;AAChF,IAAA;AACJ,EAAA;AAGA,EAAA,MAAME,WAAAA,GAAcC,8BAAgBd,IAAAA,CAAAA,CAAMe,KAAK,CAACF,YAAAA,KAC5CG,MAAAA,CAAOC,OAAAA,CAAQC,4CAAAA,CAA+BL,YAAAA,CAAAA,CAAAA,CAAcM,KAAAA,CACxD,CAAC,CAACzB,IAAAA,EAAMY,OAAAA,MAAaD,QAAAA,CAASX,IAAAA,CAAAA,KAAUY,OAAAA,CAAAA,CAAAA;AAIhD,EAAA,IAAI,CAACO,WAAAA,EAAa;AACd,IAAA,MAAM,IAAIT,MAAM,mDAAA,CAAA;AACpB,EAAA;AAEAM,EAAQU,kBAAAA,CAAAA,IAAAA,CACJ,CAAA,OAAA,EAAKC,8BAAAA,CAAiBR,WAAAA,CAAAA,CAAAA,CAAAA,EAAgBA,WAAAA,CAAYS,WAAAA,GAAc,CAAA,CAAA,EAAIT,WAAAA,CAAYS,WAAW,CAAA,CAAA,CAAA,GAAM,EAAA,CAAA,CAAI,CAAA;AAGzG,EAAA,OAAOjB,QAAAA;AACX;AApDgBN,mBAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA","file":"DBRVUBWJ.cjs","sourcesContent":["import * as console from 'node:console';\n\nimport type { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport { versionMatrices } from '../config';\nimport { getCombinationId } from '../utils';\nimport {\n findToolByName,\n findToolsByType,\n findToolVersionsForCombination,\n getToolDefaultVersion,\n getToolSupportedVersions,\n} from '../utils/finder';\n\n/**\n * Resolve version for a single tool following priority order:\n * 1. Command line options\n * 2. Default version\n */\nfunction resolveToolVersion(\n toolName: string,\n userSpecifiedVersions: { [key: string]: string },\n): string | null {\n const tool = findToolByName(toolName);\n\n // 1. Check command line options (highest priority)\n const userVersion = userSpecifiedVersions[toolName];\n if (typeof userVersion === 'string' && userVersion !== '') {\n return userVersion;\n }\n\n // 2. Use default version\n return getToolDefaultVersion(tool.name);\n}\n\n/**\n * Resolve versions for all tools in a type with compatibility checking\n */\nexport function resolveTypeVersions(\n type: ChainType,\n userSpecifiedVersions: { [key: string]: string },\n): Record<string, string> {\n const tools = findToolsByType(type);\n\n if (!tools.length) {\n throw new Error(`Type ${type} not found or no tools available`);\n }\n\n // Collect versions from all sources for each tool\n const versions: Record<string, string> = {};\n\n for (const tool of tools) {\n const version = resolveToolVersion(tool.name, userSpecifiedVersions);\n\n if (!version) {\n continue;\n }\n\n versions[tool.name] = version;\n\n if (version === getToolDefaultVersion(tool.name)) {\n continue;\n }\n\n // Validate the user-specified version if not default.\n const supportedVersions = getToolSupportedVersions(tool.name);\n\n if (!supportedVersions.includes(version)) {\n console.warn(`⚠️ Version ${version} for ${tool.name} is not in the supported list.`);\n console.warn(` Supported versions: ${supportedVersions.join(', ')}`);\n console.warn(` Continuing with Docker availability as final validation...`);\n }\n }\n\n // Check if current combination matches any compatible combination\n const combination = versionMatrices[type].find((combination) =>\n Object.entries(findToolVersionsForCombination(combination)).every(\n ([tool, version]) => versions[tool] === version,\n ),\n );\n\n if (!combination) {\n throw new Error('Compatible combination of tool versions not found');\n }\n\n console.info(\n `✅ ${getCombinationId(combination)} ${combination.description ? `(${combination.description})` : ''}`,\n );\n\n return versions;\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { executeToolCommand } from './
|
|
1
|
+
import { executeToolCommand } from './KOKBYHOJ.js';
|
|
2
2
|
import { init_esm_shims, __name } from './4RNWLMHM.js';
|
|
3
3
|
import { writeFile } from 'node:fs/promises';
|
|
4
4
|
import { join } from 'node:path';
|
|
@@ -22,5 +22,5 @@ var compile = /* @__PURE__ */ __name(async (args, options) => {
|
|
|
22
22
|
}, "compile");
|
|
23
23
|
|
|
24
24
|
export { compile };
|
|
25
|
-
//# sourceMappingURL=
|
|
26
|
-
//# sourceMappingURL=
|
|
25
|
+
//# sourceMappingURL=EDE37TVE.js.map
|
|
26
|
+
//# sourceMappingURL=EDE37TVE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/aptos.ts"],"names":["outputSchema","object","Result","array","string","saveModuleOrder","processOutput","directory","writeFile","join","JSON","stringify","parse","json","map","item","split","compile","args","options","output","executeToolCommand","cwd"],"mappings":";;;;;;;AAAA,cAAA,EAAA;AAOA,IAAMA,eAAiBC,CAAAA,CAAAA,MAAAA,CAAO;EAC1BC,MAAAA,EAAUC,CAAAA,CAAAA,KAAAA,CAAQC,UAAM;AAC5B,CAAA,CAAA;AAEA,IAAMC,eAAAA,mBAAkB,MAAA,CAAA,OAAOC,aAAAA,EAA8BC,SAAAA,KAAAA;AACzD,EAAA,MAAMC,SAAAA,CACFC,IAAAA,CAAKF,SAAAA,EAAW,cAAA,CAAA,EAChBG,IAAAA,CAAKC,SAAAA,CACDX,YAAAA,CACKY,KAAAA,CAAMN,aAAAA,CAAcO,IAAAA,EAAI,CAAA,CACxBX,MAAAA,CAAOY,GAAAA,CAAI,CAACC,IAAAA,KAAS,CAAA,EAAGA,IAAAA,CAAKC,KAAAA,CAAM,IAAA,CAAA,CAAM,CAAA,CAAE,CAAA,GAAA,CAAK,CAAA,EACrD,IAAA,EACA,CAAA,CAAA,CAAA;AAGZ,CAAA,EAXwB,iBAAA,CAAA;AAajB,IAAMC,OAAAA,mBAAU,MAAA,CAAA,OAAOC,IAAAA,EAAgBC,OAAAA,KAAAA;AAC1C,EAAA,MAAMC,MAAAA,GAAS,MAAMC,kBAAAA,CAAmB,OAAA,EAAS;AAAC,IAAA,MAAA;AAAQ,IAAA,SAAA;AAAcH,IAAAA,GAAAA;KAAOC,OAAAA,CAAAA;AAC/E,EAAA,MAAMd,eAAAA,CAAgBe,MAAAA,EAAQD,OAAAA,CAAQG,GAAG,CAAA;AAC7C,CAAA,EAHuB,SAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/commands/aptos.ts"],"names":["outputSchema","object","Result","array","string","saveModuleOrder","processOutput","directory","writeFile","join","JSON","stringify","parse","json","map","item","split","compile","args","options","output","executeToolCommand","cwd"],"mappings":";;;;;;;AAAA,cAAA,EAAA;AAOA,IAAMA,eAAiBC,CAAAA,CAAAA,MAAAA,CAAO;EAC1BC,MAAAA,EAAUC,CAAAA,CAAAA,KAAAA,CAAQC,UAAM;AAC5B,CAAA,CAAA;AAEA,IAAMC,eAAAA,mBAAkB,MAAA,CAAA,OAAOC,aAAAA,EAA8BC,SAAAA,KAAAA;AACzD,EAAA,MAAMC,SAAAA,CACFC,IAAAA,CAAKF,SAAAA,EAAW,cAAA,CAAA,EAChBG,IAAAA,CAAKC,SAAAA,CACDX,YAAAA,CACKY,KAAAA,CAAMN,aAAAA,CAAcO,IAAAA,EAAI,CAAA,CACxBX,MAAAA,CAAOY,GAAAA,CAAI,CAACC,IAAAA,KAAS,CAAA,EAAGA,IAAAA,CAAKC,KAAAA,CAAM,IAAA,CAAA,CAAM,CAAA,CAAE,CAAA,GAAA,CAAK,CAAA,EACrD,IAAA,EACA,CAAA,CAAA,CAAA;AAGZ,CAAA,EAXwB,iBAAA,CAAA;AAajB,IAAMC,OAAAA,mBAAU,MAAA,CAAA,OAAOC,IAAAA,EAAgBC,OAAAA,KAAAA;AAC1C,EAAA,MAAMC,MAAAA,GAAS,MAAMC,kBAAAA,CAAmB,OAAA,EAAS;AAAC,IAAA,MAAA;AAAQ,IAAA,SAAA;AAAcH,IAAAA,GAAAA;KAAOC,OAAAA,CAAAA;AAC/E,EAAA,MAAMd,eAAAA,CAAgBe,MAAAA,EAAQD,OAAAA,CAAQG,GAAG,CAAA;AAC7C,CAAA,EAHuB,SAAA","file":"EDE37TVE.js","sourcesContent":["import { writeFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport * as z from 'zod';\nimport { type ProcessOutput } from 'zx';\n\nimport { executeToolCommand, type ToolCommandExecutionOptions } from '../core';\n\nconst outputSchema = z.object({\n Result: z.array(z.string()),\n});\n\nconst saveModuleOrder = async (processOutput: ProcessOutput, directory: string): Promise<void> => {\n await writeFile(\n join(directory, 'modules.json'),\n JSON.stringify(\n outputSchema\n .parse(processOutput.json())\n .Result.map((item) => `${item.split('::')[1]}.mv`),\n null,\n 2,\n ),\n );\n};\n\nexport const compile = async (args: string[], options: ToolCommandExecutionOptions) => {\n const output = await executeToolCommand('aptos', ['move', 'compile', ...args], options);\n await saveModuleOrder(output, options.cwd);\n};\n"]}
|
|
@@ -144,9 +144,19 @@ var images = {
|
|
|
144
144
|
daml: "3.3.0-snapshot.20250507.0"
|
|
145
145
|
},
|
|
146
146
|
patch: 1
|
|
147
|
+
},
|
|
148
|
+
["canton:dpm-3.4.9"]: {
|
|
149
|
+
name: "canton",
|
|
150
|
+
versions: {
|
|
151
|
+
dpm: "3.4.9"
|
|
152
|
+
},
|
|
153
|
+
dependencies: {
|
|
154
|
+
sdk: "3.4.9"
|
|
155
|
+
},
|
|
156
|
+
unreleased: true
|
|
147
157
|
}
|
|
148
158
|
};
|
|
149
159
|
|
|
150
160
|
export { images };
|
|
151
|
-
//# sourceMappingURL=
|
|
152
|
-
//# sourceMappingURL=
|
|
161
|
+
//# sourceMappingURL=GWPT4OMB.js.map
|
|
162
|
+
//# sourceMappingURL=GWPT4OMB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/config/docker-images.ts"],"names":["images","name","versions","forge","hardhat","patch","solana","anchor","aptos","initiad","movement","blueprint","scarb","unreleased","sui","iota","stellar","daml","dpm","dependencies","sdk"],"mappings":";;;AAQA,cAAA,EAAA;AAMO,IAAMA,MAAAA,GAAS;AAClB,EAAA,CAAC,wCAAA,GAA2C;IACxCC,IAAAA,EAAM,KAAA;IACNC,QAAAA,EAAU;MACNC,KAAAA,EAAO,OAAA;MACPC,OAAAA,EAAS;AACb,KAAA;IACAC,KAAAA,EAAO;AACX,GAAA;AACA,EAAA,CAAC,qCAAA,GAAwC;;IAErCJ,IAAAA,EAAM,QAAA;IACNC,QAAAA,EAAU;MACNI,MAAAA,EAAQ,SAAA;MACRC,MAAAA,EAAQ;AACZ;AACJ,GAAA;AACA,EAAA,CAAC,oCAAA,GAAuC;IACpCN,IAAAA,EAAM,QAAA;IACNC,QAAAA,EAAU;MACNI,MAAAA,EAAQ,QAAA;MACRC,MAAAA,EAAQ;AACZ;AACJ,GAAA;AACA,EAAA,CAAC,4CAAA,GAA+C;IAC5CN,IAAAA,EAAM,QAAA;IACNC,QAAAA,EAAU;MACNI,MAAAA,EAAQ,QAAA;MACRC,MAAAA,EAAQ;AACZ,KAAA;IACAF,KAAAA,EAAO;AACX,GAAA;AACA,EAAA,CAAC,yDAAA,GAA4D;IACzDJ,IAAAA,EAAM,QAAA;IACNC,QAAAA,EAAU;MACNK,MAAAA,EAAQ,QAAA;MACRD,MAAAA,EAAQ,QAAA;MACR,eAAA,EAAiB;AACrB;AACJ,GAAA;AACA,EAAA,CAAC,gDAAA,GAAmD;IAChDL,IAAAA,EAAM,OAAA;IACNC,QAAAA,EAAU;MACNM,KAAAA,EAAO,OAAA;MACPC,OAAAA,EAAS,OAAA;MACTC,QAAAA,EAAU;AACd;AACJ,GAAA;AACA,EAAA,CAAC,iCAAA,GAAoC;IACjCT,IAAAA,EAAM,OAAA;IACNC,QAAAA,EAAU;MACNM,KAAAA,EAAO,OAAA;MACPC,OAAAA,EAAS;AACb;AACJ,GAAA;AACA,EAAA,CAAC,mBAAA,GAAsB;;IAEnBR,IAAAA,EAAM,OAAA;IACNC,QAAAA,EAAU;MACNM,KAAAA,EAAO;AACX;AACJ,GAAA;AACA,EAAA,CAAC,qCAAA,GAAwC;;;;;IAKrCP,IAAAA,EAAM,KAAA;IACNC,QAAAA,EAAU;MACNS,SAAAA,EAAW;AACf,KAAA;IACAN,KAAAA,EAAO;AACX,GAAA;AACA,EAAA,CAAC,uBAAA,GAA0B;IACvBJ,IAAAA,EAAM,UAAA;IACNC,QAAAA,EAAU;MACNU,KAAAA,EAAO;AACX;AACJ,GAAA;AACA,EAAA,CAAC,+BAAA,GAAkC;IAC/BX,IAAAA,EAAM,UAAA;IACNC,QAAAA,EAAU;MACNU,KAAAA,EAAO;AACX,KAAA;IACAP,KAAAA,EAAO,CAAA;IACPQ,UAAAA,EAAY;AAChB,GAAA;AACA,EAAA,CAAC,+BAAA,GAAkC;IAC/BZ,IAAAA,EAAM,UAAA;IACNC,QAAAA,EAAU;MACNU,KAAAA,EAAO;AACX,KAAA;IACAP,KAAAA,EAAO;AACX,GAAA;AACA,EAAA,CAAC,+BAAA,GAAkC;IAC/BJ,IAAAA,EAAM,UAAA;IACNC,QAAAA,EAAU;MACNU,KAAAA,EAAO;AACX,KAAA;IACAP,KAAAA,EAAO;AACX,GAAA;AACA,EAAA,CAAC,+BAAA,GAAkC;IAC/BJ,IAAAA,EAAM,UAAA;IACNC,QAAAA,EAAU;MACNU,KAAAA,EAAO;AACX,KAAA;IACAP,KAAAA,EAAO;AACX,GAAA;AACA,EAAA,CAAC,+BAAA,GAAkC;IAC/BJ,IAAAA,EAAM,UAAA;IACNC,QAAAA,EAAU;MACNU,KAAAA,EAAO;AACX,KAAA;IACAP,KAAAA,EAAO;AACX,GAAA;AACA,EAAA,CAAC,2BAAA,GAA8B;IAC3BJ,IAAAA,EAAM,KAAA;IACNC,QAAAA,EAAU;MACNY,GAAAA,EAAK,QAAA;MACLC,IAAAA,EAAM;AACV;AACJ,GAAA;AACA,EAAA,CAAC,wBAAA,GAA2B;;IAExBd,IAAAA,EAAM,KAAA;IACNC,QAAAA,EAAU;MACNY,GAAAA,EAAK;AACT,KAAA;IACAT,KAAAA,EAAO;AACX,GAAA;AACA,EAAA,CAAC,wBAAA,GAA2B;IACxBJ,IAAAA,EAAM,SAAA;IACNC,QAAAA,EAAU;MACNc,OAAAA,EAAS;AACb;AACJ,GAAA;AACA,EAAA,CAAC,+CAAA,GAAkD;IAC/Cf,IAAAA,EAAM,QAAA;IACNC,QAAAA,EAAU;MACNe,IAAAA,EAAM;AACV,KAAA;IACAZ,KAAAA,EAAO;AACX,GAAA;AACA,EAAA,CAAC,kBAAA,GAAqB;IAClBJ,IAAAA,EAAM,QAAA;IACNC,QAAAA,EAAU;MACNgB,GAAAA,EAAK;AACT,KAAA;IACAC,YAAAA,EAAc;MACVC,GAAAA,EAAK;AACT,KAAA;IACAP,UAAAA,EAAY;AAChB;AACJ","file":"GWPT4OMB.js","sourcesContent":["export interface Image {\n name: string;\n versions: Record<string, string>;\n dependencies?: Record<string, string>;\n patch?: number;\n unreleased?: boolean;\n}\n\n// To add a new image, follow the steps below:\n//\n// 1. Create a PR that adds a new entry with an `unreleased` flag set to `true`.\n// 2. Wait for the main branch to build Docker images for the new entry.\n// 3. Create a PR that removes the `unreleased` flag.\n// 4. Use the Docker images in the version matrices and contract packages.\nexport const images = {\n ['evm:forge-1.3.6-hardhat-2.26.3-patch-1']: {\n name: 'evm',\n versions: {\n forge: '1.3.6',\n hardhat: '2.26.3',\n },\n patch: 1,\n },\n ['solana:anchor-0.29.0-solana-1.17.31']: {\n // Built in the old `monorepo` repository.\n name: 'solana',\n versions: {\n solana: '1.17.31',\n anchor: '0.29.0',\n },\n },\n ['solana:anchor-0.31.1-solana-2.2.20']: {\n name: 'solana',\n versions: {\n solana: '2.2.20',\n anchor: '0.31.1',\n },\n },\n ['solana:anchor-0.31.1-solana-2.2.20-patch-1']: {\n name: 'solana',\n versions: {\n solana: '2.2.20',\n anchor: '0.31.1',\n },\n patch: 1,\n },\n ['solana:anchor-0.31.1-solana-2.2.20-solana-verify-0.4.11']: {\n name: 'solana',\n versions: {\n anchor: '0.31.1',\n solana: '2.2.20',\n 'solana-verify': '0.4.11',\n },\n },\n ['aptos:aptos-4.7.0-initiad-0.6.3-movement-3.5.0']: {\n name: 'aptos',\n versions: {\n aptos: '4.7.0',\n initiad: '0.6.3',\n movement: '3.5.0',\n },\n },\n ['aptos:aptos-4.7.0-initiad-0.6.3']: {\n name: 'aptos',\n versions: {\n aptos: '4.7.0',\n initiad: '0.6.3',\n },\n },\n ['aptos:aptos-4.6.0']: {\n // Built in the old `monorepo` repository.\n name: 'aptos',\n versions: {\n aptos: '4.6.0',\n },\n },\n ['ton:blueprint-0.25.0-beta.1-patch-2']: {\n // In TON's offchain SDK, we derive contract addresses dynamically from their\n // bytecode and initial state even for contracts deployed already.\n // Therefore, we cannot update the compiler version even when the minor version is the same\n // since it would change the resulting bytecode and thus the contract address.\n name: 'ton',\n versions: {\n blueprint: '0.25.0-beta.1',\n },\n patch: 2,\n },\n ['starknet:scarb-2.14.0']: {\n name: 'starknet',\n versions: {\n scarb: '2.14.0',\n },\n },\n ['starknet:scarb-2.14.0-patch-1']: {\n name: 'starknet',\n versions: {\n scarb: '2.14.0',\n },\n patch: 1,\n unreleased: true,\n },\n ['starknet:scarb-2.13.1-patch-1']: {\n name: 'starknet',\n versions: {\n scarb: '2.13.1',\n },\n patch: 1,\n },\n ['starknet:scarb-2.13.1-patch-2']: {\n name: 'starknet',\n versions: {\n scarb: '2.13.1',\n },\n patch: 2,\n },\n ['starknet:scarb-2.12.0-patch-4']: {\n name: 'starknet',\n versions: {\n scarb: '2.12.0',\n },\n patch: 4,\n },\n ['starknet:scarb-2.12.0-patch-3']: {\n name: 'starknet',\n versions: {\n scarb: '2.12.0',\n },\n patch: 3,\n },\n ['sui:iota-1.9.2-sui-1.54.1']: {\n name: 'sui',\n versions: {\n sui: '1.54.1',\n iota: '1.9.2',\n },\n },\n ['sui:sui-1.54.1-patch-1']: {\n // Test building from monorepo-internal\n name: 'sui',\n versions: {\n sui: '1.54.1',\n },\n patch: 1,\n },\n ['stellar:stellar-23.1.4']: {\n name: 'stellar',\n versions: {\n stellar: '23.1.4',\n },\n },\n ['canton:daml-3.3.0-snapshot.20250507.0-patch-1']: {\n name: 'canton',\n versions: {\n daml: '3.3.0-snapshot.20250507.0',\n },\n patch: 1,\n },\n ['canton:dpm-3.4.9']: {\n name: 'canton',\n versions: {\n dpm: '3.4.9',\n },\n dependencies: {\n sdk: '3.4.9',\n },\n unreleased: true,\n },\n} satisfies Record<string, Image>;\n\nexport type ImageId = keyof typeof images;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var I4WZRP7G_cjs = require('./I4WZRP7G.cjs');
|
|
4
|
+
var _6QJ3ATEV_cjs = require('./6QJ3ATEV.cjs');
|
|
5
5
|
var U7VZULNU_cjs = require('./U7VZULNU.cjs');
|
|
6
6
|
|
|
7
7
|
// src/commands/iota.ts
|
|
@@ -10,8 +10,8 @@ var configScript = `
|
|
|
10
10
|
echo "Initializing IOTA client configuration..."
|
|
11
11
|
iota keytool import "test test test test test test test test test test test junk" ed25519
|
|
12
12
|
`;
|
|
13
|
-
var iotaWrapper = new
|
|
13
|
+
var iotaWrapper = new I4WZRP7G_cjs.SuiWrapper("iota", configScript, _6QJ3ATEV_cjs.iotaDefaultVolumes);
|
|
14
14
|
|
|
15
15
|
exports.iotaWrapper = iotaWrapper;
|
|
16
|
-
//# sourceMappingURL=
|
|
17
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=H626YBWD.cjs.map
|
|
17
|
+
//# sourceMappingURL=H626YBWD.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/iota.ts"],"names":["init_cjs_shims","configScript","iotaWrapper","SuiWrapper","iotaDefaultVolumes"],"mappings":";;;;;;;AAAAA,2BAAA,EAAA;AAMA,IAAMC,YAAAA,GAAe;;;;AAKd,IAAMC,WAAAA,GAAc,IAAIC,uBAAAA,CAAW,MAAA,EAAQF,cAAcG
|
|
1
|
+
{"version":3,"sources":["../src/commands/iota.ts"],"names":["init_cjs_shims","configScript","iotaWrapper","SuiWrapper","iotaDefaultVolumes"],"mappings":";;;;;;;AAAAA,2BAAA,EAAA;AAMA,IAAMC,YAAAA,GAAe;;;;AAKd,IAAMC,WAAAA,GAAc,IAAIC,uBAAAA,CAAW,MAAA,EAAQF,cAAcG,gCAAAA","file":"H626YBWD.cjs","sourcesContent":["import { iotaDefaultVolumes } from '../config/tools';\nimport { SuiWrapper } from './utility/sui-like';\n\n// Initialize IOTA client configuration if it doesn't exist in the Docker volume.\n// This prevents interactive prompts on fresh machines.\n// Uses testnet for network operations like --dump-bytecode-as-base64.\nconst configScript = `\necho \"Initializing IOTA client configuration...\"\niota keytool import \"test test test test test test test test test test test junk\" ed25519\n`;\n\nexport const iotaWrapper = new SuiWrapper('iota', configScript, iotaDefaultVolumes);\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var JSLAKJHB_cjs = require('./JSLAKJHB.cjs');
|
|
4
4
|
var U7VZULNU_cjs = require('./U7VZULNU.cjs');
|
|
5
5
|
|
|
6
6
|
// src/commands/utility/sui-like.ts
|
|
@@ -28,7 +28,7 @@ var SuiWrapper = class {
|
|
|
28
28
|
}
|
|
29
29
|
await this.initializeConfig(options);
|
|
30
30
|
await this.downloadDependencies(subcommand, options);
|
|
31
|
-
await
|
|
31
|
+
await JSLAKJHB_cjs.executeToolCommand(this.command, [
|
|
32
32
|
"move",
|
|
33
33
|
subcommand,
|
|
34
34
|
"--skip-fetch-latest-git-deps",
|
|
@@ -41,7 +41,7 @@ var SuiWrapper = class {
|
|
|
41
41
|
}
|
|
42
42
|
// Initialize config in the Docker volume if it doesn't exist.
|
|
43
43
|
async initializeConfig(options) {
|
|
44
|
-
await
|
|
44
|
+
await JSLAKJHB_cjs.executeToolCommand(this.command, [
|
|
45
45
|
"-c",
|
|
46
46
|
this.configScript
|
|
47
47
|
], {
|
|
@@ -56,7 +56,7 @@ var SuiWrapper = class {
|
|
|
56
56
|
// Fetch dependencies into the shared Docker volume with a lock.
|
|
57
57
|
// TODO Fetch dependencies with a read write lock.
|
|
58
58
|
async downloadDependencies(subcommand, options) {
|
|
59
|
-
await
|
|
59
|
+
await JSLAKJHB_cjs.executeToolCommand(this.command, [
|
|
60
60
|
"move",
|
|
61
61
|
subcommand,
|
|
62
62
|
"--fetch-deps-only"
|
|
@@ -70,7 +70,7 @@ var SuiWrapper = class {
|
|
|
70
70
|
}
|
|
71
71
|
async fixArtifactPermissions(options) {
|
|
72
72
|
for (const script of permissionFixScripts) {
|
|
73
|
-
await
|
|
73
|
+
await JSLAKJHB_cjs.executeToolCommand(this.command, [
|
|
74
74
|
"-c",
|
|
75
75
|
script
|
|
76
76
|
], {
|
|
@@ -82,5 +82,5 @@ var SuiWrapper = class {
|
|
|
82
82
|
};
|
|
83
83
|
|
|
84
84
|
exports.SuiWrapper = SuiWrapper;
|
|
85
|
-
//# sourceMappingURL=
|
|
86
|
-
//# sourceMappingURL=
|
|
85
|
+
//# sourceMappingURL=I4WZRP7G.cjs.map
|
|
86
|
+
//# sourceMappingURL=I4WZRP7G.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/utility/sui-like.ts"],"names":["init_cjs_shims","permissionFixScripts","SuiWrapper","command","configScript","defaultVolumes","run","subcommand","args","options","volumes","length","Error","initializeConfig","downloadDependencies","executeToolCommand","fixArtifactPermissions","map","volume","locked","customEntrypoint","script"],"mappings":";;;;;;AACAA,2BAAA,EAAA;AAUA,IAAMC,oBAAAA,GAAuB;AACzB,EAAA,oBAAA;AACA,EAAA,yCAAA;AACA,EAAA;;AAGG,IAAMC,aAAN,MAAMA;EAhBb;;;;;;EAiBI,WAAA,CACqBC,OAAAA,EACAC,cACAC,cAAAA,EACnB;SAHmBF,OAAAA,GAAAA,OAAAA;SACAC,YAAAA,GAAAA,YAAAA;SACAC,cAAAA,GAAAA,cAAAA;AAClB,EAAA;EAEH,MAAaC,GAAAA,CACTC,UAAAA,EACAC,IAAAA,EACAC,OAAAA,EACa;AACb,IAAA,IAAIA,OAAAA,CAAQC,QAAQC,MAAAA,EAAQ;AACxB,MAAA,MAAM,IAAIC,KAAAA,CAAM,CAAA,wCAAA,EAA2C,IAAA,CAAKT,OAAO,CAAA,UAAA,CAAY,CAAA;AACvF,IAAA;AAEA,IAAA,MAAM,IAAA,CAAKU,iBAAiBJ,OAAAA,CAAAA;AAC5B,IAAA,MAAM,IAAA,CAAKK,oBAAAA,CAAqBP,UAAAA,EAAYE,OAAAA,CAAAA;AAE5C,IAAA,MAAMM,+BAAAA,CACF,KAAKZ,OAAAA,EACL;AAAC,MAAA,MAAA;AAAQI,MAAAA,UAAAA;AAAY,MAAA,8BAAA;AAAmCC,MAAAA,GAAAA;AACxD,KAAA,EAAA;MACI,GAAGC,OAAAA;AACHC,MAAAA,OAAAA,EAAS,IAAA,CAAKL;KAClB,CAAA;AAGJ,IAAA,MAAM,IAAA,CAAKW,uBAAuBP,OAAAA,CAAAA;AACtC,EAAA;;AAGA,EAAA,MAAcI,iBAAiBJ,OAAAA,EAAqD;AAChF,IAAA,MAAMM,+BAAAA,CAAmB,KAAKZ,OAAAA,EAAS;AAAC,MAAA,IAAA;MAAM,IAAA,CAAKC;AAAe,KAAA,EAAA;MAC9D,GAAGK,OAAAA;AACHC,MAAAA,OAAAA,EAAS,IAAA,CAAKL,cAAAA,CAAeY,GAAAA,CAAI,CAACC,MAAAA,MAAY;QAAE,GAAGA,MAAAA;QAAQC,MAAAA,EAAQ;OAAK,CAAA,CAAA;MACxEC,gBAAAA,EAAkB;KACtB,CAAA;AACJ,EAAA;;;EAIA,MAAcN,oBAAAA,CACVP,YACAE,OAAAA,EACa;AACb,IAAA,MAAMM,+BAAAA,CAAmB,KAAKZ,OAAAA,EAAS;AAAC,MAAA,MAAA;AAAQI,MAAAA,UAAAA;AAAY,MAAA;AAAsB,KAAA,EAAA;MAC9E,GAAGE,OAAAA;AACHC,MAAAA,OAAAA,EAAS,IAAA,CAAKL,cAAAA,CAAeY,GAAAA,CAAI,CAACC,MAAAA,MAAY;QAAE,GAAGA,MAAAA;QAAQC,MAAAA,EAAQ;OAAK,CAAA;KAC5E,CAAA;AACJ,EAAA;AAEA,EAAA,MAAcH,uBAAuBP,OAAAA,EAAqD;AACtF,IAAA,KAAA,MAAWY,UAAUpB,oBAAAA,EAAsB;AACvC,MAAA,MAAMc,+BAAAA,CAAmB,KAAKZ,OAAAA,EAAS;AAAC,QAAA,IAAA;AAAMkB,QAAAA;AAAS,OAAA,EAAA;QACnD,GAAGZ,OAAAA;QACHW,gBAAAA,EAAkB;OACtB,CAAA;AACJ,IAAA;AACJ,EAAA;AACJ","file":"
|
|
1
|
+
{"version":3,"sources":["../src/commands/utility/sui-like.ts"],"names":["init_cjs_shims","permissionFixScripts","SuiWrapper","command","configScript","defaultVolumes","run","subcommand","args","options","volumes","length","Error","initializeConfig","downloadDependencies","executeToolCommand","fixArtifactPermissions","map","volume","locked","customEntrypoint","script"],"mappings":";;;;;;AACAA,2BAAA,EAAA;AAUA,IAAMC,oBAAAA,GAAuB;AACzB,EAAA,oBAAA;AACA,EAAA,yCAAA;AACA,EAAA;;AAGG,IAAMC,aAAN,MAAMA;EAhBb;;;;;;EAiBI,WAAA,CACqBC,OAAAA,EACAC,cACAC,cAAAA,EACnB;SAHmBF,OAAAA,GAAAA,OAAAA;SACAC,YAAAA,GAAAA,YAAAA;SACAC,cAAAA,GAAAA,cAAAA;AAClB,EAAA;EAEH,MAAaC,GAAAA,CACTC,UAAAA,EACAC,IAAAA,EACAC,OAAAA,EACa;AACb,IAAA,IAAIA,OAAAA,CAAQC,QAAQC,MAAAA,EAAQ;AACxB,MAAA,MAAM,IAAIC,KAAAA,CAAM,CAAA,wCAAA,EAA2C,IAAA,CAAKT,OAAO,CAAA,UAAA,CAAY,CAAA;AACvF,IAAA;AAEA,IAAA,MAAM,IAAA,CAAKU,iBAAiBJ,OAAAA,CAAAA;AAC5B,IAAA,MAAM,IAAA,CAAKK,oBAAAA,CAAqBP,UAAAA,EAAYE,OAAAA,CAAAA;AAE5C,IAAA,MAAMM,+BAAAA,CACF,KAAKZ,OAAAA,EACL;AAAC,MAAA,MAAA;AAAQI,MAAAA,UAAAA;AAAY,MAAA,8BAAA;AAAmCC,MAAAA,GAAAA;AACxD,KAAA,EAAA;MACI,GAAGC,OAAAA;AACHC,MAAAA,OAAAA,EAAS,IAAA,CAAKL;KAClB,CAAA;AAGJ,IAAA,MAAM,IAAA,CAAKW,uBAAuBP,OAAAA,CAAAA;AACtC,EAAA;;AAGA,EAAA,MAAcI,iBAAiBJ,OAAAA,EAAqD;AAChF,IAAA,MAAMM,+BAAAA,CAAmB,KAAKZ,OAAAA,EAAS;AAAC,MAAA,IAAA;MAAM,IAAA,CAAKC;AAAe,KAAA,EAAA;MAC9D,GAAGK,OAAAA;AACHC,MAAAA,OAAAA,EAAS,IAAA,CAAKL,cAAAA,CAAeY,GAAAA,CAAI,CAACC,MAAAA,MAAY;QAAE,GAAGA,MAAAA;QAAQC,MAAAA,EAAQ;OAAK,CAAA,CAAA;MACxEC,gBAAAA,EAAkB;KACtB,CAAA;AACJ,EAAA;;;EAIA,MAAcN,oBAAAA,CACVP,YACAE,OAAAA,EACa;AACb,IAAA,MAAMM,+BAAAA,CAAmB,KAAKZ,OAAAA,EAAS;AAAC,MAAA,MAAA;AAAQI,MAAAA,UAAAA;AAAY,MAAA;AAAsB,KAAA,EAAA;MAC9E,GAAGE,OAAAA;AACHC,MAAAA,OAAAA,EAAS,IAAA,CAAKL,cAAAA,CAAeY,GAAAA,CAAI,CAACC,MAAAA,MAAY;QAAE,GAAGA,MAAAA;QAAQC,MAAAA,EAAQ;OAAK,CAAA;KAC5E,CAAA;AACJ,EAAA;AAEA,EAAA,MAAcH,uBAAuBP,OAAAA,EAAqD;AACtF,IAAA,KAAA,MAAWY,UAAUpB,oBAAAA,EAAsB;AACvC,MAAA,MAAMc,+BAAAA,CAAmB,KAAKZ,OAAAA,EAAS;AAAC,QAAA,IAAA;AAAMkB,QAAAA;AAAS,OAAA,EAAA;QACnD,GAAGZ,OAAAA;QACHW,gBAAAA,EAAkB;OACtB,CAAA;AACJ,IAAA;AACJ,EAAA;AACJ","file":"I4WZRP7G.cjs","sourcesContent":["import type { ToolCommandExecutionOptions } from '../../core';\nimport { executeToolCommand } from '../../core';\nimport type { VolumeMapping } from '../../types';\n\ntype SuiCommand = 'sui' | 'iota';\ntype SuiSubcommand = 'build' | 'test';\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 class SuiWrapper {\n constructor(\n private readonly command: SuiCommand,\n private readonly configScript: string,\n private readonly defaultVolumes: readonly VolumeMapping[],\n ) {}\n\n public async run(\n subcommand: SuiSubcommand,\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 \\`${this.command}\\` wrapper`);\n }\n\n await this.initializeConfig(options);\n await this.downloadDependencies(subcommand, options);\n\n await executeToolCommand(\n this.command,\n ['move', subcommand, '--skip-fetch-latest-git-deps', ...args],\n {\n ...options,\n volumes: this.defaultVolumes,\n },\n );\n\n await this.fixArtifactPermissions(options);\n }\n\n // Initialize config in the Docker volume if it doesn't exist.\n private async initializeConfig(options: ToolCommandExecutionOptions): Promise<void> {\n await executeToolCommand(this.command, ['-c', this.configScript], {\n ...options,\n volumes: this.defaultVolumes.map((volume) => ({ ...volume, locked: true })),\n customEntrypoint: '/bin/sh',\n });\n }\n\n // Fetch dependencies into the shared Docker volume with a lock.\n // TODO Fetch dependencies with a read write lock.\n private async downloadDependencies(\n subcommand: SuiSubcommand,\n options: ToolCommandExecutionOptions,\n ): Promise<void> {\n await executeToolCommand(this.command, ['move', subcommand, '--fetch-deps-only'], {\n ...options,\n volumes: this.defaultVolumes.map((volume) => ({ ...volume, locked: true })),\n });\n }\n\n private async fixArtifactPermissions(options: ToolCommandExecutionOptions): Promise<void> {\n for (const script of permissionFixScripts) {\n await executeToolCommand(this.command, ['-c', script], {\n ...options,\n customEntrypoint: '/bin/sh',\n });\n }\n }\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var YNMZEV5X_cjs = require('./YNMZEV5X.cjs');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
4
|
+
var DBRVUBWJ_cjs = require('./DBRVUBWJ.cjs');
|
|
5
|
+
var VI6POZO4_cjs = require('./VI6POZO4.cjs');
|
|
6
|
+
var _6QJ3ATEV_cjs = require('./6QJ3ATEV.cjs');
|
|
7
|
+
var CXM3VA7N_cjs = require('./CXM3VA7N.cjs');
|
|
8
8
|
var U7VZULNU_cjs = require('./U7VZULNU.cjs');
|
|
9
9
|
var path = require('path');
|
|
10
10
|
var process = require('process');
|
|
@@ -50,7 +50,7 @@ async function ensureDockerImage(imageUri) {
|
|
|
50
50
|
` - ECR image: ${imageUri} (pull failed)`,
|
|
51
51
|
"",
|
|
52
52
|
"\u{1F4A1} Solutions:",
|
|
53
|
-
` 1. Authenticate with ECR: aws ecr get-login-password --region ${
|
|
53
|
+
` 1. Authenticate with ECR: aws ecr get-login-password --region ${_6QJ3ATEV_cjs.AWS_REGION} | docker login --username AWS --password-stdin ${_6QJ3ATEV_cjs.AWS_ACCOUNT_ID}.dkr.ecr.${_6QJ3ATEV_cjs.AWS_REGION}.amazonaws.com`,
|
|
54
54
|
" 2. Check if the image tag exists in ECR."
|
|
55
55
|
].join("\n"));
|
|
56
56
|
}
|
|
@@ -58,12 +58,12 @@ async function ensureDockerImage(imageUri) {
|
|
|
58
58
|
}
|
|
59
59
|
U7VZULNU_cjs.__name(ensureDockerImage, "ensureDockerImage");
|
|
60
60
|
async function executeToolCommand(command, args, { cwd, volumes: userVolumes, customEntrypoint: entrypoint, env: customEnvVars, script, publish, versions = {} }) {
|
|
61
|
-
const tool =
|
|
62
|
-
const type =
|
|
61
|
+
const tool = _6QJ3ATEV_cjs.findToolByName(command);
|
|
62
|
+
const type = _6QJ3ATEV_cjs.getChainTypeForTool(command);
|
|
63
63
|
if (!type) {
|
|
64
64
|
throw new Error([
|
|
65
65
|
`Tool '${command}' not found or no type configuration available.`,
|
|
66
|
-
`Available tools: ${
|
|
66
|
+
`Available tools: ${_6QJ3ATEV_cjs.tools.map(({ name }) => name).join(", ")}`,
|
|
67
67
|
`Try: lz-tool --list-versions to see all available tools`
|
|
68
68
|
].join("\n"));
|
|
69
69
|
}
|
|
@@ -78,7 +78,7 @@ async function executeToolCommand(command, args, { cwd, volumes: userVolumes, cu
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
const resolvedVersion =
|
|
81
|
+
const resolvedVersion = DBRVUBWJ_cjs.resolveTypeVersions(type, versions)[command];
|
|
82
82
|
if (!resolvedVersion) {
|
|
83
83
|
throw new Error(`No version resolved for tool ${command}`);
|
|
84
84
|
}
|
|
@@ -88,14 +88,14 @@ async function executeToolCommand(command, args, { cwd, volumes: userVolumes, cu
|
|
|
88
88
|
const secondaryVersion = tool.getSecondaryVersion({
|
|
89
89
|
cwd
|
|
90
90
|
});
|
|
91
|
-
if (!
|
|
91
|
+
if (!_6QJ3ATEV_cjs.versionsSatisfied(secondaryVersion, resolvedVersion)) {
|
|
92
92
|
console.warn(`Warning: Local configuration version (${secondaryVersion}) differs from resolved version (${resolvedVersion})`);
|
|
93
93
|
}
|
|
94
94
|
} catch (error) {
|
|
95
95
|
console.warn("Could not validate secondary version:", YNMZEV5X_cjs.stringifyError(error));
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
const imageURI =
|
|
98
|
+
const imageURI = VI6POZO4_cjs.getImageUriForTool(tool.name, resolvedVersion);
|
|
99
99
|
const workspaceRoot = await commonNodeUtils.getFullyQualifiedRepoRootPath();
|
|
100
100
|
const relativePath = path__default.default.relative(workspaceRoot, cwd);
|
|
101
101
|
await ensureDockerImage(imageURI);
|
|
@@ -138,7 +138,7 @@ async function executeToolCommand(command, args, { cwd, volumes: userVolumes, cu
|
|
|
138
138
|
"-p",
|
|
139
139
|
publish.trim()
|
|
140
140
|
] : [],
|
|
141
|
-
...volumes.map(
|
|
141
|
+
...volumes.map(VI6POZO4_cjs.getVolumeName).flatMap((volume) => [
|
|
142
142
|
"-v",
|
|
143
143
|
volume
|
|
144
144
|
]),
|
|
@@ -149,7 +149,7 @@ async function executeToolCommand(command, args, { cwd, volumes: userVolumes, cu
|
|
|
149
149
|
imageURI,
|
|
150
150
|
...finalArgs
|
|
151
151
|
];
|
|
152
|
-
const output = await
|
|
152
|
+
const output = await CXM3VA7N_cjs.lockMany(volumes.flatMap((volume) => volume.type === "isolate" && volume.locked ? [
|
|
153
153
|
volume.name
|
|
154
154
|
] : []), () => zx.$`docker ${dockerArgs}`.nothrow());
|
|
155
155
|
if (output.exitCode) {
|
|
@@ -160,5 +160,5 @@ async function executeToolCommand(command, args, { cwd, volumes: userVolumes, cu
|
|
|
160
160
|
U7VZULNU_cjs.__name(executeToolCommand, "executeToolCommand");
|
|
161
161
|
|
|
162
162
|
exports.executeToolCommand = executeToolCommand;
|
|
163
|
-
//# sourceMappingURL=
|
|
164
|
-
//# sourceMappingURL=
|
|
163
|
+
//# sourceMappingURL=JSLAKJHB.cjs.map
|
|
164
|
+
//# sourceMappingURL=JSLAKJHB.cjs.map
|
|
@@ -1 +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","console","info","error","Error","stringifyError","exitCode","AWS_REGION","AWS_ACCOUNT_ID","join","executeToolCommand","command","args","cwd","volumes","customEntrypoint","entrypoint","env","customEnvVars","script","publish","versions","tool","findToolByName","type","getChainTypeForTool","tools","name","length","overrides","uv","some","dv","resolvedVersion","resolveTypeVersions","getSecondaryVersion","secondaryVersion","versionsSatisfied","warn","imageURI","getImageUriForTool","workspaceRoot","getFullyQualifiedRepoRootPath","relativePath","path","relative","trim","envArgs","envVar","value","flat","finalArgs","undefined","dockerArgs","privileged","getVolumeName","flatMap","lockMany","locked"],"mappings":";;;;;;;;;;;;;;;;;;;AAAAA,2BAAA,EAAA;AAgBAC,IAAAA,CAAEC,OAAAA,GAAU,IAAA;AACZD,IAAAA,CAAEE,KAAAA,GAAQ;AAAC,EAAA,SAAA;AAAW,EAAA,MAAA;EAAQC,wBAAAA,CAAQC;;AAMtC,IAAMC,YAAAA,mBAAeC,mBAAA,CAAA,CACjBC,cAAAA,EACAC,WAAAA,KAAAA;AAEA,EAAA,MAAMC,KAAAA,GAAQ,IAAIC,GAAAA,CAAIF,WAAAA,CAAYG,IAAI,CAACC,MAAAA,KAAWA,MAAAA,CAAOC,aAAa,CAAA,CAAA;AAEtE,EAAA,OAAO;AAAIL,IAAAA,GAAAA,WAAAA;OAAgBD,cAAAA,CAAeO,MAAAA,CAAO,CAACF,MAAAA,KAAW,CAACH,MAAMM,GAAAA,CAAIH,MAAAA,CAAOC,aAAa,CAAA;;AAChG,CAAA,EAPqB,cAAA,CAAA;AASrB,eAAeG,kBAAkBC,QAAAA,EAAgB;AAC7C,EAAA,IAAIC,MAAAA;AAEJ,EAAA,IAAI;AAEAA,IAAAA,MAAAA,GAAS,MAAMlB,IAAAA,CAAAA,gBAAAA,EAAoBiB,QAAAA,CAAAA,CAAAA,CAAWE,OAAAA,EAAO;AAErD,IAAA,IAAID,MAAAA,CAAOE,MAAAA,CAAOC,QAAAA,CAASJ,QAAAA,CAAAA,EAAW;AAClCK,MAAAA,OAAAA,CAAQC,IAAAA,CAAK,CAAA,kCAAA,EAAgCN,QAAAA,CAAAA,CAAU,CAAA;AACvD,MAAA;AACJ,IAAA;AAEAK,IAAAA,OAAAA,CAAQC,IAAAA,CAAK,4CAAqCN,QAAAA,CAAAA;AAClDC,IAAAA,MAAAA,GAAS,MAAMlB,IAAAA,CAAAA,YAAAA,EAAgBiB,QAAAA,CAAAA,CAAAA,CAAWE,OAAAA,EAAO;AACrD,EAAA,CAAA,CAAA,OAASK,KAAAA,EAAgB;AACrB,IAAA,MAAM,IAAIC,MAAM,CAAA,4BAAA,EAA+BR,QAAAA,KAAaS,2BAAAA,CAAeF,KAAAA,CAAAA,CAAAA,CAAQ,CAAA;AACvF,EAAA;AAEA,EAAA,IAAIN,OAAOS,QAAAA,EAAU;AACjB,IAAA,MAAM,IAAIF,KAAAA,CACN;AACI,MAAA,6BAAA;AACA,MAAA,CAAA,eAAA,EAAkBR,QAAAA,CAAAA,cAAAA,CAAAA;AAClB,MAAA,EAAA;AACA,MAAA,sBAAA;AACA,MAAA,CAAA,gEAAA,EAAmEW,uBAAAA,CAAAA,gDAAAA,EACfC,2BAAAA,CAAAA,SAAAA,EAA0BD,uBAAAA,CAAAA,cAAAA,CAAAA;AAC9E,MAAA;AACFE,KAAAA,CAAAA,IAAAA,CAAK,IAAA,CAAA,CAAA;AAEf,EAAA;AAEAR,EAAAA,OAAAA,CAAQC,IAAAA,CAAK,CAAA,4BAAA,EAA0BN,QAAAA,CAAAA,CAAU,CAAA;AACrD;AAjCeD,mBAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAgDf,eAAsBe,mBAClBC,OAAAA,EACAC,IAAAA,EACA,EACIC,GAAAA,EACAC,SAAS3B,WAAAA,EACT4B,gBAAAA,EAAkBC,UAAAA,EAClBC,GAAAA,EAAKC,eACLC,MAAAA,EACAC,OAAAA,EACAC,QAAAA,GAAW,IAAE,EACa;AAE9B,EAAA,MAAMC,IAAAA,GAAOC,4BAAeZ,OAAAA,CAAAA;AAC5B,EAAA,MAAMa,IAAAA,GAAOC,iCAAoBd,OAAAA,CAAAA;AAEjC,EAAA,IAAI,CAACa,IAAAA,EAAM;AACP,IAAA,MAAM,IAAIpB,KAAAA,CACN;AACI,MAAA,CAAA,MAAA,EAASO,OAAAA,CAAAA,+CAAAA,CAAAA;MACT,CAAA,iBAAA,EAAoBe,kBAAAA,CAAMpC,GAAAA,CAAI,CAAC,EAAEqC,IAAAA,OAAWA,IAAAA,CAAAA,CAAMlB,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAA;AACvD,MAAA,CAAA,uDAAA;AACFA,KAAAA,CAAAA,IAAAA,CAAK,IAAA,CAAA,CAAA;AAEf,EAAA;AAGA,EAAA,MAAMvB,cAAAA,GAAiBoC,IAAAA,CAAKpC,cAAAA,IAAkB,EAAA;AAC9C,EAAA,MAAM4B,OAAAA,GAAU9B,YAAAA,CAAaE,cAAAA,EAAgBC,WAAAA,CAAAA;AAE7C,EAAA,IAAID,cAAAA,CAAe0C,SAAS,CAAA,EAAG;AAC3B3B,IAAAA,OAAAA,CAAQC,KAAK,CAAA,gBAAA,EAAYhB,cAAAA,CAAe0C,MAAM,CAAA,6BAAA,EAAgCjB,OAAAA,CAAAA,CAAS,CAAA;AACvF,IAAA,IAAIxB,WAAAA,CAAYyC,SAAS,CAAA,EAAG;AACxB,MAAA,MAAMC,SAAAA,GAAY1C,WAAAA,CAAYM,MAAAA,CAAO,CAACqC,EAAAA,KAClC5C,cAAAA,CAAe6C,IAAAA,CAAK,CAACC,EAAAA,KAAOA,EAAAA,CAAGxC,aAAAA,KAAkBsC,EAAAA,CAAGtC,aAAa,CAAA,CAAA;AAErE,MAAA,IAAIqC,SAAAA,CAAUD,SAAS,CAAA,EAAG;AACtB3B,QAAAA,OAAAA,CAAQC,IAAAA,CAAK,CAAA,gCAAA,EAA4B2B,SAAAA,CAAUD,MAAM,CAAA,kBAAA,CAAoB,CAAA;AACjF,MAAA;AACJ,IAAA;AACJ,EAAA;AAGA,EAAA,MAAMK,eAAAA,GAAkBC,gCAAAA,CAAoBV,IAAAA,EAAMH,QAAAA,EAAUV,OAAAA,CAAAA;AAC5D,EAAA,IAAI,CAACsB,eAAAA,EAAiB;AAClB,IAAA,MAAM,IAAI7B,KAAAA,CAAM,CAAA,6BAAA,EAAgCO,OAAAA,CAAAA,CAAS,CAAA;AAC7D,EAAA;AAEAV,EAAAA,OAAAA,CAAQC,IAAAA,CAAK,CAAA,UAAA,EAAMS,OAAAA,CAAAA,UAAAA,EAAoBsB,eAAAA,CAAAA,CAAiB,CAAA;AAGxD,EAAA,IAAIX,KAAKa,mBAAAA,EAAqB;AAC1B,IAAA,IAAI;AACA,MAAA,MAAMC,gBAAAA,GAAmBd,KAAKa,mBAAAA,CAAoB;AAAEtB,QAAAA;OAAI,CAAA;AAExD,MAAA,IAAI,CAACwB,8BAAAA,CAAkBD,gBAAAA,EAAkBH,eAAAA,CAAAA,EAAkB;AACvDhC,QAAAA,OAAAA,CAAQqC,IAAAA,CACJ,CAAA,sCAAA,EAAyCF,gBAAAA,CAAAA,iCAAAA,EAAoDH,eAAAA,CAAAA,CAAAA,CAAkB,CAAA;AAEvH,MAAA;AACJ,IAAA,CAAA,CAAA,OAAS9B,KAAAA,EAAO;AAEZF,MAAAA,OAAAA,CAAQqC,IAAAA,CAAK,uCAAA,EAAyCjC,2BAAAA,CAAeF,KAAAA,CAAAA,CAAAA;AACzE,IAAA;AACJ,EAAA;AAGA,EAAA,MAAMoC,QAAAA,GAAWC,gCAAAA,CAAmBlB,IAAAA,CAAKK,IAAAA,EAAMM,eAAAA,CAAAA;AAC/C,EAAA,MAAMQ,aAAAA,GAAgB,MAAMC,6CAAAA,EAAAA;AAC5B,EAAA,MAAMC,YAAAA,GAAeC,qBAAAA,CAAKC,QAAAA,CAASJ,aAAAA,EAAe5B,GAAAA,CAAAA;AAElD,EAAA,MAAMlB,kBAAkB4C,QAAAA,CAAAA;AAExB,EAAA,IAAIvB,UAAAA,EAAY8B,MAAAA,EAAQ;AACpB7C,IAAAA,OAAAA,CAAQC,IAAAA,CAAK,CAAA,mCAAA,EAA+Bc,UAAAA,CAAAA,CAAY,CAAA;AAC5D,EAAA;AAGA,EAAA,MAAM+B,OAAAA,GAAU7B,aAAAA,CAAc5B,GAAAA,CAAI,CAAC0D,MAAAA,KAAW;AAAC,IAAA,IAAA;AAAM,IAAA,CAAA,EAAGA,MAAAA,CAAOrB,IAAI,CAAA,CAAA,EAAIqB,MAAAA,CAAOC,KAAK,CAAA;AAAG,GAAA,CAAA,CAAEC,IAAAA,EAAI;AAE5F,EAAA,IAAIhC,aAAAA,CAAcU,SAAS,CAAA,EAAG;AAC1B3B,IAAAA,OAAAA,CAAQC,IAAAA,CAAK,CAAA,gBAAA,EAAYgB,aAAAA,CAAcU,MAAM,CAAA,+BAAA,CAAiC,CAAA;AAClF,EAAA;AAGA,EAAA,IAAIuB,SAAAA;AACJ,EAAA,IAAIhC,MAAAA,IAAUA,MAAAA,CAAO2B,IAAAA,EAAI,KAAO,EAAA,EAAI;AAChC7C,IAAAA,OAAAA,CAAQC,IAAAA,CAAK,CAAA,mCAAA,EAA+BiB,MAAAA,CAAAA,CAAQ,CAAA;AACpDgC,IAAAA,SAAAA,GAAY;AAAC,MAAA,MAAA;AAAQ,MAAA,IAAA;AAAMhC,MAAAA;;EAC/B,CAAA,MAAO;AACHgC,IAAAA,SAAAA,GAAYnC,eAAeoC,MAAAA,GAAY;MAAC9B,IAAAA,CAAKK,IAAAA;AAASf,MAAAA,GAAAA;AAAQA,KAAAA,GAAAA,IAAAA;AAClE,EAAA;AAGA,EAAA,MAAMyC,UAAAA,GAAa;AACf,IAAA,KAAA;AACI/B,IAAAA,GAAAA,IAAAA,CAAKgC,UAAAA,GAAa;AAAC,MAAA;QAAkB,EAAA;AACzC,IAAA,MAAA;AACGP,IAAAA,GAAAA,OAAAA;AACH,IAAA,IAAA;AACA,IAAA,CAAA,EAAGN,aAAAA,CAAAA,WAAAA,CAAAA;AACH,IAAA,IAAA;AACA,IAAA,CAAA,WAAA,EAAcE,YAAAA,CAAAA,CAAAA;OACVvB,OAAAA,GAAU;AAAC,MAAA,IAAA;AAAMA,MAAAA,OAAAA,CAAQ0B,IAAAA;QAAU,EAAA;AACpChC,IAAAA,GAAAA,OAAAA,CAAQxB,GAAAA,CAAIiE,2BAAAA,CAAAA,CAAeC,OAAAA,CAAQ,CAACjE,MAAAA,KAAW;AAAC,MAAA,IAAA;AAAMA,MAAAA;AAAO,KAAA,CAAA;OAC5DyB,UAAAA,GAAa;AAAC,MAAA,cAAA;AAAgBA,MAAAA;QAAc,EAAA;AAChDuB,IAAAA,QAAAA;AACGY,IAAAA,GAAAA;;AAGP,EAAA,MAAMtD,MAAAA,GAAS,MAAM4D,sBAAAA,CACjB3C,OAAAA,CAAQ0C,OAAAA,CAAQ,CAACjE,MAAAA,KACbA,MAAAA,CAAOiC,IAAAA,KAAS,SAAA,IAAajC,MAAAA,CAAOmE,MAAAA,GAAS;IAACnE,MAAAA,CAAOoC;AAAQ,GAAA,GAAA,EAAE,CAAA,EAEnE,MAAMhD,cAAW0E,UAAAA,CAAAA,CAAAA,CAAavD,SAAO,CAAA;AAGzC,EAAA,IAAID,OAAOS,QAAAA,EAAU;AACjB,IAAA,MAAM,IAAIF,KAAAA,CAAM,CAAA,2CAAA,EAA8CP,MAAAA,CAAOS,QAAQ,CAAA,CAAA,CAAG,CAAA;AACpF,EAAA;AAEA,EAAA,OAAOT,MAAAA;AACX;AA1HsBa,mBAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA","file":"BRSAP7LG.cjs","sourcesContent":["import 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, VolumeMapping } from '../types';\nimport { getImageUriForTool, getVolumeName } from '../utils/docker';\nimport { stringifyError } from '../utils/error';\nimport { findToolByName, getChainTypeForTool } from '../utils/finder';\nimport { versionsSatisfied } from '../utils/version';\nimport { lockMany } from './lock';\nimport { 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)) {\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 publish?: string;\n versions?: Record<string, 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 {\n cwd,\n volumes: userVolumes,\n customEntrypoint: entrypoint,\n env: customEnvVars,\n script,\n publish,\n versions = {},\n }: ToolCommandExecutionOptions,\n): Promise<ProcessOutput> {\n const tool = findToolByName(command);\n const type = getChainTypeForTool(command);\n\n if (!type) {\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 // Get the resolved version for the current tool\n const resolvedVersion = resolveTypeVersions(type, versions)[command];\n if (!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.getSecondaryVersion) {\n try {\n const secondaryVersion = tool.getSecondaryVersion({ cwd });\n\n if (!versionsSatisfied(secondaryVersion, resolvedVersion)) {\n console.warn(\n `Warning: Local configuration version (${secondaryVersion}) 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 = getImageUriForTool(tool.name, resolvedVersion);\n const workspaceRoot = await getFullyQualifiedRepoRootPath();\n const relativePath = path.relative(workspaceRoot, cwd);\n\n await ensureDockerImage(imageURI);\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 ...volumes.map(getVolumeName).flatMap((volume) => ['-v', volume]),\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\n if (output.exitCode) {\n throw new Error(`Failed to run Docker container (exit code: ${output.exitCode})`);\n }\n\n return output;\n}\n"]}
|
|
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","console","info","error","Error","stringifyError","exitCode","AWS_REGION","AWS_ACCOUNT_ID","join","executeToolCommand","command","args","cwd","volumes","customEntrypoint","entrypoint","env","customEnvVars","script","publish","versions","tool","findToolByName","type","getChainTypeForTool","tools","name","length","overrides","uv","some","dv","resolvedVersion","resolveTypeVersions","getSecondaryVersion","secondaryVersion","versionsSatisfied","warn","imageURI","getImageUriForTool","workspaceRoot","getFullyQualifiedRepoRootPath","relativePath","path","relative","trim","envArgs","envVar","value","flat","finalArgs","undefined","dockerArgs","privileged","getVolumeName","flatMap","lockMany","locked"],"mappings":"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","file":"JSLAKJHB.cjs","sourcesContent":["import 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, VolumeMapping } from '../types';\nimport { getImageUriForTool, getVolumeName } from '../utils/docker';\nimport { stringifyError } from '../utils/error';\nimport { findToolByName, getChainTypeForTool } from '../utils/finder';\nimport { versionsSatisfied } from '../utils/version';\nimport { lockMany } from './lock';\nimport { 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)) {\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 publish?: string;\n versions?: Record<string, 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 {\n cwd,\n volumes: userVolumes,\n customEntrypoint: entrypoint,\n env: customEnvVars,\n script,\n publish,\n versions = {},\n }: ToolCommandExecutionOptions,\n): Promise<ProcessOutput> {\n const tool = findToolByName(command);\n const type = getChainTypeForTool(command);\n\n if (!type) {\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 // Get the resolved version for the current tool\n const resolvedVersion = resolveTypeVersions(type, versions)[command];\n if (!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.getSecondaryVersion) {\n try {\n const secondaryVersion = tool.getSecondaryVersion({ cwd });\n\n if (!versionsSatisfied(secondaryVersion, resolvedVersion)) {\n console.warn(\n `Warning: Local configuration version (${secondaryVersion}) 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 = getImageUriForTool(tool.name, resolvedVersion);\n const workspaceRoot = await getFullyQualifiedRepoRootPath();\n const relativePath = path.relative(workspaceRoot, cwd);\n\n await ensureDockerImage(imageURI);\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 ...volumes.map(getVolumeName).flatMap((volume) => ['-v', volume]),\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\n if (output.exitCode) {\n throw new Error(`Failed to run Docker container (exit code: ${output.exitCode})`);\n }\n\n return output;\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { stringifyError } from './IWNVWC3I.js';
|
|
2
|
-
import { resolveTypeVersions } from './
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { resolveTypeVersions } from './3GTIKWKS.js';
|
|
3
|
+
import { getImageUriForTool, getVolumeName } from './73CRCY4G.js';
|
|
4
|
+
import { AWS_REGION, AWS_ACCOUNT_ID, findToolByName, getChainTypeForTool, tools, versionsSatisfied } from './AUA3QPCB.js';
|
|
5
|
+
import { lockMany } from './W44XSMQX.js';
|
|
6
6
|
import { init_esm_shims, __name } from './4RNWLMHM.js';
|
|
7
7
|
import path from 'node:path';
|
|
8
8
|
import process from 'node:process';
|
|
@@ -153,5 +153,5 @@ async function executeToolCommand(command, args, { cwd, volumes: userVolumes, cu
|
|
|
153
153
|
__name(executeToolCommand, "executeToolCommand");
|
|
154
154
|
|
|
155
155
|
export { executeToolCommand };
|
|
156
|
-
//# sourceMappingURL=
|
|
157
|
-
//# sourceMappingURL=
|
|
156
|
+
//# sourceMappingURL=KOKBYHOJ.js.map
|
|
157
|
+
//# sourceMappingURL=KOKBYHOJ.js.map
|