@socketsecurity/lib 5.28.0 → 6.0.1

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 (1055) hide show
  1. package/CHANGELOG.md +135 -37
  2. package/README.md +26 -17
  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-args-string.d.ts +30 -0
  36. package/dist/argv/parse-args-string.js +42 -0
  37. package/dist/argv/parse.d.ts +34 -33
  38. package/dist/argv/parse.js +6 -4
  39. package/dist/arrays/_internal.d.ts +43 -0
  40. package/dist/{arrays.js → arrays/_internal.js} +8 -41
  41. package/dist/arrays/chunk.d.ts +37 -0
  42. package/dist/arrays/chunk.js +43 -0
  43. package/dist/arrays/join.d.ts +76 -0
  44. package/dist/{env/helpers.js → arrays/join.js} +12 -18
  45. package/dist/arrays/predicates.d.ts +40 -0
  46. package/dist/arrays/predicates.js +30 -0
  47. package/dist/arrays/unique.d.ts +36 -0
  48. package/dist/arrays/unique.js +34 -0
  49. package/dist/bin/_internal.d.ts +22 -0
  50. package/dist/bin/_internal.js +43 -0
  51. package/dist/bin/check-primordials.d.ts +41 -15
  52. package/dist/bin/check-primordials.js +49 -28
  53. package/dist/bin/check.d.ts +7 -12
  54. package/dist/bin/check.js +6 -2
  55. package/dist/bin/exec.d.ts +37 -0
  56. package/dist/bin/exec.js +79 -0
  57. package/dist/bin/find.d.ts +58 -0
  58. package/dist/bin/find.js +143 -0
  59. package/dist/bin/resolve.d.ts +30 -0
  60. package/dist/bin/resolve.js +249 -0
  61. package/dist/bin/shadow.d.ts +16 -0
  62. package/dist/bin/shadow.js +36 -0
  63. package/dist/bin/socket-lib.d.ts +10 -14
  64. package/dist/bin/socket-lib.js +19 -4
  65. package/dist/bin/types.d.ts +34 -0
  66. package/dist/bin/types.js +18 -0
  67. package/dist/bin/which.d.ts +111 -0
  68. package/dist/bin/which.js +155 -0
  69. package/dist/cacache/_internal.d.ts +15 -0
  70. package/dist/cacache/_internal.js +43 -0
  71. package/dist/cacache/clear.d.ts +43 -0
  72. package/dist/cacache/clear.js +77 -0
  73. package/dist/cacache/read.d.ts +31 -0
  74. package/dist/cacache/read.js +51 -0
  75. package/dist/cacache/tmp.d.ts +18 -0
  76. package/dist/cacache/tmp.js +39 -0
  77. package/dist/cacache/types.d.ts +37 -0
  78. package/dist/cacache/types.js +18 -0
  79. package/dist/cacache/write.d.ts +31 -0
  80. package/dist/cacache/write.js +53 -0
  81. package/dist/cache/ttl/store.d.ts +29 -0
  82. package/dist/{cache-with-ttl.js → cache/ttl/store.js} +45 -37
  83. package/dist/cache/ttl/types.d.ts +109 -0
  84. package/dist/cache/ttl/types.js +18 -0
  85. package/dist/checks/primordials-defaults.d.ts +20 -0
  86. package/dist/checks/primordials-defaults.js +92 -0
  87. package/dist/checks/primordials.d.ts +69 -61
  88. package/dist/checks/primordials.js +141 -92
  89. package/dist/colors/convert.d.ts +35 -0
  90. package/dist/colors/convert.js +42 -0
  91. package/dist/colors/palette.d.ts +7 -0
  92. package/dist/{colors.js → colors/palette.js} +5 -17
  93. package/dist/colors/socket-palette.d.ts +69 -0
  94. package/dist/colors/socket-palette.js +91 -0
  95. package/dist/colors/types.d.ts +29 -0
  96. package/dist/colors/types.js +18 -0
  97. package/dist/compression/_internal.d.ts +33 -0
  98. package/dist/compression/_internal.js +77 -0
  99. package/dist/compression/brotli.d.ts +82 -0
  100. package/dist/{compression.js → compression/brotli.js} +17 -145
  101. package/dist/compression/gzip.d.ts +70 -0
  102. package/dist/compression/gzip.js +142 -0
  103. package/dist/compression/types.d.ts +37 -0
  104. package/dist/compression/types.js +18 -0
  105. package/dist/constants/agents.d.ts +4 -3
  106. package/dist/constants/agents.js +7 -4
  107. package/dist/constants/encoding.d.ts +3 -3
  108. package/dist/constants/github.d.ts +2 -3
  109. package/dist/constants/licenses.d.ts +5 -5
  110. package/dist/constants/licenses.js +2 -2
  111. package/dist/constants/lifecycle-script-names.d.ts +3 -4
  112. package/dist/constants/lifecycle-script-names.js +2 -2
  113. package/dist/constants/maintained-node-versions.d.ts +1 -1
  114. package/dist/constants/maintained-node-versions.js +3 -4
  115. package/dist/constants/node.d.ts +21 -20
  116. package/dist/constants/node.js +4 -4
  117. package/dist/constants/package-default-node-range.d.ts +1 -1
  118. package/dist/constants/package-default-socket-categories.d.ts +1 -1
  119. package/dist/constants/package-default-socket-categories.js +2 -2
  120. package/dist/constants/packages.d.ts +4 -4
  121. package/dist/constants/packages.js +7 -5
  122. package/dist/constants/platform.d.ts +3 -1
  123. package/dist/constants/platform.js +3 -10
  124. package/dist/constants/{core.d.ts → sentinels.d.ts} +4 -4
  125. package/dist/constants/{core.js → sentinels.js} +3 -3
  126. package/dist/constants/socket.d.ts +4 -6
  127. package/dist/constants/socket.js +6 -9
  128. package/dist/constants/testing.d.ts +3 -3
  129. package/dist/constants/time.d.ts +3 -3
  130. package/dist/constants/typescript.d.ts +3 -3
  131. package/dist/cover/code.d.ts +11 -3
  132. package/dist/cover/code.js +27 -37
  133. package/dist/cover/formatters.d.ts +19 -15
  134. package/dist/cover/formatters.js +21 -18
  135. package/dist/cover/type.d.ts +4 -3
  136. package/dist/cover/type.js +10 -9
  137. package/dist/cover/types.d.ts +1 -1
  138. package/dist/crypto/hash.d.ts +36 -0
  139. package/dist/{crypto.js → crypto/hash.js} +17 -17
  140. package/dist/debug/_internal.d.ts +25 -0
  141. package/dist/debug/_internal.js +77 -0
  142. package/dist/debug/caller-info.d.ts +12 -0
  143. package/dist/debug/caller-info.js +67 -0
  144. package/dist/debug/namespace.d.ts +35 -0
  145. package/dist/debug/namespace.js +101 -0
  146. package/dist/{debug.d.ts → debug/output.d.ts} +23 -42
  147. package/dist/debug/output.js +209 -0
  148. package/dist/debug/types.d.ts +21 -0
  149. package/dist/debug/types.js +18 -0
  150. package/dist/dlx/_internal.d.ts +10 -0
  151. package/dist/dlx/_internal.js +47 -0
  152. package/dist/dlx/arborist.d.ts +86 -61
  153. package/dist/dlx/arborist.js +30 -35
  154. package/dist/dlx/binary-cache.d.ts +108 -0
  155. package/dist/dlx/binary-cache.js +212 -0
  156. package/dist/dlx/binary-download.d.ts +67 -0
  157. package/dist/dlx/binary-download.js +216 -0
  158. package/dist/dlx/binary-resolution.d.ts +61 -0
  159. package/dist/dlx/binary-resolution.js +164 -0
  160. package/dist/dlx/binary-types.d.ts +144 -0
  161. package/dist/dlx/binary-types.js +18 -0
  162. package/dist/dlx/binary.d.ts +39 -268
  163. package/dist/dlx/binary.js +40 -321
  164. package/dist/dlx/cache.d.ts +21 -16
  165. package/dist/dlx/cache.js +2 -2
  166. package/dist/dlx/detect.d.ts +94 -68
  167. package/dist/dlx/detect.js +32 -35
  168. package/dist/dlx/dir.d.ts +20 -18
  169. package/dist/dlx/dir.js +7 -14
  170. package/dist/dlx/firewall.d.ts +27 -0
  171. package/dist/dlx/firewall.js +107 -0
  172. package/dist/dlx/lockfile.d.ts +73 -56
  173. package/dist/dlx/lockfile.js +36 -44
  174. package/dist/dlx/manifest.d.ts +50 -51
  175. package/dist/dlx/manifest.js +52 -53
  176. package/dist/dlx/package.d.ts +83 -279
  177. package/dist/dlx/package.js +45 -267
  178. package/dist/dlx/packages.d.ts +22 -20
  179. package/dist/dlx/packages.js +15 -20
  180. package/dist/dlx/paths.d.ts +26 -23
  181. package/dist/dlx/paths.js +8 -15
  182. package/dist/dlx/spec.d.ts +25 -0
  183. package/dist/dlx/spec.js +63 -0
  184. package/dist/dlx/types.d.ts +142 -0
  185. package/dist/dlx/types.js +18 -0
  186. package/dist/eco/cargo/lockfile-format.d.ts +8 -0
  187. package/dist/eco/cargo/lockfile-format.js +39 -0
  188. package/dist/eco/cargo/manifest-format.d.ts +7 -0
  189. package/dist/eco/cargo/manifest-format.js +38 -0
  190. package/dist/eco/cargo/parse-lockfile.d.ts +84 -0
  191. package/dist/eco/cargo/parse-lockfile.js +257 -0
  192. package/dist/eco/manifest/analyze-lockfile.d.ts +10 -0
  193. package/dist/eco/manifest/analyze-lockfile.js +67 -0
  194. package/dist/eco/manifest/detect-format.d.ts +15 -0
  195. package/dist/eco/manifest/detect-format.js +98 -0
  196. package/dist/eco/manifest/find-packages.d.ts +14 -0
  197. package/dist/eco/manifest/find-packages.js +69 -0
  198. package/dist/eco/manifest/get-package-versions.d.ts +8 -0
  199. package/dist/eco/manifest/get-package-versions.js +52 -0
  200. package/dist/eco/manifest/get-package.d.ts +10 -0
  201. package/dist/eco/manifest/get-package.js +44 -0
  202. package/dist/eco/manifest/manifest-error.d.ts +18 -0
  203. package/dist/eco/manifest/manifest-error.js +37 -0
  204. package/dist/eco/manifest/parse-lockfile.d.ts +16 -0
  205. package/dist/eco/manifest/parse-lockfile.js +91 -0
  206. package/dist/eco/manifest/parse-manifest.d.ts +12 -0
  207. package/dist/eco/manifest/parse-manifest.js +48 -0
  208. package/dist/eco/manifest/parse.d.ts +9 -0
  209. package/dist/eco/manifest/parse.js +52 -0
  210. package/dist/eco/manifest/types.d.ts +10 -0
  211. package/dist/eco/manifest/types.js +18 -0
  212. package/dist/eco/npm/bun/exec.d.ts +15 -0
  213. package/dist/eco/npm/bun/exec.js +35 -0
  214. package/dist/eco/npm/manifest-format.d.ts +11 -0
  215. package/dist/eco/npm/manifest-format.js +38 -0
  216. package/dist/eco/npm/npm/exec.d.ts +24 -0
  217. package/dist/eco/npm/npm/exec.js +64 -0
  218. package/dist/eco/npm/npm/extract-package-name-from-path.d.ts +9 -0
  219. package/dist/eco/npm/npm/extract-package-name-from-path.js +54 -0
  220. package/dist/eco/npm/npm/flags.d.ts +62 -0
  221. package/dist/eco/npm/npm/flags.js +63 -0
  222. package/dist/eco/npm/npm/lockfile-format.d.ts +9 -0
  223. package/dist/eco/npm/npm/lockfile-format.js +42 -0
  224. package/dist/eco/npm/npm/parse-git-url.d.ts +13 -0
  225. package/dist/eco/npm/npm/parse-git-url.js +43 -0
  226. package/dist/eco/npm/npm/parse-lockfile.d.ts +70 -0
  227. package/dist/eco/npm/npm/parse-lockfile.js +224 -0
  228. package/dist/eco/npm/parse-package-json.d.ts +16 -0
  229. package/dist/eco/npm/parse-package-json.js +115 -0
  230. package/dist/eco/npm/pnpm/detect-pnpm-version.d.ts +7 -0
  231. package/dist/eco/npm/pnpm/detect-pnpm-version.js +47 -0
  232. package/dist/eco/npm/pnpm/exec.d.ts +26 -0
  233. package/dist/eco/npm/pnpm/exec.js +65 -0
  234. package/dist/eco/npm/pnpm/flags.d.ts +44 -0
  235. package/dist/eco/npm/pnpm/flags.js +76 -0
  236. package/dist/eco/npm/pnpm/lockfile-format.d.ts +8 -0
  237. package/dist/eco/npm/pnpm/lockfile-format.js +39 -0
  238. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +69 -0
  239. package/dist/eco/npm/pnpm/parse-lockfile.js +274 -0
  240. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.d.ts +15 -0
  241. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +50 -0
  242. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.d.ts +11 -0
  243. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +52 -0
  244. package/dist/eco/npm/script.d.ts +35 -0
  245. package/dist/eco/npm/script.js +93 -0
  246. package/dist/eco/npm/vlt/exec.d.ts +16 -0
  247. package/dist/eco/npm/vlt/exec.js +35 -0
  248. package/dist/eco/npm/yarnpkg/yarn/exec.d.ts +28 -0
  249. package/dist/eco/npm/yarnpkg/yarn/exec.js +63 -0
  250. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.d.ts +9 -0
  251. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +39 -0
  252. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +61 -0
  253. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +261 -0
  254. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.d.ts +16 -0
  255. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +68 -0
  256. package/dist/{types.d.ts → eco/purl.d.ts} +14 -26
  257. package/dist/{types.js → eco/purl.js} +3 -3
  258. package/dist/eco/types.d.ts +51 -0
  259. package/dist/eco/types.js +18 -0
  260. package/dist/effects/pulse-frames.d.ts +16 -17
  261. package/dist/effects/pulse-frames.js +4 -4
  262. package/dist/effects/shimmer-keyframes.d.ts +39 -37
  263. package/dist/effects/shimmer-terminal.d.ts +43 -42
  264. package/dist/effects/shimmer-terminal.js +3 -3
  265. package/dist/effects/shimmer.d.ts +172 -153
  266. package/dist/effects/shimmer.js +78 -76
  267. package/dist/env/boolean.d.ts +33 -0
  268. package/dist/env/boolean.js +46 -0
  269. package/dist/env/case-insensitive.d.ts +42 -0
  270. package/dist/env/case-insensitive.js +42 -0
  271. package/dist/env/ci.d.ts +11 -12
  272. package/dist/env/debug.d.ts +10 -10
  273. package/dist/env/github.d.ts +71 -74
  274. package/dist/env/home.d.ts +15 -14
  275. package/dist/env/locale.d.ts +26 -29
  276. package/dist/env/node-auth-token.d.ts +10 -10
  277. package/dist/env/node-env.d.ts +10 -10
  278. package/dist/env/npm.d.ts +45 -47
  279. package/dist/env/number.d.ts +29 -0
  280. package/dist/env/number.js +54 -0
  281. package/dist/env/package-manager.d.ts +36 -33
  282. package/dist/env/package-manager.js +3 -3
  283. package/dist/env/path.d.ts +10 -10
  284. package/dist/env/pre-commit.d.ts +11 -11
  285. package/dist/env/pre-commit.js +2 -2
  286. package/dist/env/proxy.d.ts +44 -0
  287. package/dist/env/proxy.js +126 -0
  288. package/dist/env/rewire.d.ts +105 -99
  289. package/dist/env/rewire.js +11 -8
  290. package/dist/env/shell.d.ts +10 -10
  291. package/dist/env/socket-cli.d.ts +109 -125
  292. package/dist/env/socket-cli.js +7 -12
  293. package/dist/env/socket.d.ts +347 -130
  294. package/dist/env/socket.js +107 -8
  295. package/dist/env/string.d.ts +28 -0
  296. package/dist/env/string.js +47 -0
  297. package/dist/env/temp-dir.d.ts +26 -29
  298. package/dist/env/term.d.ts +10 -10
  299. package/dist/env/test.d.ts +29 -31
  300. package/dist/env/test.js +5 -4
  301. package/dist/env/types.d.ts +62 -0
  302. package/dist/env/types.js +18 -0
  303. package/dist/env/windows.d.ts +37 -38
  304. package/dist/env/xdg.d.ts +29 -29
  305. package/dist/errors/message.d.ts +27 -0
  306. package/dist/errors/message.js +49 -0
  307. package/dist/errors/predicates.d.ts +46 -0
  308. package/dist/{errors.js → errors/predicates.js} +13 -43
  309. package/dist/errors/stack.d.ts +16 -0
  310. package/dist/errors/stack.js +39 -0
  311. package/dist/events/exit/_internal.d.ts +68 -0
  312. package/dist/events/exit/_internal.js +127 -0
  313. package/dist/events/exit/handler.d.ts +20 -0
  314. package/dist/events/exit/handler.js +58 -0
  315. package/dist/events/exit/intercept.d.ts +8 -0
  316. package/dist/events/exit/intercept.js +75 -0
  317. package/dist/events/exit/lifecycle.d.ts +28 -0
  318. package/dist/events/exit/lifecycle.js +109 -0
  319. package/dist/events/exit/signals.d.ts +16 -0
  320. package/dist/events/exit/signals.js +34 -0
  321. package/dist/events/exit/types.d.ts +21 -0
  322. package/dist/events/exit/types.js +18 -0
  323. package/dist/events/warning/handler.d.ts +31 -0
  324. package/dist/events/warning/handler.js +43 -0
  325. package/dist/events/warning/suppress.d.ts +65 -0
  326. package/dist/{suppress-warnings.js → events/warning/suppress.js} +16 -28
  327. package/dist/external/@npmcli/package-json/lib/read-package.js +11 -1
  328. package/dist/external/@npmcli/package-json.js +300 -82
  329. package/dist/external/@npmcli/promise-spawn.js +15 -1
  330. package/dist/external/@socketregistry/packageurl-js.js +7 -1
  331. package/dist/external/@socketregistry/yocto-spinner.js +5 -1
  332. package/dist/external/@yarnpkg/extensions.js +1 -1
  333. package/dist/external/adm-zip.js +20 -4
  334. package/dist/external/debug.js +15 -1
  335. package/dist/external/external-pack.js +20 -4
  336. package/dist/external/fast-sort.js +3 -1
  337. package/dist/external/get-east-asian-width.js +3 -1
  338. package/dist/external/libnpmexec.js +5 -1
  339. package/dist/external/npm-pack.js +344 -113
  340. package/dist/external/p-map.js +7 -1
  341. package/dist/external/pico-pack.js +17 -1
  342. package/dist/external/pony-cause.js +1 -1
  343. package/dist/external/spdx-pack.js +3 -1
  344. package/dist/external/supports-color.js +1 -1
  345. package/dist/external/tar-fs.js +15 -1
  346. package/dist/external/which.js +11 -1
  347. package/dist/external/yargs-parser.js +15 -1
  348. package/dist/external-tools/bazel/asset-names.d.ts +66 -0
  349. package/dist/external-tools/bazel/asset-names.js +96 -0
  350. package/dist/external-tools/bazel/from-download.d.ts +49 -0
  351. package/dist/external-tools/bazel/from-download.js +49 -0
  352. package/dist/external-tools/bazel/from-path.d.ts +8 -0
  353. package/dist/external-tools/bazel/from-path.js +41 -0
  354. package/dist/external-tools/bazel/read-bazel-version-file.d.ts +12 -0
  355. package/dist/external-tools/bazel/read-bazel-version-file.js +61 -0
  356. package/dist/external-tools/bazel/resolve-asset-url.d.ts +14 -0
  357. package/dist/external-tools/bazel/resolve-asset-url.js +42 -0
  358. package/dist/external-tools/bazel/resolve-bazel-version.d.ts +19 -0
  359. package/dist/external-tools/bazel/resolve-bazel-version.js +59 -0
  360. package/dist/external-tools/bazel/resolve.d.ts +35 -0
  361. package/dist/external-tools/bazel/resolve.js +68 -0
  362. package/dist/external-tools/bazel/types.d.ts +22 -0
  363. package/dist/external-tools/bazel/types.js +18 -0
  364. package/dist/external-tools/cdxgen/asset-names.d.ts +58 -0
  365. package/dist/external-tools/cdxgen/asset-names.js +79 -0
  366. package/dist/external-tools/cdxgen/from-download.d.ts +43 -0
  367. package/dist/external-tools/cdxgen/from-download.js +83 -0
  368. package/dist/external-tools/cdxgen/from-path.d.ts +5 -0
  369. package/dist/external-tools/cdxgen/from-path.js +40 -0
  370. package/dist/external-tools/cdxgen/from-vfs.d.ts +7 -0
  371. package/dist/external-tools/cdxgen/from-vfs.js +47 -0
  372. package/dist/external-tools/cdxgen/resolve.d.ts +32 -0
  373. package/dist/external-tools/cdxgen/resolve.js +73 -0
  374. package/dist/external-tools/cdxgen/types.d.ts +33 -0
  375. package/dist/external-tools/cdxgen/types.js +18 -0
  376. package/dist/external-tools/from-download.d.ts +162 -0
  377. package/dist/external-tools/from-download.js +72 -0
  378. package/dist/external-tools/janus/asset-names.d.ts +43 -0
  379. package/dist/external-tools/janus/asset-names.js +57 -0
  380. package/dist/external-tools/janus/from-download.d.ts +26 -0
  381. package/dist/external-tools/janus/from-download.js +73 -0
  382. package/dist/external-tools/janus/from-path.d.ts +5 -0
  383. package/dist/external-tools/janus/from-path.js +40 -0
  384. package/dist/external-tools/janus/from-vfs.d.ts +7 -0
  385. package/dist/external-tools/janus/from-vfs.js +47 -0
  386. package/dist/external-tools/janus/resolve.d.ts +28 -0
  387. package/dist/external-tools/janus/resolve.js +73 -0
  388. package/dist/external-tools/janus/types.d.ts +24 -0
  389. package/dist/external-tools/janus/types.js +18 -0
  390. package/dist/external-tools/jre/asset-names.d.ts +91 -0
  391. package/dist/external-tools/jre/asset-names.js +88 -0
  392. package/dist/external-tools/jre/detect-platform-arch.d.ts +8 -0
  393. package/dist/external-tools/jre/detect-platform-arch.js +52 -0
  394. package/dist/external-tools/jre/from-download.d.ts +62 -0
  395. package/dist/external-tools/jre/from-download.js +70 -0
  396. package/dist/external-tools/jre/from-java-home.d.ts +10 -0
  397. package/dist/external-tools/jre/from-java-home.js +57 -0
  398. package/dist/external-tools/jre/from-path.d.ts +9 -0
  399. package/dist/external-tools/jre/from-path.js +52 -0
  400. package/dist/external-tools/jre/from-vfs.d.ts +17 -0
  401. package/dist/external-tools/jre/from-vfs.js +64 -0
  402. package/dist/external-tools/jre/resolve.d.ts +40 -0
  403. package/dist/external-tools/jre/resolve.js +78 -0
  404. package/dist/external-tools/jre/types.d.ts +28 -0
  405. package/dist/external-tools/jre/types.js +18 -0
  406. package/dist/external-tools/manifest.d.ts +105 -0
  407. package/dist/external-tools/manifest.js +167 -0
  408. package/dist/external-tools/opengrep/asset-names.d.ts +44 -0
  409. package/dist/external-tools/opengrep/asset-names.js +78 -0
  410. package/dist/external-tools/opengrep/from-download.d.ts +17 -0
  411. package/dist/external-tools/opengrep/from-download.js +83 -0
  412. package/dist/external-tools/opengrep/from-path.d.ts +5 -0
  413. package/dist/external-tools/opengrep/from-path.js +40 -0
  414. package/dist/external-tools/opengrep/from-vfs.d.ts +8 -0
  415. package/dist/external-tools/opengrep/from-vfs.js +47 -0
  416. package/dist/external-tools/opengrep/resolve.d.ts +26 -0
  417. package/dist/external-tools/opengrep/resolve.js +73 -0
  418. package/dist/external-tools/opengrep/types.d.ts +24 -0
  419. package/dist/external-tools/opengrep/types.js +18 -0
  420. package/dist/external-tools/sbt/asset-names.d.ts +31 -0
  421. package/dist/external-tools/sbt/asset-names.js +33 -0
  422. package/dist/external-tools/sbt/from-download.d.ts +44 -0
  423. package/dist/external-tools/sbt/from-download.js +64 -0
  424. package/dist/external-tools/sbt/from-path.d.ts +8 -0
  425. package/dist/external-tools/sbt/from-path.js +41 -0
  426. package/dist/external-tools/sbt/from-vfs.d.ts +14 -0
  427. package/dist/external-tools/sbt/from-vfs.js +48 -0
  428. package/dist/external-tools/sbt/resolve.d.ts +31 -0
  429. package/dist/external-tools/sbt/resolve.js +73 -0
  430. package/dist/external-tools/sbt/types.d.ts +32 -0
  431. package/dist/external-tools/sbt/types.js +18 -0
  432. package/dist/external-tools/synp/asset-names.d.ts +14 -0
  433. package/dist/external-tools/synp/asset-names.js +32 -0
  434. package/dist/external-tools/synp/from-download.d.ts +18 -0
  435. package/dist/external-tools/synp/from-download.js +44 -0
  436. package/dist/external-tools/synp/from-path.d.ts +5 -0
  437. package/dist/external-tools/synp/from-path.js +40 -0
  438. package/dist/external-tools/synp/from-vfs.d.ts +7 -0
  439. package/dist/external-tools/synp/from-vfs.js +47 -0
  440. package/dist/external-tools/synp/resolve.d.ts +21 -0
  441. package/dist/external-tools/synp/resolve.js +72 -0
  442. package/dist/external-tools/synp/types.d.ts +19 -0
  443. package/dist/external-tools/synp/types.js +18 -0
  444. package/dist/external-tools/trivy/asset-names.d.ts +34 -0
  445. package/dist/external-tools/trivy/asset-names.js +68 -0
  446. package/dist/external-tools/trivy/from-download.d.ts +17 -0
  447. package/dist/external-tools/trivy/from-download.js +67 -0
  448. package/dist/external-tools/trivy/from-path.d.ts +5 -0
  449. package/dist/external-tools/trivy/from-path.js +40 -0
  450. package/dist/external-tools/trivy/from-vfs.d.ts +7 -0
  451. package/dist/external-tools/trivy/from-vfs.js +47 -0
  452. package/dist/external-tools/trivy/resolve.d.ts +26 -0
  453. package/dist/external-tools/trivy/resolve.js +73 -0
  454. package/dist/external-tools/trivy/types.d.ts +24 -0
  455. package/dist/external-tools/trivy/types.js +18 -0
  456. package/dist/external-tools/trufflehog/asset-names.d.ts +34 -0
  457. package/dist/external-tools/trufflehog/asset-names.js +72 -0
  458. package/dist/external-tools/trufflehog/from-download.d.ts +37 -0
  459. package/dist/external-tools/trufflehog/from-download.js +65 -0
  460. package/dist/external-tools/trufflehog/from-path.d.ts +7 -0
  461. package/dist/external-tools/trufflehog/from-path.js +40 -0
  462. package/dist/external-tools/trufflehog/from-vfs.d.ts +11 -0
  463. package/dist/external-tools/trufflehog/from-vfs.js +47 -0
  464. package/dist/external-tools/trufflehog/resolve.d.ts +30 -0
  465. package/dist/external-tools/trufflehog/resolve.js +73 -0
  466. package/dist/external-tools/trufflehog/types.d.ts +25 -0
  467. package/dist/external-tools/trufflehog/types.js +18 -0
  468. package/dist/external-tools/uv/asset-names.d.ts +36 -0
  469. package/dist/external-tools/uv/asset-names.js +80 -0
  470. package/dist/external-tools/uv/from-download.d.ts +17 -0
  471. package/dist/external-tools/uv/from-download.js +68 -0
  472. package/dist/external-tools/uv/from-path.d.ts +5 -0
  473. package/dist/external-tools/uv/from-path.js +40 -0
  474. package/dist/external-tools/uv/from-vfs.d.ts +7 -0
  475. package/dist/external-tools/uv/from-vfs.js +47 -0
  476. package/dist/external-tools/uv/resolve.d.ts +25 -0
  477. package/dist/external-tools/uv/resolve.js +73 -0
  478. package/dist/external-tools/uv/types.d.ts +24 -0
  479. package/dist/external-tools/uv/types.js +18 -0
  480. package/dist/fs/_internal.d.ts +22 -0
  481. package/dist/fs/_internal.js +48 -0
  482. package/dist/fs/encoding.d.ts +49 -0
  483. package/dist/fs/encoding.js +102 -0
  484. package/dist/fs/find-up.d.ts +58 -0
  485. package/dist/fs/find-up.js +152 -0
  486. package/dist/fs/inspect.d.ts +117 -0
  487. package/dist/fs/inspect.js +112 -0
  488. package/dist/fs/path-cache.d.ts +21 -0
  489. package/dist/fs/path-cache.js +35 -0
  490. package/dist/fs/read-dir.d.ts +66 -0
  491. package/dist/fs/read-dir.js +86 -0
  492. package/dist/fs/read-file.d.ts +150 -0
  493. package/dist/fs/read-file.js +131 -0
  494. package/dist/fs/read-json-cache.d.ts +83 -0
  495. package/dist/fs/read-json-cache.js +156 -0
  496. package/dist/fs/read-json.d.ts +77 -0
  497. package/dist/fs/read-json.js +192 -0
  498. package/dist/fs/safe.d.ts +153 -0
  499. package/dist/fs/safe.js +182 -0
  500. package/dist/fs/types.d.ts +291 -0
  501. package/dist/fs/types.js +18 -0
  502. package/dist/fs/unique.d.ts +29 -0
  503. package/dist/fs/unique.js +51 -0
  504. package/dist/fs/validate.d.ts +40 -0
  505. package/dist/fs/validate.js +46 -0
  506. package/dist/fs/write-json.d.ts +78 -0
  507. package/dist/fs/write-json.js +83 -0
  508. package/dist/git/_internal.d.ts +105 -0
  509. package/dist/git/_internal.js +236 -0
  510. package/dist/git/changed.d.ts +145 -0
  511. package/dist/git/changed.js +83 -0
  512. package/dist/git/repo.d.ts +62 -0
  513. package/dist/git/repo.js +111 -0
  514. package/dist/git/staged.d.ts +138 -0
  515. package/dist/git/staged.js +71 -0
  516. package/dist/git/types.d.ts +109 -0
  517. package/dist/git/types.js +18 -0
  518. package/dist/git/unstaged.d.ts +141 -0
  519. package/dist/git/unstaged.js +71 -0
  520. package/dist/github/constants.d.ts +18 -0
  521. package/dist/github/constants.js +36 -0
  522. package/dist/github/errors.d.ts +36 -0
  523. package/dist/github/errors.js +40 -0
  524. package/dist/github/fetch.d.ts +89 -0
  525. package/dist/github/fetch.js +87 -0
  526. package/dist/github/ghsa.d.ts +118 -0
  527. package/dist/github/ghsa.js +178 -0
  528. package/dist/github/refs-cache.d.ts +40 -0
  529. package/dist/github/refs-cache.js +49 -0
  530. package/dist/github/refs-graphql.d.ts +42 -0
  531. package/dist/github/refs-graphql.js +109 -0
  532. package/dist/github/refs-rest.d.ts +23 -0
  533. package/dist/github/refs-rest.js +104 -0
  534. package/dist/github/refs.d.ts +84 -0
  535. package/dist/github/refs.js +67 -0
  536. package/dist/github/token.d.ts +77 -0
  537. package/dist/github/token.js +55 -0
  538. package/dist/github/types.d.ts +277 -0
  539. package/dist/github/types.js +18 -0
  540. package/dist/globs/_internal.d.ts +46 -0
  541. package/dist/globs/_internal.js +96 -0
  542. package/dist/globs/defaults.d.ts +7 -0
  543. package/dist/globs/defaults.js +61 -0
  544. package/dist/globs/match.d.ts +59 -0
  545. package/dist/globs/match.js +84 -0
  546. package/dist/globs/matcher.d.ts +46 -0
  547. package/dist/globs/matcher.js +99 -0
  548. package/dist/globs/stream.d.ts +18 -0
  549. package/dist/globs/stream.js +58 -0
  550. package/dist/globs/types.d.ts +35 -0
  551. package/dist/globs/types.js +18 -0
  552. package/dist/http-request/_internal.d.ts +18 -0
  553. package/dist/http-request/_internal.js +39 -0
  554. package/dist/http-request/browser-fetch.d.ts +10 -0
  555. package/dist/http-request/browser-fetch.js +32 -0
  556. package/dist/http-request/browser.d.ts +190 -0
  557. package/dist/http-request/browser.js +224 -0
  558. package/dist/http-request/checksums.d.ts +69 -0
  559. package/dist/http-request/checksums.js +72 -0
  560. package/dist/http-request/convenience.d.ts +104 -0
  561. package/dist/http-request/convenience.js +96 -0
  562. package/dist/http-request/download-types.d.ts +224 -0
  563. package/dist/http-request/download-types.js +18 -0
  564. package/dist/http-request/download.d.ts +71 -0
  565. package/dist/http-request/download.js +201 -0
  566. package/dist/http-request/errors.d.ts +23 -0
  567. package/dist/http-request/errors.js +50 -0
  568. package/dist/http-request/headers.d.ts +57 -0
  569. package/dist/http-request/headers.js +86 -0
  570. package/dist/http-request/request-attempt.d.ts +21 -0
  571. package/dist/http-request/request-attempt.js +288 -0
  572. package/dist/http-request/request-types.d.ts +253 -0
  573. package/dist/http-request/request-types.js +18 -0
  574. package/dist/http-request/request.d.ts +59 -0
  575. package/dist/http-request/request.js +111 -0
  576. package/dist/http-request/response-reader.d.ts +25 -0
  577. package/dist/http-request/response-reader.js +54 -0
  578. package/dist/http-request/response-types.d.ts +123 -0
  579. package/dist/http-request/response-types.js +40 -0
  580. package/dist/http-request/user-agent.d.ts +55 -0
  581. package/dist/http-request/user-agent.js +61 -0
  582. package/dist/{dlx/integrity.d.ts → integrity.d.ts} +36 -30
  583. package/dist/{dlx/integrity.js → integrity.js} +25 -19
  584. package/dist/ipc/_internal.d.ts +25 -0
  585. package/dist/ipc/_internal.js +50 -0
  586. package/dist/ipc/directory.d.ts +18 -0
  587. package/dist/ipc/directory.js +66 -0
  588. package/dist/ipc/paths.d.ts +37 -0
  589. package/dist/ipc/paths.js +48 -0
  590. package/dist/ipc/types.d.ts +22 -0
  591. package/dist/ipc/types.js +18 -0
  592. package/dist/ipc/write.d.ts +39 -0
  593. package/dist/ipc/write.js +77 -0
  594. package/dist/ipc-cli/get.d.ts +21 -0
  595. package/dist/{ipc-cli.js → ipc-cli/get.js} +5 -5
  596. package/dist/ipc-cli/types.d.ts +14 -0
  597. package/dist/ipc-cli/types.js +18 -0
  598. package/dist/json/edit.d.ts +22 -8
  599. package/dist/json/edit.js +85 -96
  600. package/dist/json/format.d.ts +100 -86
  601. package/dist/json/format.js +4 -3
  602. package/dist/json/parse.d.ts +113 -88
  603. package/dist/json/parse.js +30 -24
  604. package/dist/json/types.d.ts +133 -117
  605. package/dist/links/create.d.ts +65 -0
  606. package/dist/{links.js → links/create.js} +10 -10
  607. package/dist/links/types.d.ts +19 -0
  608. package/dist/links/types.js +18 -0
  609. package/dist/logger/_internal.d.ts +82 -0
  610. package/dist/logger/_internal.js +80 -0
  611. package/dist/logger/browser.d.ts +16 -0
  612. package/dist/logger/browser.js +65 -0
  613. package/dist/logger/colors.d.ts +18 -0
  614. package/dist/logger/colors.js +54 -0
  615. package/dist/logger/console.d.ts +33 -0
  616. package/dist/logger/console.js +119 -0
  617. package/dist/logger/default.d.ts +405 -0
  618. package/dist/logger/default.js +854 -0
  619. package/dist/logger/symbols-builder.d.ts +29 -0
  620. package/dist/logger/symbols-builder.js +61 -0
  621. package/dist/logger/symbols.d.ts +61 -0
  622. package/dist/logger/symbols.js +129 -0
  623. package/dist/logger/types.d.ts +88 -0
  624. package/dist/logger/types.js +18 -0
  625. package/dist/memo/_internal.d.ts +16 -0
  626. package/dist/memo/_internal.js +53 -0
  627. package/dist/memo/async.d.ts +32 -0
  628. package/dist/memo/async.js +120 -0
  629. package/dist/memo/clear.d.ts +15 -0
  630. package/dist/memo/clear.js +37 -0
  631. package/dist/memo/decorator.d.ts +29 -0
  632. package/dist/memo/decorator.js +40 -0
  633. package/dist/memo/memoize.d.ts +33 -0
  634. package/dist/memo/memoize.js +91 -0
  635. package/dist/memo/once.d.ts +25 -0
  636. package/dist/memo/once.js +44 -0
  637. package/dist/memo/types.d.ts +43 -0
  638. package/dist/memo/types.js +18 -0
  639. package/dist/memo/weak.d.ts +26 -0
  640. package/dist/memo/weak.js +44 -0
  641. package/dist/node/async-hooks.d.ts +2 -2
  642. package/dist/node/child-process.d.ts +5 -7
  643. package/dist/node/crypto.d.ts +2 -2
  644. package/dist/node/events.d.ts +2 -2
  645. package/dist/node/fs-promises.d.ts +2 -2
  646. package/dist/node/fs.d.ts +6 -10
  647. package/dist/node/http.d.ts +2 -2
  648. package/dist/node/https.d.ts +2 -2
  649. package/dist/node/module.d.ts +7 -0
  650. package/dist/node/module.js +41 -0
  651. package/dist/node/os.d.ts +2 -2
  652. package/dist/node/path.d.ts +2 -2
  653. package/dist/node/timers-promises.d.ts +2 -2
  654. package/dist/node/url.d.ts +2 -2
  655. package/dist/node/util.d.ts +2 -2
  656. package/dist/objects/getters.d.ts +116 -0
  657. package/dist/objects/getters.js +137 -0
  658. package/dist/objects/inspect.d.ts +67 -0
  659. package/dist/objects/inspect.js +59 -0
  660. package/dist/objects/mutate.d.ts +72 -0
  661. package/dist/objects/mutate.js +81 -0
  662. package/dist/objects/predicates.d.ts +96 -0
  663. package/dist/objects/predicates.js +68 -0
  664. package/dist/objects/sort.d.ts +88 -0
  665. package/dist/objects/sort.js +85 -0
  666. package/dist/objects/types.d.ts +68 -0
  667. package/dist/objects/types.js +18 -0
  668. package/dist/packages/edit-class.d.ts +39 -0
  669. package/dist/packages/edit-class.js +269 -0
  670. package/dist/packages/edit.d.ts +60 -61
  671. package/dist/packages/edit.js +21 -286
  672. package/dist/packages/exports.d.ts +30 -28
  673. package/dist/packages/exports.js +38 -34
  674. package/dist/packages/isolation.d.ts +16 -7
  675. package/dist/packages/isolation.js +52 -59
  676. package/dist/packages/licenses.d.ts +49 -45
  677. package/dist/packages/licenses.js +13 -18
  678. package/dist/packages/manifest.d.ts +14 -14
  679. package/dist/packages/manifest.js +16 -15
  680. package/dist/packages/normalize.d.ts +17 -16
  681. package/dist/packages/normalize.js +20 -17
  682. package/dist/packages/operations.d.ts +49 -36
  683. package/dist/packages/operations.js +30 -15
  684. package/dist/packages/provenance.d.ts +22 -9
  685. package/dist/packages/provenance.js +76 -66
  686. package/dist/packages/specs.d.ts +21 -21
  687. package/dist/packages/specs.js +7 -7
  688. package/dist/{packages.d.ts → packages/types.d.ts} +14 -20
  689. package/dist/packages/types.js +18 -0
  690. package/dist/packages/validation.d.ts +13 -13
  691. package/dist/packages/validation.js +2 -2
  692. package/dist/paths/_internal.d.ts +51 -0
  693. package/dist/paths/_internal.js +102 -0
  694. package/dist/paths/conversion.d.ts +82 -0
  695. package/dist/paths/conversion.js +74 -0
  696. package/dist/paths/dirnames.d.ts +1 -1
  697. package/dist/paths/exts.d.ts +1 -1
  698. package/dist/paths/filenames.d.ts +1 -1
  699. package/dist/paths/globs.d.ts +1 -1
  700. package/dist/paths/normalize.d.ts +30 -440
  701. package/dist/paths/normalize.js +49 -289
  702. package/dist/paths/packages.d.ts +7 -1
  703. package/dist/paths/packages.js +7 -12
  704. package/dist/paths/predicates.d.ts +129 -0
  705. package/dist/paths/predicates.js +121 -0
  706. package/dist/paths/resolve.d.ts +71 -0
  707. package/dist/paths/resolve.js +135 -0
  708. package/dist/paths/rewire.d.ts +37 -38
  709. package/dist/paths/rewire.js +3 -3
  710. package/dist/paths/socket.d.ts +146 -47
  711. package/dist/paths/socket.js +23 -25
  712. package/dist/perf/_internal.d.ts +10 -0
  713. package/dist/perf/_internal.js +30 -0
  714. package/dist/perf/enabled.d.ts +13 -0
  715. package/dist/perf/enabled.js +33 -0
  716. package/dist/perf/metrics.d.ts +51 -0
  717. package/dist/perf/metrics.js +74 -0
  718. package/dist/perf/report.d.ts +40 -0
  719. package/dist/perf/report.js +85 -0
  720. package/dist/perf/timer.d.ts +100 -0
  721. package/dist/perf/timer.js +137 -0
  722. package/dist/perf/types.d.ts +15 -0
  723. package/dist/perf/types.js +18 -0
  724. package/dist/pkg-ext/data.d.ts +8 -0
  725. package/dist/{package-extensions.js → pkg-ext/data.js} +4 -4
  726. package/dist/pkg-ext/types.d.ts +6 -0
  727. package/dist/pkg-ext/types.js +18 -0
  728. package/dist/primordials/array.d.ts +73 -0
  729. package/dist/primordials/array.js +220 -0
  730. package/dist/primordials/buffer.d.ts +17 -0
  731. package/dist/primordials/buffer.js +61 -0
  732. package/dist/primordials/date.d.ts +16 -0
  733. package/dist/primordials/date.js +56 -0
  734. package/dist/primordials/error.d.ts +19 -0
  735. package/dist/primordials/error.js +75 -0
  736. package/dist/primordials/function.d.ts +10 -0
  737. package/dist/primordials/function.js +42 -0
  738. package/dist/primordials/globals.d.ts +20 -0
  739. package/dist/primordials/globals.js +60 -0
  740. package/dist/primordials/json.d.ts +11 -0
  741. package/dist/primordials/json.js +33 -0
  742. package/dist/primordials/map-set.d.ts +35 -0
  743. package/dist/primordials/map-set.js +115 -0
  744. package/dist/primordials/math.d.ts +51 -0
  745. package/dist/primordials/math.js +161 -0
  746. package/dist/primordials/number.d.ts +25 -0
  747. package/dist/primordials/number.js +92 -0
  748. package/dist/primordials/object.d.ts +74 -0
  749. package/dist/primordials/object.js +142 -0
  750. package/dist/primordials/promise.d.ts +34 -0
  751. package/dist/primordials/promise.js +61 -0
  752. package/dist/primordials/reflect.d.ts +18 -0
  753. package/dist/primordials/reflect.js +66 -0
  754. package/dist/primordials/regexp.d.ts +14 -0
  755. package/dist/primordials/regexp.js +50 -0
  756. package/dist/primordials/string.d.ts +71 -0
  757. package/dist/primordials/string.js +174 -0
  758. package/dist/primordials/symbol.d.ts +28 -0
  759. package/dist/primordials/symbol.js +94 -0
  760. package/dist/primordials/uncurry.d.ts +18 -0
  761. package/dist/primordials/uncurry.js +65 -0
  762. package/dist/primordials/url.d.ts +13 -0
  763. package/dist/primordials/url.js +69 -0
  764. package/dist/process/_internal.d.ts +8 -0
  765. package/dist/process/_internal.js +33 -0
  766. package/dist/process/abort.d.ts +20 -0
  767. package/dist/{constants/process.js → process/abort.js} +3 -3
  768. package/dist/process/lock-instance.d.ts +19 -0
  769. package/dist/process/lock-instance.js +31 -0
  770. package/dist/process/lock-manager.d.ts +152 -0
  771. package/dist/{process-lock.js → process/lock-manager.js} +98 -106
  772. package/dist/process/lock-types.d.ts +43 -0
  773. package/dist/process/lock-types.js +18 -0
  774. package/dist/process/spawn/_internal.d.ts +24 -0
  775. package/dist/process/spawn/_internal.js +62 -0
  776. package/dist/process/spawn/child.d.ts +134 -0
  777. package/dist/process/spawn/child.js +216 -0
  778. package/dist/process/spawn/errors.d.ts +45 -0
  779. package/dist/process/spawn/errors.js +118 -0
  780. package/dist/process/spawn/stdio.d.ts +37 -0
  781. package/dist/process/spawn/stdio.js +38 -0
  782. package/dist/process/spawn/types.d.ts +325 -0
  783. package/dist/process/spawn/types.js +18 -0
  784. package/dist/process/transient.d.ts +22 -0
  785. package/dist/{temporary-executor.js → process/transient.js} +8 -8
  786. package/dist/promises/_internal.d.ts +15 -0
  787. package/dist/promises/_internal.js +41 -0
  788. package/dist/promises/iterate.d.ts +190 -0
  789. package/dist/promises/iterate.js +111 -0
  790. package/dist/promises/options.d.ts +76 -0
  791. package/dist/promises/options.js +108 -0
  792. package/dist/promises/queue.d.ts +51 -0
  793. package/dist/{promise-queue.js → promises/queue.js} +27 -22
  794. package/dist/promises/resolvers.d.ts +55 -0
  795. package/dist/promises/resolvers.js +49 -0
  796. package/dist/promises/retry.d.ts +105 -0
  797. package/dist/promises/retry.js +104 -0
  798. package/dist/promises/types.d.ts +203 -0
  799. package/dist/promises/types.js +18 -0
  800. package/dist/regexps/escape.d.ts +6 -0
  801. package/dist/regexps/escape.js +32 -0
  802. package/dist/regexps/hex.d.ts +7 -0
  803. package/dist/regexps/hex.js +38 -0
  804. package/dist/regexps/spec.d.ts +15 -0
  805. package/dist/{regexps.js → regexps/spec.js} +32 -36
  806. package/dist/releases/github-archives.d.ts +47 -36
  807. package/dist/releases/github-archives.js +22 -36
  808. package/dist/releases/github-asset-url.d.ts +72 -0
  809. package/dist/releases/github-asset-url.js +167 -0
  810. package/dist/releases/github-assets.d.ts +13 -11
  811. package/dist/releases/github-assets.js +2 -2
  812. package/dist/releases/github-auth.d.ts +9 -9
  813. package/dist/releases/github-downloads.d.ts +31 -26
  814. package/dist/releases/github-downloads.js +24 -36
  815. package/dist/releases/github-listing.d.ts +105 -0
  816. package/dist/releases/github-listing.js +171 -0
  817. package/dist/releases/github-types.d.ts +45 -19
  818. package/dist/releases/socket-btm.d.ts +149 -99
  819. package/dist/releases/socket-btm.js +14 -20
  820. package/dist/schema/parse.d.ts +14 -15
  821. package/dist/schema/parse.js +2 -2
  822. package/dist/schema/types.d.ts +49 -37
  823. package/dist/schema/validate.d.ts +42 -19
  824. package/dist/schema/validate.js +15 -6
  825. package/dist/sea/detect.d.ts +37 -0
  826. package/dist/sea/{util.js → detect.js} +6 -6
  827. package/dist/secrets/_internal.d.ts +57 -0
  828. package/dist/secrets/_internal.js +84 -0
  829. package/dist/secrets/find.d.ts +79 -0
  830. package/dist/secrets/find.js +84 -0
  831. package/dist/secrets/keychain.d.ts +138 -0
  832. package/dist/secrets/keychain.js +328 -0
  833. package/dist/secrets/linux.d.ts +20 -0
  834. package/dist/secrets/linux.js +151 -0
  835. package/dist/secrets/macos.d.ts +36 -0
  836. package/dist/secrets/macos.js +165 -0
  837. package/dist/secrets/rc.d.ts +139 -0
  838. package/dist/secrets/rc.js +196 -0
  839. package/dist/secrets/socket-api-token.d.ts +23 -0
  840. package/dist/secrets/socket-api-token.js +50 -0
  841. package/dist/secrets/types.d.ts +69 -0
  842. package/dist/secrets/types.js +18 -0
  843. package/dist/secrets/windows.d.ts +50 -0
  844. package/dist/secrets/windows.js +318 -0
  845. package/dist/shadow/skip.d.ts +25 -0
  846. package/dist/{shadow.js → shadow/skip.js} +4 -4
  847. package/dist/shadow/types.d.ts +8 -0
  848. package/dist/shadow/types.js +18 -0
  849. package/dist/smol/detect.d.ts +80 -0
  850. package/dist/smol/{util.js → detect.js} +16 -24
  851. package/dist/smol/http.d.ts +60 -0
  852. package/dist/smol/http.js +42 -0
  853. package/dist/smol/https.d.ts +59 -0
  854. package/dist/smol/https.js +42 -0
  855. package/dist/smol/manifest.d.ts +140 -0
  856. package/dist/smol/manifest.js +42 -0
  857. package/dist/smol/primordial.d.ts +16 -21
  858. package/dist/smol/primordial.js +7 -11
  859. package/dist/smol/purl.d.ts +84 -0
  860. package/dist/smol/purl.js +42 -0
  861. package/dist/smol/versions.d.ts +11 -14
  862. package/dist/smol/versions.js +7 -11
  863. package/dist/smol/vfs.d.ts +99 -0
  864. package/dist/smol/vfs.js +43 -0
  865. package/dist/sorts/_internal.d.ts +9 -0
  866. package/dist/sorts/_internal.js +47 -0
  867. package/dist/sorts/natural.d.ts +39 -0
  868. package/dist/{sorts.js → sorts/natural.js} +5 -42
  869. package/dist/sorts/semver.d.ts +15 -0
  870. package/dist/sorts/semver.js +46 -0
  871. package/dist/sorts/strings.d.ts +16 -0
  872. package/dist/sorts/strings.js +33 -0
  873. package/dist/sorts/types.d.ts +7 -0
  874. package/dist/sorts/types.js +18 -0
  875. package/dist/spinner/default.d.ts +49 -0
  876. package/dist/spinner/default.js +70 -0
  877. package/dist/spinner/format.d.ts +64 -0
  878. package/dist/spinner/format.js +83 -0
  879. package/dist/spinner/spinner.d.ts +40 -0
  880. package/dist/spinner/spinner.js +802 -0
  881. package/dist/spinner/types.d.ts +368 -0
  882. package/dist/spinner/types.js +18 -0
  883. package/dist/spinner/with.d.ts +125 -0
  884. package/dist/spinner/with.js +144 -0
  885. package/dist/ssri/convert.d.ts +48 -0
  886. package/dist/{ssri.js → ssri/convert.js} +11 -34
  887. package/dist/ssri/parse.d.ts +27 -0
  888. package/dist/ssri/parse.js +40 -0
  889. package/dist/ssri/validate.d.ts +41 -0
  890. package/dist/ssri/validate.js +39 -0
  891. package/dist/stdio/{_stream.d.ts → _internal.d.ts} +10 -5
  892. package/dist/stdio/{_stream.js → _internal.js} +3 -3
  893. package/dist/stdio/clear.d.ts +98 -84
  894. package/dist/stdio/divider.d.ts +100 -78
  895. package/dist/stdio/divider.js +36 -14
  896. package/dist/stdio/footer.d.ts +75 -51
  897. package/dist/stdio/footer.js +28 -18
  898. package/dist/stdio/header.d.ts +61 -50
  899. package/dist/stdio/header.js +15 -13
  900. package/dist/stdio/progress.d.ts +67 -57
  901. package/dist/stdio/progress.js +55 -51
  902. package/dist/stdio/prompts.d.ts +147 -100
  903. package/dist/stdio/prompts.js +23 -15
  904. package/dist/stdio/stderr.d.ts +86 -84
  905. package/dist/stdio/stderr.js +6 -6
  906. package/dist/stdio/stdout.d.ts +77 -78
  907. package/dist/stdio/stdout.js +6 -6
  908. package/dist/streams/parallel.d.ts +40 -0
  909. package/dist/{streams.js → streams/parallel.js} +10 -27
  910. package/dist/streams/transform.d.ts +20 -0
  911. package/dist/streams/transform.js +48 -0
  912. package/dist/strings/format.d.ts +115 -0
  913. package/dist/strings/format.js +73 -0
  914. package/dist/strings/predicates.d.ts +52 -0
  915. package/dist/strings/predicates.js +39 -0
  916. package/dist/strings/search.d.ts +34 -0
  917. package/dist/strings/search.js +45 -0
  918. package/dist/strings/transform.d.ts +80 -0
  919. package/dist/strings/transform.js +79 -0
  920. package/dist/strings/types.d.ts +38 -0
  921. package/dist/strings/types.js +18 -0
  922. package/dist/strings/width.d.ts +42 -0
  923. package/dist/strings/width.js +95 -0
  924. package/dist/tables/bordered.d.ts +44 -0
  925. package/dist/tables/bordered.js +84 -0
  926. package/dist/tables/padding.d.ts +18 -0
  927. package/dist/tables/padding.js +51 -0
  928. package/dist/tables/simple.d.ts +36 -0
  929. package/dist/tables/simple.js +73 -0
  930. package/dist/tables/types.d.ts +15 -0
  931. package/dist/tables/types.js +18 -0
  932. package/dist/temporal/instant.d.ts +39 -0
  933. package/dist/temporal/instant.js +91 -0
  934. package/dist/temporal/now.d.ts +24 -0
  935. package/dist/temporal/now.js +34 -0
  936. package/dist/temporal/slots.d.ts +32 -0
  937. package/dist/temporal/slots.js +45 -0
  938. package/dist/temporal/system.d.ts +20 -0
  939. package/dist/temporal/system.js +42 -0
  940. package/dist/temporal/temporal.d.ts +22 -0
  941. package/dist/temporal/temporal.js +43 -0
  942. package/dist/themes/context.d.ts +65 -48
  943. package/dist/themes/context.js +6 -2
  944. package/dist/themes/resolve.d.ts +90 -0
  945. package/dist/themes/{utils.js → resolve.js} +6 -6
  946. package/dist/themes/themes.d.ts +14 -16
  947. package/dist/themes/types.d.ts +93 -35
  948. package/dist/url/parse.d.ts +26 -0
  949. package/dist/url/parse.js +57 -0
  950. package/dist/url/predicates.d.ts +15 -0
  951. package/dist/url/predicates.js +34 -0
  952. package/dist/url/search-params.d.ts +71 -0
  953. package/dist/{url.js → url/search-params.js} +19 -54
  954. package/dist/url/types.d.ts +20 -0
  955. package/dist/url/types.js +18 -0
  956. package/dist/versions/_internal.d.ts +24 -0
  957. package/dist/versions/_internal.js +37 -0
  958. package/dist/versions/compare.d.ts +57 -0
  959. package/dist/versions/compare.js +65 -0
  960. package/dist/versions/modify.d.ts +28 -0
  961. package/dist/versions/modify.js +44 -0
  962. package/dist/versions/parse.d.ts +67 -0
  963. package/dist/versions/parse.js +77 -0
  964. package/dist/versions/range.d.ts +45 -0
  965. package/dist/versions/range.js +50 -0
  966. package/dist/versions/types.d.ts +13 -0
  967. package/dist/versions/types.js +18 -0
  968. package/dist/words/article.d.ts +14 -0
  969. package/dist/words/article.js +33 -0
  970. package/dist/words/capitalize.d.ts +15 -0
  971. package/dist/{words.js → words/capitalize.js} +5 -18
  972. package/dist/words/pluralize.d.ts +16 -0
  973. package/dist/words/pluralize.js +34 -0
  974. package/dist/words/types.d.ts +7 -0
  975. package/dist/words/types.js +18 -0
  976. package/package.json +2154 -252
  977. package/dist/abort.d.ts +0 -27
  978. package/dist/agent.d.ts +0 -196
  979. package/dist/agent.js +0 -287
  980. package/dist/ansi.d.ts +0 -39
  981. package/dist/archives.d.ts +0 -95
  982. package/dist/archives.js +0 -408
  983. package/dist/argv/flags.d.ts +0 -292
  984. package/dist/argv/flags.js +0 -297
  985. package/dist/arrays.d.ts +0 -168
  986. package/dist/bin.d.ts +0 -181
  987. package/dist/bin.js +0 -544
  988. package/dist/cacache.d.ts +0 -130
  989. package/dist/cacache.js +0 -156
  990. package/dist/cache-with-ttl.d.ts +0 -165
  991. package/dist/colors.d.ts +0 -49
  992. package/dist/compression.d.ts +0 -218
  993. package/dist/constants/process.d.ts +0 -20
  994. package/dist/crypto.d.ts +0 -36
  995. package/dist/debug.js +0 -337
  996. package/dist/env/helpers.d.ts +0 -66
  997. package/dist/env.d.ts +0 -182
  998. package/dist/env.js +0 -205
  999. package/dist/errors.d.ts +0 -100
  1000. package/dist/fs.d.ts +0 -916
  1001. package/dist/fs.js +0 -808
  1002. package/dist/git.d.ts +0 -546
  1003. package/dist/git.js +0 -409
  1004. package/dist/github.d.ts +0 -526
  1005. package/dist/github.js +0 -448
  1006. package/dist/globs.d.ts +0 -119
  1007. package/dist/globs.js +0 -282
  1008. package/dist/http-request.d.ts +0 -951
  1009. package/dist/http-request.js +0 -761
  1010. package/dist/ipc-cli.d.ts +0 -28
  1011. package/dist/ipc.d.ts +0 -76
  1012. package/dist/ipc.js +0 -130
  1013. package/dist/links.d.ts +0 -69
  1014. package/dist/logger.d.ts +0 -993
  1015. package/dist/logger.js +0 -1498
  1016. package/dist/memoization.d.ts +0 -131
  1017. package/dist/memoization.js +0 -243
  1018. package/dist/objects.d.ts +0 -500
  1019. package/dist/objects.js +0 -303
  1020. package/dist/package-extensions.d.ts +0 -9
  1021. package/dist/packages.js +0 -132
  1022. package/dist/performance.d.ts +0 -181
  1023. package/dist/performance.js +0 -233
  1024. package/dist/primordials.d.ts +0 -420
  1025. package/dist/primordials.js +0 -1116
  1026. package/dist/process-lock.d.ts +0 -180
  1027. package/dist/promise-queue.d.ts +0 -48
  1028. package/dist/promises.d.ts +0 -506
  1029. package/dist/promises.js +0 -292
  1030. package/dist/regexps.d.ts +0 -6
  1031. package/dist/releases/github-api.d.ts +0 -56
  1032. package/dist/releases/github-api.js +0 -275
  1033. package/dist/sea/util.d.ts +0 -43
  1034. package/dist/shadow.d.ts +0 -28
  1035. package/dist/signal-exit.d.ts +0 -50
  1036. package/dist/signal-exit.js +0 -247
  1037. package/dist/smol/util.d.ts +0 -87
  1038. package/dist/sorts.d.ts +0 -59
  1039. package/dist/spawn.d.ts +0 -454
  1040. package/dist/spawn.js +0 -334
  1041. package/dist/spinner.d.ts +0 -444
  1042. package/dist/spinner.js +0 -988
  1043. package/dist/ssri.d.ts +0 -90
  1044. package/dist/streams.d.ts +0 -45
  1045. package/dist/strings.d.ts +0 -414
  1046. package/dist/strings.js +0 -218
  1047. package/dist/suppress-warnings.d.ts +0 -81
  1048. package/dist/tables.d.ts +0 -73
  1049. package/dist/tables.js +0 -133
  1050. package/dist/temporary-executor.d.ts +0 -20
  1051. package/dist/themes/utils.d.ts +0 -86
  1052. package/dist/url.d.ts +0 -114
  1053. package/dist/versions.d.ts +0 -207
  1054. package/dist/versions.js +0 -181
  1055. package/dist/words.d.ts +0 -39
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @file `resolveJre()` — the JRE resolution entry point. Tries each source in
3
+ * order:
4
+ *
5
+ * 1. VFS — smol binary's embedded JRE (zero network, fast)
6
+ * 2. JAVA_HOME — user-pinned via env var
7
+ * 3. PATH — `java` (or `java.exe`) on the system PATH
8
+ * 4. download — Adoptium fetch + extract (only when `downloadIfMissing` is
9
+ * passed) Returns `undefined` if all of the enabled sources miss. The
10
+ * caller decides what to do then — typically prompt the user, surface an
11
+ * install instruction, or fail with an actionable error. Memoized per
12
+ * option-shape: calls with identical options return the same cached
13
+ * promise. Calling without `downloadIfMissing` and then with
14
+ * `downloadIfMissing` produces two distinct cache entries so the second
15
+ * call can fall through to the download tier even after the first call's
16
+ * "all local tiers missed → undefined" memoized. Test-only escape hatch:
17
+ * `resetJreResolution()` clears the cache so tests can exercise the
18
+ * resolver fresh.
19
+ */
20
+ import type { BinaryDownloader } from '../from-download';
21
+ import type { HashSpec } from '../../integrity';
22
+ import type { ResolvedJre } from './types';
23
+ export interface ResolveJreOptions {
24
+ /**
25
+ * When set, the resolver falls through to an Adoptium download after the
26
+ * local-discovery tiers miss. Omit to keep the resolver read-only (no
27
+ * network).
28
+ */
29
+ downloadIfMissing?: {
30
+ version: number;
31
+ platformArch: string;
32
+ integrity?: HashSpec | undefined;
33
+ cacheDir?: string | undefined;
34
+ downloader?: BinaryDownloader | undefined;
35
+ } | undefined;
36
+ }
37
+ export declare function cacheKey(opts: ResolveJreOptions | undefined): string;
38
+ export declare function doResolveJre(opts?: ResolveJreOptions | undefined): Promise<ResolvedJre | undefined>;
39
+ export declare function resetJreResolution(): void;
40
+ export declare function resolveJre(opts?: ResolveJreOptions | undefined): Promise<ResolvedJre | undefined>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with esbuild */
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var resolve_exports = {};
22
+ __export(resolve_exports, {
23
+ cacheKey: () => cacheKey,
24
+ doResolveJre: () => doResolveJre,
25
+ resetJreResolution: () => resetJreResolution,
26
+ resolveJre: () => resolveJre
27
+ });
28
+ module.exports = __toCommonJS(resolve_exports);
29
+ var import_from_download = require("./from-download");
30
+ var import_from_java_home = require("./from-java-home");
31
+ var import_from_path = require("./from-path");
32
+ var import_from_vfs = require("./from-vfs");
33
+ const resolutionCache = /* @__PURE__ */ new Map();
34
+ function cacheKey(opts) {
35
+ if (!opts?.downloadIfMissing) {
36
+ return "local-only";
37
+ }
38
+ const { cacheDir, integrity, platformArch, version } = opts.downloadIfMissing;
39
+ const integrityKey = typeof integrity === "string" ? integrity : integrity ? `${integrity.type}:${integrity.value}` : "";
40
+ return `dl:${version}:${platformArch}:${integrityKey}:${cacheDir ?? ""}`;
41
+ }
42
+ async function doResolveJre(opts) {
43
+ const fromVfs = await (0, import_from_vfs.jreFromVfs)();
44
+ if (fromVfs) {
45
+ return fromVfs;
46
+ }
47
+ const fromJavaHome = (0, import_from_java_home.jreFromJavaHome)();
48
+ if (fromJavaHome) {
49
+ return fromJavaHome;
50
+ }
51
+ const fromPath = await (0, import_from_path.jreFromPath)();
52
+ if (fromPath) {
53
+ return fromPath;
54
+ }
55
+ if (opts?.downloadIfMissing) {
56
+ return (0, import_from_download.jreFromDownload)(opts.downloadIfMissing);
57
+ }
58
+ return void 0;
59
+ }
60
+ function resetJreResolution() {
61
+ resolutionCache.clear();
62
+ }
63
+ function resolveJre(opts) {
64
+ const key = cacheKey(opts);
65
+ let cached = resolutionCache.get(key);
66
+ if (!cached) {
67
+ cached = doResolveJre(opts);
68
+ resolutionCache.set(key, cached);
69
+ }
70
+ return cached;
71
+ }
72
+ // Annotate the CommonJS export names for ESM import in node:
73
+ 0 && (module.exports = {
74
+ cacheKey,
75
+ doResolveJre,
76
+ resetJreResolution,
77
+ resolveJre
78
+ });
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @file Shared types for JRE resolution. Returned by `resolveJre()` to describe
3
+ * a discovered JRE:
4
+ *
5
+ * - `javaPath` — absolute path to the `java` executable
6
+ * - `javaHome` — absolute path to the JRE root (parent of `bin/`)
7
+ * - `source` — which resolver tier found this JRE Major-version detection is
8
+ * intentionally left out of the resolved shape; callers that need it spawn
9
+ * `java -version` lazily. Most external-tools callsites (Bazel, SBT) don't
10
+ * need it — they assume the JRE is compatible with their launcher.
11
+ */
12
+ import type { ResolvedToolIntegrity } from '../from-download';
13
+ import type { AdoptiumAssetQuery } from './asset-names';
14
+ export type JreSource = 'download' | 'java-home' | 'path' | 'vfs';
15
+ /**
16
+ * A resolved JRE installation. Either embedded in the smol binary's VFS,
17
+ * pointed to by `JAVA_HOME`, or present on PATH.
18
+ */
19
+ export interface ResolvedJre {
20
+ readonly javaPath: string;
21
+ readonly javaHome: string;
22
+ readonly source: JreSource;
23
+ /**
24
+ * See {@link ResolvedToolIntegrity}.
25
+ */
26
+ readonly integrity?: ResolvedToolIntegrity;
27
+ }
28
+ export type { AdoptiumAssetQuery };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with esbuild */
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
17
+ var types_exports = {};
18
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,105 @@
1
+ /**
2
+ * @file Reader for `external-tools.json` — the fleet manifest describing
3
+ * downloadable external binaries (sfw, zizmor, etc.) with pinned versions,
4
+ * per-platform asset names, and integrity hashes. The manifest itself is
5
+ * hand-maintained in each fleet repo's root (`<repo>/external-tools.json`)
6
+ * and consumed by the setup-and-install GitHub action. This reader gives
7
+ * in-process consumers (external- tools resolvers, ad-hoc scripts) the same
8
+ * typed view without each one re-implementing the JSON-parse + shape check +
9
+ * integrity-string validation. Shape: { "<tool-name>": { "description":
10
+ * "human-readable summary", "version": "1.7.2", "release": "asset" |
11
+ * "tarball" | ..., "repository": "github:owner/repo", "notes": [...],
12
+ * "checksums": { "<platform-arch>": { "asset": "<asset-filename>",
13
+ * "integrity": "sha256-base64=" } } } } Some tools have flavor variants (e.g.
14
+ * sfw's `free` / `enterprise`) that wrap the `{repository, binaryName,
15
+ * checksums}` triple under a flavor key. Use `getToolFlavor` for those. Some
16
+ * entries (e.g. `rust`) describe a system tool with a different shape —
17
+ * they're skipped by `getTool` and fully readable only via the raw
18
+ * `readManifest` returning unknown.
19
+ */
20
+ /**
21
+ * Lookup helper — return the plain tool entry for `toolName`, or `undefined` if
22
+ * the manifest doesn't have it or the entry is flavored / other-shape.
23
+ */
24
+ export declare function getTool(manifest: Manifest, toolName: string): ToolEntry | undefined;
25
+ /**
26
+ * Lookup helper — return the specific flavor of a flavored tool, or `undefined`
27
+ * if the tool isn't flavored or the flavor doesn't exist.
28
+ */
29
+ export declare function getToolFlavor(manifest: Manifest, toolName: string, flavor: string): ToolFlavor | undefined;
30
+ /**
31
+ * Per-platform asset record: which filename to fetch from the release, plus the
32
+ * integrity hash to verify against.
33
+ */
34
+ export interface ToolChecksum {
35
+ /**
36
+ * Asset filename on the GitHub release page.
37
+ */
38
+ asset: string;
39
+ /**
40
+ * SRI integrity string, e.g. `sha256-<base64>=`. Validated on read.
41
+ */
42
+ integrity: string;
43
+ }
44
+ /**
45
+ * A downloadable-binary tool entry. `checksums` is keyed by the fleet's
46
+ * platform-arch token (`darwin-arm64`, `linux-x64-musl`, `win-x64`, etc. — same
47
+ * vocabulary as `getPlatformArch`).
48
+ */
49
+ export interface ToolEntry {
50
+ description: string;
51
+ version: string;
52
+ release: string;
53
+ repository: string;
54
+ binaryName?: string | undefined;
55
+ notes?: readonly string[] | undefined;
56
+ checksums: Readonly<Record<string, ToolChecksum>>;
57
+ }
58
+ /**
59
+ * A flavored tool entry — sfw is the canonical example, with `free` and
60
+ * `enterprise` variants sharing the same outer `description` / `version` /
61
+ * `release` but each carrying its own `{repository, binaryName, checksums}`.
62
+ */
63
+ export interface FlavoredToolEntry {
64
+ description: string;
65
+ version: string;
66
+ release: string;
67
+ notes?: readonly string[] | undefined;
68
+ flavors: Readonly<Record<string, ToolFlavor>>;
69
+ }
70
+ export interface ToolFlavor {
71
+ repository: string;
72
+ binaryName?: string | undefined;
73
+ checksums: Readonly<Record<string, ToolChecksum>>;
74
+ }
75
+ /**
76
+ * Parsed manifest. `tools` is a flat map; the values are unions because some
77
+ * tools are plain (`ToolEntry`) and some are flavored (`FlavoredToolEntry`).
78
+ * Unknown shapes (rust's `components` entry, future variants) come back as `{
79
+ * kind: 'other'; raw: unknown }` so callers can opt in to handle them.
80
+ */
81
+ export interface Manifest {
82
+ tools: Readonly<Record<string, ManifestEntry>>;
83
+ }
84
+ export type ManifestEntry = {
85
+ kind: 'tool';
86
+ entry: ToolEntry;
87
+ } | {
88
+ kind: 'flavored';
89
+ entry: FlavoredToolEntry;
90
+ } | {
91
+ kind: 'other';
92
+ raw: unknown;
93
+ };
94
+ export declare function isObject(value: unknown): value is Record<string, unknown>;
95
+ export declare function parseChecksum(raw: unknown, toolName: string, platformKey: string): ToolChecksum;
96
+ export declare function parseChecksums(raw: unknown, toolName: string): Record<string, ToolChecksum>;
97
+ export declare function parseToolEntry(raw: unknown, toolName: string): ManifestEntry;
98
+ /**
99
+ * Read an `external-tools.json` file from disk and return the parsed manifest.
100
+ * Throws on malformed JSON or invalid integrity strings; unknown-shape entries
101
+ * (rust components, future variants) come back as `{kind: 'other', raw}` so
102
+ * callers can handle them out-of-band without blocking the manifest read.
103
+ */
104
+ export declare function readExternalToolsManifest(filepath: string): Promise<Manifest>;
105
+ export declare function tryParseFlavored(raw: Record<string, unknown>, toolName: string): FlavoredToolEntry | undefined;
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with esbuild */
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var manifest_exports = {};
22
+ __export(manifest_exports, {
23
+ getTool: () => getTool,
24
+ getToolFlavor: () => getToolFlavor,
25
+ isObject: () => isObject,
26
+ parseChecksum: () => parseChecksum,
27
+ parseChecksums: () => parseChecksums,
28
+ parseToolEntry: () => parseToolEntry,
29
+ readExternalToolsManifest: () => readExternalToolsManifest,
30
+ tryParseFlavored: () => tryParseFlavored
31
+ });
32
+ module.exports = __toCommonJS(manifest_exports);
33
+ var import_read_json = require("../fs/read-json");
34
+ var import_integrity = require("../integrity");
35
+ var import_array = require("../primordials/array");
36
+ var import_error = require("../primordials/error");
37
+ function getTool(manifest, toolName) {
38
+ const entry = manifest.tools[toolName];
39
+ return entry?.kind === "tool" ? entry.entry : void 0;
40
+ }
41
+ function getToolFlavor(manifest, toolName, flavor) {
42
+ const entry = manifest.tools[toolName];
43
+ if (entry?.kind !== "flavored") {
44
+ return void 0;
45
+ }
46
+ return entry.entry.flavors[flavor];
47
+ }
48
+ function isObject(value) {
49
+ return typeof value === "object" && value !== null && !(0, import_array.ArrayIsArray)(value);
50
+ }
51
+ function parseChecksum(raw, toolName, platformKey) {
52
+ if (!isObject(raw)) {
53
+ throw new import_error.ErrorCtor(
54
+ `external-tools.json: tool '${toolName}' checksum entry '${platformKey}' must be an object, got: ${typeof raw}`
55
+ );
56
+ }
57
+ const r = raw;
58
+ if (typeof r.asset !== "string" || r.asset.length === 0) {
59
+ throw new import_error.ErrorCtor(
60
+ `external-tools.json: tool '${toolName}' platform '${platformKey}' is missing a non-empty 'asset' string`
61
+ );
62
+ }
63
+ if (typeof r.integrity !== "string" || !(0, import_integrity.isIntegrityString)(r.integrity)) {
64
+ throw new import_error.ErrorCtor(
65
+ `external-tools.json: tool '${toolName}' platform '${platformKey}' has an invalid 'integrity' (expected SRI sha512 or sha256 form): ${r.integrity}`
66
+ );
67
+ }
68
+ return { asset: r.asset, integrity: r.integrity };
69
+ }
70
+ function parseChecksums(raw, toolName) {
71
+ if (!isObject(raw)) {
72
+ throw new import_error.ErrorCtor(
73
+ `external-tools.json: tool '${toolName}' is missing a 'checksums' object`
74
+ );
75
+ }
76
+ const out = {};
77
+ for (const platformKey of Object.keys(raw)) {
78
+ out[platformKey] = parseChecksum(raw[platformKey], toolName, platformKey);
79
+ }
80
+ return out;
81
+ }
82
+ function parseToolEntry(raw, toolName) {
83
+ if (!isObject(raw)) {
84
+ return { kind: "other", raw };
85
+ }
86
+ const r = raw;
87
+ if (isObject(r.checksums)) {
88
+ if (typeof r.description !== "string" || typeof r.version !== "string" || typeof r.release !== "string" || typeof r.repository !== "string") {
89
+ return { kind: "other", raw };
90
+ }
91
+ return {
92
+ kind: "tool",
93
+ entry: {
94
+ description: r.description,
95
+ version: r.version,
96
+ release: r.release,
97
+ repository: r.repository,
98
+ binaryName: typeof r.binaryName === "string" ? r.binaryName : void 0,
99
+ notes: (0, import_array.ArrayIsArray)(r.notes) ? r.notes : void 0,
100
+ checksums: parseChecksums(r.checksums, toolName)
101
+ }
102
+ };
103
+ }
104
+ const flavored = tryParseFlavored(raw, toolName);
105
+ if (flavored) {
106
+ return { kind: "flavored", entry: flavored };
107
+ }
108
+ return { kind: "other", raw };
109
+ }
110
+ async function readExternalToolsManifest(filepath) {
111
+ const raw = await (0, import_read_json.readJson)(filepath);
112
+ if (!isObject(raw)) {
113
+ throw new import_error.ErrorCtor(
114
+ `external-tools.json: expected top-level object, got: ${typeof raw}`
115
+ );
116
+ }
117
+ const tools = {};
118
+ for (const toolName of Object.keys(raw)) {
119
+ if (toolName.startsWith("$")) {
120
+ continue;
121
+ }
122
+ tools[toolName] = parseToolEntry(raw[toolName], toolName);
123
+ }
124
+ return { tools };
125
+ }
126
+ function tryParseFlavored(raw, toolName) {
127
+ const flavors = {};
128
+ for (const key of Object.keys(raw)) {
129
+ const value = raw[key];
130
+ if (!isObject(value)) {
131
+ continue;
132
+ }
133
+ const rf = value;
134
+ if (!isObject(rf.checksums)) {
135
+ continue;
136
+ }
137
+ if (typeof rf.repository !== "string") {
138
+ continue;
139
+ }
140
+ flavors[key] = {
141
+ repository: rf.repository,
142
+ binaryName: typeof rf.binaryName === "string" ? rf.binaryName : void 0,
143
+ checksums: parseChecksums(rf.checksums, `${toolName}.${key}`)
144
+ };
145
+ }
146
+ if (Object.keys(flavors).length === 0) {
147
+ return void 0;
148
+ }
149
+ return {
150
+ description: String(raw["description"] ?? ""),
151
+ version: String(raw["version"] ?? ""),
152
+ release: String(raw["release"] ?? ""),
153
+ notes: (0, import_array.ArrayIsArray)(raw["notes"]) ? raw["notes"] : void 0,
154
+ flavors
155
+ };
156
+ }
157
+ // Annotate the CommonJS export names for ESM import in node:
158
+ 0 && (module.exports = {
159
+ getTool,
160
+ getToolFlavor,
161
+ isObject,
162
+ parseChecksum,
163
+ parseChecksums,
164
+ parseToolEntry,
165
+ readExternalToolsManifest,
166
+ tryParseFlavored
167
+ });
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @file Upstream OpenGrep release asset-name mapping per `platform-arch`.
3
+ * OpenGrep publishes raw binaries (no archive wrapper) for macOS and Linux,
4
+ * and a zipped binary (`opengrep-core_windows_x86.zip` containing
5
+ * `opengrep-core.exe`) for Windows. The `isArchive` flag tells the download
6
+ * helper whether to extract or copy as-is.
7
+ */
8
+ export interface OpengrepAssetEntry {
9
+ /**
10
+ * Full asset filename (no version interpolation — OpenGrep keeps asset names
11
+ * version-free).
12
+ */
13
+ readonly asset: string;
14
+ /**
15
+ * `true` when the asset is a zip that must be extracted; `false` when the
16
+ * asset IS the binary (just copy + chmod).
17
+ */
18
+ readonly isArchive: boolean;
19
+ /**
20
+ * For archive assets, the path inside the zip to the binary. Undefined for
21
+ * bare-binary assets.
22
+ */
23
+ readonly binaryInArchive: string | undefined;
24
+ }
25
+ export declare const OPENGREP_ASSET_MAP: Readonly<Record<string, OpengrepAssetEntry>>;
26
+ export declare function getOpengrepAssetEntry(platformArch: string): OpengrepAssetEntry | undefined;
27
+ export interface OpengrepDownloadOptions {
28
+ /**
29
+ * OpenGrep release version, e.g. `'1.16.5'` (no `v` prefix; the helper
30
+ * prepends it for the release tag).
31
+ */
32
+ version: string;
33
+ /**
34
+ * Fleet platform-arch token — looked up in `OPENGREP_ASSET_MAP`.
35
+ */
36
+ platformArch: string;
37
+ }
38
+ /**
39
+ * Build the GitHub release-asset download URL for an upstream OpenGrep binary.
40
+ * Returns `undefined` when no entry exists for the requested platform-arch.
41
+ *
42
+ * Reference: https://github.com/opengrep/opengrep/releases.
43
+ */
44
+ export declare function getOpengrepDownloadUrl(opts: OpengrepDownloadOptions): string | undefined;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with esbuild */
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var asset_names_exports = {};
22
+ __export(asset_names_exports, {
23
+ OPENGREP_ASSET_MAP: () => OPENGREP_ASSET_MAP,
24
+ getOpengrepAssetEntry: () => getOpengrepAssetEntry,
25
+ getOpengrepDownloadUrl: () => getOpengrepDownloadUrl
26
+ });
27
+ module.exports = __toCommonJS(asset_names_exports);
28
+ var import_object = require("../../primordials/object");
29
+ const OPENGREP_ASSET_MAP = (0, import_object.ObjectFreeze)({
30
+ __proto__: null,
31
+ "darwin-arm64": (0, import_object.ObjectFreeze)({
32
+ __proto__: null,
33
+ asset: "opengrep_osx_arm64",
34
+ isArchive: false,
35
+ binaryInArchive: void 0
36
+ }),
37
+ "darwin-x64": (0, import_object.ObjectFreeze)({
38
+ __proto__: null,
39
+ asset: "opengrep_osx_x86",
40
+ isArchive: false,
41
+ binaryInArchive: void 0
42
+ }),
43
+ "linux-arm64": (0, import_object.ObjectFreeze)({
44
+ __proto__: null,
45
+ asset: "opengrep_manylinux_aarch64",
46
+ isArchive: false,
47
+ binaryInArchive: void 0
48
+ }),
49
+ "linux-x64": (0, import_object.ObjectFreeze)({
50
+ __proto__: null,
51
+ asset: "opengrep_manylinux_x86",
52
+ isArchive: false,
53
+ binaryInArchive: void 0
54
+ }),
55
+ "win-x64": (0, import_object.ObjectFreeze)({
56
+ __proto__: null,
57
+ asset: "opengrep-core_windows_x86.zip",
58
+ isArchive: true,
59
+ binaryInArchive: "opengrep-core.exe"
60
+ })
61
+ });
62
+ function getOpengrepAssetEntry(platformArch) {
63
+ return OPENGREP_ASSET_MAP[platformArch];
64
+ }
65
+ function getOpengrepDownloadUrl(opts) {
66
+ const { platformArch, version } = opts;
67
+ const entry = OPENGREP_ASSET_MAP[platformArch];
68
+ if (!entry) {
69
+ return void 0;
70
+ }
71
+ return `https://github.com/opengrep/opengrep/releases/download/v${version}/` + entry.asset;
72
+ }
73
+ // Annotate the CommonJS export names for ESM import in node:
74
+ 0 && (module.exports = {
75
+ OPENGREP_ASSET_MAP,
76
+ getOpengrepAssetEntry,
77
+ getOpengrepDownloadUrl
78
+ });
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @file `opengrepFromDownload()` — fetches upstream OpenGrep and returns a
3
+ * `ResolvedOpengrep` pointing at the cached binary. macOS/Linux assets are
4
+ * bare binaries (no extraction); Windows ships a zip. The asset-map's
5
+ * `isArchive` flag drives extraction vs. copy.
6
+ */
7
+ import type { BinaryDownloader } from '../from-download';
8
+ import type { HashSpec } from '../../integrity';
9
+ import type { ResolvedOpengrep } from './types';
10
+ export interface OpengrepFromDownloadOptions {
11
+ version: string;
12
+ platformArch: string;
13
+ integrity?: HashSpec | undefined;
14
+ cacheDir?: string | undefined;
15
+ downloader?: BinaryDownloader | undefined;
16
+ }
17
+ export declare function opengrepFromDownload(opts: OpengrepFromDownloadOptions): Promise<ResolvedOpengrep | undefined>;
@@ -0,0 +1,83 @@
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 from_download_exports = {};
32
+ __export(from_download_exports, {
33
+ opengrepFromDownload: () => opengrepFromDownload
34
+ });
35
+ module.exports = __toCommonJS(from_download_exports);
36
+ var import_node_path = __toESM(require("node:path"));
37
+ var import_node_fs = require("node:fs");
38
+ var import_socket = require("../../paths/socket");
39
+ var import_safe = require("../../fs/safe");
40
+ var import_from_download = require("../from-download");
41
+ var import_asset_names = require("./asset-names");
42
+ async function opengrepFromDownload(opts) {
43
+ const { cacheDir, downloader, integrity, platformArch, version } = opts;
44
+ const url = (0, import_asset_names.getOpengrepDownloadUrl)({ version, platformArch });
45
+ const entry = (0, import_asset_names.getOpengrepAssetEntry)(platformArch);
46
+ if (!url || !entry) {
47
+ return void 0;
48
+ }
49
+ const targetDir = cacheDir ?? import_node_path.default.join((0, import_socket.getSocketDlxDir)(), "opengrep", version, platformArch);
50
+ if (entry.isArchive) {
51
+ const archive2 = await (0, import_from_download.downloadAndExtractTool)({
52
+ url,
53
+ name: `opengrep-${version}-${platformArch}-${entry.asset}`,
54
+ integrity,
55
+ extractedDir: targetDir,
56
+ downloader
57
+ });
58
+ return {
59
+ path: import_node_path.default.join(targetDir, entry.binaryInArchive),
60
+ source: "download",
61
+ integrity: archive2.integrity
62
+ };
63
+ }
64
+ const archive = await (0, import_from_download.downloadToolArchive)({
65
+ url,
66
+ name: `opengrep-${version}-${platformArch}-${entry.asset}`,
67
+ integrity,
68
+ downloader
69
+ });
70
+ await (0, import_safe.safeMkdir)(targetDir);
71
+ const finalPath = import_node_path.default.join(targetDir, "opengrep");
72
+ await import_node_fs.promises.copyFile(archive.archivePath, finalPath);
73
+ await import_node_fs.promises.chmod(finalPath, 493);
74
+ return {
75
+ path: finalPath,
76
+ source: "download",
77
+ integrity: archive.integrity
78
+ };
79
+ }
80
+ // Annotate the CommonJS export names for ESM import in node:
81
+ 0 && (module.exports = {
82
+ opengrepFromDownload
83
+ });
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @file `opengrepFromPath()` — looks for `opengrep` on the system PATH.
3
+ */
4
+ import type { ResolvedOpengrep } from './types';
5
+ export declare function opengrepFromPath(): Promise<ResolvedOpengrep | undefined>;