'use strict';

var M6KBN6B2_cjs = require('./M6KBN6B2.cjs');
var FOFSZBOK_cjs = require('./FOFSZBOK.cjs');
var PUL6NSHI_cjs = require('./PUL6NSHI.cjs');
var U7VZULNU_cjs = require('./U7VZULNU.cjs');

// src/display/version-display.ts
U7VZULNU_cjs.init_cjs_shims();
function displayVersionCombinations() {
  console.log("\n\u{1F680} LayerZero VM Tool - Supported Version Combinations\n");
  for (const [type, combinations] of Object.entries(PUL6NSHI_cjs.versionMatrices)) {
    const toolNames = [
      ...new Set(combinations.flatMap(({ images }) => Object.keys(images)))
    ].sort().join(", ");
    if (!toolNames.length) {
      continue;
    }
    console.log(`\u{1F4E6} ${type.toUpperCase()} Type (tools: ${toolNames})`);
    console.log("\u2500".repeat(50));
    console.log("\u{1F3AF} Default:");
    console.log(M6KBN6B2_cjs.formatVersionCombination(combinations[0], true));
    console.log();
    console.log("\u{1F4CB} All supported combinations:");
    for (const [index, combination] of combinations.entries()) {
      console.log(M6KBN6B2_cjs.formatVersionCombination(combination, !index));
    }
    console.log();
  }
  console.log("\u{1F4A1} Usage examples:");
  console.log("  lz-tool anchor --anchor-version 0.29.0 --solana-version 1.17.31 build");
  console.log("  lz-tool anchor --anchor-version 0.30.0 build  # Auto-selects compatible solana version");
  console.log();
}
U7VZULNU_cjs.__name(displayVersionCombinations, "displayVersionCombinations");
function displayToolVersionInfo(toolName) {
  const tool = FOFSZBOK_cjs.findToolByName(toolName);
  const typeTools = FOFSZBOK_cjs.findToolsByType(tool.chainType);
  const combinations = PUL6NSHI_cjs.versionMatrices[tool.chainType];
  const defaultVersion = FOFSZBOK_cjs.getToolDefaultVersion(tool.name);
  const supportedVersions = FOFSZBOK_cjs.getToolSupportedVersions(tool.name);
  console.log(`
\u{1F527} ${tool.name.toUpperCase()} Version Information`);
  console.log("\u2500".repeat(40));
  console.log(`Type: ${tool.chainType}`);
  console.log(`Default version: ${defaultVersion}`);
  console.log(`Supported versions: ${supportedVersions.join(", ")}`);
  console.log();
  if (tool.defaultVolumes && tool.defaultVolumes.length > 0) {
    console.log("\u{1F4E6} Default cache volumes:");
    tool.defaultVolumes.forEach((volume) => {
      const volumeDesc = volume.type === "isolate" ? `${volume.name} \u2192 ${volume.containerPath}` : `${volume.hostPath} \u2192 ${volume.containerPath}`;
      console.log(`  \u2022 ${volumeDesc}`);
    });
    console.log("  \u{1F4A1} Use -v to override or add additional volumes");
    console.log();
  }
  if (typeTools.length > 1) {
    console.log("\u{1F517} Compatible combinations with other tools:");
    for (const [index, combination] of combinations.entries()) {
      if (combination.images[tool.name]) {
        console.log(M6KBN6B2_cjs.formatVersionCombination(combination, !index));
      }
    }
    console.log();
  }
  console.log("\u{1F4DD} Version resolution priority:");
  console.log("  1. Command line options (--{tool}-version)");
  console.log("  2. Default version");
  console.log();
}
U7VZULNU_cjs.__name(displayToolVersionInfo, "displayToolVersionInfo");

exports.displayToolVersionInfo = displayToolVersionInfo;
exports.displayVersionCombinations = displayVersionCombinations;
//# sourceMappingURL=ZD3LAY33.cjs.map
//# sourceMappingURL=ZD3LAY33.cjs.map