@socketsecurity/lib 5.28.0 → 6.0.0

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 (1042) hide show
  1. package/CHANGELOG.md +64 -37
  2. package/README.md +1 -1
  3. package/dist/abort/signal.d.ts +28 -0
  4. package/dist/{abort.js → abort/signal.js} +12 -10
  5. package/dist/ai/discover.d.mts +50 -0
  6. package/dist/ai/discover.js +128 -0
  7. package/dist/ai/profiles.d.mts +39 -0
  8. package/dist/ai/profiles.js +61 -0
  9. package/dist/ai/spawn.d.mts +49 -0
  10. package/dist/ai/spawn.js +207 -0
  11. package/dist/ai/types.d.mts +117 -0
  12. package/dist/ai/types.js +18 -0
  13. package/dist/ai/worktree.d.mts +104 -0
  14. package/dist/ai/worktree.js +200 -0
  15. package/dist/ansi/constants.d.ts +10 -0
  16. package/dist/ansi/constants.js +45 -0
  17. package/dist/ansi/strip.d.ts +33 -0
  18. package/dist/{ansi.js → ansi/strip.js} +7 -24
  19. package/dist/archives/_internal.d.ts +39 -0
  20. package/dist/archives/_internal.js +87 -0
  21. package/dist/archives/detect.d.ts +19 -0
  22. package/dist/archives/detect.js +46 -0
  23. package/dist/archives/extract.d.ts +22 -0
  24. package/dist/archives/extract.js +53 -0
  25. package/dist/archives/tar.d.ts +42 -0
  26. package/dist/archives/tar.js +233 -0
  27. package/dist/archives/types.d.ts +34 -0
  28. package/dist/archives/types.js +18 -0
  29. package/dist/archives/zip.d.ts +20 -0
  30. package/dist/archives/zip.js +124 -0
  31. package/dist/argv/flag-predicates.d.ts +179 -0
  32. package/dist/argv/flag-predicates.js +118 -0
  33. package/dist/argv/flag-types.d.ts +123 -0
  34. package/dist/argv/flag-types.js +116 -0
  35. package/dist/argv/parse.d.ts +34 -33
  36. package/dist/argv/parse.js +6 -4
  37. package/dist/arrays/_internal.d.ts +43 -0
  38. package/dist/{arrays.js → arrays/_internal.js} +8 -41
  39. package/dist/arrays/chunk.d.ts +37 -0
  40. package/dist/arrays/chunk.js +43 -0
  41. package/dist/arrays/join.d.ts +76 -0
  42. package/dist/{env/helpers.js → arrays/join.js} +12 -18
  43. package/dist/arrays/predicates.d.ts +40 -0
  44. package/dist/arrays/predicates.js +30 -0
  45. package/dist/arrays/unique.d.ts +36 -0
  46. package/dist/arrays/unique.js +34 -0
  47. package/dist/bin/_internal.d.ts +22 -0
  48. package/dist/bin/_internal.js +43 -0
  49. package/dist/bin/check-primordials.d.ts +41 -15
  50. package/dist/bin/check-primordials.js +36 -20
  51. package/dist/bin/check.d.ts +7 -12
  52. package/dist/bin/check.js +5 -1
  53. package/dist/bin/exec.d.ts +37 -0
  54. package/dist/bin/exec.js +79 -0
  55. package/dist/bin/find.d.ts +58 -0
  56. package/dist/bin/find.js +143 -0
  57. package/dist/bin/resolve.d.ts +30 -0
  58. package/dist/bin/resolve.js +249 -0
  59. package/dist/bin/shadow.d.ts +16 -0
  60. package/dist/bin/shadow.js +36 -0
  61. package/dist/bin/socket-lib.d.ts +10 -14
  62. package/dist/bin/socket-lib.js +18 -3
  63. package/dist/bin/types.d.ts +34 -0
  64. package/dist/bin/types.js +18 -0
  65. package/dist/bin/which.d.ts +111 -0
  66. package/dist/bin/which.js +155 -0
  67. package/dist/cacache/_internal.d.ts +15 -0
  68. package/dist/cacache/_internal.js +43 -0
  69. package/dist/cacache/clear.d.ts +43 -0
  70. package/dist/cacache/clear.js +77 -0
  71. package/dist/cacache/read.d.ts +31 -0
  72. package/dist/cacache/read.js +51 -0
  73. package/dist/cacache/tmp.d.ts +18 -0
  74. package/dist/cacache/tmp.js +39 -0
  75. package/dist/cacache/types.d.ts +37 -0
  76. package/dist/cacache/types.js +18 -0
  77. package/dist/cacache/write.d.ts +31 -0
  78. package/dist/cacache/write.js +53 -0
  79. package/dist/checks/primordials.d.ts +69 -61
  80. package/dist/checks/primordials.js +141 -92
  81. package/dist/colors/convert.d.ts +35 -0
  82. package/dist/colors/convert.js +42 -0
  83. package/dist/colors/palette.d.ts +7 -0
  84. package/dist/{colors.js → colors/palette.js} +5 -17
  85. package/dist/colors/types.d.ts +29 -0
  86. package/dist/colors/types.js +18 -0
  87. package/dist/compression/_internal.d.ts +33 -0
  88. package/dist/compression/_internal.js +77 -0
  89. package/dist/compression/brotli.d.ts +82 -0
  90. package/dist/{compression.js → compression/brotli.js} +17 -145
  91. package/dist/compression/gzip.d.ts +70 -0
  92. package/dist/compression/gzip.js +142 -0
  93. package/dist/compression/types.d.ts +37 -0
  94. package/dist/compression/types.js +18 -0
  95. package/dist/constants/agents.d.ts +4 -3
  96. package/dist/constants/agents.js +7 -4
  97. package/dist/constants/encoding.d.ts +3 -3
  98. package/dist/constants/github.d.ts +2 -3
  99. package/dist/constants/licenses.d.ts +5 -5
  100. package/dist/constants/licenses.js +2 -2
  101. package/dist/constants/lifecycle-script-names.d.ts +3 -4
  102. package/dist/constants/lifecycle-script-names.js +2 -2
  103. package/dist/constants/maintained-node-versions.d.ts +1 -1
  104. package/dist/constants/maintained-node-versions.js +3 -4
  105. package/dist/constants/node.d.ts +21 -20
  106. package/dist/constants/node.js +4 -4
  107. package/dist/constants/package-default-node-range.d.ts +1 -1
  108. package/dist/constants/package-default-socket-categories.d.ts +1 -1
  109. package/dist/constants/package-default-socket-categories.js +2 -2
  110. package/dist/constants/packages.d.ts +4 -4
  111. package/dist/constants/packages.js +7 -5
  112. package/dist/constants/platform.d.ts +3 -1
  113. package/dist/constants/platform.js +3 -10
  114. package/dist/constants/{core.d.ts → sentinels.d.ts} +4 -4
  115. package/dist/constants/{core.js → sentinels.js} +3 -3
  116. package/dist/constants/socket.d.ts +4 -6
  117. package/dist/constants/socket.js +6 -9
  118. package/dist/constants/testing.d.ts +3 -3
  119. package/dist/constants/time.d.ts +3 -3
  120. package/dist/constants/typescript.d.ts +3 -3
  121. package/dist/cover/code.d.ts +11 -3
  122. package/dist/cover/code.js +26 -36
  123. package/dist/cover/formatters.d.ts +19 -15
  124. package/dist/cover/formatters.js +21 -18
  125. package/dist/cover/type.d.ts +4 -3
  126. package/dist/cover/type.js +9 -8
  127. package/dist/cover/types.d.ts +1 -1
  128. package/dist/crypto/hash.d.ts +36 -0
  129. package/dist/{crypto.js → crypto/hash.js} +17 -17
  130. package/dist/debug/_internal.d.ts +25 -0
  131. package/dist/debug/_internal.js +77 -0
  132. package/dist/debug/caller-info.d.ts +12 -0
  133. package/dist/debug/caller-info.js +67 -0
  134. package/dist/debug/namespace.d.ts +35 -0
  135. package/dist/debug/namespace.js +101 -0
  136. package/dist/{debug.d.ts → debug/output.d.ts} +23 -42
  137. package/dist/debug/output.js +209 -0
  138. package/dist/debug/types.d.ts +21 -0
  139. package/dist/debug/types.js +18 -0
  140. package/dist/dlx/_internal.d.ts +10 -0
  141. package/dist/dlx/_internal.js +47 -0
  142. package/dist/dlx/arborist.d.ts +86 -61
  143. package/dist/dlx/arborist.js +30 -35
  144. package/dist/dlx/binary-cache.d.ts +108 -0
  145. package/dist/dlx/binary-cache.js +212 -0
  146. package/dist/dlx/binary-download.d.ts +67 -0
  147. package/dist/dlx/binary-download.js +216 -0
  148. package/dist/dlx/binary-resolution.d.ts +61 -0
  149. package/dist/dlx/binary-resolution.js +164 -0
  150. package/dist/dlx/binary-types.d.ts +144 -0
  151. package/dist/dlx/binary-types.js +18 -0
  152. package/dist/dlx/binary.d.ts +39 -268
  153. package/dist/dlx/binary.js +38 -319
  154. package/dist/dlx/cache.d.ts +21 -16
  155. package/dist/dlx/cache.js +2 -2
  156. package/dist/dlx/detect.d.ts +94 -68
  157. package/dist/dlx/detect.js +32 -35
  158. package/dist/dlx/dir.d.ts +20 -18
  159. package/dist/dlx/dir.js +7 -14
  160. package/dist/dlx/firewall.d.ts +27 -0
  161. package/dist/dlx/firewall.js +107 -0
  162. package/dist/dlx/lockfile.d.ts +73 -56
  163. package/dist/dlx/lockfile.js +36 -44
  164. package/dist/dlx/manifest.d.ts +50 -51
  165. package/dist/dlx/manifest.js +51 -52
  166. package/dist/dlx/package.d.ts +83 -279
  167. package/dist/dlx/package.js +44 -266
  168. package/dist/dlx/packages.d.ts +22 -20
  169. package/dist/dlx/packages.js +15 -20
  170. package/dist/dlx/paths.d.ts +26 -23
  171. package/dist/dlx/paths.js +8 -15
  172. package/dist/dlx/spec.d.ts +25 -0
  173. package/dist/dlx/spec.js +63 -0
  174. package/dist/dlx/types.d.ts +142 -0
  175. package/dist/dlx/types.js +18 -0
  176. package/dist/eco/cargo/lockfile-format.d.ts +8 -0
  177. package/dist/eco/cargo/lockfile-format.js +39 -0
  178. package/dist/eco/cargo/manifest-format.d.ts +7 -0
  179. package/dist/eco/cargo/manifest-format.js +38 -0
  180. package/dist/eco/cargo/parse-lockfile.d.ts +84 -0
  181. package/dist/eco/cargo/parse-lockfile.js +257 -0
  182. package/dist/eco/manifest/analyze-lockfile.d.ts +10 -0
  183. package/dist/eco/manifest/analyze-lockfile.js +67 -0
  184. package/dist/eco/manifest/detect-format.d.ts +15 -0
  185. package/dist/eco/manifest/detect-format.js +98 -0
  186. package/dist/eco/manifest/find-packages.d.ts +14 -0
  187. package/dist/eco/manifest/find-packages.js +69 -0
  188. package/dist/eco/manifest/get-package-versions.d.ts +8 -0
  189. package/dist/eco/manifest/get-package-versions.js +52 -0
  190. package/dist/eco/manifest/get-package.d.ts +10 -0
  191. package/dist/eco/manifest/get-package.js +44 -0
  192. package/dist/eco/manifest/manifest-error.d.ts +18 -0
  193. package/dist/eco/manifest/manifest-error.js +37 -0
  194. package/dist/eco/manifest/parse-lockfile.d.ts +16 -0
  195. package/dist/eco/manifest/parse-lockfile.js +91 -0
  196. package/dist/eco/manifest/parse-manifest.d.ts +12 -0
  197. package/dist/eco/manifest/parse-manifest.js +48 -0
  198. package/dist/eco/manifest/parse.d.ts +9 -0
  199. package/dist/eco/manifest/parse.js +52 -0
  200. package/dist/eco/manifest/types.d.ts +10 -0
  201. package/dist/eco/manifest/types.js +18 -0
  202. package/dist/eco/npm/bun/exec.d.ts +15 -0
  203. package/dist/eco/npm/bun/exec.js +35 -0
  204. package/dist/eco/npm/manifest-format.d.ts +11 -0
  205. package/dist/eco/npm/manifest-format.js +38 -0
  206. package/dist/eco/npm/npm/exec.d.ts +24 -0
  207. package/dist/eco/npm/npm/exec.js +64 -0
  208. package/dist/eco/npm/npm/extract-package-name-from-path.d.ts +9 -0
  209. package/dist/eco/npm/npm/extract-package-name-from-path.js +54 -0
  210. package/dist/eco/npm/npm/flags.d.ts +62 -0
  211. package/dist/eco/npm/npm/flags.js +63 -0
  212. package/dist/eco/npm/npm/lockfile-format.d.ts +9 -0
  213. package/dist/eco/npm/npm/lockfile-format.js +42 -0
  214. package/dist/eco/npm/npm/parse-git-url.d.ts +13 -0
  215. package/dist/eco/npm/npm/parse-git-url.js +43 -0
  216. package/dist/eco/npm/npm/parse-lockfile.d.ts +70 -0
  217. package/dist/eco/npm/npm/parse-lockfile.js +224 -0
  218. package/dist/eco/npm/parse-package-json.d.ts +16 -0
  219. package/dist/eco/npm/parse-package-json.js +115 -0
  220. package/dist/eco/npm/pnpm/detect-pnpm-version.d.ts +7 -0
  221. package/dist/eco/npm/pnpm/detect-pnpm-version.js +47 -0
  222. package/dist/eco/npm/pnpm/exec.d.ts +26 -0
  223. package/dist/eco/npm/pnpm/exec.js +65 -0
  224. package/dist/eco/npm/pnpm/flags.d.ts +44 -0
  225. package/dist/eco/npm/pnpm/flags.js +76 -0
  226. package/dist/eco/npm/pnpm/lockfile-format.d.ts +8 -0
  227. package/dist/eco/npm/pnpm/lockfile-format.js +39 -0
  228. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +69 -0
  229. package/dist/eco/npm/pnpm/parse-lockfile.js +274 -0
  230. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.d.ts +15 -0
  231. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +50 -0
  232. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.d.ts +11 -0
  233. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +52 -0
  234. package/dist/eco/npm/script.d.ts +35 -0
  235. package/dist/eco/npm/script.js +93 -0
  236. package/dist/eco/npm/vlt/exec.d.ts +16 -0
  237. package/dist/eco/npm/vlt/exec.js +35 -0
  238. package/dist/eco/npm/yarnpkg/yarn/exec.d.ts +28 -0
  239. package/dist/eco/npm/yarnpkg/yarn/exec.js +63 -0
  240. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.d.ts +9 -0
  241. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +39 -0
  242. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +61 -0
  243. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +261 -0
  244. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.d.ts +16 -0
  245. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +68 -0
  246. package/dist/{types.d.ts → eco/purl.d.ts} +14 -26
  247. package/dist/{types.js → eco/purl.js} +3 -3
  248. package/dist/eco/types.d.ts +51 -0
  249. package/dist/eco/types.js +18 -0
  250. package/dist/effects/pulse-frames.d.ts +16 -17
  251. package/dist/effects/pulse-frames.js +4 -4
  252. package/dist/effects/shimmer-keyframes.d.ts +39 -37
  253. package/dist/effects/shimmer-terminal.d.ts +43 -42
  254. package/dist/effects/shimmer-terminal.js +3 -3
  255. package/dist/effects/shimmer.d.ts +172 -153
  256. package/dist/effects/shimmer.js +78 -76
  257. package/dist/env/boolean.d.ts +33 -0
  258. package/dist/env/boolean.js +46 -0
  259. package/dist/env/case-insensitive.d.ts +42 -0
  260. package/dist/env/case-insensitive.js +42 -0
  261. package/dist/env/ci.d.ts +11 -12
  262. package/dist/env/debug.d.ts +10 -10
  263. package/dist/env/github.d.ts +71 -74
  264. package/dist/env/home.d.ts +15 -14
  265. package/dist/env/locale.d.ts +26 -29
  266. package/dist/env/node-auth-token.d.ts +10 -10
  267. package/dist/env/node-env.d.ts +10 -10
  268. package/dist/env/npm.d.ts +45 -47
  269. package/dist/env/number.d.ts +29 -0
  270. package/dist/env/number.js +54 -0
  271. package/dist/env/package-manager.d.ts +36 -33
  272. package/dist/env/package-manager.js +3 -3
  273. package/dist/env/path.d.ts +10 -10
  274. package/dist/env/pre-commit.d.ts +11 -11
  275. package/dist/env/pre-commit.js +2 -2
  276. package/dist/env/proxy.d.ts +44 -0
  277. package/dist/env/proxy.js +126 -0
  278. package/dist/env/rewire.d.ts +105 -99
  279. package/dist/env/rewire.js +11 -8
  280. package/dist/env/shell.d.ts +10 -10
  281. package/dist/env/socket-cli.d.ts +109 -125
  282. package/dist/env/socket-cli.js +7 -12
  283. package/dist/env/socket.d.ts +347 -130
  284. package/dist/env/socket.js +107 -8
  285. package/dist/env/string.d.ts +28 -0
  286. package/dist/env/string.js +47 -0
  287. package/dist/env/temp-dir.d.ts +26 -29
  288. package/dist/env/term.d.ts +10 -10
  289. package/dist/env/test.d.ts +29 -31
  290. package/dist/env/test.js +5 -4
  291. package/dist/env/types.d.ts +62 -0
  292. package/dist/env/types.js +18 -0
  293. package/dist/env/windows.d.ts +37 -38
  294. package/dist/env/xdg.d.ts +29 -29
  295. package/dist/errors/message.d.ts +27 -0
  296. package/dist/errors/message.js +49 -0
  297. package/dist/errors/predicates.d.ts +46 -0
  298. package/dist/{errors.js → errors/predicates.js} +13 -43
  299. package/dist/errors/stack.d.ts +16 -0
  300. package/dist/errors/stack.js +39 -0
  301. package/dist/external/@npmcli/package-json/lib/read-package.js +11 -1
  302. package/dist/external/@npmcli/package-json.js +300 -82
  303. package/dist/external/@npmcli/promise-spawn.js +15 -1
  304. package/dist/external/@socketregistry/packageurl-js.js +7 -1
  305. package/dist/external/@socketregistry/yocto-spinner.js +5 -1
  306. package/dist/external/@yarnpkg/extensions.js +1 -1
  307. package/dist/external/adm-zip.js +20 -4
  308. package/dist/external/debug.js +15 -1
  309. package/dist/external/external-pack.js +20 -4
  310. package/dist/external/fast-sort.js +3 -1
  311. package/dist/external/get-east-asian-width.js +3 -1
  312. package/dist/external/libnpmexec.js +5 -1
  313. package/dist/external/npm-pack.js +344 -113
  314. package/dist/external/p-map.js +7 -1
  315. package/dist/external/pico-pack.js +17 -1
  316. package/dist/external/pony-cause.js +1 -1
  317. package/dist/external/spdx-pack.js +3 -1
  318. package/dist/external/supports-color.js +1 -1
  319. package/dist/external/tar-fs.js +15 -1
  320. package/dist/external/which.js +11 -1
  321. package/dist/external/yargs-parser.js +15 -1
  322. package/dist/external-tools/bazel/asset-names.d.ts +66 -0
  323. package/dist/external-tools/bazel/asset-names.js +96 -0
  324. package/dist/external-tools/bazel/from-download.d.ts +49 -0
  325. package/dist/external-tools/bazel/from-download.js +49 -0
  326. package/dist/external-tools/bazel/from-path.d.ts +8 -0
  327. package/dist/external-tools/bazel/from-path.js +41 -0
  328. package/dist/external-tools/bazel/read-bazel-version-file.d.ts +12 -0
  329. package/dist/external-tools/bazel/read-bazel-version-file.js +61 -0
  330. package/dist/external-tools/bazel/resolve-asset-url.d.ts +14 -0
  331. package/dist/external-tools/bazel/resolve-asset-url.js +42 -0
  332. package/dist/external-tools/bazel/resolve-bazel-version.d.ts +19 -0
  333. package/dist/external-tools/bazel/resolve-bazel-version.js +59 -0
  334. package/dist/external-tools/bazel/resolve.d.ts +35 -0
  335. package/dist/external-tools/bazel/resolve.js +68 -0
  336. package/dist/external-tools/bazel/types.d.ts +22 -0
  337. package/dist/external-tools/bazel/types.js +18 -0
  338. package/dist/external-tools/cdxgen/asset-names.d.ts +58 -0
  339. package/dist/external-tools/cdxgen/asset-names.js +79 -0
  340. package/dist/external-tools/cdxgen/from-download.d.ts +43 -0
  341. package/dist/external-tools/cdxgen/from-download.js +83 -0
  342. package/dist/external-tools/cdxgen/from-path.d.ts +5 -0
  343. package/dist/external-tools/cdxgen/from-path.js +40 -0
  344. package/dist/external-tools/cdxgen/from-vfs.d.ts +7 -0
  345. package/dist/external-tools/cdxgen/from-vfs.js +47 -0
  346. package/dist/external-tools/cdxgen/resolve.d.ts +32 -0
  347. package/dist/external-tools/cdxgen/resolve.js +73 -0
  348. package/dist/external-tools/cdxgen/types.d.ts +33 -0
  349. package/dist/external-tools/cdxgen/types.js +18 -0
  350. package/dist/external-tools/from-download.d.ts +162 -0
  351. package/dist/external-tools/from-download.js +72 -0
  352. package/dist/external-tools/janus/asset-names.d.ts +36 -0
  353. package/dist/external-tools/janus/asset-names.js +52 -0
  354. package/dist/external-tools/janus/from-download.d.ts +26 -0
  355. package/dist/external-tools/janus/from-download.js +65 -0
  356. package/dist/external-tools/janus/from-path.d.ts +5 -0
  357. package/dist/external-tools/janus/from-path.js +40 -0
  358. package/dist/external-tools/janus/from-vfs.d.ts +7 -0
  359. package/dist/external-tools/janus/from-vfs.js +47 -0
  360. package/dist/external-tools/janus/resolve.d.ts +28 -0
  361. package/dist/external-tools/janus/resolve.js +73 -0
  362. package/dist/external-tools/janus/types.d.ts +24 -0
  363. package/dist/external-tools/janus/types.js +18 -0
  364. package/dist/external-tools/jre/asset-names.d.ts +91 -0
  365. package/dist/external-tools/jre/asset-names.js +88 -0
  366. package/dist/external-tools/jre/detect-platform-arch.d.ts +8 -0
  367. package/dist/external-tools/jre/detect-platform-arch.js +52 -0
  368. package/dist/external-tools/jre/from-download.d.ts +62 -0
  369. package/dist/external-tools/jre/from-download.js +70 -0
  370. package/dist/external-tools/jre/from-java-home.d.ts +10 -0
  371. package/dist/external-tools/jre/from-java-home.js +57 -0
  372. package/dist/external-tools/jre/from-path.d.ts +9 -0
  373. package/dist/external-tools/jre/from-path.js +52 -0
  374. package/dist/external-tools/jre/from-vfs.d.ts +17 -0
  375. package/dist/external-tools/jre/from-vfs.js +64 -0
  376. package/dist/external-tools/jre/resolve.d.ts +40 -0
  377. package/dist/external-tools/jre/resolve.js +78 -0
  378. package/dist/external-tools/jre/types.d.ts +28 -0
  379. package/dist/external-tools/jre/types.js +18 -0
  380. package/dist/external-tools/manifest.d.ts +105 -0
  381. package/dist/external-tools/manifest.js +167 -0
  382. package/dist/external-tools/opengrep/asset-names.d.ts +44 -0
  383. package/dist/external-tools/opengrep/asset-names.js +78 -0
  384. package/dist/external-tools/opengrep/from-download.d.ts +17 -0
  385. package/dist/external-tools/opengrep/from-download.js +83 -0
  386. package/dist/external-tools/opengrep/from-path.d.ts +5 -0
  387. package/dist/external-tools/opengrep/from-path.js +40 -0
  388. package/dist/external-tools/opengrep/from-vfs.d.ts +8 -0
  389. package/dist/external-tools/opengrep/from-vfs.js +47 -0
  390. package/dist/external-tools/opengrep/resolve.d.ts +26 -0
  391. package/dist/external-tools/opengrep/resolve.js +73 -0
  392. package/dist/external-tools/opengrep/types.d.ts +24 -0
  393. package/dist/external-tools/opengrep/types.js +18 -0
  394. package/dist/external-tools/sbt/asset-names.d.ts +31 -0
  395. package/dist/external-tools/sbt/asset-names.js +33 -0
  396. package/dist/external-tools/sbt/from-download.d.ts +44 -0
  397. package/dist/external-tools/sbt/from-download.js +64 -0
  398. package/dist/external-tools/sbt/from-path.d.ts +8 -0
  399. package/dist/external-tools/sbt/from-path.js +41 -0
  400. package/dist/external-tools/sbt/from-vfs.d.ts +14 -0
  401. package/dist/external-tools/sbt/from-vfs.js +48 -0
  402. package/dist/external-tools/sbt/resolve.d.ts +31 -0
  403. package/dist/external-tools/sbt/resolve.js +73 -0
  404. package/dist/external-tools/sbt/types.d.ts +32 -0
  405. package/dist/external-tools/sbt/types.js +18 -0
  406. package/dist/external-tools/synp/asset-names.d.ts +14 -0
  407. package/dist/external-tools/synp/asset-names.js +32 -0
  408. package/dist/external-tools/synp/from-download.d.ts +18 -0
  409. package/dist/external-tools/synp/from-download.js +44 -0
  410. package/dist/external-tools/synp/from-path.d.ts +5 -0
  411. package/dist/external-tools/synp/from-path.js +40 -0
  412. package/dist/external-tools/synp/from-vfs.d.ts +7 -0
  413. package/dist/external-tools/synp/from-vfs.js +47 -0
  414. package/dist/external-tools/synp/resolve.d.ts +21 -0
  415. package/dist/external-tools/synp/resolve.js +72 -0
  416. package/dist/external-tools/synp/types.d.ts +19 -0
  417. package/dist/external-tools/synp/types.js +18 -0
  418. package/dist/external-tools/trivy/asset-names.d.ts +34 -0
  419. package/dist/external-tools/trivy/asset-names.js +68 -0
  420. package/dist/external-tools/trivy/from-download.d.ts +17 -0
  421. package/dist/external-tools/trivy/from-download.js +67 -0
  422. package/dist/external-tools/trivy/from-path.d.ts +5 -0
  423. package/dist/external-tools/trivy/from-path.js +40 -0
  424. package/dist/external-tools/trivy/from-vfs.d.ts +7 -0
  425. package/dist/external-tools/trivy/from-vfs.js +47 -0
  426. package/dist/external-tools/trivy/resolve.d.ts +26 -0
  427. package/dist/external-tools/trivy/resolve.js +73 -0
  428. package/dist/external-tools/trivy/types.d.ts +24 -0
  429. package/dist/external-tools/trivy/types.js +18 -0
  430. package/dist/external-tools/trufflehog/asset-names.d.ts +34 -0
  431. package/dist/external-tools/trufflehog/asset-names.js +72 -0
  432. package/dist/external-tools/trufflehog/from-download.d.ts +37 -0
  433. package/dist/external-tools/trufflehog/from-download.js +65 -0
  434. package/dist/external-tools/trufflehog/from-path.d.ts +7 -0
  435. package/dist/external-tools/trufflehog/from-path.js +40 -0
  436. package/dist/external-tools/trufflehog/from-vfs.d.ts +11 -0
  437. package/dist/external-tools/trufflehog/from-vfs.js +47 -0
  438. package/dist/external-tools/trufflehog/resolve.d.ts +30 -0
  439. package/dist/external-tools/trufflehog/resolve.js +73 -0
  440. package/dist/external-tools/trufflehog/types.d.ts +25 -0
  441. package/dist/external-tools/trufflehog/types.js +18 -0
  442. package/dist/external-tools/uv/asset-names.d.ts +36 -0
  443. package/dist/external-tools/uv/asset-names.js +80 -0
  444. package/dist/external-tools/uv/from-download.d.ts +17 -0
  445. package/dist/external-tools/uv/from-download.js +68 -0
  446. package/dist/external-tools/uv/from-path.d.ts +5 -0
  447. package/dist/external-tools/uv/from-path.js +40 -0
  448. package/dist/external-tools/uv/from-vfs.d.ts +7 -0
  449. package/dist/external-tools/uv/from-vfs.js +47 -0
  450. package/dist/external-tools/uv/resolve.d.ts +25 -0
  451. package/dist/external-tools/uv/resolve.js +73 -0
  452. package/dist/external-tools/uv/types.d.ts +24 -0
  453. package/dist/external-tools/uv/types.js +18 -0
  454. package/dist/fs/_internal.d.ts +22 -0
  455. package/dist/fs/_internal.js +48 -0
  456. package/dist/fs/encoding.d.ts +49 -0
  457. package/dist/fs/encoding.js +102 -0
  458. package/dist/fs/find-up.d.ts +58 -0
  459. package/dist/fs/find-up.js +152 -0
  460. package/dist/fs/inspect.d.ts +117 -0
  461. package/dist/fs/inspect.js +112 -0
  462. package/dist/fs/path-cache.d.ts +21 -0
  463. package/dist/fs/path-cache.js +35 -0
  464. package/dist/fs/read-dir.d.ts +66 -0
  465. package/dist/fs/read-dir.js +86 -0
  466. package/dist/fs/read-file.d.ts +150 -0
  467. package/dist/fs/read-file.js +131 -0
  468. package/dist/fs/read-json.d.ts +72 -0
  469. package/dist/fs/read-json.js +120 -0
  470. package/dist/fs/safe.d.ts +153 -0
  471. package/dist/fs/safe.js +182 -0
  472. package/dist/fs/types.d.ts +277 -0
  473. package/dist/fs/types.js +18 -0
  474. package/dist/fs/unique.d.ts +29 -0
  475. package/dist/fs/unique.js +51 -0
  476. package/dist/fs/validate.d.ts +40 -0
  477. package/dist/fs/validate.js +46 -0
  478. package/dist/fs/write-json.d.ts +78 -0
  479. package/dist/fs/write-json.js +83 -0
  480. package/dist/git/_internal.d.ts +105 -0
  481. package/dist/git/_internal.js +236 -0
  482. package/dist/git/changed.d.ts +145 -0
  483. package/dist/git/changed.js +83 -0
  484. package/dist/git/repo.d.ts +62 -0
  485. package/dist/git/repo.js +111 -0
  486. package/dist/git/staged.d.ts +138 -0
  487. package/dist/git/staged.js +71 -0
  488. package/dist/git/types.d.ts +109 -0
  489. package/dist/git/types.js +18 -0
  490. package/dist/git/unstaged.d.ts +141 -0
  491. package/dist/git/unstaged.js +71 -0
  492. package/dist/github/constants.d.ts +18 -0
  493. package/dist/github/constants.js +36 -0
  494. package/dist/github/errors.d.ts +36 -0
  495. package/dist/github/errors.js +40 -0
  496. package/dist/github/fetch.d.ts +89 -0
  497. package/dist/github/fetch.js +87 -0
  498. package/dist/github/ghsa.d.ts +118 -0
  499. package/dist/github/ghsa.js +178 -0
  500. package/dist/github/refs-cache.d.ts +40 -0
  501. package/dist/github/refs-cache.js +49 -0
  502. package/dist/github/refs-graphql.d.ts +42 -0
  503. package/dist/github/refs-graphql.js +109 -0
  504. package/dist/github/refs-rest.d.ts +23 -0
  505. package/dist/github/refs-rest.js +104 -0
  506. package/dist/github/refs.d.ts +84 -0
  507. package/dist/github/refs.js +67 -0
  508. package/dist/github/token.d.ts +77 -0
  509. package/dist/github/token.js +55 -0
  510. package/dist/github/types.d.ts +277 -0
  511. package/dist/github/types.js +18 -0
  512. package/dist/globs/_internal.d.ts +46 -0
  513. package/dist/globs/_internal.js +96 -0
  514. package/dist/globs/defaults.d.ts +7 -0
  515. package/dist/globs/defaults.js +61 -0
  516. package/dist/globs/glob.d.ts +59 -0
  517. package/dist/globs/glob.js +84 -0
  518. package/dist/globs/matcher.d.ts +46 -0
  519. package/dist/globs/matcher.js +99 -0
  520. package/dist/globs/stream.d.ts +18 -0
  521. package/dist/globs/stream.js +58 -0
  522. package/dist/globs/types.d.ts +35 -0
  523. package/dist/globs/types.js +18 -0
  524. package/dist/http-request/_internal.d.ts +18 -0
  525. package/dist/http-request/_internal.js +39 -0
  526. package/dist/http-request/checksums.d.ts +69 -0
  527. package/dist/http-request/checksums.js +72 -0
  528. package/dist/http-request/convenience.d.ts +104 -0
  529. package/dist/http-request/convenience.js +96 -0
  530. package/dist/http-request/download-types.d.ts +224 -0
  531. package/dist/http-request/download-types.js +18 -0
  532. package/dist/http-request/download.d.ts +71 -0
  533. package/dist/http-request/download.js +201 -0
  534. package/dist/http-request/errors.d.ts +23 -0
  535. package/dist/http-request/errors.js +50 -0
  536. package/dist/http-request/headers.d.ts +57 -0
  537. package/dist/http-request/headers.js +86 -0
  538. package/dist/http-request/request-attempt.d.ts +21 -0
  539. package/dist/http-request/request-attempt.js +284 -0
  540. package/dist/http-request/request-types.d.ts +238 -0
  541. package/dist/http-request/request-types.js +18 -0
  542. package/dist/http-request/request.d.ts +59 -0
  543. package/dist/http-request/request.js +106 -0
  544. package/dist/http-request/response-reader.d.ts +25 -0
  545. package/dist/http-request/response-reader.js +54 -0
  546. package/dist/http-request/response-types.d.ts +123 -0
  547. package/dist/http-request/response-types.js +40 -0
  548. package/dist/http-request/user-agent.d.ts +55 -0
  549. package/dist/http-request/user-agent.js +61 -0
  550. package/dist/{dlx/integrity.d.ts → integrity.d.ts} +36 -30
  551. package/dist/{dlx/integrity.js → integrity.js} +25 -19
  552. package/dist/ipc/_internal.d.ts +25 -0
  553. package/dist/ipc/_internal.js +50 -0
  554. package/dist/ipc/directory.d.ts +18 -0
  555. package/dist/ipc/directory.js +66 -0
  556. package/dist/ipc/paths.d.ts +37 -0
  557. package/dist/ipc/paths.js +48 -0
  558. package/dist/ipc/types.d.ts +22 -0
  559. package/dist/ipc/types.js +18 -0
  560. package/dist/ipc/write.d.ts +39 -0
  561. package/dist/ipc/write.js +77 -0
  562. package/dist/ipc-cli/get.d.ts +21 -0
  563. package/dist/{ipc-cli.js → ipc-cli/get.js} +5 -5
  564. package/dist/ipc-cli/types.d.ts +14 -0
  565. package/dist/ipc-cli/types.js +18 -0
  566. package/dist/json/edit.d.ts +22 -8
  567. package/dist/json/edit.js +85 -96
  568. package/dist/json/format.d.ts +100 -86
  569. package/dist/json/format.js +4 -3
  570. package/dist/json/parse.d.ts +113 -88
  571. package/dist/json/parse.js +30 -24
  572. package/dist/json/types.d.ts +133 -117
  573. package/dist/links/link.d.ts +65 -0
  574. package/dist/{links.js → links/link.js} +10 -10
  575. package/dist/links/types.d.ts +19 -0
  576. package/dist/links/types.js +18 -0
  577. package/dist/logger/_internal.d.ts +82 -0
  578. package/dist/logger/_internal.js +80 -0
  579. package/dist/logger/colors.d.ts +18 -0
  580. package/dist/logger/colors.js +54 -0
  581. package/dist/logger/console.d.ts +33 -0
  582. package/dist/logger/console.js +119 -0
  583. package/dist/logger/logger.d.ts +405 -0
  584. package/dist/logger/logger.js +854 -0
  585. package/dist/logger/symbols-builder.d.ts +29 -0
  586. package/dist/logger/symbols-builder.js +61 -0
  587. package/dist/logger/symbols.d.ts +61 -0
  588. package/dist/logger/symbols.js +129 -0
  589. package/dist/logger/types.d.ts +88 -0
  590. package/dist/logger/types.js +18 -0
  591. package/dist/memo/_internal.d.ts +16 -0
  592. package/dist/memo/_internal.js +53 -0
  593. package/dist/memo/async.d.ts +32 -0
  594. package/dist/memo/async.js +120 -0
  595. package/dist/memo/clear.d.ts +15 -0
  596. package/dist/memo/clear.js +37 -0
  597. package/dist/memo/decorator.d.ts +29 -0
  598. package/dist/memo/decorator.js +40 -0
  599. package/dist/memo/memoize.d.ts +33 -0
  600. package/dist/memo/memoize.js +91 -0
  601. package/dist/memo/once.d.ts +25 -0
  602. package/dist/memo/once.js +44 -0
  603. package/dist/memo/types.d.ts +43 -0
  604. package/dist/memo/types.js +18 -0
  605. package/dist/memo/weak.d.ts +26 -0
  606. package/dist/memo/weak.js +44 -0
  607. package/dist/node/async-hooks.d.ts +2 -2
  608. package/dist/node/child-process.d.ts +5 -7
  609. package/dist/node/crypto.d.ts +2 -2
  610. package/dist/node/events.d.ts +2 -2
  611. package/dist/node/fs-promises.d.ts +2 -2
  612. package/dist/node/fs.d.ts +6 -10
  613. package/dist/node/http.d.ts +2 -2
  614. package/dist/node/https.d.ts +2 -2
  615. package/dist/node/module.d.ts +7 -0
  616. package/dist/node/module.js +41 -0
  617. package/dist/node/os.d.ts +2 -2
  618. package/dist/node/path.d.ts +2 -2
  619. package/dist/node/timers-promises.d.ts +2 -2
  620. package/dist/node/url.d.ts +2 -2
  621. package/dist/node/util.d.ts +2 -2
  622. package/dist/objects/getters.d.ts +116 -0
  623. package/dist/objects/getters.js +137 -0
  624. package/dist/objects/inspect.d.ts +67 -0
  625. package/dist/objects/inspect.js +59 -0
  626. package/dist/objects/mutate.d.ts +72 -0
  627. package/dist/objects/mutate.js +81 -0
  628. package/dist/objects/predicates.d.ts +96 -0
  629. package/dist/objects/predicates.js +68 -0
  630. package/dist/objects/sort.d.ts +88 -0
  631. package/dist/objects/sort.js +85 -0
  632. package/dist/objects/types.d.ts +68 -0
  633. package/dist/objects/types.js +18 -0
  634. package/dist/packages/edit-class.d.ts +39 -0
  635. package/dist/packages/edit-class.js +269 -0
  636. package/dist/packages/edit.d.ts +60 -61
  637. package/dist/packages/edit.js +21 -286
  638. package/dist/packages/exports.d.ts +30 -28
  639. package/dist/packages/exports.js +38 -34
  640. package/dist/packages/isolation.d.ts +16 -7
  641. package/dist/packages/isolation.js +50 -57
  642. package/dist/packages/licenses.d.ts +49 -45
  643. package/dist/packages/licenses.js +13 -18
  644. package/dist/packages/manifest.d.ts +14 -14
  645. package/dist/packages/manifest.js +16 -15
  646. package/dist/packages/normalize.d.ts +17 -16
  647. package/dist/packages/normalize.js +20 -17
  648. package/dist/packages/operations.d.ts +49 -36
  649. package/dist/packages/operations.js +30 -15
  650. package/dist/packages/provenance.d.ts +22 -9
  651. package/dist/packages/provenance.js +76 -66
  652. package/dist/packages/specs.d.ts +21 -21
  653. package/dist/packages/specs.js +7 -7
  654. package/dist/{packages.d.ts → packages/types.d.ts} +12 -20
  655. package/dist/packages/types.js +18 -0
  656. package/dist/packages/validation.d.ts +13 -13
  657. package/dist/packages/validation.js +2 -2
  658. package/dist/paths/_internal.d.ts +51 -0
  659. package/dist/paths/_internal.js +102 -0
  660. package/dist/paths/conversion.d.ts +82 -0
  661. package/dist/paths/conversion.js +74 -0
  662. package/dist/paths/dirnames.d.ts +1 -1
  663. package/dist/paths/exts.d.ts +1 -1
  664. package/dist/paths/filenames.d.ts +1 -1
  665. package/dist/paths/globs.d.ts +1 -1
  666. package/dist/paths/normalize.d.ts +30 -440
  667. package/dist/paths/normalize.js +49 -289
  668. package/dist/paths/packages.d.ts +7 -1
  669. package/dist/paths/packages.js +7 -12
  670. package/dist/paths/predicates.d.ts +129 -0
  671. package/dist/paths/predicates.js +121 -0
  672. package/dist/paths/resolve.d.ts +71 -0
  673. package/dist/paths/resolve.js +135 -0
  674. package/dist/paths/rewire.d.ts +37 -38
  675. package/dist/paths/rewire.js +3 -3
  676. package/dist/paths/socket.d.ts +146 -47
  677. package/dist/paths/socket.js +23 -25
  678. package/dist/perf/_internal.d.ts +10 -0
  679. package/dist/perf/_internal.js +30 -0
  680. package/dist/perf/enabled.d.ts +13 -0
  681. package/dist/perf/enabled.js +33 -0
  682. package/dist/perf/metrics.d.ts +51 -0
  683. package/dist/perf/metrics.js +74 -0
  684. package/dist/perf/report.d.ts +40 -0
  685. package/dist/perf/report.js +85 -0
  686. package/dist/perf/timer.d.ts +100 -0
  687. package/dist/perf/timer.js +137 -0
  688. package/dist/perf/types.d.ts +15 -0
  689. package/dist/perf/types.js +18 -0
  690. package/dist/pkg-ext/data.d.ts +8 -0
  691. package/dist/{package-extensions.js → pkg-ext/data.js} +4 -4
  692. package/dist/pkg-ext/types.d.ts +6 -0
  693. package/dist/pkg-ext/types.js +18 -0
  694. package/dist/primordials/array.d.ts +73 -0
  695. package/dist/primordials/array.js +220 -0
  696. package/dist/primordials/buffer.d.ts +17 -0
  697. package/dist/primordials/buffer.js +61 -0
  698. package/dist/primordials/date.d.ts +16 -0
  699. package/dist/primordials/date.js +56 -0
  700. package/dist/primordials/error.d.ts +19 -0
  701. package/dist/primordials/error.js +75 -0
  702. package/dist/primordials/function.d.ts +10 -0
  703. package/dist/primordials/function.js +42 -0
  704. package/dist/primordials/globals.d.ts +17 -0
  705. package/dist/primordials/globals.js +54 -0
  706. package/dist/primordials/json.d.ts +11 -0
  707. package/dist/primordials/json.js +33 -0
  708. package/dist/primordials/map-set.d.ts +35 -0
  709. package/dist/primordials/map-set.js +115 -0
  710. package/dist/primordials/math.d.ts +51 -0
  711. package/dist/primordials/math.js +161 -0
  712. package/dist/primordials/number.d.ts +25 -0
  713. package/dist/primordials/number.js +92 -0
  714. package/dist/primordials/object.d.ts +74 -0
  715. package/dist/primordials/object.js +142 -0
  716. package/dist/primordials/promise.d.ts +34 -0
  717. package/dist/primordials/promise.js +61 -0
  718. package/dist/primordials/reflect.d.ts +18 -0
  719. package/dist/primordials/reflect.js +66 -0
  720. package/dist/primordials/regexp.d.ts +14 -0
  721. package/dist/primordials/regexp.js +50 -0
  722. package/dist/primordials/string.d.ts +71 -0
  723. package/dist/primordials/string.js +174 -0
  724. package/dist/primordials/symbol.d.ts +28 -0
  725. package/dist/primordials/symbol.js +94 -0
  726. package/dist/primordials/uncurry.d.ts +18 -0
  727. package/dist/primordials/uncurry.js +65 -0
  728. package/dist/primordials/url.d.ts +13 -0
  729. package/dist/primordials/url.js +69 -0
  730. package/dist/process/_internal.d.ts +8 -0
  731. package/dist/process/_internal.js +33 -0
  732. package/dist/process/abort.d.ts +20 -0
  733. package/dist/{constants/process.js → process/abort.js} +3 -3
  734. package/dist/process/lock-instance.d.ts +19 -0
  735. package/dist/process/lock-instance.js +31 -0
  736. package/dist/process/lock-manager.d.ts +152 -0
  737. package/dist/{process-lock.js → process/lock-manager.js} +97 -105
  738. package/dist/process/lock-types.d.ts +43 -0
  739. package/dist/process/lock-types.js +18 -0
  740. package/dist/process/transient.d.ts +22 -0
  741. package/dist/{temporary-executor.js → process/transient.js} +8 -8
  742. package/dist/promise-queue/queue.d.ts +51 -0
  743. package/dist/{promise-queue.js → promise-queue/queue.js} +27 -22
  744. package/dist/promise-queue/types.d.ts +10 -0
  745. package/dist/promise-queue/types.js +18 -0
  746. package/dist/promises/_internal.d.ts +15 -0
  747. package/dist/promises/_internal.js +41 -0
  748. package/dist/promises/iterate.d.ts +190 -0
  749. package/dist/promises/iterate.js +111 -0
  750. package/dist/promises/options.d.ts +76 -0
  751. package/dist/promises/options.js +108 -0
  752. package/dist/promises/resolvers.d.ts +55 -0
  753. package/dist/promises/resolvers.js +49 -0
  754. package/dist/promises/retry.d.ts +105 -0
  755. package/dist/promises/retry.js +104 -0
  756. package/dist/promises/types.d.ts +190 -0
  757. package/dist/promises/types.js +18 -0
  758. package/dist/regexps/escape.d.ts +6 -0
  759. package/dist/regexps/escape.js +32 -0
  760. package/dist/regexps/hex.d.ts +7 -0
  761. package/dist/regexps/hex.js +38 -0
  762. package/dist/regexps/spec.d.ts +15 -0
  763. package/dist/{regexps.js → regexps/spec.js} +32 -36
  764. package/dist/releases/github-archives.d.ts +47 -36
  765. package/dist/releases/github-archives.js +21 -35
  766. package/dist/releases/github-asset-url.d.ts +72 -0
  767. package/dist/releases/github-asset-url.js +167 -0
  768. package/dist/releases/github-assets.d.ts +13 -11
  769. package/dist/releases/github-assets.js +2 -2
  770. package/dist/releases/github-auth.d.ts +9 -9
  771. package/dist/releases/github-downloads.d.ts +31 -26
  772. package/dist/releases/github-downloads.js +22 -34
  773. package/dist/releases/github-listing.d.ts +105 -0
  774. package/dist/releases/github-listing.js +171 -0
  775. package/dist/releases/github-types.d.ts +45 -19
  776. package/dist/releases/socket-btm.d.ts +149 -99
  777. package/dist/releases/socket-btm.js +14 -20
  778. package/dist/schema/parse.d.ts +14 -15
  779. package/dist/schema/parse.js +2 -2
  780. package/dist/schema/types.d.ts +49 -37
  781. package/dist/schema/validate.d.ts +42 -19
  782. package/dist/schema/validate.js +15 -6
  783. package/dist/sea/detect.d.ts +37 -0
  784. package/dist/sea/{util.js → detect.js} +6 -6
  785. package/dist/secrets/_internal.d.ts +57 -0
  786. package/dist/secrets/_internal.js +84 -0
  787. package/dist/secrets/find.d.ts +79 -0
  788. package/dist/secrets/find.js +84 -0
  789. package/dist/secrets/keychain.d.ts +138 -0
  790. package/dist/secrets/keychain.js +328 -0
  791. package/dist/secrets/linux.d.ts +20 -0
  792. package/dist/secrets/linux.js +151 -0
  793. package/dist/secrets/macos.d.ts +36 -0
  794. package/dist/secrets/macos.js +165 -0
  795. package/dist/secrets/rc.d.ts +139 -0
  796. package/dist/secrets/rc.js +196 -0
  797. package/dist/secrets/socket-api-token.d.ts +23 -0
  798. package/dist/secrets/socket-api-token.js +50 -0
  799. package/dist/secrets/types.d.ts +69 -0
  800. package/dist/secrets/types.js +18 -0
  801. package/dist/secrets/windows.d.ts +50 -0
  802. package/dist/secrets/windows.js +318 -0
  803. package/dist/shadow/skip.d.ts +25 -0
  804. package/dist/{shadow.js → shadow/skip.js} +4 -4
  805. package/dist/shadow/types.d.ts +8 -0
  806. package/dist/shadow/types.js +18 -0
  807. package/dist/signal-exit/_internal.d.ts +68 -0
  808. package/dist/signal-exit/_internal.js +127 -0
  809. package/dist/signal-exit/intercept.d.ts +8 -0
  810. package/dist/signal-exit/intercept.js +75 -0
  811. package/dist/signal-exit/lifecycle.d.ts +28 -0
  812. package/dist/signal-exit/lifecycle.js +109 -0
  813. package/dist/signal-exit/register.d.ts +20 -0
  814. package/dist/signal-exit/register.js +58 -0
  815. package/dist/signal-exit/signals.d.ts +16 -0
  816. package/dist/signal-exit/signals.js +34 -0
  817. package/dist/signal-exit/types.d.ts +21 -0
  818. package/dist/signal-exit/types.js +18 -0
  819. package/dist/smol/detect.d.ts +80 -0
  820. package/dist/smol/{util.js → detect.js} +16 -24
  821. package/dist/smol/http.d.ts +60 -0
  822. package/dist/smol/http.js +42 -0
  823. package/dist/smol/https.d.ts +59 -0
  824. package/dist/smol/https.js +42 -0
  825. package/dist/smol/manifest.d.ts +140 -0
  826. package/dist/smol/manifest.js +42 -0
  827. package/dist/smol/primordial.d.ts +16 -21
  828. package/dist/smol/primordial.js +7 -11
  829. package/dist/smol/purl.d.ts +84 -0
  830. package/dist/smol/purl.js +42 -0
  831. package/dist/smol/versions.d.ts +11 -14
  832. package/dist/smol/versions.js +7 -11
  833. package/dist/smol/vfs.d.ts +99 -0
  834. package/dist/smol/vfs.js +43 -0
  835. package/dist/sorts/_internal.d.ts +9 -0
  836. package/dist/sorts/_internal.js +47 -0
  837. package/dist/sorts/natural.d.ts +39 -0
  838. package/dist/{sorts.js → sorts/natural.js} +5 -42
  839. package/dist/sorts/semver.d.ts +15 -0
  840. package/dist/sorts/semver.js +46 -0
  841. package/dist/sorts/strings.d.ts +16 -0
  842. package/dist/sorts/strings.js +33 -0
  843. package/dist/sorts/types.d.ts +7 -0
  844. package/dist/sorts/types.js +18 -0
  845. package/dist/spawn/_internal.d.ts +24 -0
  846. package/dist/spawn/_internal.js +62 -0
  847. package/dist/spawn/errors.d.ts +45 -0
  848. package/dist/spawn/errors.js +118 -0
  849. package/dist/spawn/spawn.d.ts +134 -0
  850. package/dist/{spawn.js → spawn/spawn.js} +29 -147
  851. package/dist/spawn/stdio.d.ts +37 -0
  852. package/dist/spawn/stdio.js +38 -0
  853. package/dist/spawn/types.d.ts +325 -0
  854. package/dist/spawn/types.js +18 -0
  855. package/dist/spinner/format.d.ts +64 -0
  856. package/dist/spinner/format.js +83 -0
  857. package/dist/spinner/registry.d.ts +49 -0
  858. package/dist/spinner/registry.js +70 -0
  859. package/dist/spinner/spinner.d.ts +40 -0
  860. package/dist/spinner/spinner.js +802 -0
  861. package/dist/spinner/types.d.ts +368 -0
  862. package/dist/spinner/types.js +18 -0
  863. package/dist/spinner/with.d.ts +125 -0
  864. package/dist/spinner/with.js +144 -0
  865. package/dist/ssri/convert.d.ts +48 -0
  866. package/dist/{ssri.js → ssri/convert.js} +11 -34
  867. package/dist/ssri/parse.d.ts +27 -0
  868. package/dist/ssri/parse.js +40 -0
  869. package/dist/ssri/validate.d.ts +41 -0
  870. package/dist/ssri/validate.js +39 -0
  871. package/dist/stdio/{_stream.d.ts → _internal.d.ts} +10 -5
  872. package/dist/stdio/{_stream.js → _internal.js} +3 -3
  873. package/dist/stdio/clear.d.ts +98 -84
  874. package/dist/stdio/divider.d.ts +100 -78
  875. package/dist/stdio/divider.js +36 -14
  876. package/dist/stdio/footer.d.ts +75 -51
  877. package/dist/stdio/footer.js +28 -18
  878. package/dist/stdio/header.d.ts +61 -50
  879. package/dist/stdio/header.js +15 -13
  880. package/dist/stdio/progress.d.ts +67 -57
  881. package/dist/stdio/progress.js +55 -51
  882. package/dist/stdio/prompts.d.ts +147 -100
  883. package/dist/stdio/prompts.js +23 -15
  884. package/dist/stdio/stderr.d.ts +86 -84
  885. package/dist/stdio/stderr.js +6 -6
  886. package/dist/stdio/stdout.d.ts +77 -78
  887. package/dist/stdio/stdout.js +6 -6
  888. package/dist/streams/parallel.d.ts +40 -0
  889. package/dist/{streams.js → streams/parallel.js} +10 -27
  890. package/dist/streams/transform.d.ts +20 -0
  891. package/dist/streams/transform.js +48 -0
  892. package/dist/strings/format.d.ts +115 -0
  893. package/dist/strings/format.js +73 -0
  894. package/dist/strings/predicates.d.ts +52 -0
  895. package/dist/strings/predicates.js +39 -0
  896. package/dist/strings/search.d.ts +34 -0
  897. package/dist/strings/search.js +45 -0
  898. package/dist/strings/transform.d.ts +80 -0
  899. package/dist/strings/transform.js +79 -0
  900. package/dist/strings/types.d.ts +38 -0
  901. package/dist/strings/types.js +18 -0
  902. package/dist/strings/width.d.ts +42 -0
  903. package/dist/strings/width.js +95 -0
  904. package/dist/tables/bordered.d.ts +44 -0
  905. package/dist/tables/bordered.js +84 -0
  906. package/dist/tables/padding.d.ts +18 -0
  907. package/dist/tables/padding.js +51 -0
  908. package/dist/tables/simple.d.ts +36 -0
  909. package/dist/tables/simple.js +73 -0
  910. package/dist/tables/types.d.ts +15 -0
  911. package/dist/tables/types.js +18 -0
  912. package/dist/temporal/instant.d.ts +39 -0
  913. package/dist/temporal/instant.js +91 -0
  914. package/dist/temporal/now.d.ts +24 -0
  915. package/dist/temporal/now.js +34 -0
  916. package/dist/temporal/slots.d.ts +32 -0
  917. package/dist/temporal/slots.js +45 -0
  918. package/dist/temporal/system.d.ts +20 -0
  919. package/dist/temporal/system.js +42 -0
  920. package/dist/temporal/temporal.d.ts +22 -0
  921. package/dist/temporal/temporal.js +43 -0
  922. package/dist/themes/context.d.ts +65 -48
  923. package/dist/themes/context.js +6 -2
  924. package/dist/themes/resolve.d.ts +90 -0
  925. package/dist/themes/{utils.js → resolve.js} +6 -6
  926. package/dist/themes/themes.d.ts +14 -16
  927. package/dist/themes/types.d.ts +93 -35
  928. package/dist/ttl-cache/cache.d.ts +29 -0
  929. package/dist/{cache-with-ttl.js → ttl-cache/cache.js} +45 -37
  930. package/dist/ttl-cache/types.d.ts +109 -0
  931. package/dist/ttl-cache/types.js +18 -0
  932. package/dist/url/parse.d.ts +26 -0
  933. package/dist/url/parse.js +57 -0
  934. package/dist/url/predicates.d.ts +15 -0
  935. package/dist/url/predicates.js +34 -0
  936. package/dist/url/search-params.d.ts +71 -0
  937. package/dist/{url.js → url/search-params.js} +19 -54
  938. package/dist/url/types.d.ts +20 -0
  939. package/dist/url/types.js +18 -0
  940. package/dist/versions/_internal.d.ts +24 -0
  941. package/dist/versions/_internal.js +37 -0
  942. package/dist/versions/compare.d.ts +57 -0
  943. package/dist/versions/compare.js +65 -0
  944. package/dist/versions/modify.d.ts +28 -0
  945. package/dist/versions/modify.js +44 -0
  946. package/dist/versions/parse.d.ts +67 -0
  947. package/dist/versions/parse.js +77 -0
  948. package/dist/versions/range.d.ts +45 -0
  949. package/dist/versions/range.js +50 -0
  950. package/dist/versions/types.d.ts +13 -0
  951. package/dist/versions/types.js +18 -0
  952. package/dist/warnings/event-target.d.ts +31 -0
  953. package/dist/warnings/event-target.js +43 -0
  954. package/dist/warnings/suppress.d.ts +65 -0
  955. package/dist/{suppress-warnings.js → warnings/suppress.js} +16 -28
  956. package/dist/words/article.d.ts +14 -0
  957. package/dist/words/article.js +33 -0
  958. package/dist/words/capitalize.d.ts +15 -0
  959. package/dist/{words.js → words/capitalize.js} +5 -18
  960. package/dist/words/pluralize.d.ts +16 -0
  961. package/dist/words/pluralize.js +34 -0
  962. package/dist/words/types.d.ts +7 -0
  963. package/dist/words/types.js +18 -0
  964. package/package.json +1919 -247
  965. package/dist/abort.d.ts +0 -27
  966. package/dist/agent.d.ts +0 -196
  967. package/dist/agent.js +0 -287
  968. package/dist/ansi.d.ts +0 -39
  969. package/dist/archives.d.ts +0 -95
  970. package/dist/archives.js +0 -408
  971. package/dist/argv/flags.d.ts +0 -292
  972. package/dist/argv/flags.js +0 -297
  973. package/dist/arrays.d.ts +0 -168
  974. package/dist/bin.d.ts +0 -181
  975. package/dist/bin.js +0 -544
  976. package/dist/cacache.d.ts +0 -130
  977. package/dist/cacache.js +0 -156
  978. package/dist/cache-with-ttl.d.ts +0 -165
  979. package/dist/colors.d.ts +0 -49
  980. package/dist/compression.d.ts +0 -218
  981. package/dist/constants/process.d.ts +0 -20
  982. package/dist/crypto.d.ts +0 -36
  983. package/dist/debug.js +0 -337
  984. package/dist/env/helpers.d.ts +0 -66
  985. package/dist/env.d.ts +0 -182
  986. package/dist/env.js +0 -205
  987. package/dist/errors.d.ts +0 -100
  988. package/dist/fs.d.ts +0 -916
  989. package/dist/fs.js +0 -808
  990. package/dist/git.d.ts +0 -546
  991. package/dist/git.js +0 -409
  992. package/dist/github.d.ts +0 -526
  993. package/dist/github.js +0 -448
  994. package/dist/globs.d.ts +0 -119
  995. package/dist/globs.js +0 -282
  996. package/dist/http-request.d.ts +0 -951
  997. package/dist/http-request.js +0 -761
  998. package/dist/ipc-cli.d.ts +0 -28
  999. package/dist/ipc.d.ts +0 -76
  1000. package/dist/ipc.js +0 -130
  1001. package/dist/links.d.ts +0 -69
  1002. package/dist/logger.d.ts +0 -993
  1003. package/dist/logger.js +0 -1498
  1004. package/dist/memoization.d.ts +0 -131
  1005. package/dist/memoization.js +0 -243
  1006. package/dist/objects.d.ts +0 -500
  1007. package/dist/objects.js +0 -303
  1008. package/dist/package-extensions.d.ts +0 -9
  1009. package/dist/packages.js +0 -132
  1010. package/dist/performance.d.ts +0 -181
  1011. package/dist/performance.js +0 -233
  1012. package/dist/primordials.d.ts +0 -420
  1013. package/dist/primordials.js +0 -1116
  1014. package/dist/process-lock.d.ts +0 -180
  1015. package/dist/promise-queue.d.ts +0 -48
  1016. package/dist/promises.d.ts +0 -506
  1017. package/dist/promises.js +0 -292
  1018. package/dist/regexps.d.ts +0 -6
  1019. package/dist/releases/github-api.d.ts +0 -56
  1020. package/dist/releases/github-api.js +0 -275
  1021. package/dist/sea/util.d.ts +0 -43
  1022. package/dist/shadow.d.ts +0 -28
  1023. package/dist/signal-exit.d.ts +0 -50
  1024. package/dist/signal-exit.js +0 -247
  1025. package/dist/smol/util.d.ts +0 -87
  1026. package/dist/sorts.d.ts +0 -59
  1027. package/dist/spawn.d.ts +0 -454
  1028. package/dist/spinner.d.ts +0 -444
  1029. package/dist/spinner.js +0 -988
  1030. package/dist/ssri.d.ts +0 -90
  1031. package/dist/streams.d.ts +0 -45
  1032. package/dist/strings.d.ts +0 -414
  1033. package/dist/strings.js +0 -218
  1034. package/dist/suppress-warnings.d.ts +0 -81
  1035. package/dist/tables.d.ts +0 -73
  1036. package/dist/tables.js +0 -133
  1037. package/dist/temporary-executor.d.ts +0 -20
  1038. package/dist/themes/utils.d.ts +0 -86
  1039. package/dist/url.d.ts +0 -114
  1040. package/dist/versions.d.ts +0 -207
  1041. package/dist/versions.js +0 -181
  1042. package/dist/words.d.ts +0 -39
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with esbuild */
3
+ "use strict";
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
+ var binary_cache_exports = {};
32
+ __export(binary_cache_exports, {
33
+ cleanDlxCache: () => cleanDlxCache,
34
+ getBinaryCacheMetadataPath: () => getBinaryCacheMetadataPath,
35
+ getDlxCachePath: () => getDlxCachePath,
36
+ isBinaryCacheValid: () => isBinaryCacheValid,
37
+ listDlxCache: () => listDlxCache,
38
+ readBinaryCacheMetadata: () => readBinaryCacheMetadata,
39
+ writeBinaryCacheMetadata: () => writeBinaryCacheMetadata
40
+ });
41
+ module.exports = __toCommonJS(binary_cache_exports);
42
+ var import_node_process = __toESM(require("node:process"));
43
+ var import_node_fs = require("node:fs");
44
+ var import_time = require("../constants/time");
45
+ var import_read_json = require("../fs/read-json");
46
+ var import_safe = require("../fs/safe");
47
+ var import_predicates = require("../objects/predicates");
48
+ var import_socket = require("../paths/socket");
49
+ var import_array = require("../primordials/array");
50
+ var import_date = require("../primordials/date");
51
+ var import_json = require("../primordials/json");
52
+ var import_string = require("../primordials/string");
53
+ var import_fs = require("../node/fs");
54
+ var import_path = require("../node/path");
55
+ async function cleanDlxCache(maxAge = import_time.DLX_BINARY_CACHE_TTL) {
56
+ const cacheDir = getDlxCachePath();
57
+ const fs = (0, import_fs.getNodeFs)();
58
+ if (!fs.existsSync(cacheDir)) {
59
+ return 0;
60
+ }
61
+ let cleaned = 0;
62
+ const now = (0, import_date.DateNow)();
63
+ const path = (0, import_path.getNodePath)();
64
+ const entries = await fs.promises.readdir(cacheDir);
65
+ for (const entry of entries) {
66
+ const entryPath = path.join(cacheDir, entry);
67
+ const metaPath = getBinaryCacheMetadataPath(entryPath);
68
+ try {
69
+ if (!await (0, import_node_fs.existsSync)(entryPath)) {
70
+ continue;
71
+ }
72
+ const metadata = await (0, import_read_json.readJson)(metaPath, { throws: false });
73
+ if (!metadata || typeof metadata !== "object" || (0, import_array.ArrayIsArray)(metadata)) {
74
+ continue;
75
+ }
76
+ const timestamp = metadata["timestamp"];
77
+ const age = typeof timestamp === "number" && timestamp > 0 ? now - timestamp : Number.POSITIVE_INFINITY;
78
+ if (age < 0 || age > maxAge) {
79
+ await (0, import_safe.safeDelete)(entryPath, { force: true, recursive: true });
80
+ cleaned += 1;
81
+ }
82
+ } catch {
83
+ try {
84
+ const contents = await fs.promises.readdir(entryPath);
85
+ if (!contents.length) {
86
+ await (0, import_safe.safeDelete)(entryPath);
87
+ cleaned += 1;
88
+ }
89
+ } catch {
90
+ }
91
+ }
92
+ }
93
+ return cleaned;
94
+ }
95
+ function getBinaryCacheMetadataPath(cacheEntryPath) {
96
+ return (0, import_path.getNodePath)().join(cacheEntryPath, ".dlx-metadata.json");
97
+ }
98
+ const getDlxCachePath = import_socket.getSocketDlxDir;
99
+ async function isBinaryCacheValid(cacheEntryPath, cacheTtl) {
100
+ const fs = (0, import_fs.getNodeFs)();
101
+ try {
102
+ const metaPath = getBinaryCacheMetadataPath(cacheEntryPath);
103
+ if (!fs.existsSync(metaPath)) {
104
+ return false;
105
+ }
106
+ const metadata = await (0, import_read_json.readJson)(metaPath, { throws: false });
107
+ if (!(0, import_predicates.isPlainObject)(metadata)) {
108
+ return false;
109
+ }
110
+ const now = (0, import_date.DateNow)();
111
+ const timestamp = metadata["timestamp"];
112
+ if (typeof timestamp !== "number" || timestamp <= 0) {
113
+ return false;
114
+ }
115
+ const age = now - timestamp;
116
+ if (age < 0) {
117
+ return false;
118
+ }
119
+ return age < cacheTtl;
120
+ } catch {
121
+ return false;
122
+ }
123
+ }
124
+ async function listDlxCache() {
125
+ const cacheDir = getDlxCachePath();
126
+ const fs = (0, import_fs.getNodeFs)();
127
+ if (!fs.existsSync(cacheDir)) {
128
+ return [];
129
+ }
130
+ const results = [];
131
+ const now = (0, import_date.DateNow)();
132
+ const path = (0, import_path.getNodePath)();
133
+ const entries = await fs.promises.readdir(cacheDir);
134
+ for (const entry of entries) {
135
+ const entryPath = path.join(cacheDir, entry);
136
+ try {
137
+ if (!await (0, import_node_fs.existsSync)(entryPath)) {
138
+ continue;
139
+ }
140
+ const metaPath = getBinaryCacheMetadataPath(entryPath);
141
+ const metadata = await (0, import_read_json.readJson)(metaPath, { throws: false });
142
+ if (!metadata || typeof metadata !== "object" || (0, import_array.ArrayIsArray)(metadata)) {
143
+ continue;
144
+ }
145
+ const metaObj = metadata;
146
+ const source = metaObj["source"];
147
+ const url = source?.["url"] || metaObj["url"] || "";
148
+ const files = await fs.promises.readdir(entryPath);
149
+ const binaryFile = (0, import_array.ArrayPrototypeFind)(
150
+ files,
151
+ (f) => !(0, import_string.StringPrototypeStartsWith)(f, ".")
152
+ );
153
+ if (binaryFile) {
154
+ const binaryPath = path.join(entryPath, binaryFile);
155
+ const binaryStats = await fs.promises.stat(binaryPath);
156
+ results.push({
157
+ age: now - (metaObj["timestamp"] || 0),
158
+ integrity: metaObj["integrity"] || "",
159
+ name: binaryFile,
160
+ size: binaryStats.size,
161
+ url
162
+ });
163
+ }
164
+ } catch {
165
+ }
166
+ }
167
+ return results;
168
+ }
169
+ async function readBinaryCacheMetadata(cacheEntryPath) {
170
+ const fs = (0, import_fs.getNodeFs)();
171
+ try {
172
+ const metaPath = getBinaryCacheMetadataPath(cacheEntryPath);
173
+ if (!fs.existsSync(metaPath)) {
174
+ return void 0;
175
+ }
176
+ const metadata = await (0, import_read_json.readJson)(metaPath, { throws: false });
177
+ if (!(0, import_predicates.isPlainObject)(metadata)) {
178
+ return void 0;
179
+ }
180
+ return metadata;
181
+ } catch {
182
+ return void 0;
183
+ }
184
+ }
185
+ async function writeBinaryCacheMetadata(cacheEntryPath, cacheKey, url, integrity, size) {
186
+ const metaPath = getBinaryCacheMetadataPath(cacheEntryPath);
187
+ const metadata = {
188
+ version: "1.0.0",
189
+ cache_key: cacheKey,
190
+ timestamp: (0, import_date.DateNow)(),
191
+ integrity,
192
+ size,
193
+ source: {
194
+ type: "download",
195
+ url
196
+ }
197
+ };
198
+ const fs = (0, import_fs.getNodeFs)();
199
+ const tmpPath = `${metaPath}.tmp.${import_node_process.default.pid}`;
200
+ await fs.promises.writeFile(tmpPath, (0, import_json.JSONStringify)(metadata, null, 2));
201
+ await fs.promises.rename(tmpPath, metaPath);
202
+ }
203
+ // Annotate the CommonJS export names for ESM import in node:
204
+ 0 && (module.exports = {
205
+ cleanDlxCache,
206
+ getBinaryCacheMetadataPath,
207
+ getDlxCachePath,
208
+ isBinaryCacheValid,
209
+ listDlxCache,
210
+ readBinaryCacheMetadata,
211
+ writeBinaryCacheMetadata
212
+ });
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @file Download helpers for dlx binaries — fetch tarballs from URLs, verify
3
+ * integrity, cache to disk with concurrency locking.
4
+ *
5
+ * - `downloadBinary` — high-level URL→cached-binary flow
6
+ * - `downloadBinaryFile` — low-level fetch+verify with processLock Split out of
7
+ * `dlx/binary.ts` for size hygiene.
8
+ */
9
+ import type { DlxBinaryOptions } from './binary-types';
10
+ /**
11
+ * Download a binary from a URL with caching (without execution). Similar to
12
+ * downloadPackage from dlx/package.
13
+ *
14
+ * Returns `{binaryPath, downloaded, integrity}`. The `integrity` field is the
15
+ * SRI-formatted `sha512-<base64>` hash of the cached file — computed by the
16
+ * downloader on first fetch, persisted to cache metadata, and re-read on
17
+ * subsequent cache hits. This supports the trust-on-first-use pattern:
18
+ *
19
+ * // 1. First call — caller has no pinned integrity yet. const { integrity } =
20
+ * await downloadBinary({ url, name: 'tool' }) // Caller writes `integrity` back
21
+ * to external-tools.json or similar.
22
+ *
23
+ * // 2. Subsequent calls — caller pins the integrity for verification. await
24
+ * downloadBinary({ url, name: 'tool', hash: integrity })
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const { binaryPath, integrity } = await downloadBinary({
29
+ * url: 'https://example.com/tool-linux-x64',
30
+ * name: 'tool',
31
+ * })
32
+ * console.log(`Binary at: ${binaryPath}, pin: ${integrity}`)
33
+ * ```
34
+ *
35
+ * @returns `{binaryPath, downloaded, integrity}` — binary location, whether
36
+ * this call fetched (vs. cache-hit), and the computed SRI integrity for
37
+ * future pinning.
38
+ */
39
+ export declare function downloadBinary(options: Omit<DlxBinaryOptions, 'spawnOptions'>): Promise<{
40
+ binaryPath: string;
41
+ downloaded: boolean;
42
+ integrity: string;
43
+ }>;
44
+ /**
45
+ * Download a file from a URL with integrity checking and concurrent download
46
+ * protection. Uses processLock to prevent multiple processes from downloading
47
+ * the same binary simultaneously.
48
+ *
49
+ * Supports two integrity verification methods:
50
+ *
51
+ * - Sha256: Hex SHA-256 checksum (verified inline during download via
52
+ * httpDownload)
53
+ * - Integrity: SRI format sha512-<base64> (verified post-download)
54
+ *
55
+ * The sha256 option is preferred as it fails early during download if the
56
+ * checksum doesn't match.
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const integrity = await downloadBinaryFile(
61
+ * 'https://example.com/tool-linux-x64',
62
+ * '/tmp/dlx-cache/tool',
63
+ * )
64
+ * console.log(`Integrity: ${integrity}`)
65
+ * ```
66
+ */
67
+ export declare function downloadBinaryFile(url: string, destPath: string, integrity?: string | undefined, sha256?: string | undefined): Promise<string>;
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with esbuild */
3
+ "use strict";
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
+ var binary_download_exports = {};
32
+ __export(binary_download_exports, {
33
+ downloadBinary: () => downloadBinary,
34
+ downloadBinaryFile: () => downloadBinaryFile
35
+ });
36
+ module.exports = __toCommonJS(binary_download_exports);
37
+ var import_node_process = __toESM(require("node:process"));
38
+ var import_platform = require("../constants/platform");
39
+ var import_time = require("../constants/time");
40
+ var import_hash = require("../crypto/hash");
41
+ var import_safe = require("../fs/safe");
42
+ var import_download = require("../http-request/download");
43
+ var import_normalize = require("../paths/normalize");
44
+ var import_lock_instance = require("../process/lock-instance");
45
+ var import_cache = require("./cache");
46
+ var import_integrity = require("../integrity");
47
+ var import_error = require("../primordials/error");
48
+ var import_crypto = require("../node/crypto");
49
+ var import_fs = require("../node/fs");
50
+ var import_path = require("../node/path");
51
+ var import_binary_cache = require("./binary-cache");
52
+ async function downloadBinary(options) {
53
+ const {
54
+ cacheTtl = import_time.DLX_BINARY_CACHE_TTL,
55
+ force = false,
56
+ hash: hashSpec,
57
+ integrity: rawIntegrity,
58
+ name,
59
+ sha256: rawSha256,
60
+ url
61
+ } = { __proto__: null, ...options };
62
+ let integrity = rawIntegrity;
63
+ let sha256 = rawSha256;
64
+ if (hashSpec !== void 0) {
65
+ const normalized = (0, import_integrity.normalizeHash)(hashSpec);
66
+ if (normalized.type === "integrity") {
67
+ integrity = normalized.value;
68
+ } else {
69
+ sha256 = normalized.value;
70
+ }
71
+ }
72
+ const fs = (0, import_fs.getNodeFs)();
73
+ const path = (0, import_path.getNodePath)();
74
+ const cacheDir = (0, import_binary_cache.getDlxCachePath)();
75
+ const binaryName = name || `binary-${import_node_process.default.platform}-${(0, import_platform.getArch)()}`;
76
+ const spec = `${url}:${binaryName}`;
77
+ const cacheKey = (0, import_cache.generateCacheKey)(spec);
78
+ const cacheEntryDir = path.join(cacheDir, cacheKey);
79
+ const binaryPath = (0, import_normalize.normalizePath)(path.join(cacheEntryDir, binaryName));
80
+ let downloaded = false;
81
+ let actualIntegrity = "";
82
+ if (!force && fs.existsSync(cacheEntryDir) && await (0, import_binary_cache.isBinaryCacheValid)(cacheEntryDir, cacheTtl)) {
83
+ downloaded = false;
84
+ const cachedMeta = await (0, import_binary_cache.readBinaryCacheMetadata)(cacheEntryDir);
85
+ if (cachedMeta?.integrity) {
86
+ actualIntegrity = cachedMeta.integrity;
87
+ } else {
88
+ const fileBuffer = await fs.promises.readFile(binaryPath);
89
+ actualIntegrity = `sha512-${(0, import_hash.hash)("sha512", fileBuffer, "base64")}`;
90
+ }
91
+ } else {
92
+ try {
93
+ await (0, import_safe.safeMkdir)(cacheEntryDir);
94
+ } catch (e) {
95
+ const code = e.code;
96
+ if (code === "EACCES" || code === "EPERM") {
97
+ throw new import_error.ErrorCtor(
98
+ `Permission denied creating binary cache directory: ${cacheEntryDir}
99
+ Please check directory permissions or run with appropriate access.`,
100
+ { cause: e }
101
+ );
102
+ }
103
+ if (code === "EROFS") {
104
+ throw new import_error.ErrorCtor(
105
+ `Cannot create binary cache directory on read-only filesystem: ${cacheEntryDir}
106
+ Ensure the filesystem is writable or set SOCKET_DLX_DIR to a writable location.`,
107
+ { cause: e }
108
+ );
109
+ }
110
+ throw new import_error.ErrorCtor(
111
+ `Failed to create binary cache directory: ${cacheEntryDir}`,
112
+ { cause: e }
113
+ );
114
+ }
115
+ actualIntegrity = await downloadBinaryFile(
116
+ url,
117
+ binaryPath,
118
+ integrity,
119
+ sha256
120
+ );
121
+ const stats = await fs.promises.stat(binaryPath);
122
+ await (0, import_binary_cache.writeBinaryCacheMetadata)(
123
+ cacheEntryDir,
124
+ cacheKey,
125
+ url,
126
+ actualIntegrity,
127
+ stats.size
128
+ );
129
+ downloaded = true;
130
+ }
131
+ return {
132
+ binaryPath,
133
+ downloaded,
134
+ integrity: actualIntegrity
135
+ };
136
+ }
137
+ async function downloadBinaryFile(url, destPath, integrity, sha256) {
138
+ const crypto = (0, import_crypto.getNodeCrypto)();
139
+ const fs = (0, import_fs.getNodeFs)();
140
+ const path = (0, import_path.getNodePath)();
141
+ const cacheEntryDir = path.dirname(destPath);
142
+ const lockPath = path.join(cacheEntryDir, "concurrency.lock");
143
+ const verifyIntegrity = async (actualIntegrity) => {
144
+ if (!integrity) {
145
+ return;
146
+ }
147
+ const integrityMatch = actualIntegrity.length === integrity.length && crypto.timingSafeEqual(
148
+ Buffer.from(actualIntegrity),
149
+ Buffer.from(integrity)
150
+ );
151
+ if (!integrityMatch) {
152
+ await (0, import_safe.safeDelete)(destPath);
153
+ throw new import_error.ErrorCtor(
154
+ `Integrity mismatch: expected ${integrity}, got ${actualIntegrity}`
155
+ );
156
+ }
157
+ };
158
+ const verifyCachedSha256 = async (fileBuffer) => {
159
+ if (!sha256) {
160
+ return;
161
+ }
162
+ const actualSha256 = (0, import_hash.hash)("sha256", fileBuffer, "hex");
163
+ const sha256Match = actualSha256.length === sha256.length && crypto.timingSafeEqual(
164
+ Buffer.from(actualSha256),
165
+ Buffer.from(sha256.toLowerCase())
166
+ );
167
+ if (!sha256Match) {
168
+ await (0, import_safe.safeDelete)(destPath);
169
+ throw new import_error.ErrorCtor(
170
+ `SHA-256 mismatch: expected ${sha256}, got ${actualSha256}`
171
+ );
172
+ }
173
+ };
174
+ return await import_lock_instance.processLock.withLock(
175
+ lockPath,
176
+ async () => {
177
+ if (fs.existsSync(destPath)) {
178
+ const stats = await fs.promises.stat(destPath);
179
+ if (stats.size > 0) {
180
+ const fileBuffer2 = await fs.promises.readFile(destPath);
181
+ const actualIntegrity2 = `sha512-${(0, import_hash.hash)("sha512", fileBuffer2, "base64")}`;
182
+ await verifyIntegrity(actualIntegrity2);
183
+ await verifyCachedSha256(fileBuffer2);
184
+ return actualIntegrity2;
185
+ }
186
+ }
187
+ try {
188
+ await (0, import_download.httpDownload)(url, destPath, sha256 ? { sha256 } : void 0);
189
+ } catch (e) {
190
+ throw new import_error.ErrorCtor(
191
+ `Failed to download binary from ${url}
192
+ Destination: ${destPath}
193
+ Check your internet connection or verify the URL is accessible.`,
194
+ { cause: e }
195
+ );
196
+ }
197
+ const fileBuffer = await fs.promises.readFile(destPath);
198
+ const actualIntegrity = `sha512-${(0, import_hash.hash)("sha512", fileBuffer, "base64")}`;
199
+ await verifyIntegrity(actualIntegrity);
200
+ if (!import_platform.WIN32) {
201
+ await fs.promises.chmod(destPath, 493);
202
+ }
203
+ return actualIntegrity;
204
+ },
205
+ {
206
+ // Align with npm npx locking strategy.
207
+ staleMs: 5e3,
208
+ touchIntervalMs: 2e3
209
+ }
210
+ );
211
+ }
212
+ // Annotate the CommonJS export names for ESM import in node:
213
+ 0 && (module.exports = {
214
+ downloadBinary,
215
+ downloadBinaryFile
216
+ });
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @file Binary resolution for installed dlx packages.
3
+ *
4
+ * - `findBinaryPath` — pick the right binary entry from package.json `bin`
5
+ * - `makePackageBinsExecutable` — chmod all bin entries to 0o755 on Unix
6
+ * - `resolveBinaryPath` — Windows wrapper (.cmd/.bat/.ps1/.exe) lookup Split
7
+ * out of `dlx/package.ts` for size hygiene. The cache used by
8
+ * `resolveBinaryPath` lives in `_internal.ts` so both this leaf and any
9
+ * direct consumers (`binaryPathCacheSet`) share one source.
10
+ */
11
+ /**
12
+ * Find the binary path for an installed package. Uses npm's bin resolution
13
+ * strategy with user-friendly fallbacks. Resolves platform-specific wrappers
14
+ * (.cmd, .ps1, etc.) on Windows.
15
+ *
16
+ * Resolution strategy (cherry-picked from libnpmexec): 1. Use npm's
17
+ * getBinFromManifest (handles aliases and standard cases) 2. Fall back to
18
+ * user-provided binaryName if npm's strategy fails 3. Try last segment of
19
+ * package name as final fallback 4. Use first binary as last resort.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const binPath = findBinaryPath('/tmp/.socket/_dlx/a1b2c3d4', 'prettier')
24
+ * console.log(`Binary: ${binPath}`)
25
+ * ```
26
+ */
27
+ export declare function findBinaryPath(packageDir: string, packageName: string, binaryName?: string): string;
28
+ /**
29
+ * Make all binaries in an installed package executable. Reads the package.json
30
+ * bin field and makes all binaries executable (chmod 0o755). Handles both
31
+ * single binary (string) and multiple binaries (object) formats.
32
+ *
33
+ * Aligns with npm's approach: - Uses 0o755 permission (matches npm's cmd-shim)
34
+ * - Reads bin field from package.json (matches npm's bin-links and libnpmexec)
35
+ * - Handles both string and object bin formats.
36
+ *
37
+ * References: - npm cmd-shim:
38
+ * https://github.com/npm/cmd-shim/blob/main/lib/index.js - npm
39
+ * getBinFromManifest:
40
+ * https://github.com/npm/libnpmexec/blob/main/lib/get-bin-from-manifest.js.
41
+ *
42
+ * @example
43
+ * ;```typescript
44
+ * makePackageBinsExecutable('/tmp/.socket/_dlx/a1b2c3d4', 'prettier')
45
+ * ```
46
+ */
47
+ export declare function makePackageBinsExecutable(packageDir: string, packageName: string): void;
48
+ /**
49
+ * Resolve binary path with cross-platform wrapper support. On Windows, checks
50
+ * for .cmd, .bat, .ps1, .exe wrappers in order. On Unix, uses path directly.
51
+ *
52
+ * Aligns with npm/npx binary resolution strategy.
53
+ *
54
+ * @example
55
+ * ;```typescript
56
+ * const resolved = resolveBinaryPath('/tmp/.socket/_dlx/a1b2c3d4/prettier')
57
+ * // On Windows: may resolve to '.cmd' or '.ps1' wrapper
58
+ * // On Unix: returns the path unchanged
59
+ * ```
60
+ */
61
+ export declare function resolveBinaryPath(basePath: string): string;