@layerzerolabs/vm-tooling 0.0.63 → 0.0.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/{DV6Y5YK3.cjs → 22KWM667.cjs} +12 -12
  2. package/dist/22KWM667.cjs.map +1 -0
  3. package/dist/3H446V2K.js +6 -0
  4. package/dist/3H446V2K.js.map +1 -0
  5. package/dist/{KFOKN2M2.cjs → 4QL6ZBHT.cjs} +4 -4
  6. package/dist/{KFOKN2M2.cjs.map → 4QL6ZBHT.cjs.map} +1 -1
  7. package/dist/{CJNBA2MN.js → 6YQKZHZ5.js} +81 -61
  8. package/dist/6YQKZHZ5.js.map +1 -0
  9. package/dist/7PSRMQMS.cjs +51 -0
  10. package/dist/7PSRMQMS.cjs.map +1 -0
  11. package/dist/{L6RZSSWB.cjs → BG3MG6IF.cjs} +15 -15
  12. package/dist/{L6RZSSWB.cjs.map → BG3MG6IF.cjs.map} +1 -1
  13. package/dist/{HSC5AWAD.cjs → BNMJ5QME.cjs} +3 -3
  14. package/dist/{HSC5AWAD.cjs.map → BNMJ5QME.cjs.map} +1 -1
  15. package/dist/{NX66I36H.js → DN5VBC3L.js} +17 -20
  16. package/dist/DN5VBC3L.js.map +1 -0
  17. package/dist/{KONCDJAL.cjs → ER722VGO.cjs} +14 -14
  18. package/dist/{KONCDJAL.cjs.map → ER722VGO.cjs.map} +1 -1
  19. package/dist/{TBDZQONT.js → GBR35MZ7.js} +3 -3
  20. package/dist/{TBDZQONT.js.map → GBR35MZ7.js.map} +1 -1
  21. package/dist/{WHAPJZ3U.cjs → GERMNIDG.cjs} +81 -60
  22. package/dist/GERMNIDG.cjs.map +1 -0
  23. package/dist/{45K4IRAA.js → JZHAF3IW.js} +5 -5
  24. package/dist/{45K4IRAA.js.map → JZHAF3IW.js.map} +1 -1
  25. package/dist/{UHPHZ6AE.js → KFXJIHI6.js} +3 -3
  26. package/dist/{UHPHZ6AE.js.map → KFXJIHI6.js.map} +1 -1
  27. package/dist/{FI3AZBYE.cjs → KPYTMXHJ.cjs} +4 -4
  28. package/dist/{FI3AZBYE.cjs.map → KPYTMXHJ.cjs.map} +1 -1
  29. package/dist/{SPOUVTPR.cjs → KTAMTSBK.cjs} +3 -3
  30. package/dist/{SPOUVTPR.cjs.map → KTAMTSBK.cjs.map} +1 -1
  31. package/dist/{JLKKDVCL.cjs → Q3ORCLJH.cjs} +17 -20
  32. package/dist/Q3ORCLJH.cjs.map +1 -0
  33. package/dist/{5APCIOW3.js → QPWLW7SN.js} +4 -4
  34. package/dist/QPWLW7SN.js.map +1 -0
  35. package/dist/R2U2WXP4.js +49 -0
  36. package/dist/R2U2WXP4.js.map +1 -0
  37. package/dist/{5QGJ7CFM.js → W5XVOHRB.js} +4 -4
  38. package/dist/{5QGJ7CFM.js.map → W5XVOHRB.js.map} +1 -1
  39. package/dist/{5JYEGDVK.js → XYNAO6GV.js} +4 -4
  40. package/dist/{5JYEGDVK.js.map → XYNAO6GV.js.map} +1 -1
  41. package/dist/{U4OLGGKH.js → Y3REZYJA.js} +3 -3
  42. package/dist/{U4OLGGKH.js.map → Y3REZYJA.js.map} +1 -1
  43. package/dist/Y7OWS2C2.cjs +8 -0
  44. package/dist/Y7OWS2C2.cjs.map +1 -0
  45. package/dist/commands/sui/build.cjs +20 -0
  46. package/dist/commands/sui/build.cjs.map +1 -0
  47. package/dist/commands/sui/build.d.ts +3 -0
  48. package/dist/commands/sui/build.d.ts.map +1 -0
  49. package/dist/commands/sui/build.js +11 -0
  50. package/dist/commands/sui/build.js.map +1 -0
  51. package/dist/commands/sui/index.cjs +21 -0
  52. package/dist/commands/sui/index.cjs.map +1 -0
  53. package/dist/commands/sui/index.d.ts +2 -0
  54. package/dist/commands/sui/index.d.ts.map +1 -0
  55. package/dist/commands/sui/index.js +12 -0
  56. package/dist/commands/sui/index.js.map +1 -0
  57. package/dist/config/index.cjs +8 -8
  58. package/dist/config/index.js +2 -2
  59. package/dist/config/tools.cjs +7 -3
  60. package/dist/config/tools.d.ts +2 -1
  61. package/dist/config/tools.d.ts.map +1 -1
  62. package/dist/config/tools.js +2 -2
  63. package/dist/config/version-matrices.cjs +2 -2
  64. package/dist/config/version-matrices.js +1 -1
  65. package/dist/core/index.cjs +9 -9
  66. package/dist/core/index.js +5 -5
  67. package/dist/core/tool-executor.cjs +6 -6
  68. package/dist/core/tool-executor.d.ts +7 -6
  69. package/dist/core/tool-executor.d.ts.map +1 -1
  70. package/dist/core/tool-executor.js +5 -5
  71. package/dist/core/version-resolver.cjs +6 -6
  72. package/dist/core/version-resolver.js +3 -3
  73. package/dist/display/formatters.cjs +4 -4
  74. package/dist/display/formatters.js +3 -3
  75. package/dist/display/index.cjs +7 -7
  76. package/dist/display/index.js +4 -4
  77. package/dist/display/version-display.cjs +6 -6
  78. package/dist/display/version-display.js +4 -4
  79. package/dist/index.cjs +25 -15
  80. package/dist/index.cjs.map +1 -1
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +18 -8
  83. package/dist/index.js.map +1 -1
  84. package/dist/scripts/generate-github-matrix.cjs +9 -9
  85. package/dist/scripts/generate-github-matrix.js +5 -5
  86. package/dist/types/tool.cjs.map +1 -1
  87. package/dist/types/tool.d.ts +1 -1
  88. package/dist/types/tool.d.ts.map +1 -1
  89. package/dist/types/tool.js.map +1 -1
  90. package/dist/utils/docker.cjs +4 -4
  91. package/dist/utils/docker.js +2 -2
  92. package/dist/utils/finder.cjs +11 -11
  93. package/dist/utils/finder.js +2 -2
  94. package/dist/utils/version.cjs +6 -6
  95. package/dist/utils/version.js +2 -2
  96. package/dist/utils.cjs +5 -5
  97. package/dist/utils.js +2 -2
  98. package/package.json +5 -5
  99. package/dist/5APCIOW3.js.map +0 -1
  100. package/dist/CJNBA2MN.js.map +0 -1
  101. package/dist/DV6Y5YK3.cjs.map +0 -1
  102. package/dist/JLKKDVCL.cjs.map +0 -1
  103. package/dist/NX66I36H.js.map +0 -1
  104. package/dist/WHAPJZ3U.cjs.map +0 -1
