"use strict";
/* Socket Lib - Built with rolldown */
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_primordials_map_set = require('../primordials/map-set.js');
const require_node_fs = require('../node/fs.js');
const require_node_path = require('../node/path.js');

//#region src/bin/_internal.ts
/**
* @file Private internals for `bin/*` modules — lazy `fs` / `path` accessors
*   and the binary-resolution caches. Underscore prefix keeps this file out of
*   the public exports map (see the `dist/<dir>/_<file>` ignore in
*   scripts/fix/generate-package-exports.mts). Two caches:
*
*   1. `binPathCache` — maps a binary name to its first resolved path. Validated
*      with `existsSync` before reuse so a stale cache doesn't survive a tool
*      reinstall mid-session.
*   2. `binPathAllCache` — same shape but stores all-match arrays for callers that
*      pass `{ all: true }`. Separate cache because the two return shapes can't
*      be reconciled without losing type info.
*   3. `voltaBinCache` — maps a `${voltaPath}:${basename}` composite key to the
*      resolved Volta-managed binary path. Volta resolves npm / pnpm / yarn
*      through a layered tools/image directory and the lookup is expensive
*      enough that caching is worth the memory.
*/
const binPathCache = new require_primordials_map_set.MapCtor();
const binPathAllCache = new require_primordials_map_set.MapCtor();
const voltaBinCache = new require_primordials_map_set.MapCtor();

//#endregion
exports.binPathAllCache = binPathAllCache;
exports.binPathCache = binPathCache;
exports.getFs = require_node_fs.getNodeFs;
exports.getPath = require_node_path.getNodePath;
exports.voltaBinCache = voltaBinCache;