"use strict";
/* Socket Lib - Built with rolldown */
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_primordials_object = require('../../primordials/object.js');

//#region src/external-tools/uv/asset-names.ts
/**
* @file Upstream uv release asset-name mapping per `platform-arch`. uv
*   publishes per-platform archives under
*   https://github.com/astral-sh/uv/releases/download/<X.Y.Z>/. The release tag
*   is the bare semver (no `v` prefix), unlike most upstream projects. Each
*   archive wraps the binary one directory deep (`uv-<triple>/uv[.exe]`), so
*   callers should pass `strip: 1` to the extractor — or, equivalently, look up
*   the binary inside the archive's stem directory.
*/
const UV_ASSET_MAP = require_primordials_object.ObjectFreeze({
	__proto__: null,
	"darwin-arm64": require_primordials_object.ObjectFreeze({
		__proto__: null,
		asset: "uv-aarch64-apple-darwin.tar.gz"
	}),
	"darwin-x64": require_primordials_object.ObjectFreeze({
		__proto__: null,
		asset: "uv-x86_64-apple-darwin.tar.gz"
	}),
	"linux-arm64": require_primordials_object.ObjectFreeze({
		__proto__: null,
		asset: "uv-aarch64-unknown-linux-gnu.tar.gz"
	}),
	"linux-arm64-musl": require_primordials_object.ObjectFreeze({
		__proto__: null,
		asset: "uv-aarch64-unknown-linux-musl.tar.gz"
	}),
	"linux-x64": require_primordials_object.ObjectFreeze({
		__proto__: null,
		asset: "uv-x86_64-unknown-linux-gnu.tar.gz"
	}),
	"linux-x64-musl": require_primordials_object.ObjectFreeze({
		__proto__: null,
		asset: "uv-x86_64-unknown-linux-musl.tar.gz"
	}),
	"win-arm64": require_primordials_object.ObjectFreeze({
		__proto__: null,
		asset: "uv-aarch64-pc-windows-msvc.zip"
	}),
	"win-x64": require_primordials_object.ObjectFreeze({
		__proto__: null,
		asset: "uv-x86_64-pc-windows-msvc.zip"
	})
});
function getUvAssetEntry(platformArch) {
	return UV_ASSET_MAP[platformArch];
}
/**
* Build the GitHub release-asset download URL for an upstream uv binary.
* Returns `undefined` when no entry exists for the requested platform-arch.
*
* Reference: https://github.com/astral-sh/uv/releases.
*/
function getUvDownloadUrl(opts) {
	const { platformArch, version } = opts;
	const entry = UV_ASSET_MAP[platformArch];
	if (!entry) return;
	return `https://github.com/astral-sh/uv/releases/download/${version}/` + entry.asset;
}

//#endregion
exports.UV_ASSET_MAP = UV_ASSET_MAP;
exports.getUvAssetEntry = getUvAssetEntry;
exports.getUvDownloadUrl = getUvDownloadUrl;