package/dist/index.js CHANGED
@@ -1,16 +1,18 @@
1
1
  import './M4PGJV5D.js';
2
+ import './3H446V2K.js';
3
+ import { build } from './R2U2WXP4.js';
2
4
  import { buildTypescriptSdk } from './MMIV5S36.js';
3
5
  import './7BFNUKIW.js';
4
- import { displayVersionCombinations, displayToolVersionInfo } from './45K4IRAA.js';
5
- import './UHPHZ6AE.js';
6
+ import { displayVersionCombinations, displayToolVersionInfo } from './JZHAF3IW.js';
7
+ import './KFXJIHI6.js';
6
8
  import './OAO7CCJW.js';
7
- import { executeToolCommand } from './5APCIOW3.js';
9
+ import { executeToolCommand } from './QPWLW7SN.js';
8
10
  import './IWNVWC3I.js';
9
- import './3PEVFTZ5.js';
10
- import './5JYEGDVK.js';
11
- import { tools, getToolDefaultVersion, getToolSupportedVersions } from './CJNBA2MN.js';
12
- import './NX66I36H.js';
11
+ import './XYNAO6GV.js';
12
+ import { tools, getToolDefaultVersion, getToolSupportedVersions } from './6YQKZHZ5.js';
13
+ import './DN5VBC3L.js';
13
14
  import './PWDCAN6N.js';
15
+ import './3PEVFTZ5.js';
14
16
  import { init_esm_shims, __name } from './4RNWLMHM.js';
15
17
  import { Command } from 'commander';
16
18
  import fs from 'node:fs';
@@ -92,7 +94,15 @@ async function run() {
92
94
  });
93
95
  }
94
96
  const extra = program.command("extra").description("Extra commands for VM tooling");
95
- extra.command("starknet").command("build-typescript-sdk").description(`Generate TypeScript SDK for Starknet`).argument("<package-name>", "Scarb package name").argument("<target-directory>", "Scarb target directory").argument("<src-directory>", "TypeScript source directory").action(buildTypescriptSdk);
97
+ extra.command("starknet").command("build-typescript-sdk").description("Generate TypeScript SDK for Starknet").argument("<package-name>", "Scarb package name").argument("<target-directory>", "Scarb target directory").argument("<src-directory>", "TypeScript source directory").action(buildTypescriptSdk);
98
+ extra.command("sui").command("build").description("Build Sui contracts with shared dependency and configuration Docker volumes").argument("[args...]", "Arguments to pass to `sui move build` command").passThroughOptions(true).allowUnknownOption().action(async (args) => {
99
+ const options = program.opts();
100
+ await build(args, {
101
+ ...options,
102
+ cwd: options.cwd ?? process.cwd(),
103
+ volumes: options.volume
104
+ });
105
+ });
96
106
  await program.parseAsync();
