@socketsecurity/lib 6.0.6 → 6.0.8

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 (619) hide show
  1. package/CHANGELOG.md +46 -1
  2. package/README.md +1 -1
  3. package/dist/ai/agent-context.d.mts +103 -0
  4. package/dist/ai/agent-context.js +157 -0
  5. package/dist/ai/backends.d.mts +83 -0
  6. package/dist/ai/backends.js +173 -0
  7. package/dist/ai/credentials.d.mts +49 -0
  8. package/dist/ai/credentials.js +82 -0
  9. package/dist/ai/discover.d.mts +6 -2
  10. package/dist/ai/discover.js +4 -3
  11. package/dist/ai/exec.d.mts +52 -0
  12. package/dist/ai/exec.js +92 -0
  13. package/dist/ai/http.d.mts +132 -0
  14. package/dist/ai/http.js +130 -0
  15. package/dist/ai/profiles.d.mts +41 -6
  16. package/dist/ai/profiles.js +52 -10
  17. package/dist/ai/route.d.mts +69 -0
  18. package/dist/ai/route.js +156 -0
  19. package/dist/ai/spawn.d.mts +10 -2
  20. package/dist/ai/spawn.js +56 -31
  21. package/dist/ai/subagent-status.d.mts +48 -0
  22. package/dist/ai/subagent-status.js +57 -0
  23. package/dist/ai/tier.d.mts +60 -0
  24. package/dist/ai/tier.js +53 -0
  25. package/dist/ai/types.d.mts +31 -6
  26. package/dist/ai/worktree.d.mts +6 -6
  27. package/dist/ai/worktree.js +5 -1
  28. package/dist/ansi/strip.d.ts +1 -1
  29. package/dist/ansi/strip.js +0 -2
  30. package/dist/archives/_internal.js +7 -9
  31. package/dist/archives/extract.js +1 -1
  32. package/dist/archives/tar.js +7 -7
  33. package/dist/archives/zip.js +5 -7
  34. package/dist/argv/flag-predicates.d.ts +12 -12
  35. package/dist/argv/flag-predicates.js +17 -17
  36. package/dist/argv/flag-types.d.ts +18 -18
  37. package/dist/argv/flag-types.js +4 -4
  38. package/dist/argv/parse.d.ts +20 -3
  39. package/dist/argv/parse.js +1 -1
  40. package/dist/arrays/_internal.js +11 -12
  41. package/dist/arrays/chunk.js +0 -1
  42. package/dist/arrays/join.d.ts +37 -3
  43. package/dist/arrays/join.js +47 -7
  44. package/dist/arrays/unique.js +0 -1
  45. package/dist/bin/_internal.d.ts +1 -1
  46. package/dist/bin/_internal.js +1 -1
  47. package/dist/bin/exec.js +2 -3
  48. package/dist/bin/find.js +17 -17
  49. package/dist/bin/prim.cjs +36175 -35861
  50. package/dist/bin/resolve.js +13 -14
  51. package/dist/bin/which.js +8 -8
  52. package/dist/cache/ttl/store.js +6 -6
  53. package/dist/checks/primordials-defaults.d.ts +3 -3
  54. package/dist/checks/primordials-defaults.js +3 -3
  55. package/dist/checks/primordials.js +4 -3
  56. package/dist/{bin → cli}/check-primordials.d.ts +18 -13
  57. package/dist/{bin → cli}/check-primordials.js +58 -55
  58. package/dist/{bin → cli}/check.js +3 -3
  59. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  60. package/dist/{bin → cli}/socket-lib.js +4 -4
  61. package/dist/colors/socket-palette.js +7 -9
  62. package/dist/compression/_internal.d.ts +12 -12
  63. package/dist/compression/_internal.js +18 -18
  64. package/dist/compression/brotli.d.ts +26 -27
  65. package/dist/compression/brotli.js +39 -35
  66. package/dist/compression/gzip.d.ts +23 -23
  67. package/dist/compression/gzip.js +46 -42
  68. package/dist/constants/agents.d.ts +3 -1
  69. package/dist/constants/agents.js +15 -11
  70. package/dist/constants/licenses.js +3 -3
  71. package/dist/constants/node.d.ts +23 -0
  72. package/dist/constants/node.js +47 -15
  73. package/dist/constants/packages.d.ts +3 -0
  74. package/dist/constants/packages.js +24 -29
  75. package/dist/constants/platform.d.ts +30 -3
  76. package/dist/constants/platform.js +72 -12
  77. package/dist/constants/runtime.d.ts +22 -0
  78. package/dist/constants/runtime.js +32 -0
  79. package/dist/constants/socket.d.ts +2 -6
  80. package/dist/constants/socket.js +12 -14
  81. package/dist/cover/code.js +10 -10
  82. package/dist/cover/formatters.js +5 -5
  83. package/dist/crypto/hash.d.ts +30 -2
  84. package/dist/crypto/hash.js +47 -13
  85. package/dist/debug/_internal.js +4 -6
  86. package/dist/debug/caller-info.js +3 -4
  87. package/dist/debug/namespace.d.ts +7 -0
  88. package/dist/debug/namespace.js +21 -12
  89. package/dist/debug/output.js +21 -24
  90. package/dist/debug/types.d.ts +4 -4
  91. package/dist/dlx/arborist.js +18 -8
  92. package/dist/dlx/binary-cache.js +15 -15
  93. package/dist/dlx/binary-download.d.ts +1 -1
  94. package/dist/dlx/binary-download.js +11 -11
  95. package/dist/dlx/binary-resolution.js +17 -15
  96. package/dist/dlx/binary-types.d.ts +5 -5
  97. package/dist/dlx/binary.js +5 -5
  98. package/dist/dlx/cache.js +1 -1
  99. package/dist/dlx/detect.d.ts +42 -25
  100. package/dist/dlx/detect.js +86 -77
  101. package/dist/dlx/dir.js +2 -2
  102. package/dist/dlx/firewall.d.ts +9 -1
  103. package/dist/dlx/firewall.js +1 -1
  104. package/dist/dlx/lockfile.d.ts +19 -18
  105. package/dist/dlx/lockfile.js +19 -16
  106. package/dist/dlx/manifest.d.ts +6 -6
  107. package/dist/dlx/manifest.js +5 -5
  108. package/dist/dlx/package.d.ts +10 -10
  109. package/dist/dlx/package.js +20 -16
  110. package/dist/dlx/packages.js +4 -4
  111. package/dist/dlx/paths.js +7 -7
  112. package/dist/dlx/spec.js +1 -1
  113. package/dist/dlx/types.d.ts +28 -27
  114. package/dist/eco/cargo/parse-lockfile.d.ts +2 -3
  115. package/dist/eco/cargo/parse-lockfile.js +5 -5
  116. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  117. package/dist/eco/manifest/detect-format.js +5 -5
  118. package/dist/eco/manifest/find-packages.js +2 -2
  119. package/dist/eco/manifest/get-package-versions.js +2 -2
  120. package/dist/eco/manifest/get-package.js +2 -2
  121. package/dist/eco/manifest/parse-lockfile.js +2 -2
  122. package/dist/eco/manifest/parse-manifest.js +2 -2
  123. package/dist/eco/manifest/parse.js +2 -2
  124. package/dist/eco/npm/npm/exec.js +2 -2
  125. package/dist/eco/npm/npm/flags.js +7 -12
  126. package/dist/eco/npm/npm/parse-lockfile.d.ts +17 -18
  127. package/dist/eco/npm/npm/parse-lockfile.js +4 -4
  128. package/dist/eco/npm/parse-package-json.d.ts +11 -0
  129. package/dist/eco/npm/parse-package-json.js +3 -3
  130. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  131. package/dist/eco/npm/pnpm/exec.js +5 -5
  132. package/dist/eco/npm/pnpm/flags.js +0 -3
  133. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +6 -4
  134. package/dist/eco/npm/pnpm/parse-lockfile.js +7 -7
  135. package/dist/eco/npm/script.js +9 -6
  136. package/dist/eco/npm/yarnpkg/yarn/exec.js +4 -4
  137. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +3 -4
  138. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +9 -9
  139. package/dist/effects/pulse-frames.d.ts +3 -1
  140. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  141. package/dist/effects/shimmer-terminal.d.ts +1 -1
  142. package/dist/env/boolean.js +0 -1
  143. package/dist/env/ci.js +0 -1
  144. package/dist/env/debug.js +0 -1
  145. package/dist/env/github-status.d.ts +51 -0
  146. package/dist/env/github-status.js +90 -0
  147. package/dist/env/github.js +0 -8
  148. package/dist/env/home.js +0 -1
  149. package/dist/env/locale.js +0 -3
  150. package/dist/env/node-auth-token.js +0 -1
  151. package/dist/env/node-env.js +0 -1
  152. package/dist/env/node-version-managers.d.ts +53 -0
  153. package/dist/env/node-version-managers.js +90 -0
  154. package/dist/env/npm.js +0 -5
  155. package/dist/env/number.js +0 -1
  156. package/dist/env/package-manager.js +3 -6
  157. package/dist/env/path.js +0 -1
  158. package/dist/env/pre-commit.js +1 -2
  159. package/dist/env/proxy.js +1 -1
  160. package/dist/env/rewire.d.ts +8 -6
  161. package/dist/env/rewire.js +16 -17
  162. package/dist/env/shell.js +0 -1
  163. package/dist/env/socket-cli.js +5 -18
  164. package/dist/env/socket-mcp.d.ts +114 -0
  165. package/dist/env/socket-mcp.js +146 -0
  166. package/dist/env/socket.d.ts +8 -109
  167. package/dist/env/socket.js +22 -167
  168. package/dist/env/string.js +0 -1
  169. package/dist/env/temp-dir.js +0 -3
  170. package/dist/env/term.js +0 -1
  171. package/dist/env/test.js +3 -6
  172. package/dist/env/windows.js +0 -4
  173. package/dist/env/xdg.js +0 -3
  174. package/dist/errors/predicates.js +1 -1
  175. package/dist/events/exit/_internal.d.ts +11 -9
  176. package/dist/events/exit/_internal.js +31 -35
  177. package/dist/events/exit/handler.js +3 -4
  178. package/dist/events/exit/intercept.js +4 -6
  179. package/dist/events/exit/lifecycle.js +16 -18
  180. package/dist/events/exit/signals.js +1 -2
  181. package/dist/events/exit/types.d.ts +6 -5
  182. package/dist/external/@npmcli/package-json.js +2 -2
  183. package/dist/external/@npmcli/promise-spawn.js +3 -1
  184. package/dist/external/npm-pack.js +2 -2
  185. package/dist/external/pico-pack.js +4 -2
  186. package/dist/external/which.js +3 -1
  187. package/dist/external-tools/bazel/asset-names.d.ts +1 -1
  188. package/dist/external-tools/bazel/asset-names.js +5 -2
  189. package/dist/external-tools/bazel/from-download.d.ts +1 -1
  190. package/dist/external-tools/bazel/from-download.js +5 -2
  191. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  192. package/dist/external-tools/bazel/resolve-bazel-version.js +4 -0
  193. package/dist/external-tools/bazel/resolve.d.ts +3 -3
  194. package/dist/external-tools/bazel/resolve.js +16 -8
  195. package/dist/external-tools/bazel/types.d.ts +1 -1
  196. package/dist/external-tools/cdxgen/asset-names.d.ts +1 -1
  197. package/dist/external-tools/cdxgen/asset-names.js +5 -2
  198. package/dist/external-tools/cdxgen/from-download.d.ts +1 -1
  199. package/dist/external-tools/cdxgen/from-download.js +7 -4
  200. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  201. package/dist/external-tools/cdxgen/resolve.d.ts +3 -3
  202. package/dist/external-tools/cdxgen/resolve.js +16 -8
  203. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  204. package/dist/external-tools/from-download.d.ts +3 -3
  205. package/dist/external-tools/from-download.js +12 -6
  206. package/dist/external-tools/from-pip-venv.d.ts +1 -1
  207. package/dist/external-tools/from-pip-venv.js +12 -5
  208. package/dist/external-tools/janus/asset-names.d.ts +1 -1
  209. package/dist/external-tools/janus/asset-names.js +5 -2
  210. package/dist/external-tools/janus/from-download.d.ts +1 -1
  211. package/dist/external-tools/janus/from-download.js +5 -2
  212. package/dist/external-tools/janus/from-vfs.js +1 -1
  213. package/dist/external-tools/janus/resolve.d.ts +3 -3
  214. package/dist/external-tools/janus/resolve.js +16 -8
  215. package/dist/external-tools/janus/types.d.ts +1 -1
  216. package/dist/external-tools/jre/asset-names.d.ts +1 -1
  217. package/dist/external-tools/jre/asset-names.js +5 -2
  218. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  219. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  220. package/dist/external-tools/jre/from-download.d.ts +1 -1
  221. package/dist/external-tools/jre/from-download.js +7 -4
  222. package/dist/external-tools/jre/from-java-home.js +2 -2
  223. package/dist/external-tools/jre/from-vfs.js +3 -3
  224. package/dist/external-tools/jre/resolve.d.ts +3 -3
  225. package/dist/external-tools/jre/resolve.js +16 -8
  226. package/dist/external-tools/jre/types.d.ts +1 -1
  227. package/dist/external-tools/manifest.d.ts +25 -7
  228. package/dist/external-tools/manifest.js +13 -13
  229. package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
  230. package/dist/external-tools/opengrep/asset-names.js +5 -2
  231. package/dist/external-tools/opengrep/from-download.d.ts +1 -1
  232. package/dist/external-tools/opengrep/from-download.js +5 -2
  233. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  234. package/dist/external-tools/opengrep/resolve.d.ts +3 -3
  235. package/dist/external-tools/opengrep/resolve.js +16 -8
  236. package/dist/external-tools/opengrep/types.d.ts +1 -1
  237. package/dist/external-tools/python/asset-names.d.ts +76 -0
  238. package/dist/external-tools/python/asset-names.js +111 -0
  239. package/dist/external-tools/python/dlx.d.ts +80 -0
  240. package/dist/external-tools/python/dlx.js +98 -0
  241. package/dist/external-tools/python/from-download.d.ts +53 -0
  242. package/dist/external-tools/python/from-download.js +75 -0
  243. package/dist/external-tools/python/from-path.d.ts +7 -0
  244. package/dist/external-tools/python/from-path.js +23 -0
  245. package/dist/external-tools/python/pin.d.ts +121 -0
  246. package/dist/external-tools/python/pin.js +176 -0
  247. package/dist/external-tools/python/pip-install.d.ts +75 -0
  248. package/dist/external-tools/python/pip-install.js +142 -0
  249. package/dist/external-tools/python/resolve.d.ts +42 -0
  250. package/dist/external-tools/python/resolve.js +66 -0
  251. package/dist/external-tools/python/types.d.ts +49 -0
  252. package/dist/external-tools/sbt/asset-names.d.ts +1 -1
  253. package/dist/external-tools/sbt/asset-names.js +5 -2
  254. package/dist/external-tools/sbt/from-download.d.ts +1 -1
  255. package/dist/external-tools/sbt/from-download.js +5 -2
  256. package/dist/external-tools/sbt/from-vfs.js +1 -1
  257. package/dist/external-tools/sbt/resolve.d.ts +3 -3
  258. package/dist/external-tools/sbt/resolve.js +16 -8
  259. package/dist/external-tools/sbt/types.d.ts +1 -1
  260. package/dist/external-tools/skillspector/from-dlx.d.ts +1 -1
  261. package/dist/external-tools/skillspector/from-dlx.js +10 -3
  262. package/dist/external-tools/skillspector/from-path.js +3 -5
  263. package/dist/external-tools/skillspector/from-vfs.js +1 -1
  264. package/dist/external-tools/skillspector/resolve.d.ts +2 -2
  265. package/dist/external-tools/skillspector/resolve.js +14 -6
  266. package/dist/external-tools/synp/asset-names.d.ts +1 -1
  267. package/dist/external-tools/synp/asset-names.js +6 -2
  268. package/dist/external-tools/synp/from-download.d.ts +1 -1
  269. package/dist/external-tools/synp/from-download.js +7 -4
  270. package/dist/external-tools/synp/from-vfs.js +1 -1
  271. package/dist/external-tools/synp/resolve.d.ts +3 -3
  272. package/dist/external-tools/synp/resolve.js +16 -8
  273. package/dist/external-tools/trivy/asset-names.d.ts +1 -1
  274. package/dist/external-tools/trivy/asset-names.js +5 -2
  275. package/dist/external-tools/trivy/from-download.d.ts +1 -1
  276. package/dist/external-tools/trivy/from-download.js +7 -4
  277. package/dist/external-tools/trivy/from-vfs.js +1 -1
  278. package/dist/external-tools/trivy/resolve.d.ts +3 -3
  279. package/dist/external-tools/trivy/resolve.js +16 -8
  280. package/dist/external-tools/trivy/types.d.ts +1 -1
  281. package/dist/external-tools/trufflehog/asset-names.d.ts +1 -1
  282. package/dist/external-tools/trufflehog/asset-names.js +5 -2
  283. package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
  284. package/dist/external-tools/trufflehog/from-download.js +7 -4
  285. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  286. package/dist/external-tools/trufflehog/resolve.d.ts +3 -3
  287. package/dist/external-tools/trufflehog/resolve.js +16 -8
  288. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  289. package/dist/fs/_internal.d.ts +1 -1
  290. package/dist/fs/_internal.js +7 -7
  291. package/dist/fs/access.js +5 -9
  292. package/dist/fs/allowed-dirs-cache.d.ts +47 -0
  293. package/dist/fs/allowed-dirs-cache.js +69 -0
  294. package/dist/fs/encoding.js +5 -7
  295. package/dist/fs/{find-up.js → find.js} +12 -14
  296. package/dist/fs/inspect.js +7 -13
  297. package/dist/fs/read-dir.js +7 -10
  298. package/dist/fs/read-file.js +8 -14
  299. package/dist/fs/read-json-cache.d.ts +13 -4
  300. package/dist/fs/read-json-cache.js +9 -6
  301. package/dist/fs/read-json.js +4 -6
  302. package/dist/fs/resolve-module.js +7 -3
  303. package/dist/fs/safe.d.ts +1 -1
  304. package/dist/fs/safe.js +13 -14
  305. package/dist/fs/unique.js +4 -5
  306. package/dist/fs/validate.js +1 -2
  307. package/dist/fs/write-json.js +4 -5
  308. package/dist/git/_internal.js +11 -11
  309. package/dist/git/changed.js +4 -4
  310. package/dist/git/repo.js +5 -7
  311. package/dist/git/staged.js +12 -4
  312. package/dist/git/tracked.d.ts +84 -0
  313. package/dist/git/tracked.js +163 -0
  314. package/dist/git/unstaged.js +12 -4
  315. package/dist/github/ghsa.js +2 -2
  316. package/dist/github/refs-cache.d.ts +1 -1
  317. package/dist/github/refs-cache.js +5 -5
  318. package/dist/github/refs-graphql.js +4 -0
  319. package/dist/github/refs-rest.js +9 -5
  320. package/dist/github/refs.js +15 -10
  321. package/dist/github/{fetch.js → request.js} +13 -2
  322. package/dist/github/token.js +1 -1
  323. package/dist/github/types.d.ts +1 -1
  324. package/dist/globs/_internal.js +8 -10
  325. package/dist/globs/match.js +13 -7
  326. package/dist/globs/matcher.d.ts +3 -3
  327. package/dist/globs/matcher.js +16 -14
  328. package/dist/globs/stream.js +1 -2
  329. package/dist/globs/types.d.ts +24 -24
  330. package/dist/http-request/_internal.d.ts +1 -1
  331. package/dist/http-request/browser.js +10 -4
  332. package/dist/http-request/checksum-file.d.ts +55 -0
  333. package/dist/http-request/checksum-file.js +95 -0
  334. package/dist/http-request/download-types.d.ts +15 -23
  335. package/dist/http-request/download.js +3 -3
  336. package/dist/http-request/{browser-fetch.d.ts → fetch/browser.d.ts} +2 -2
  337. package/dist/http-request/{browser-fetch.js → fetch/browser.js} +4 -4
  338. package/dist/http-request/headers.js +1 -2
  339. package/dist/http-request/request-attempt.js +38 -34
  340. package/dist/http-request/request-types.d.ts +2 -2
  341. package/dist/http-request/request.js +1 -1
  342. package/dist/http-request/user-agent.js +4 -5
  343. package/dist/integrity.d.ts +92 -18
  344. package/dist/integrity.js +125 -30
  345. package/dist/ipc/directory.js +2 -2
  346. package/dist/ipc/paths.js +1 -1
  347. package/dist/ipc/write.js +1 -1
  348. package/dist/ipc-cli/get.js +12 -12
  349. package/dist/json/edit.js +51 -44
  350. package/dist/json/format.js +1 -1
  351. package/dist/json/parse.d.ts +1 -1
  352. package/dist/json/parse.js +3 -7
  353. package/dist/logger/_internal.d.ts +4 -4
  354. package/dist/logger/_internal.js +3 -3
  355. package/dist/logger/colors.js +4 -3
  356. package/dist/logger/console-methods.d.ts +132 -0
  357. package/dist/logger/console-methods.js +169 -0
  358. package/dist/logger/console.d.ts +12 -0
  359. package/dist/logger/console.js +42 -11
  360. package/dist/logger/indentation-methods.d.ts +81 -0
  361. package/dist/logger/indentation-methods.js +121 -0
  362. package/dist/logger/node.d.ts +16 -338
  363. package/dist/logger/node.js +75 -608
  364. package/dist/logger/options.d.ts +39 -0
  365. package/dist/logger/options.js +47 -0
  366. package/dist/logger/semantic-methods.d.ts +63 -0
  367. package/dist/logger/semantic-methods.js +108 -0
  368. package/dist/logger/stream-methods.d.ts +63 -0
  369. package/dist/logger/stream-methods.js +101 -0
  370. package/dist/logger/stream.d.ts +37 -0
  371. package/dist/logger/stream.js +42 -0
  372. package/dist/logger/symbols-builder.js +9 -9
  373. package/dist/logger/symbols.d.ts +2 -25
  374. package/dist/logger/symbols.js +53 -74
  375. package/dist/logger/types.d.ts +1 -1
  376. package/dist/memo/types.d.ts +6 -6
  377. package/dist/native-messaging/host.d.ts +20 -0
  378. package/dist/native-messaging/host.js +120 -0
  379. package/dist/native-messaging/index.d.ts +5 -0
  380. package/dist/native-messaging/index.js +22 -0
  381. package/dist/native-messaging/install.d.ts +60 -0
  382. package/dist/native-messaging/install.js +144 -0
  383. package/dist/native-messaging/rate-limit.d.ts +69 -0
  384. package/dist/native-messaging/rate-limit.js +119 -0
  385. package/dist/native-messaging/run.d.ts +10 -0
  386. package/dist/native-messaging/run.js +17 -0
  387. package/dist/node/async-hooks.js +4 -3
  388. package/dist/node/child-process.js +4 -3
  389. package/dist/node/crypto.js +4 -3
  390. package/dist/node/events.js +4 -3
  391. package/dist/node/fs-promises.js +4 -3
  392. package/dist/node/fs.d.ts +22 -6
  393. package/dist/node/fs.js +17 -3
  394. package/dist/node/http.js +4 -3
  395. package/dist/node/https.js +4 -3
  396. package/dist/node/module.js +10 -6
  397. package/dist/node/os.d.ts +10 -2
  398. package/dist/node/os.js +12 -4
  399. package/dist/node/path.d.ts +11 -2
  400. package/dist/node/path.js +18 -4
  401. package/dist/node/timers-promises.js +4 -3
  402. package/dist/node/url.js +4 -3
  403. package/dist/node/util.js +4 -3
  404. package/dist/objects/getters.js +6 -8
  405. package/dist/objects/inspect.js +1 -4
  406. package/dist/objects/mutate.js +4 -5
  407. package/dist/objects/predicates.js +1 -5
  408. package/dist/objects/sort.js +3 -7
  409. package/dist/packages/edit-class.d.ts +2 -3
  410. package/dist/packages/edit-class.js +53 -48
  411. package/dist/packages/edit.js +12 -14
  412. package/dist/packages/exports.js +15 -21
  413. package/dist/packages/fetch.d.ts +16 -0
  414. package/dist/packages/fetch.js +81 -0
  415. package/dist/packages/find.d.ts +55 -0
  416. package/dist/packages/find.js +65 -0
  417. package/dist/packages/isolation.js +14 -14
  418. package/dist/packages/licenses.js +18 -18
  419. package/dist/packages/manifest.js +16 -19
  420. package/dist/packages/metadata-extensions.d.ts +14 -0
  421. package/dist/packages/metadata-extensions.js +43 -0
  422. package/dist/packages/normalize.js +6 -10
  423. package/dist/packages/provenance.js +17 -19
  424. package/dist/packages/read.d.ts +29 -0
  425. package/dist/packages/read.js +66 -0
  426. package/dist/packages/specs.d.ts +48 -1
  427. package/dist/packages/specs.js +75 -12
  428. package/dist/packages/tarball.d.ts +24 -0
  429. package/dist/packages/tarball.js +81 -0
  430. package/dist/packages/types.d.ts +22 -22
  431. package/dist/packages/validation.js +0 -3
  432. package/dist/paths/_internal.d.ts +2 -1
  433. package/dist/paths/_internal.js +7 -19
  434. package/dist/paths/conversion.js +5 -9
  435. package/dist/paths/dirnames.d.ts +1 -0
  436. package/dist/paths/dirnames.js +2 -0
  437. package/dist/paths/filenames.d.ts +0 -1
  438. package/dist/paths/filenames.js +0 -2
  439. package/dist/paths/normalize.js +4 -5
  440. package/dist/paths/packages.js +4 -7
  441. package/dist/paths/predicates.js +9 -16
  442. package/dist/paths/resolve.js +17 -25
  443. package/dist/paths/rewire.d.ts +5 -0
  444. package/dist/paths/rewire.js +3 -3
  445. package/dist/paths/socket.d.ts +74 -111
  446. package/dist/paths/socket.js +106 -139
  447. package/dist/paths/walk.d.ts +1 -1
  448. package/dist/paths/walk.js +4 -4
  449. package/dist/perf/report.js +2 -2
  450. package/dist/perf/types.d.ts +1 -1
  451. package/dist/pkg-ext/data.js +1 -1
  452. package/dist/primordials/array.js +9 -9
  453. package/dist/primordials/date.js +2 -2
  454. package/dist/primordials/error.js +3 -3
  455. package/dist/primordials/headers.d.ts +10 -0
  456. package/dist/primordials/headers.js +23 -0
  457. package/dist/primordials/intl.d.ts +13 -0
  458. package/dist/primordials/intl.js +26 -0
  459. package/dist/primordials/math.js +33 -33
  460. package/dist/primordials/number.js +9 -9
  461. package/dist/primordials/object.js +5 -5
  462. package/dist/primordials/process.d.ts +88 -0
  463. package/dist/primordials/process.js +132 -0
  464. package/dist/primordials/string.d.ts +2 -2
  465. package/dist/primordials/string.js +6 -6
  466. package/dist/primordials/symbol.js +3 -3
  467. package/dist/primordials/uncurry.d.ts +1 -2
  468. package/dist/primordials/uncurry.js +9 -9
  469. package/dist/process/abort.js +3 -3
  470. package/dist/process/lock-manager.js +8 -8
  471. package/dist/process/spawn/_internal.js +6 -8
  472. package/dist/process/spawn/child.js +20 -14
  473. package/dist/process/spawn/errors.js +3 -5
  474. package/dist/process/spawn/kill-tree.d.ts +53 -0
  475. package/dist/process/spawn/kill-tree.js +85 -0
  476. package/dist/process/spawn/stdio.js +0 -1
  477. package/dist/process/spawn/types.d.ts +5 -5
  478. package/dist/process/transient.js +2 -2
  479. package/dist/promises/_internal.d.ts +2 -1
  480. package/dist/promises/_internal.js +2 -6
  481. package/dist/promises/iterate.js +11 -15
  482. package/dist/promises/options.js +3 -6
  483. package/dist/promises/retry.js +4 -5
  484. package/dist/promises/timers.d.ts +30 -0
  485. package/dist/promises/timers.js +48 -0
  486. package/dist/regexps/spec.js +1 -1
  487. package/dist/releases/github-archives.d.ts +6 -6
  488. package/dist/releases/github-archives.js +3 -3
  489. package/dist/releases/github-asset-url.d.ts +1 -1
  490. package/dist/releases/github-asset-url.js +5 -5
  491. package/dist/releases/github-downloads.d.ts +1 -1
  492. package/dist/releases/github-downloads.js +3 -3
  493. package/dist/releases/github-listing.d.ts +12 -4
  494. package/dist/releases/github-listing.js +20 -7
  495. package/dist/releases/github-retry-config.js +1 -1
  496. package/dist/releases/github-types.d.ts +6 -6
  497. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  498. package/dist/releases/socket-btm-binary-naming.js +155 -0
  499. package/dist/releases/socket-btm.d.ts +8 -115
  500. package/dist/releases/socket-btm.js +16 -159
  501. package/dist/schema/types.d.ts +4 -5
  502. package/dist/schema/validate.js +1 -1
  503. package/dist/sea/detect.js +6 -6
  504. package/dist/secrets/_internal.d.ts +2 -2
  505. package/dist/secrets/_internal.js +2 -2
  506. package/dist/secrets/compare.d.ts +45 -0
  507. package/dist/secrets/compare.js +61 -0
  508. package/dist/secrets/find.d.ts +2 -2
  509. package/dist/secrets/find.js +10 -4
  510. package/dist/secrets/keychain.d.ts +1 -1
  511. package/dist/secrets/keychain.js +6 -4
  512. package/dist/secrets/linux.js +40 -52
  513. package/dist/secrets/macos.d.ts +2 -3
  514. package/dist/secrets/macos.js +24 -33
  515. package/dist/secrets/rc.d.ts +4 -4
  516. package/dist/secrets/rc.js +27 -17
  517. package/dist/secrets/socket-api-token.d.ts +4 -4
  518. package/dist/secrets/socket-api-token.js +26 -9
  519. package/dist/secrets/windows.js +32 -37
  520. package/dist/shadow/skip.js +2 -2
  521. package/dist/shell/parse.d.ts +32 -0
  522. package/dist/shell/parse.js +60 -0
  523. package/dist/smol/detect.js +9 -10
  524. package/dist/smol/http.js +6 -7
  525. package/dist/smol/https.js +6 -7
  526. package/dist/smol/manifest.d.ts +1 -1
  527. package/dist/smol/manifest.js +6 -7
  528. package/dist/smol/path.d.ts +1 -1
  529. package/dist/smol/path.js +7 -8
  530. package/dist/smol/primordial.d.ts +4 -0
  531. package/dist/smol/primordial.js +6 -7
  532. package/dist/smol/purl.d.ts +1 -1
  533. package/dist/smol/purl.js +7 -8
  534. package/dist/smol/versions.js +6 -7
  535. package/dist/smol/vfs.js +6 -7
  536. package/dist/sorts/_internal.js +6 -8
  537. package/dist/sorts/natural.js +10 -12
  538. package/dist/sorts/semver.js +1 -2
  539. package/dist/sorts/strings.js +0 -1
  540. package/dist/sorts/types.d.ts +1 -1
  541. package/dist/spinner/create-spinner-class.d.ts +38 -0
  542. package/dist/spinner/create-spinner-class.js +302 -0
  543. package/dist/spinner/default.js +8 -9
  544. package/dist/spinner/spinner-internals.d.ts +36 -0
  545. package/dist/spinner/spinner-internals.js +105 -0
  546. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  547. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  548. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  549. package/dist/spinner/spinner-status-methods.js +133 -0
  550. package/dist/spinner/spinner.d.ts +8 -5
  551. package/dist/spinner/spinner.js +19 -706
  552. package/dist/spinner/types.d.ts +3 -1
  553. package/dist/spinner/with.d.ts +10 -0
  554. package/dist/spinner/with.js +16 -2
  555. package/dist/stdio/divider.js +1 -1
  556. package/dist/stdio/footer.js +3 -3
  557. package/dist/stdio/header.js +4 -4
  558. package/dist/stdio/progress.js +10 -6
  559. package/dist/stdio/prompts.d.ts +7 -5
  560. package/dist/stdio/prompts.js +7 -8
  561. package/dist/stdio/stdout.js +3 -3
  562. package/dist/streams/parallel.js +3 -5
  563. package/dist/streams/transform.js +2 -3
  564. package/dist/strings/format.js +2 -6
  565. package/dist/strings/predicates.js +0 -2
  566. package/dist/strings/search.js +1 -2
  567. package/dist/strings/transform.js +0 -3
  568. package/dist/strings/width.js +9 -10
  569. package/dist/tables/bordered.js +4 -3
  570. package/dist/tables/padding.js +1 -1
  571. package/dist/tables/simple.js +8 -5
  572. package/dist/temporal/instant.js +1 -1
  573. package/dist/temporal/slots.js +6 -6
  574. package/dist/temporal/system.js +9 -9
  575. package/dist/themes/context.d.ts +3 -2
  576. package/dist/themes/context.js +4 -5
  577. package/dist/themes/themes.js +15 -15
  578. package/dist/themes/types.d.ts +3 -3
  579. package/dist/url/assert-safe.d.ts +29 -0
  580. package/dist/url/assert-safe.js +54 -0
  581. package/dist/url/parse.js +0 -2
  582. package/dist/url/predicates.d.ts +31 -1
  583. package/dist/url/predicates.js +43 -3
  584. package/dist/url/search-params.js +3 -9
  585. package/dist/url/types.d.ts +9 -5
  586. package/dist/versions/_internal.js +3 -3
  587. package/dist/words/article.js +0 -1
  588. package/dist/words/capitalize.js +0 -1
  589. package/dist/words/pluralize.js +15 -5
  590. package/package.json +419 -216
  591. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  592. package/dist/external-tools/uv/asset-names.js +0 -70
  593. package/dist/external-tools/uv/from-download.d.ts +0 -17
  594. package/dist/external-tools/uv/from-download.js +0 -47
  595. package/dist/external-tools/uv/from-path.d.ts +0 -5
  596. package/dist/external-tools/uv/from-path.js +0 -22
  597. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  598. package/dist/external-tools/uv/from-vfs.js +0 -26
  599. package/dist/external-tools/uv/resolve.d.ts +0 -25
  600. package/dist/external-tools/uv/resolve.js +0 -53
  601. package/dist/external-tools/uv/types.d.ts +0 -24
  602. package/dist/fs/path-cache.d.ts +0 -21
  603. package/dist/fs/path-cache.js +0 -34
  604. package/dist/http-request/checksums.d.ts +0 -69
  605. package/dist/http-request/checksums.js +0 -108
  606. package/dist/http-request/http-request.d.ts +0 -12
  607. package/dist/http-request/http-request.js +0 -11
  608. package/dist/packages/operations.d.ts +0 -113
  609. package/dist/packages/operations.js +0 -304
  610. package/dist/ssri/convert.d.ts +0 -48
  611. package/dist/ssri/convert.js +0 -69
  612. package/dist/ssri/parse.d.ts +0 -27
  613. package/dist/ssri/parse.js +0 -41
  614. package/dist/ssri/validate.d.ts +0 -41
  615. package/dist/ssri/validate.js +0 -56
  616. /package/dist/{bin → cli}/check.d.ts +0 -0
  617. /package/dist/external-tools/{uv → python}/types.js +0 -0
  618. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  619. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -52,8 +52,8 @@ function spawn(cmd, args, options, extra) {
52
52
  const { env, shell, stdio, stdioString = true } = spawnOptions;
53
53
  const cwd = spawnOptions.cwd ? String(spawnOptions.cwd) : void 0;
54
54
  let actualCmd = cmd;
55
- if (!/* @__PURE__ */ require_paths_predicates.isPath(cmd)) {
56
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
55
+ if (!require_paths_predicates.isPath(cmd)) {
56
+ const fs = require_node_fs.getNodeFs();
57
57
  const cached = require_process_spawn__internal.spawnBinPathCache.get(cmd);
58
58
  /* c8 ignore start */
59
59
  if (cached) if (fs.existsSync(cached)) actualCmd = cached;
@@ -72,9 +72,12 @@ function spawn(cmd, args, options, extra) {
72
72
  /* c8 ignore start - Windows-only cmd.exe extension stripping for
73
73
  .cmd/.bat/.ps1 shell-true execution. Tested on Windows runners. */
74
74
  if (node_process.default.platform === "win32" && shell && require_primordials_regexp.RegExpPrototypeTest(require_process_spawn__internal.windowsScriptExtRegExp, actualCmd)) {
75
- if (!/* @__PURE__ */ require_paths_predicates.isPath(actualCmd)) actualCmd = (/* @__PURE__ */ require_node_path.getNodePath()).basename(actualCmd, (/* @__PURE__ */ require_node_path.getNodePath()).extname(actualCmd));
75
+ if (!require_paths_predicates.isPath(actualCmd)) {
76
+ const path = require_node_path.getNodePath();
77
+ actualCmd = path.basename(actualCmd, path.extname(actualCmd));
78
+ }
76
79
  }
77
- const shouldStopSpinner = !!spinnerInstance?.isSpinning && !/* @__PURE__ */ require_process_spawn_stdio.isStdioType(stdio, "ignore") && !/* @__PURE__ */ require_process_spawn_stdio.isStdioType(stdio, "pipe");
80
+ const shouldStopSpinner = !!spinnerInstance?.isSpinning && !require_process_spawn_stdio.isStdioType(stdio, "ignore") && !require_process_spawn_stdio.isStdioType(stdio, "pipe");
78
81
  const shouldRestartSpinner = shouldStopSpinner;
79
82
  if (shouldStopSpinner) spinnerInstance.stop();
80
83
  const envToUse = env ? {
@@ -95,18 +98,18 @@ function spawn(cmd, args, options, extra) {
95
98
  uid: spawnOptions.uid,
96
99
  gid: spawnOptions.gid
97
100
  };
98
- const spawnPromise = (/* @__PURE__ */ require_process_spawn__internal.getNpmCliPromiseSpawn())(actualCmd, args ? [...args] : [], promiseSpawnOpts, extra);
101
+ const spawnPromise = require_process_spawn__internal.getNpmCliPromiseSpawn()(actualCmd, args ? [...args] : [], promiseSpawnOpts, extra);
99
102
  /* c8 ignore stop */
100
103
  const oldSpawnPromise = spawnPromise;
101
104
  /* c8 ignore start */
102
105
  let newSpawnPromise;
103
106
  if (shouldStripAnsi && stdioString) newSpawnPromise = (async () => {
104
107
  try {
105
- const strippedResult = /* @__PURE__ */ require_process_spawn__internal.stripAnsiFromSpawnResult(await spawnPromise);
108
+ const strippedResult = require_process_spawn__internal.stripAnsiFromSpawnResult(await spawnPromise);
106
109
  if ("code" in strippedResult) strippedResult.exitCode = strippedResult.code;
107
110
  return strippedResult;
108
111
  } catch (error) {
109
- throw /* @__PURE__ */ require_process_spawn_errors.enhanceSpawnError(/* @__PURE__ */ require_process_spawn__internal.stripAnsiFromSpawnResult(error));
112
+ throw require_process_spawn_errors.enhanceSpawnError(require_process_spawn__internal.stripAnsiFromSpawnResult(error));
110
113
  }
111
114
  })();
112
115
  else newSpawnPromise = (async () => {
@@ -119,7 +122,7 @@ function spawn(cmd, args, options, extra) {
119
122
  }
120
123
  return result;
121
124
  } catch (error) {
122
- throw /* @__PURE__ */ require_process_spawn_errors.enhanceSpawnError(error);
125
+ throw require_process_spawn_errors.enhanceSpawnError(error);
123
126
  }
124
127
  })();
125
128
  /* c8 ignore stop */
@@ -139,18 +142,21 @@ function spawn(cmd, args, options, extra) {
139
142
  }
140
143
  function spawnSync(cmd, args, options) {
141
144
  let actualCmd = cmd;
142
- if (!/* @__PURE__ */ require_paths_predicates.isPath(cmd)) {
145
+ if (!require_paths_predicates.isPath(cmd)) {
143
146
  const resolved = require_bin_which.whichSync(cmd, {
144
- cwd: /* @__PURE__ */ require_objects_inspect.getOwn(options, "cwd"),
147
+ cwd: require_objects_inspect.getOwn(options, "cwd"),
145
148
  nothrow: true
146
149
  });
147
150
  if (resolved && typeof resolved === "string") actualCmd = resolved;
148
151
  }
149
- const shell = /* @__PURE__ */ require_objects_inspect.getOwn(options, "shell");
152
+ const shell = require_objects_inspect.getOwn(options, "shell");
150
153
  /* c8 ignore start - Windows-only cmd.exe extension stripping for
151
154
  .cmd/.bat/.ps1 shell-true execution. Tested on Windows runners. */
152
155
  if (node_process.default.platform === "win32" && shell && require_primordials_regexp.RegExpPrototypeTest(require_process_spawn__internal.windowsScriptExtRegExp, actualCmd)) {
153
- if (!/* @__PURE__ */ require_paths_predicates.isPath(actualCmd)) actualCmd = (/* @__PURE__ */ require_node_path.getNodePath()).basename(actualCmd, (/* @__PURE__ */ require_node_path.getNodePath()).extname(actualCmd));
156
+ if (!require_paths_predicates.isPath(actualCmd)) {
157
+ const path = require_node_path.getNodePath();
158
+ actualCmd = path.basename(actualCmd, path.extname(actualCmd));
159
+ }
154
160
  }
155
161
  /* c8 ignore stop */
156
162
  const { stripAnsi: shouldStripAnsi = true, ...rawSpawnOptions } = {
@@ -163,13 +169,13 @@ function spawnSync(cmd, args, options) {
163
169
  ...rawSpawnOptions
164
170
  };
165
171
  const stdioString = spawnOptions.encoding !== "buffer";
166
- const result = (/* @__PURE__ */ require_node_child_process.getNodeChildProcess()).spawnSync(actualCmd, args, spawnOptions);
172
+ const result = require_node_child_process.getNodeChildProcess().spawnSync(actualCmd, args, spawnOptions);
167
173
  if (stdioString) {
168
174
  const { stderr, stdout } = result;
169
175
  if (stdout) result.stdout = stdout.toString().trim();
170
176
  if (stderr) result.stderr = stderr.toString().trim();
171
177
  }
172
- return shouldStripAnsi && stdioString ? /* @__PURE__ */ require_process_spawn__internal.stripAnsiFromSpawnResult(result) : result;
178
+ return shouldStripAnsi && stdioString ? require_process_spawn__internal.stripAnsiFromSpawnResult(result) : result;
173
179
  }
174
180
 
175
181
  //#endregion
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_primordials_error = require('../../primordials/error.js');
5
5
  const require_primordials_object = require('../../primordials/object.js');
6
- const require_primordials_reflect = require('../../primordials/reflect.js');
7
6
  const require_objects_predicates = require('../../objects/predicates.js');
7
+ const require_primordials_reflect = require('../../primordials/reflect.js');
8
8
  const require_process_spawn__internal = require('./_internal.js');
9
9
  let src_external_pony_cause = require("../../external/pony-cause");
10
10
 
@@ -34,10 +34,9 @@ let src_external_pony_cause = require("../../external/pony-cause");
34
34
  * }
35
35
  * ```
36
36
  */
37
- /*@__NO_SIDE_EFFECTS__*/
38
37
  function enhanceSpawnError(error) {
39
38
  if (error === null || typeof error !== "object") return error;
40
- if (!/* @__PURE__ */ isSpawnError(error)) return error;
39
+ if (!isSpawnError(error)) return error;
41
40
  const err = error;
42
41
  const { args, cmd, code, signal, stderr } = err;
43
42
  const stderrText = typeof stderr === "string" ? stderr : stderr?.toString() ?? "";
@@ -109,11 +108,10 @@ function enhanceSpawnError(error) {
109
108
  *
110
109
  * @returns {boolean} `true` if the value has spawn error properties
111
110
  */
112
- /*@__NO_SIDE_EFFECTS__*/
113
111
  function isSpawnError(value) {
114
112
  if (value === null || typeof value !== "object") return false;
115
113
  const err = value;
116
- return /* @__PURE__ */ require_objects_predicates.hasOwn(err, "code") && typeof err["code"] !== "undefined" || /* @__PURE__ */ require_objects_predicates.hasOwn(err, "errno") && typeof err["errno"] !== "undefined" || /* @__PURE__ */ require_objects_predicates.hasOwn(err, "syscall") && typeof err["syscall"] === "string";
114
+ return require_objects_predicates.hasOwn(err, "code") && typeof err["code"] !== "undefined" || require_objects_predicates.hasOwn(err, "errno") && typeof err["errno"] !== "undefined" || require_objects_predicates.hasOwn(err, "syscall") && typeof err["syscall"] === "string";
117
115
  }
118
116
 
119
117
  //#endregion
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @file Cross-platform process-tree termination. A spawned package manager,
3
+ * proxy, or build tool spawns its own children; killing only the direct child
4
+ * orphans them (they reparent to init on POSIX and run forever). These
5
+ * helpers kill the whole tree:
6
+ *
7
+ * - POSIX: when the child was spawned `detached: true` it leads its own process
8
+ * group, so `process.kill(-pid, signal)` signals every member at once. Pass
9
+ * `{ detached: true }` (the default) for that behavior; pass `{ detached:
10
+ * false }` to signal only the single pid.
11
+ * - Windows: there are no POSIX process groups, so we shell out to `taskkill /T
12
+ * /F /pid <pid>`, which walks and terminates the descendant tree. The
13
+ * `signal` argument is ignored on Windows (taskkill is always a forceful
14
+ * terminate). Both helpers are best-effort and never throw: a process that
15
+ * already exited (ESRCH) or that we lack permission to signal (EPERM) is
16
+ * treated as "nothing to do", because a cleanup kill must not mask the
17
+ * caller's original control flow. `killProcessTree` returns `true` if a
18
+ * kill was attempted, `false` if the pid was invalid or already gone.
19
+ */
20
+ import type { ChildProcess } from 'node:child_process';
21
+ export interface KillProcessTreeOptions {
22
+ /**
23
+ * POSIX only. When `true` (default), signal the child's entire process group
24
+ * via the negative pid — requires the child to have been spawned `detached:
25
+ * true`. When `false`, signal only the single pid. Ignored on Windows
26
+ * (taskkill always kills the tree).
27
+ */
28
+ detached?: boolean | undefined;
29
+ /**
30
+ * POSIX signal to send (default `'SIGTERM'`). Ignored on Windows, where
31
+ * taskkill performs a forceful terminate.
32
+ */
33
+ signal?: NodeJS.Signals | number | undefined;
34
+ }
35
+ /**
36
+ * Probe whether a pid is still alive. Uses signal 0, which performs the
37
+ * permission/existence check without delivering a signal. Returns `false` for
38
+ * pid <= 1 (kernel/init) so callers don't mistake those for a live child.
39
+ */
40
+ export declare function isProcessAlive(pid: number): boolean;
41
+ /**
42
+ * Kill a process and its descendants. See the file header for the
43
+ * POSIX-process-group vs. Windows-taskkill strategy. Best-effort: never throws.
44
+ * Returns `true` if a kill was attempted, `false` if the pid was invalid or the
45
+ * process had already exited.
46
+ */
47
+ export declare function killProcessTree(target: number | ChildProcess, options?: KillProcessTreeOptions | undefined): boolean;
48
+ /**
49
+ * Resolve a pid from either a raw number or a spawned ChildProcess. Returns
50
+ * `undefined` for a missing/invalid pid or a process that already exited.
51
+ * Exported for direct testing.
52
+ */
53
+ export declare function resolvePid(target: number | ChildProcess): number | undefined;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_platform = require('../../constants/platform.js');
5
+ const require_node_child_process = require('../../node/child-process.js');
6
+
7
+ //#region src/process/spawn/kill-tree.ts
8
+ /**
9
+ * @file Cross-platform process-tree termination. A spawned package manager,
10
+ * proxy, or build tool spawns its own children; killing only the direct child
11
+ * orphans them (they reparent to init on POSIX and run forever). These
12
+ * helpers kill the whole tree:
13
+ *
14
+ * - POSIX: when the child was spawned `detached: true` it leads its own process
15
+ * group, so `process.kill(-pid, signal)` signals every member at once. Pass
16
+ * `{ detached: true }` (the default) for that behavior; pass `{ detached:
17
+ * false }` to signal only the single pid.
18
+ * - Windows: there are no POSIX process groups, so we shell out to `taskkill /T
19
+ * /F /pid <pid>`, which walks and terminates the descendant tree. The
20
+ * `signal` argument is ignored on Windows (taskkill is always a forceful
21
+ * terminate). Both helpers are best-effort and never throw: a process that
22
+ * already exited (ESRCH) or that we lack permission to signal (EPERM) is
23
+ * treated as "nothing to do", because a cleanup kill must not mask the
24
+ * caller's original control flow. `killProcessTree` returns `true` if a
25
+ * kill was attempted, `false` if the pid was invalid or already gone.
26
+ */
27
+ /**
28
+ * Probe whether a pid is still alive. Uses signal 0, which performs the
29
+ * permission/existence check without delivering a signal. Returns `false` for
30
+ * pid <= 1 (kernel/init) so callers don't mistake those for a live child.
31
+ */
32
+ function isProcessAlive(pid) {
33
+ if (!Number.isInteger(pid) || pid <= 1) return false;
34
+ try {
35
+ process.kill(pid, 0);
36
+ return true;
37
+ } catch {
38
+ return false;
39
+ }
40
+ }
41
+ /**
42
+ * Kill a process and its descendants. See the file header for the
43
+ * POSIX-process-group vs. Windows-taskkill strategy. Best-effort: never throws.
44
+ * Returns `true` if a kill was attempted, `false` if the pid was invalid or the
45
+ * process had already exited.
46
+ */
47
+ function killProcessTree(target, options) {
48
+ const pid = resolvePid(target);
49
+ if (pid === void 0) return false;
50
+ const opts = {
51
+ __proto__: null,
52
+ ...options
53
+ };
54
+ const detached = opts.detached !== false;
55
+ const signal = opts.signal ?? "SIGTERM";
56
+ try {
57
+ if (require_constants_platform.WIN32) return require_node_child_process.getNodeChildProcess().spawnSync("taskkill", [
58
+ "/T",
59
+ "/F",
60
+ "/pid",
61
+ String(pid)
62
+ ], { stdio: "ignore" }).status === 0;
63
+ if (detached) process.kill(-pid, signal);
64
+ else process.kill(pid, signal);
65
+ return true;
66
+ } catch {
67
+ return false;
68
+ }
69
+ }
70
+ /**
71
+ * Resolve a pid from either a raw number or a spawned ChildProcess. Returns
72
+ * `undefined` for a missing/invalid pid or a process that already exited.
73
+ * Exported for direct testing.
74
+ */
75
+ function resolvePid(target) {
76
+ if (typeof target === "number") return Number.isInteger(target) && target > 1 ? target : void 0;
77
+ if (target.exitCode !== null || target.signalCode !== null) return;
78
+ const { pid } = target;
79
+ return typeof pid === "number" && pid > 1 ? pid : void 0;
80
+ }
81
+
82
+ //#endregion
83
+ exports.isProcessAlive = isProcessAlive;
84
+ exports.killProcessTree = killProcessTree;
85
+ exports.resolvePid = resolvePid;
@@ -39,7 +39,6 @@ const require_arrays_predicates = require('../../arrays/predicates.js');
39
39
  *
40
40
  * @returns {boolean} `true` if stdio matches the type or is valid
41
41
  */
42
- /*@__NO_SIDE_EFFECTS__*/
43
42
  function isStdioType(stdio, type) {
44
43
  if (arguments.length === 1) return typeof stdio === "string" && [
45
44
  "pipe",
@@ -218,7 +218,7 @@ export interface ChildProcess extends EventEmitter {
218
218
  stdin: NodeJS.WritableStream | null;
219
219
  stdout: NodeJS.ReadableStream | null;
220
220
  stderr: NodeJS.ReadableStream | null;
221
- readonly channel?: unknown;
221
+ readonly channel?: unknown | undefined;
222
222
  readonly stdio: [
223
223
  NodeJS.WritableStream | null,
224
224
  NodeJS.ReadableStream | null,
@@ -285,8 +285,8 @@ export interface WritableStreamType {
285
285
  */
286
286
  export type SpawnOptions = Remap<NodeSpawnOptions & {
287
287
  spinner?: SpinnerInstance | undefined;
288
- stdioString?: boolean;
289
- stripAnsi?: boolean;
288
+ stdioString?: boolean | undefined;
289
+ stripAnsi?: boolean | undefined;
290
290
  }>;
291
291
  export type SpawnResult<T = string | Buffer> = PromiseSpawnResult<T>;
292
292
  /**
@@ -320,6 +320,6 @@ export type SpawnStdioResult = {
320
320
  * field is excluded (not applicable for synchronous execution).
321
321
  */
322
322
  export type SpawnSyncOptions = Remap<NodeSpawnSyncOptions & {
323
- stdioString?: boolean;
324
- stripAnsi?: boolean;
323
+ stdioString?: boolean | undefined;
324
+ stripAnsi?: boolean | undefined;
325
325
  }>;
@@ -32,9 +32,9 @@ node_process = require_runtime.__toESM(node_process);
32
32
  function isTransientProcess(cwd = node_process.default.cwd()) {
33
33
  const userAgent = node_process.default.env["npm_config_user_agent"];
34
34
  if (userAgent?.includes("exec") || userAgent?.includes("npx") || userAgent?.includes("dlx")) return true;
35
- const normalizedCwd = /* @__PURE__ */ require_paths_normalize.normalizePath(cwd);
35
+ const normalizedCwd = require_paths_normalize.normalizePath(cwd);
36
36
  const npmCache = node_process.default.env["npm_config_cache"];
37
- if (npmCache && normalizedCwd.includes(/* @__PURE__ */ require_paths_normalize.normalizePath(npmCache))) return true;
37
+ if (npmCache && normalizedCwd.includes(require_paths_normalize.normalizePath(npmCache))) return true;
38
38
  const tempPatterns = [
39
39
  "_npx",
40
40
  ".pnpm-store",
@@ -3,6 +3,7 @@
3
3
  * `node:timers/promises` accessor + the shared abort signal. Underscore
4
4
  * prefix excludes from public exports.
5
5
  */
6
+ import type timersPromises from 'node:timers/promises';
6
7
  export declare const abortSignal: AbortSignal;
7
8
  /**
8
9
  * Get the timers/promises module. Lazy `require` (not a top-level import) to
@@ -18,4 +19,4 @@ export declare const abortSignal: AbortSignal;
18
19
  *
19
20
  * @returns The Node.js timers/promises module
20
21
  */
21
- export declare function getTimers(): typeof import('node:timers/promises');
22
+ export declare function getTimers(): typeof timersPromises;
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
  const require_process_abort = require('../process/abort.js');
5
6
 
6
7
  //#region src/promises/_internal.ts
7
- /**
8
- * @file Private internals for `promises/*` modules — the lazy
9
- * `node:timers/promises` accessor + the shared abort signal. Underscore
10
- * prefix excludes from public exports.
11
- */
12
8
  const abortSignal = require_process_abort.getAbortSignal();
13
9
  /**
14
10
  * Get the timers/promises module. Lazy `require` (not a top-level import) to
@@ -24,8 +20,8 @@ const abortSignal = require_process_abort.getAbortSignal();
24
20
  *
25
21
  * @returns The Node.js timers/promises module
26
22
  */
27
- /*@__NO_SIDE_EFFECTS__*/
28
23
  function getTimers() {
24
+ if (!require_constants_runtime.IS_NODE) return;
29
25
  return require("node:timers/promises");
30
26
  }
31
27
 
@@ -67,13 +67,12 @@ const require_arrays_chunk = require('../arrays/chunk.js');
67
67
  *
68
68
  * @returns Promise that resolves when all items are processed
69
69
  */
70
- /*@__NO_SIDE_EFFECTS__*/
71
70
  async function pEach(array, callbackFn, options) {
72
- const { concurrency, retries, signal } = /* @__PURE__ */ require_promises_options.normalizeIterationOptions(options);
73
- const chunks = /* @__PURE__ */ require_arrays_chunk.arrayChunk(array, concurrency);
71
+ const { concurrency, retries, signal } = require_promises_options.normalizeIterationOptions(options);
72
+ const chunks = require_arrays_chunk.arrayChunk(array, concurrency);
74
73
  for (const chunk of chunks) {
75
74
  if (signal?.aborted) return;
76
- await require_primordials_promise.PromiseAllSettled(chunk.map((item) => /* @__PURE__ */ require_promises_retry.pRetry((...args) => callbackFn(args[0]), {
75
+ await require_primordials_promise.PromiseAllSettled(chunk.map((item) => require_promises_retry.pRetry((...args) => callbackFn(args[0]), {
77
76
  ...retries,
78
77
  args: [item],
79
78
  signal
@@ -133,15 +132,14 @@ async function pEach(array, callbackFn, options) {
133
132
  *
134
133
  * @returns Promise that resolves when all chunks are processed
135
134
  */
136
- /*@__NO_SIDE_EFFECTS__*/
137
135
  async function pEachChunk(array, callbackFn, options) {
138
136
  const { chunkSize = 100, ...retryOpts } = options || {};
139
- const chunks = /* @__PURE__ */ require_arrays_chunk.arrayChunk(array, chunkSize);
140
- const normalizedRetryOpts = /* @__PURE__ */ require_promises_options.normalizeRetryOptions(retryOpts);
137
+ const chunks = require_arrays_chunk.arrayChunk(array, chunkSize);
138
+ const normalizedRetryOpts = require_promises_options.normalizeRetryOptions(retryOpts);
141
139
  const { signal } = normalizedRetryOpts;
142
140
  for (const chunk of chunks) {
143
141
  if (signal?.aborted) return;
144
- await /* @__PURE__ */ require_promises_retry.pRetry((...args) => callbackFn(args[0]), {
142
+ await require_promises_retry.pRetry((...args) => callbackFn(args[0]), {
145
143
  ...normalizedRetryOpts,
146
144
  args: [chunk]
147
145
  });
@@ -194,10 +192,9 @@ async function pEachChunk(array, callbackFn, options) {
194
192
  *
195
193
  * @returns Promise resolving to filtered array
196
194
  */
197
- /*@__NO_SIDE_EFFECTS__*/
198
195
  async function pFilter(array, callbackFn, options) {
199
- const iterOpts = /* @__PURE__ */ require_promises_options.normalizeIterationOptions(options);
200
- return (await /* @__PURE__ */ pFilterChunk(/* @__PURE__ */ require_arrays_chunk.arrayChunk(array, iterOpts.concurrency), callbackFn, iterOpts.retries)).flat();
196
+ const iterOpts = require_promises_options.normalizeIterationOptions(options);
197
+ return (await pFilterChunk(require_arrays_chunk.arrayChunk(array, iterOpts.concurrency), callbackFn, iterOpts.retries)).flat();
201
198
  }
202
199
  /**
203
200
  * Filter chunked arrays with an async predicate.
@@ -222,20 +219,19 @@ async function pFilter(array, callbackFn, options) {
222
219
  *
223
220
  * @returns Promise resolving to array of filtered chunks
224
221
  */
225
- /*@__NO_SIDE_EFFECTS__*/
226
222
  async function pFilterChunk(chunks, callbackFn, options) {
227
- const retryOpts = /* @__PURE__ */ require_promises_options.normalizeRetryOptions(options);
223
+ const retryOpts = require_promises_options.normalizeRetryOptions(options);
228
224
  const { signal } = retryOpts;
229
225
  const { length } = chunks;
230
226
  const filteredChunks = Array(length);
231
227
  for (let i = 0; i < length; i += 1) if (signal?.aborted) filteredChunks[i] = [];
232
228
  else {
233
229
  const chunk = chunks[i];
234
- const predicateResults = (await require_primordials_promise.PromiseAllSettled(chunk.map((value) => /* @__PURE__ */ require_promises_retry.pRetry((...args) => callbackFn(args[0]), {
230
+ const predicateResults = (await require_primordials_promise.PromiseAllSettled(chunk.map((value) => require_promises_retry.pRetry((...args) => callbackFn(args[0]), {
235
231
  ...retryOpts,
236
232
  args: [value]
237
233
  })))).map((r) => r.status === "fulfilled" ? r.value : false);
238
- filteredChunks[i] = chunk.filter((_v, i) => predicateResults[i]);
234
+ filteredChunks[i] = chunk.filter((_value, index) => predicateResults[index]);
239
235
  }
240
236
  return filteredChunks;
241
237
  }
@@ -33,7 +33,6 @@ const require_promises__internal = require('./_internal.js');
33
33
  *
34
34
  * @returns Normalized options with concurrency, retries, and signal
35
35
  */
36
- /*@__NO_SIDE_EFFECTS__*/
37
36
  function normalizeIterationOptions(options) {
38
37
  const { concurrency = 1, retries, signal = require_promises__internal.abortSignal } = {
39
38
  __proto__: null,
@@ -42,9 +41,9 @@ function normalizeIterationOptions(options) {
42
41
  return {
43
42
  __proto__: null,
44
43
  concurrency: require_primordials_math.MathMax(1, concurrency),
45
- retries: /* @__PURE__ */ normalizeRetryOptions({
44
+ retries: normalizeRetryOptions({
46
45
  signal,
47
- .../* @__PURE__ */ resolveRetryOptions(retries)
46
+ ...resolveRetryOptions(retries)
48
47
  }),
49
48
  signal
50
49
  };
@@ -70,9 +69,8 @@ function normalizeIterationOptions(options) {
70
69
  *
71
70
  * @returns Normalized retry options with all properties set
72
71
  */
73
- /*@__NO_SIDE_EFFECTS__*/
74
72
  function normalizeRetryOptions(options) {
75
- const { args = [], backoffFactor = 2, baseDelayMs = 200, jitter = true, maxDelayMs = 1e4, onRetry, onRetryCancelOnFalse = false, onRetryRethrow = false, retries = 0, signal = require_promises__internal.abortSignal } = /* @__PURE__ */ resolveRetryOptions(options);
73
+ const { args = [], backoffFactor = 2, baseDelayMs = 200, jitter = true, maxDelayMs = 1e4, onRetry, onRetryCancelOnFalse = false, onRetryRethrow = false, retries = 0, signal = require_promises__internal.abortSignal } = resolveRetryOptions(options);
76
74
  return {
77
75
  args,
78
76
  backoffFactor,
@@ -105,7 +103,6 @@ function normalizeRetryOptions(options) {
105
103
  *
106
104
  * @returns Resolved retry options with defaults for basic properties
107
105
  */
108
- /*@__NO_SIDE_EFFECTS__*/
109
106
  function resolveRetryOptions(options) {
110
107
  const defaults = {
111
108
  __proto__: null,
@@ -110,12 +110,11 @@ const require_promises_options = require('./options.js');
110
110
  *
111
111
  * @throws {Error} The last error if all retry attempts fail
112
112
  */
113
- /*@__NO_SIDE_EFFECTS__*/
114
113
  async function pRetry(callbackFn, options) {
115
- const { args, backoffFactor, baseDelayMs, jitter, maxDelayMs, onRetry, onRetryCancelOnFalse, onRetryRethrow, retries, signal } = /* @__PURE__ */ require_promises_options.normalizeRetryOptions(options);
114
+ const { args, backoffFactor, baseDelayMs, jitter, maxDelayMs, onRetry, onRetryCancelOnFalse, onRetryRethrow, retries, signal } = require_promises_options.normalizeRetryOptions(options);
116
115
  if (signal?.aborted) return;
117
116
  if (retries === 0) return await callbackFn(...args || [], { signal });
118
- const timers = /* @__PURE__ */ require_promises__internal.getTimers();
117
+ const timers = require_promises__internal.getTimers();
119
118
  let attempts = retries;
120
119
  let delay = baseDelayMs;
121
120
  let error = void 0;
@@ -136,8 +135,8 @@ async function pRetry(callbackFn, options) {
136
135
  const result = onRetry(retries - attempts, e, waitTime);
137
136
  if (result === false && onRetryCancelOnFalse) break;
138
137
  if (typeof result === "number" && result >= 0) waitTime = require_primordials_math.MathMin(result, maxDelayMs);
139
- } catch (e) {
140
- if (onRetryRethrow) throw e;
138
+ } catch (onRetryError) {
139
+ if (onRetryRethrow) throw onRetryError;
141
140
  }
142
141
  /* c8 ignore stop */
143
142
  try {
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @file Browser-compatible promise-based timer helpers. Uses
3
+ * `globalThis.setTimeout` / `globalThis.queueMicrotask` directly so every
4
+ * export works in browsers, Node.js, Deno, Bun, and Web Workers without
5
+ * importing `node:timers/promises`. In Node.js test environments with
6
+ * `vi.useFakeTimers()` / `clock.install()`, vitest/sinon replace
7
+ * `globalThis.setTimeout` before this module loads, so fake timers advance
8
+ * `sleep()` correctly — no special wiring needed. For Node-only
9
+ * abort-signal-aware delays see `promises/_internal.ts`.
10
+ */
11
+ /**
12
+ * Pause for `ms` milliseconds. Resolves with `undefined` when the timer fires.
13
+ * Negative values are clamped to 0.
14
+ *
15
+ * @example
16
+ * await sleep(100)
17
+ */
18
+ export declare function sleep(ms: number): Promise<void>;
19
+ /**
20
+ * Yield to the event loop once. Resolves after the current call stack and any
21
+ * already-queued microtasks have completed — equivalent to `setTimeout(fn, 0)`
22
+ * as described in
23
+ * https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout#late_timeouts.
24
+ * Useful for flushing microtask queues in tests or giving the browser a repaint
25
+ * opportunity between heavy operations.
26
+ *
27
+ * @example
28
+ * await yieldToEventLoop()
29
+ */
30
+ export declare function yieldToEventLoop(): Promise<void>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_promise = require('../primordials/promise.js');
5
+
6
+ //#region src/promises/timers.ts
7
+ /**
8
+ * @file Browser-compatible promise-based timer helpers. Uses
9
+ * `globalThis.setTimeout` / `globalThis.queueMicrotask` directly so every
10
+ * export works in browsers, Node.js, Deno, Bun, and Web Workers without
11
+ * importing `node:timers/promises`. In Node.js test environments with
12
+ * `vi.useFakeTimers()` / `clock.install()`, vitest/sinon replace
13
+ * `globalThis.setTimeout` before this module loads, so fake timers advance
14
+ * `sleep()` correctly — no special wiring needed. For Node-only
15
+ * abort-signal-aware delays see `promises/_internal.ts`.
16
+ */
17
+ /**
18
+ * Pause for `ms` milliseconds. Resolves with `undefined` when the timer fires.
19
+ * Negative values are clamped to 0.
20
+ *
21
+ * @example
22
+ * await sleep(100)
23
+ */
24
+ function sleep(ms) {
25
+ return new require_primordials_promise.PromiseCtor((resolve) => {
26
+ setTimeout(resolve, ms > 0 ? ms : 0);
27
+ });
28
+ }
29
+ /**
30
+ * Yield to the event loop once. Resolves after the current call stack and any
31
+ * already-queued microtasks have completed — equivalent to `setTimeout(fn, 0)`
32
+ * as described in
33
+ * https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout#late_timeouts.
34
+ * Useful for flushing microtask queues in tests or giving the browser a repaint
35
+ * opportunity between heavy operations.
36
+ *
37
+ * @example
38
+ * await yieldToEventLoop()
39
+ */
40
+ function yieldToEventLoop() {
41
+ return new require_primordials_promise.PromiseCtor((resolve) => {
42
+ setTimeout(resolve, 0);
43
+ });
44
+ }
45
+
46
+ //#endregion
47
+ exports.sleep = sleep;
48
+ exports.yieldToEventLoop = yieldToEventLoop;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_string = require('../primordials/string.js');
5
4
  const require_primordials_map_set = require('../primordials/map-set.js');
5
+ const require_primordials_string = require('../primordials/string.js');
6
6
  const require_regexps_hex = require('./hex.js');
7
7
 
8
8
  //#region src/regexps/spec.ts
@@ -34,10 +34,10 @@ import type { AssetPattern, RepoConfig } from './github-types';
34
34
  * @returns Path to the extraction directory
35
35
  */
36
36
  export declare function downloadAndExtractArchive(tag: string, assetPattern: string | AssetPattern, outputDir: string, repoConfig: RepoConfig, options?: {
37
- cleanup?: boolean;
38
- format?: ArchiveFormat;
39
- quiet?: boolean;
40
- strip?: number;
37
+ cleanup?: boolean | undefined;
38
+ format?: ArchiveFormat | undefined;
39
+ quiet?: boolean | undefined;
40
+ strip?: number | undefined;
41
41
  }): Promise<string>;
42
42
  /**
43
43
  * Download and extract a zip file from a GitHub release. Automatically handles
@@ -66,6 +66,6 @@ export declare function downloadAndExtractArchive(tag: string, assetPattern: str
66
66
  * @returns Path to the extraction directory
67
67
  */
68
68
  export declare function downloadAndExtractZip(tag: string, assetPattern: string | AssetPattern, outputDir: string, repoConfig: RepoConfig, options?: {
69
- cleanup?: boolean;
70
- quiet?: boolean;
69
+ cleanup?: boolean | undefined;
70
+ quiet?: boolean | undefined;
71
71
  }): Promise<string>;
@@ -4,8 +4,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_primordials_error = require('../primordials/error.js');
5
5
  const require_node_path = require('../node/path.js');
6
6
  const require_logger_default = require('../logger/default.js');
7
- const require_archives_detect = require('../archives/detect.js');
8
7
  const require_fs_safe = require('../fs/safe.js');
8
+ const require_archives_detect = require('../archives/detect.js');
9
9
  const require_archives_extract = require('../archives/extract.js');
10
10
  const require_releases_github_downloads = require('./github-downloads.js');
11
11
 
@@ -46,7 +46,7 @@ const logger = require_logger_default.getDefaultLogger();
46
46
  */
47
47
  async function downloadAndExtractArchive(tag, assetPattern, outputDir, repoConfig, options = { __proto__: null }) {
48
48
  const { cleanup = true, format, quiet = false, strip } = options;
49
- const path = /* @__PURE__ */ require_node_path.getNodePath();
49
+ const path = require_node_path.getNodePath();
50
50
  await require_fs_safe.safeMkdir(outputDir);
51
51
  let ext = ".archive";
52
52
  if (format) ext = format === "tar.gz" ? ".tar.gz" : `.${format}`;
@@ -104,7 +104,7 @@ async function downloadAndExtractArchive(tag, assetPattern, outputDir, repoConfi
104
104
  */
105
105
  async function downloadAndExtractZip(tag, assetPattern, outputDir, repoConfig, options = { __proto__: null }) {
106
106
  const { cleanup = true, quiet = false } = options;
107
- const path = /* @__PURE__ */ require_node_path.getNodePath();
107
+ const path = require_node_path.getNodePath();
108
108
  await require_fs_safe.safeMkdir(outputDir);
109
109
  const zipPath = path.join(outputDir, "__temp_download__.zip");
110
110
  if (!quiet) logger.info(`Downloading zip asset from release ${tag}...`);