97
107
  }
98
108
  __name(run, "run");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["run","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tool","tools","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","executeToolCommand","cwd","volumes","volume","extra","buildTypescriptSdk","parseAsync","main","error","console","exit"],"mappings":"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","file":"index.js","sourcesContent":["import { Command } from 'commander';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport * as starknet from './commands/starknet';\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n}\n\nasync function run(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n return;\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n )\n .option(\n '-p, --publish <host_port:container_port>',\n \"Publish a container's port(s) to the host\",\n );\n\n // Add version options for each tool dynamically\n for (const tool of tools) {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n }\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => displayToolVersionInfo(toolName));\n\n // Dynamically add commands for each supported tool\n for (const tool of tools) {\n // Don't add any options to the subcommand level.\n // All lz-tool options must be specified before the subcommand.\n program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool')\n .action(async (args: string[]) => {\n // Get global options (specified before the subcommand)\n const globalOptions = program.opts<GlobalOptions>();\n\n await executeToolCommand(tool.name, args, {\n cwd: globalOptions.cwd ?? process.cwd(),\n volumes: globalOptions.volume,\n ...globalOptions,\n });\n });\n }\n\n const extra = program.command('extra').description('Extra commands for VM tooling');\n\n extra\n .command('starknet')\n .command('build-typescript-sdk')\n .description(`Generate TypeScript SDK for Starknet`)\n .argument('<package-name>', 'Scarb package name')\n .argument('<target-directory>', 'Scarb target directory')\n .argument('<src-directory>', 'TypeScript source directory')\n .action(starknet.buildTypescriptSdk);\n\n await program.parseAsync();\n}\n\nexport const main = async (): Promise<void> => {\n try {\n await run();\n } catch (error) {\n console.error('❌ VM tool execution failed', error);\n process.exit(1);\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["run","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tool","tools","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","executeToolCommand","cwd","volumes","volume","extra","buildTypescriptSdk","options","build","parseAsync","main","error","console","exit"],"mappings":"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","file":"index.js","sourcesContent":["import { Command } from 'commander';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport * as starknet from './commands/starknet';\nimport * as sui from './commands/sui';\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n}\n\nasync function run(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n return;\n }\n\n // Add global options.\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n )\n .option(\n '-p, --publish <host_port:container_port>',\n \"Publish a container's port(s) to the host\",\n );\n\n // Add version options for each tool dynamically\n for (const tool of tools) {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n }\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => displayToolVersionInfo(toolName));\n\n // Dynamically add commands for each supported tool\n for (const tool of tools) {\n // Don't add any options to the subcommand level.\n // All lz-tool options must be specified before the subcommand.\n program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool')\n .action(async (args: string[]) => {\n // Get global options (specified before the subcommand)\n const globalOptions = program.opts<GlobalOptions>();\n\n await executeToolCommand(tool.name, args, {\n cwd: globalOptions.cwd ?? process.cwd(),\n volumes: globalOptions.volume,\n ...globalOptions,\n });\n });\n }\n\n const extra = program.command('extra').description('Extra commands for VM tooling');\n\n extra\n .command('starknet')\n .command('build-typescript-sdk')\n .description('Generate TypeScript SDK for Starknet')\n .argument('<package-name>', 'Scarb package name')\n .argument('<target-directory>', 'Scarb target directory')\n .argument('<src-directory>', 'TypeScript source directory')\n .action(starknet.buildTypescriptSdk);\n\n extra\n .command('sui')\n .command('build')\n .description('Build Sui contracts with shared dependency and configuration Docker volumes')\n .argument('[args...]', 'Arguments to pass to `sui move build` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action(async (args: string[]) => {\n const options = program.opts<GlobalOptions>();\n\n await sui.build(args, {\n ...options,\n cwd: options.cwd ?? process.cwd(),\n volumes: options.volume,\n });\n });\n\n await program.parseAsync();\n}\n\nexport const main = async (): Promise<void> => {\n try {\n await run();\n } catch (error) {\n console.error('❌ VM tool execution failed', error);\n process.exit(1);\n }\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var HN3U775J_cjs = require('../HN3U775J.cjs');
4
3
  var _37UR3RSN_cjs = require('../37UR3RSN.cjs');
5
4
  var UN57VWAW_cjs = require('../UN57VWAW.cjs');
5
+ var HN3U775J_cjs = require('../HN3U775J.cjs');
6
6
  var F7OAIAEX_cjs = require('../F7OAIAEX.cjs');
7
7
  var P5BPMTGP_cjs = require('../P5BPMTGP.cjs');
8
8
  var OT5L7ME6_cjs = require('../OT5L7ME6.cjs');
@@ -10,8 +10,8 @@ var OWTMHDOF_cjs = require('../OWTMHDOF.cjs');
10
10
  require('../7WVEMAKW.cjs');
11
11
  require('../WDSPHVPJ.cjs');
12
12
  var JGLHYXTW_cjs = require('../JGLHYXTW.cjs');
13
- var WHAPJZ3U_cjs = require('../WHAPJZ3U.cjs');
14
- var JLKKDVCL_cjs = require('../JLKKDVCL.cjs');
13
+ var GERMNIDG_cjs = require('../GERMNIDG.cjs');
14
+ var Q3ORCLJH_cjs = require('../Q3ORCLJH.cjs');
15
15
  var U7VZULNU_cjs = require('../U7VZULNU.cjs');
16
16
  var commander = require('commander');
17
17
  var path = require('path');
@@ -163,11 +163,11 @@ var defaultProvider = /* @__PURE__ */ U7VZULNU_cjs.__name((init = {}) => JGLHYXT
163
163
  logger: init.logger
164
164
  });
165
165
  }
166
- const { fromSSO } = await import('../KFOKN2M2.cjs');
166
+ const { fromSSO } = await import('../4QL6ZBHT.cjs');
167
167
  return fromSSO(init)();
168
168
  }, async () => {
169
169
  init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");
170
- const { fromIni } = await import('../SPOUVTPR.cjs');
170
+ const { fromIni } = await import('../KTAMTSBK.cjs');
171
171
  return fromIni(init)();
172
172
  }, async () => {
173
173
  init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");
@@ -1927,7 +1927,7 @@ var ecrClient = new ECRClient();
1927
1927
  var command = new commander.Command().name("generate-github-matrix").requiredOption("--registry <registry>").parse();
1928
1928
  var { registry } = command.opts();
1929
1929
  var compileVersionCombinations = /* @__PURE__ */ U7VZULNU_cjs.__name(async (chainType, combinations) => {
1930
- const repository = path.join(WHAPJZ3U_cjs.ECR_IMAGE_DIRECTORY, WHAPJZ3U_cjs.getImageNameForType(chainType));
1930
+ const repository = path.join(GERMNIDG_cjs.ECR_IMAGE_DIRECTORY, GERMNIDG_cjs.getImageNameForType(chainType));
1931
1931
  let existingTags = /* @__PURE__ */ new Set();
1932
1932
  try {
1933
1933
  const imageIds = [];
@@ -1956,13 +1956,13 @@ var compileVersionCombinations = /* @__PURE__ */ U7VZULNU_cjs.__name(async (chai
1956
1956
  return combinations.map((combination) => ({
1957
1957
  name: chainType,
1958
1958
  build_args: Object.entries(combination.versions).sort().map(([key, value]) => `${key.toUpperCase()}_VERSION=${value}`),
1959
- directory: path.join("tools/vm-tooling/docker", WHAPJZ3U_cjs.getImageBasenameForType(chainType)),
1959
+ directory: path.join("tools/vm-tooling/docker", GERMNIDG_cjs.getImageBasenameForType(chainType)),
1960
1960
  repository,
1961
- tags: tagSeparators.map((separator) => `${registry}/${repository}:${WHAPJZ3U_cjs.getImageTag(combination, separator)}`)
1961
+ tags: tagSeparators.map((separator) => `${registry}/${repository}:${GERMNIDG_cjs.getImageTag(combination, separator)}`)
1962
1962
  })).filter(({ tags }) => !tags.some((tag) => existingTags.has(tag.split(":").at(-1))));
1963
1963
  }, "compileVersionCombinations");
1964
1964
  var main = /* @__PURE__ */ U7VZULNU_cjs.__name(async () => {
1965
- const entries = (await Promise.all(Object.entries(JLKKDVCL_cjs.versionMatrices).map(([chainType, combinations]) => compileVersionCombinations(chainType, combinations)))).flat();
1965
+ const entries = (await Promise.all(Object.entries(Q3ORCLJH_cjs.versionMatrices).map(([chainType, combinations]) => compileVersionCombinations(chainType, combinations)))).flat();
1966
1966
  console.error("GitHub Action matrix generated:", entries);
1967
1967
  process$1.stdout.write(JSON.stringify(entries));
1968
1968
  }, "main");
@@ -1,6 +1,6 @@
1
- import { ENV_KEY, ENV_SECRET, fromEnv } from '../5CI7X2D4.js';
2
1
  import { parseJsonBody, parseJsonErrorBody, loadRestJsonErrorCode } from '../CMSYZVLH.js';
3
2
  import { EndpointCache, awsEndpointFunctions, customEndpointFunctions, resolveUserAgentConfig, resolveRetryConfig, resolveRegionConfig, resolveHostHeaderConfig, resolveEndpointConfig, getUserAgentPlugin, getRetryPlugin, getContentLengthPlugin, getHostHeaderPlugin, getLoggerPlugin, getRecursionDetectionPlugin, getHttpAuthSchemeEndpointRuleSetPlugin, DefaultIdentityProviderConfig, getHttpSigningPlugin, getSerdePlugin, getEndpointPlugin, resolveDefaultsModeConfig, emitWarningIfUnsupportedVersion as emitWarningIfUnsupportedVersion$1, Hash, createDefaultUserAgentProvider, calculateBodyLength, NODE_APP_ID_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS, DEFAULT_RETRY_MODE, NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS, NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, resolveAwsSdkSigV4Config, normalizeProvider, getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, getSmithyContext, AwsSdkSigV4Signer, resolveEndpoint } from '../FAOU2ZJO.js';
3
+ import { ENV_KEY, ENV_SECRET, fromEnv } from '../5CI7X2D4.js';
4
4
  import { loadConfig, parseUrl } from '../VLSIEZLM.js';
5
5
  import { ENV_PROFILE } from '../ELFNCT57.js';
6
6
  import { Client, ServiceException, withBaseException, Command, emitWarningIfUnsupportedVersion, streamCollector, NodeHttpHandler, getDefaultExtensionConfiguration, getHttpHandlerExtensionConfiguration, resolveDefaultRuntimeConfig, resolveHttpHandlerRuntimeConfig, _json, NoOpLogger, toBase64, fromBase64, loadConfigsForDefaultMode, HttpRequest, decorateServiceException } from '../4Q36MQI5.js';
@@ -8,8 +8,8 @@ import { toUtf8, fromUtf8 } from '../LMCIXUBF.js';
8
8
  import '../NDUVZQ7S.js';
9
9
  import '../OH4A2VLX.js';
10
10
  import { memoize, chain, CredentialsProviderError } from '../TTKDG2NN.js';
11
- import { ECR_IMAGE_DIRECTORY, getImageNameForType, getImageTag, getImageBasenameForType } from '../CJNBA2MN.js';
12
- import { versionMatrices } from '../NX66I36H.js';
11
+ import { ECR_IMAGE_DIRECTORY, getImageNameForType, getImageTag, getImageBasenameForType } from '../6YQKZHZ5.js';
12
+ import { versionMatrices } from '../DN5VBC3L.js';
13
13
  import { init_esm_shims, __name } from '../4RNWLMHM.js';
14
14
  import { Command as Command$1 } from 'commander';
15
15
  import { join } from 'node:path';
@@ -161,11 +161,11 @@ var defaultProvider = /* @__PURE__ */ __name((init = {}) => memoize(chain(async
161
161
  logger: init.logger
162
162
  });
163
163
  }
164
- const { fromSSO } = await import('../5QGJ7CFM.js');
164
+ const { fromSSO } = await import('../W5XVOHRB.js');
165
165
  return fromSSO(init)();
166
166
  }, async () => {
167
167
  init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");
168
- const { fromIni } = await import('../U4OLGGKH.js');
168
+ const { fromIni } = await import('../Y3REZYJA.js');
169
169
  return fromIni(init)();
170
170
  }, async () => {
171
171
  init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/tool.ts"],"names":["init_cjs_shims"],"mappings":";;;;;AA4BAA,2BAAA,EAAA","file":"tool.cjs","sourcesContent":["import type { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nexport interface GetExpectedVersionParameter {\n cwd: string;\n}\n\n/**\n * Represents a VM tool with its configuration (version info managed by version-matrices)\n */\nexport interface Tool {\n name: string;\n chainType: ChainType;\n privileged?: boolean;\n\n // Default isolate volumes for caching (user volumes can override these)\n defaultVolumes?: VolumeMapping[];\n\n // Optional version parsing and validation functions\n getSecondaryVersionCheckValue?: (args: GetExpectedVersionParameter) => Version;\n}\n\n/**\n * Version interface\n */\nexport interface Version {\n version: string;\n}\n\n// Import VolumeMapping type for the defaultVolumes field\nimport type { VolumeMapping } from './docker';\n"]}
1
+ {"version":3,"sources":["../../src/types/tool.ts"],"names":["init_cjs_shims"],"mappings":";;;;;AA4BAA,2BAAA,EAAA","file":"tool.cjs","sourcesContent":["import type { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nexport interface GetExpectedVersionParameter {\n cwd: string;\n}\n\n/**\n * Represents a VM tool with its configuration (version info managed by version-matrices)\n */\nexport interface Tool {\n name: string;\n chainType: ChainType;\n privileged?: boolean;\n\n // Default isolate volumes for caching (user volumes can override these)\n defaultVolumes?: readonly VolumeMapping[];\n\n // Optional version parsing and validation functions\n getSecondaryVersionCheckValue?: (args: GetExpectedVersionParameter) => Version;\n}\n\n/**\n * Version interface\n */\nexport interface Version {\n version: string;\n}\n\n// Import VolumeMapping type for the defaultVolumes field\nimport type { VolumeMapping } from './docker';\n"]}
@@ -9,7 +9,7 @@ export interface Tool {
9
9
  name: string;
10
10
  chainType: ChainType;
11
11
  privileged?: boolean;
12
- defaultVolumes?: VolumeMapping[];
12
+ defaultVolumes?: readonly VolumeMapping[];
13
13
  getSecondaryVersionCheckValue?: (args: GetExpectedVersionParameter) => Version;
14
14
  }
15
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/types/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IACxC,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IAGjC,6BAA6B,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC;CAClF;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAGD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/types/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IACxC,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAG1C,6BAA6B,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC;CAClF;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAGD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/tool.ts"],"names":[],"mappings":";;;AA4BA,cAAA,EAAA","file":"tool.js","sourcesContent":["import type { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nexport interface GetExpectedVersionParameter {\n cwd: string;\n}\n\n/**\n * Represents a VM tool with its configuration (version info managed by version-matrices)\n */\nexport interface Tool {\n name: string;\n chainType: ChainType;\n privileged?: boolean;\n\n // Default isolate volumes for caching (user volumes can override these)\n defaultVolumes?: VolumeMapping[];\n\n // Optional version parsing and validation functions\n getSecondaryVersionCheckValue?: (args: GetExpectedVersionParameter) => Version;\n}\n\n/**\n * Version interface\n */\nexport interface Version {\n version: string;\n}\n\n// Import VolumeMapping type for the defaultVolumes field\nimport type { VolumeMapping } from './docker';\n"]}
1
+ {"version":3,"sources":["../../src/types/tool.ts"],"names":[],"mappings":";;;AA4BA,cAAA,EAAA","file":"tool.js","sourcesContent":["import type { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nexport interface GetExpectedVersionParameter {\n cwd: string;\n}\n\n/**\n * Represents a VM tool with its configuration (version info managed by version-matrices)\n */\nexport interface Tool {\n name: string;\n chainType: ChainType;\n privileged?: boolean;\n\n // Default isolate volumes for caching (user volumes can override these)\n defaultVolumes?: readonly VolumeMapping[];\n\n // Optional version parsing and validation functions\n getSecondaryVersionCheckValue?: (args: GetExpectedVersionParameter) => Version;\n}\n\n/**\n * Version interface\n */\nexport interface Version {\n version: string;\n}\n\n// Import VolumeMapping type for the defaultVolumes field\nimport type { VolumeMapping } from './docker';\n"]}
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var WHAPJZ3U_cjs = require('../WHAPJZ3U.cjs');
4
- require('../JLKKDVCL.cjs');
3
+ var GERMNIDG_cjs = require('../GERMNIDG.cjs');
4
+ require('../Q3ORCLJH.cjs');
5
5
  require('../U7VZULNU.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "getImageTag", {
10
10
  enumerable: true,
11
- get: function () { return WHAPJZ3U_cjs.getImageTag; }
11
+ get: function () { return GERMNIDG_cjs.getImageTag; }
12
12
  });
13
13
  Object.defineProperty(exports, "getImageURI", {
14
14
  enumerable: true,
15
- get: function () { return WHAPJZ3U_cjs.getImageURI; }
15
+ get: function () { return GERMNIDG_cjs.getImageURI; }
16
16
  });
17
17
  //# sourceMappingURL=docker.cjs.map
18
18
  //# sourceMappingURL=docker.cjs.map
@@ -1,5 +1,5 @@
1
- export { getImageTag, getImageURI } from '../CJNBA2MN.js';
2
- import '../NX66I36H.js';
1
+ export { getImageTag, getImageURI } from '../6YQKZHZ5.js';
2
+ import '../DN5VBC3L.js';
3
3
  import '../4RNWLMHM.js';
4
4
  //# sourceMappingURL=docker.js.map
5
5
  //# sourceMappingURL=docker.js.map
@@ -1,46 +1,46 @@
1
1
  'use strict';
2
2
 
3
- var WHAPJZ3U_cjs = require('../WHAPJZ3U.cjs');
4
- require('../JLKKDVCL.cjs');
3
+ var GERMNIDG_cjs = require('../GERMNIDG.cjs');
4
+ require('../Q3ORCLJH.cjs');
5
5
  require('../U7VZULNU.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "findMatrixForTool", {
10
10
  enumerable: true,
11
- get: function () { return WHAPJZ3U_cjs.findMatrixForTool; }
11
+ get: function () { return GERMNIDG_cjs.findMatrixForTool; }
12
12
  });
13
13
  Object.defineProperty(exports, "findToolByName", {
14
14
  enumerable: true,
15
- get: function () { return WHAPJZ3U_cjs.findToolByName; }
15
+ get: function () { return GERMNIDG_cjs.findToolByName; }
16
16
  });
17
17
  Object.defineProperty(exports, "findToolsByType", {
18
18
  enumerable: true,
19
- get: function () { return WHAPJZ3U_cjs.findToolsByType; }
19
+ get: function () { return GERMNIDG_cjs.findToolsByType; }
20
20
  });
21
21
  Object.defineProperty(exports, "getChainTypeForTool", {
22
22
  enumerable: true,
23
- get: function () { return WHAPJZ3U_cjs.getChainTypeForTool; }
23
+ get: function () { return GERMNIDG_cjs.getChainTypeForTool; }
24
24
  });
25
25
  Object.defineProperty(exports, "getImageBasenameForType", {
26
26
  enumerable: true,
27
- get: function () { return WHAPJZ3U_cjs.getImageBasenameForType; }
27
+ get: function () { return GERMNIDG_cjs.getImageBasenameForType; }
28
28
  });
29
29
  Object.defineProperty(exports, "getImageNameForTool", {
30
30
  enumerable: true,
31
- get: function () { return WHAPJZ3U_cjs.getImageNameForTool; }
31
+ get: function () { return GERMNIDG_cjs.getImageNameForTool; }
32
32
  });
33
33
  Object.defineProperty(exports, "getImageNameForType", {
34
34
  enumerable: true,
35
- get: function () { return WHAPJZ3U_cjs.getImageNameForType; }
35
+ get: function () { return GERMNIDG_cjs.getImageNameForType; }
36
36
  });
37
37
  Object.defineProperty(exports, "getToolDefaultVersion", {
38
38
  enumerable: true,
39
- get: function () { return WHAPJZ3U_cjs.getToolDefaultVersion; }
39
+ get: function () { return GERMNIDG_cjs.getToolDefaultVersion; }
40
40
  });
41
41
  Object.defineProperty(exports, "getToolSupportedVersions", {
42
42
  enumerable: true,
43
- get: function () { return WHAPJZ3U_cjs.getToolSupportedVersions; }
43
+ get: function () { return GERMNIDG_cjs.getToolSupportedVersions; }
44
44
  });
45
45
  //# sourceMappingURL=finder.cjs.map
46
46
  //# sourceMappingURL=finder.cjs.map
@@ -1,5 +1,5 @@
1
- export { findMatrixForTool, findToolByName, findToolsByType, getChainTypeForTool, getImageBasenameForType, getImageNameForTool, getImageNameForType, getToolDefaultVersion, getToolSupportedVersions } from '../CJNBA2MN.js';
2
- import '../NX66I36H.js';
1
+ export { findMatrixForTool, findToolByName, findToolsByType, getChainTypeForTool, getImageBasenameForType, getImageNameForTool, getImageNameForType, getToolDefaultVersion, getToolSupportedVersions } from '../6YQKZHZ5.js';
2
+ import '../DN5VBC3L.js';
3
3
  import '../4RNWLMHM.js';
4
4
  //# sourceMappingURL=finder.js.map
5
5
  //# sourceMappingURL=finder.js.map
@@ -1,26 +1,26 @@
1
1
  'use strict';
2
2
 
3
- var WHAPJZ3U_cjs = require('../WHAPJZ3U.cjs');
4
- require('../JLKKDVCL.cjs');
3
+ var GERMNIDG_cjs = require('../GERMNIDG.cjs');
4
+ require('../Q3ORCLJH.cjs');
5
5
  require('../U7VZULNU.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "findSemVersionFromString", {
10
10
  enumerable: true,
11
- get: function () { return WHAPJZ3U_cjs.findSemVersionFromString; }
11
+ get: function () { return GERMNIDG_cjs.findSemVersionFromString; }
12
12
  });
13
13
  Object.defineProperty(exports, "parseAnchorTomlVersion", {
14
14
  enumerable: true,
15
- get: function () { return WHAPJZ3U_cjs.parseAnchorTomlVersion; }
15
+ get: function () { return GERMNIDG_cjs.parseAnchorTomlVersion; }
16
16
  });
17
17
  Object.defineProperty(exports, "validateToolVersion", {
18
18
  enumerable: true,
19
- get: function () { return WHAPJZ3U_cjs.validateToolVersion; }
19
+ get: function () { return GERMNIDG_cjs.validateToolVersion; }
20
20
  });
21
21
  Object.defineProperty(exports, "versionsSatisfied", {
22
22
  enumerable: true,
23
- get: function () { return WHAPJZ3U_cjs.versionsSatisfied; }
23
+ get: function () { return GERMNIDG_cjs.versionsSatisfied; }
24
24
  });
25
25
  //# sourceMappingURL=version.cjs.map
26
26
  //# sourceMappingURL=version.cjs.map
@@ -1,5 +1,5 @@
1
- export { findSemVersionFromString, parseAnchorTomlVersion, validateToolVersion, versionsSatisfied } from '../CJNBA2MN.js';
2
- import '../NX66I36H.js';
1
+ export { findSemVersionFromString, parseAnchorTomlVersion, validateToolVersion, versionsSatisfied } from '../6YQKZHZ5.js';
2
+ import '../DN5VBC3L.js';
3
3
  import '../4RNWLMHM.js';
4
4
  //# sourceMappingURL=version.js.map
5
5
  //# sourceMappingURL=version.js.map
package/dist/utils.cjs CHANGED
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var WHAPJZ3U_cjs = require('./WHAPJZ3U.cjs');
4
- require('./JLKKDVCL.cjs');
3
+ var GERMNIDG_cjs = require('./GERMNIDG.cjs');
4
+ require('./Q3ORCLJH.cjs');
5
5
  require('./U7VZULNU.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "findParentDirectoryWithFile", {
10
10
  enumerable: true,
11
- get: function () { return WHAPJZ3U_cjs.findParentDirectoryWithFile; }
11
+ get: function () { return GERMNIDG_cjs.findParentDirectoryWithFile; }
12
12
  });
13
13
  Object.defineProperty(exports, "getCombinationId", {
14
14
  enumerable: true,
15
- get: function () { return WHAPJZ3U_cjs.getCombinationId; }
15
+ get: function () { return GERMNIDG_cjs.getCombinationId; }
16
16
  });
17
17
  Object.defineProperty(exports, "parseVersionFileContents", {
18
18
  enumerable: true,
19
- get: function () { return WHAPJZ3U_cjs.parseVersionFileContents; }
19
+ get: function () { return GERMNIDG_cjs.parseVersionFileContents; }
20
20
  });
21
21
  //# sourceMappingURL=utils.cjs.map
22
22
  //# sourceMappingURL=utils.cjs.map
package/dist/utils.js CHANGED
@@ -1,5 +1,5 @@
1
- export { findParentDirectoryWithFile, getCombinationId, parseVersionFileContents } from './CJNBA2MN.js';
2
- import './NX66I36H.js';
1
+ export { findParentDirectoryWithFile, getCombinationId, parseVersionFileContents } from './6YQKZHZ5.js';
2
+ import './DN5VBC3L.js';
3
3
  import './4RNWLMHM.js';
4
4
  //# sourceMappingURL=utils.js.map
5
5
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -26,8 +26,8 @@
26
26
  "semver": "^7.5.4",
27
27
  "zod": "3.25.56",
28
28
  "zx": "^8.1.3",
29
- "@layerzerolabs/common-node-utils": "0.0.63",
30
- "@layerzerolabs/layerzero-definitions": "0.0.63"
29
+ "@layerzerolabs/common-node-utils": "0.0.65",
30
+ "@layerzerolabs/layerzero-definitions": "0.0.65"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@aws-sdk/client-ecr": "3.879.0",
@@ -40,14 +40,14 @@
40
40
  "tsx": "^4.19.3",
41
41
  "typescript": "^5.8.2",
42
42
  "vitest": "^3.2.3",
43
- "@layerzerolabs/typescript-configuration": "0.0.63",
44
- "@layerzerolabs/tsup-configuration": "0.0.63"
43
+ "@layerzerolabs/typescript-configuration": "0.0.65",
44
+ "@layerzerolabs/tsup-configuration": "0.0.65"
45
45
  },
46
46
  "publishConfig": {
47
47
  "access": "restricted",
48
48
  "registry": "https://registry.npmjs.org/"
49
49
  },
50
- "version": "0.0.63",
50
+ "version": "0.0.65",
51
51
  "scripts": {
52
52
  "prebuild": "chmod +x bin/lz-tool.js",
53
53
  "build": "tsup",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/tool-executor.ts"],"names":["$","verbose","stdio","process","stderr","mergeVolumes","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":"5APCIOW3.js","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: VolumeMapping[],\n userVolumes: 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\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: {\n cwd: string;\n volumes: VolumeMapping[];\n customEntrypoint?: string;\n env: EnvironmentVariable[];\n script?: string;\n [key: string]: unknown;\n publish?: string;\n },\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/finder.ts","../src/config/index.ts","../src/config/tools.ts","../src/utils/version.ts","../src/utils.ts","../src/utils/docker.ts"],"names":["getImageURI","toolName","version","combination","findMatrixForTool","find","versions","Error","join","ECR_REGISTRY","ECR_IMAGE_DIRECTORY","getImageNameForTool","getImageTag","patch","separator","Object","entries","sort","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","name","projectFolder","toml","test","match","exec","matchedName","findSemVersionFromString","input","length","validateToolVersion","supportedVersions","getToolSupportedVersions","includes","solanaDefaultVolumes","type","containerPath","tools","chainType","ChainType","EVM","defaultVolumes","SOLANA","privileged","getSecondaryVersionCheckValue","APTOSMOVE","TON","STARKNET","SUIMOVE","shared","locked","STELLAR","AWS_ACCOUNT_ID","AWS_REGION","findToolByName","tool","findToolsByType","filter","getChainTypeForTool","typeToImageBasename","getImageBasenameForType","getImageNameForType","combinations","values","versionMatrices","some","getToolDefaultVersion","console","warn","Set","map","Boolean"],"mappings":"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","file":"CJNBA2MN.js","sourcesContent":["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","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: VolumeMapping[] = [\n {\n type: 'isolate',\n containerPath: '/usr/local/cargo',\n name: 'solana-cargo',\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\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: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'sui',\n shared: true,\n locked: true,\n },\n {\n type: 'isolate',\n containerPath: '/root/.sui',\n name: 'sui-config',\n shared: true,\n locked: true,\n },\n ],\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","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"]}
@@ -1 +0,0 @@
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":"DV6Y5YK3.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: VolumeMapping[],\n userVolumes: 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\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: {\n cwd: string;\n volumes: VolumeMapping[];\n customEntrypoint?: string;\n env: EnvironmentVariable[];\n script?: string;\n [key: string]: unknown;\n publish?: string;\n },\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"]}