@socketsecurity/lib 6.0.6 → 6.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (619) hide show
  1. package/CHANGELOG.md +46 -1
  2. package/README.md +1 -1
  3. package/dist/ai/agent-context.d.mts +103 -0
  4. package/dist/ai/agent-context.js +157 -0
  5. package/dist/ai/backends.d.mts +83 -0
  6. package/dist/ai/backends.js +173 -0
  7. package/dist/ai/credentials.d.mts +49 -0
  8. package/dist/ai/credentials.js +82 -0
  9. package/dist/ai/discover.d.mts +6 -2
  10. package/dist/ai/discover.js +4 -3
  11. package/dist/ai/exec.d.mts +52 -0
  12. package/dist/ai/exec.js +92 -0
  13. package/dist/ai/http.d.mts +132 -0
  14. package/dist/ai/http.js +130 -0
  15. package/dist/ai/profiles.d.mts +41 -6
  16. package/dist/ai/profiles.js +52 -10
  17. package/dist/ai/route.d.mts +69 -0
  18. package/dist/ai/route.js +156 -0
  19. package/dist/ai/spawn.d.mts +10 -2
  20. package/dist/ai/spawn.js +56 -31
  21. package/dist/ai/subagent-status.d.mts +48 -0
  22. package/dist/ai/subagent-status.js +57 -0
  23. package/dist/ai/tier.d.mts +60 -0
  24. package/dist/ai/tier.js +53 -0
  25. package/dist/ai/types.d.mts +31 -6
  26. package/dist/ai/worktree.d.mts +6 -6
  27. package/dist/ai/worktree.js +5 -1
  28. package/dist/ansi/strip.d.ts +1 -1
  29. package/dist/ansi/strip.js +0 -2
  30. package/dist/archives/_internal.js +7 -9
  31. package/dist/archives/extract.js +1 -1
  32. package/dist/archives/tar.js +7 -7
  33. package/dist/archives/zip.js +5 -7
  34. package/dist/argv/flag-predicates.d.ts +12 -12
  35. package/dist/argv/flag-predicates.js +17 -17
  36. package/dist/argv/flag-types.d.ts +18 -18
  37. package/dist/argv/flag-types.js +4 -4
  38. package/dist/argv/parse.d.ts +20 -3
  39. package/dist/argv/parse.js +1 -1
  40. package/dist/arrays/_internal.js +11 -12
  41. package/dist/arrays/chunk.js +0 -1
  42. package/dist/arrays/join.d.ts +37 -3
  43. package/dist/arrays/join.js +47 -7
  44. package/dist/arrays/unique.js +0 -1
  45. package/dist/bin/_internal.d.ts +1 -1
  46. package/dist/bin/_internal.js +1 -1
  47. package/dist/bin/exec.js +2 -3
  48. package/dist/bin/find.js +17 -17
  49. package/dist/bin/prim.cjs +36175 -35861
  50. package/dist/bin/resolve.js +13 -14
  51. package/dist/bin/which.js +8 -8
  52. package/dist/cache/ttl/store.js +6 -6
  53. package/dist/checks/primordials-defaults.d.ts +3 -3
  54. package/dist/checks/primordials-defaults.js +3 -3
  55. package/dist/checks/primordials.js +4 -3
  56. package/dist/{bin → cli}/check-primordials.d.ts +18 -13
  57. package/dist/{bin → cli}/check-primordials.js +58 -55
  58. package/dist/{bin → cli}/check.js +3 -3
  59. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  60. package/dist/{bin → cli}/socket-lib.js +4 -4
  61. package/dist/colors/socket-palette.js +7 -9
  62. package/dist/compression/_internal.d.ts +12 -12
  63. package/dist/compression/_internal.js +18 -18
  64. package/dist/compression/brotli.d.ts +26 -27
  65. package/dist/compression/brotli.js +39 -35
  66. package/dist/compression/gzip.d.ts +23 -23
  67. package/dist/compression/gzip.js +46 -42
  68. package/dist/constants/agents.d.ts +3 -1
  69. package/dist/constants/agents.js +15 -11
  70. package/dist/constants/licenses.js +3 -3
  71. package/dist/constants/node.d.ts +23 -0
  72. package/dist/constants/node.js +47 -15
  73. package/dist/constants/packages.d.ts +3 -0
  74. package/dist/constants/packages.js +24 -29
  75. package/dist/constants/platform.d.ts +30 -3
  76. package/dist/constants/platform.js +72 -12
  77. package/dist/constants/runtime.d.ts +22 -0
  78. package/dist/constants/runtime.js +32 -0
  79. package/dist/constants/socket.d.ts +2 -6
  80. package/dist/constants/socket.js +12 -14
  81. package/dist/cover/code.js +10 -10
  82. package/dist/cover/formatters.js +5 -5
  83. package/dist/crypto/hash.d.ts +30 -2
  84. package/dist/crypto/hash.js +47 -13
  85. package/dist/debug/_internal.js +4 -6
  86. package/dist/debug/caller-info.js +3 -4
  87. package/dist/debug/namespace.d.ts +7 -0
  88. package/dist/debug/namespace.js +21 -12
  89. package/dist/debug/output.js +21 -24
  90. package/dist/debug/types.d.ts +4 -4
  91. package/dist/dlx/arborist.js +18 -8
  92. package/dist/dlx/binary-cache.js +15 -15
  93. package/dist/dlx/binary-download.d.ts +1 -1
  94. package/dist/dlx/binary-download.js +11 -11
  95. package/dist/dlx/binary-resolution.js +17 -15
  96. package/dist/dlx/binary-types.d.ts +5 -5
  97. package/dist/dlx/binary.js +5 -5
  98. package/dist/dlx/cache.js +1 -1
  99. package/dist/dlx/detect.d.ts +42 -25
  100. package/dist/dlx/detect.js +86 -77
  101. package/dist/dlx/dir.js +2 -2
  102. package/dist/dlx/firewall.d.ts +9 -1
  103. package/dist/dlx/firewall.js +1 -1
  104. package/dist/dlx/lockfile.d.ts +19 -18
  105. package/dist/dlx/lockfile.js +19 -16
  106. package/dist/dlx/manifest.d.ts +6 -6
  107. package/dist/dlx/manifest.js +5 -5
  108. package/dist/dlx/package.d.ts +10 -10
  109. package/dist/dlx/package.js +20 -16
  110. package/dist/dlx/packages.js +4 -4
  111. package/dist/dlx/paths.js +7 -7
  112. package/dist/dlx/spec.js +1 -1
  113. package/dist/dlx/types.d.ts +28 -27
  114. package/dist/eco/cargo/parse-lockfile.d.ts +2 -3
  115. package/dist/eco/cargo/parse-lockfile.js +5 -5
  116. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  117. package/dist/eco/manifest/detect-format.js +5 -5
  118. package/dist/eco/manifest/find-packages.js +2 -2
  119. package/dist/eco/manifest/get-package-versions.js +2 -2
  120. package/dist/eco/manifest/get-package.js +2 -2
  121. package/dist/eco/manifest/parse-lockfile.js +2 -2
  122. package/dist/eco/manifest/parse-manifest.js +2 -2
  123. package/dist/eco/manifest/parse.js +2 -2
  124. package/dist/eco/npm/npm/exec.js +2 -2
  125. package/dist/eco/npm/npm/flags.js +7 -12
  126. package/dist/eco/npm/npm/parse-lockfile.d.ts +17 -18
  127. package/dist/eco/npm/npm/parse-lockfile.js +4 -4
  128. package/dist/eco/npm/parse-package-json.d.ts +11 -0
  129. package/dist/eco/npm/parse-package-json.js +3 -3
  130. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  131. package/dist/eco/npm/pnpm/exec.js +5 -5
  132. package/dist/eco/npm/pnpm/flags.js +0 -3
  133. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +6 -4
  134. package/dist/eco/npm/pnpm/parse-lockfile.js +7 -7
  135. package/dist/eco/npm/script.js +9 -6
  136. package/dist/eco/npm/yarnpkg/yarn/exec.js +4 -4
  137. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +3 -4
  138. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +9 -9
  139. package/dist/effects/pulse-frames.d.ts +3 -1
  140. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  141. package/dist/effects/shimmer-terminal.d.ts +1 -1
  142. package/dist/env/boolean.js +0 -1
  143. package/dist/env/ci.js +0 -1
  144. package/dist/env/debug.js +0 -1
  145. package/dist/env/github-status.d.ts +51 -0
  146. package/dist/env/github-status.js +90 -0
  147. package/dist/env/github.js +0 -8
  148. package/dist/env/home.js +0 -1
  149. package/dist/env/locale.js +0 -3
  150. package/dist/env/node-auth-token.js +0 -1
  151. package/dist/env/node-env.js +0 -1
  152. package/dist/env/node-version-managers.d.ts +53 -0
  153. package/dist/env/node-version-managers.js +90 -0
  154. package/dist/env/npm.js +0 -5
  155. package/dist/env/number.js +0 -1
  156. package/dist/env/package-manager.js +3 -6
  157. package/dist/env/path.js +0 -1
  158. package/dist/env/pre-commit.js +1 -2
  159. package/dist/env/proxy.js +1 -1
  160. package/dist/env/rewire.d.ts +8 -6
  161. package/dist/env/rewire.js +16 -17
  162. package/dist/env/shell.js +0 -1
  163. package/dist/env/socket-cli.js +5 -18
  164. package/dist/env/socket-mcp.d.ts +114 -0
  165. package/dist/env/socket-mcp.js +146 -0
  166. package/dist/env/socket.d.ts +8 -109
  167. package/dist/env/socket.js +22 -167
  168. package/dist/env/string.js +0 -1
  169. package/dist/env/temp-dir.js +0 -3
  170. package/dist/env/term.js +0 -1
  171. package/dist/env/test.js +3 -6
  172. package/dist/env/windows.js +0 -4
  173. package/dist/env/xdg.js +0 -3
  174. package/dist/errors/predicates.js +1 -1
  175. package/dist/events/exit/_internal.d.ts +11 -9
  176. package/dist/events/exit/_internal.js +31 -35
  177. package/dist/events/exit/handler.js +3 -4
  178. package/dist/events/exit/intercept.js +4 -6
  179. package/dist/events/exit/lifecycle.js +16 -18
  180. package/dist/events/exit/signals.js +1 -2
  181. package/dist/events/exit/types.d.ts +6 -5
  182. package/dist/external/@npmcli/package-json.js +2 -2
  183. package/dist/external/@npmcli/promise-spawn.js +3 -1
  184. package/dist/external/npm-pack.js +2 -2
  185. package/dist/external/pico-pack.js +4 -2
  186. package/dist/external/which.js +3 -1
  187. package/dist/external-tools/bazel/asset-names.d.ts +1 -1
  188. package/dist/external-tools/bazel/asset-names.js +5 -2
  189. package/dist/external-tools/bazel/from-download.d.ts +1 -1
  190. package/dist/external-tools/bazel/from-download.js +5 -2
  191. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  192. package/dist/external-tools/bazel/resolve-bazel-version.js +4 -0
  193. package/dist/external-tools/bazel/resolve.d.ts +3 -3
  194. package/dist/external-tools/bazel/resolve.js +16 -8
  195. package/dist/external-tools/bazel/types.d.ts +1 -1
  196. package/dist/external-tools/cdxgen/asset-names.d.ts +1 -1
  197. package/dist/external-tools/cdxgen/asset-names.js +5 -2
  198. package/dist/external-tools/cdxgen/from-download.d.ts +1 -1
  199. package/dist/external-tools/cdxgen/from-download.js +7 -4
  200. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  201. package/dist/external-tools/cdxgen/resolve.d.ts +3 -3
  202. package/dist/external-tools/cdxgen/resolve.js +16 -8
  203. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  204. package/dist/external-tools/from-download.d.ts +3 -3
  205. package/dist/external-tools/from-download.js +12 -6
  206. package/dist/external-tools/from-pip-venv.d.ts +1 -1
  207. package/dist/external-tools/from-pip-venv.js +12 -5
  208. package/dist/external-tools/janus/asset-names.d.ts +1 -1
  209. package/dist/external-tools/janus/asset-names.js +5 -2
  210. package/dist/external-tools/janus/from-download.d.ts +1 -1
  211. package/dist/external-tools/janus/from-download.js +5 -2
  212. package/dist/external-tools/janus/from-vfs.js +1 -1
  213. package/dist/external-tools/janus/resolve.d.ts +3 -3
  214. package/dist/external-tools/janus/resolve.js +16 -8
  215. package/dist/external-tools/janus/types.d.ts +1 -1
  216. package/dist/external-tools/jre/asset-names.d.ts +1 -1
  217. package/dist/external-tools/jre/asset-names.js +5 -2
  218. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  219. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  220. package/dist/external-tools/jre/from-download.d.ts +1 -1
  221. package/dist/external-tools/jre/from-download.js +7 -4
  222. package/dist/external-tools/jre/from-java-home.js +2 -2
  223. package/dist/external-tools/jre/from-vfs.js +3 -3
  224. package/dist/external-tools/jre/resolve.d.ts +3 -3
  225. package/dist/external-tools/jre/resolve.js +16 -8
  226. package/dist/external-tools/jre/types.d.ts +1 -1
  227. package/dist/external-tools/manifest.d.ts +25 -7
  228. package/dist/external-tools/manifest.js +13 -13
  229. package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
  230. package/dist/external-tools/opengrep/asset-names.js +5 -2
  231. package/dist/external-tools/opengrep/from-download.d.ts +1 -1
  232. package/dist/external-tools/opengrep/from-download.js +5 -2
  233. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  234. package/dist/external-tools/opengrep/resolve.d.ts +3 -3
  235. package/dist/external-tools/opengrep/resolve.js +16 -8
  236. package/dist/external-tools/opengrep/types.d.ts +1 -1
  237. package/dist/external-tools/python/asset-names.d.ts +76 -0
  238. package/dist/external-tools/python/asset-names.js +111 -0
  239. package/dist/external-tools/python/dlx.d.ts +80 -0
  240. package/dist/external-tools/python/dlx.js +98 -0
  241. package/dist/external-tools/python/from-download.d.ts +53 -0
  242. package/dist/external-tools/python/from-download.js +75 -0
  243. package/dist/external-tools/python/from-path.d.ts +7 -0
  244. package/dist/external-tools/python/from-path.js +23 -0
  245. package/dist/external-tools/python/pin.d.ts +121 -0
  246. package/dist/external-tools/python/pin.js +176 -0
  247. package/dist/external-tools/python/pip-install.d.ts +75 -0
  248. package/dist/external-tools/python/pip-install.js +142 -0
  249. package/dist/external-tools/python/resolve.d.ts +42 -0
  250. package/dist/external-tools/python/resolve.js +66 -0
  251. package/dist/external-tools/python/types.d.ts +49 -0
  252. package/dist/external-tools/sbt/asset-names.d.ts +1 -1
  253. package/dist/external-tools/sbt/asset-names.js +5 -2
  254. package/dist/external-tools/sbt/from-download.d.ts +1 -1
  255. package/dist/external-tools/sbt/from-download.js +5 -2
  256. package/dist/external-tools/sbt/from-vfs.js +1 -1
  257. package/dist/external-tools/sbt/resolve.d.ts +3 -3
  258. package/dist/external-tools/sbt/resolve.js +16 -8
  259. package/dist/external-tools/sbt/types.d.ts +1 -1
  260. package/dist/external-tools/skillspector/from-dlx.d.ts +1 -1
  261. package/dist/external-tools/skillspector/from-dlx.js +10 -3
  262. package/dist/external-tools/skillspector/from-path.js +3 -5
  263. package/dist/external-tools/skillspector/from-vfs.js +1 -1
  264. package/dist/external-tools/skillspector/resolve.d.ts +2 -2
  265. package/dist/external-tools/skillspector/resolve.js +14 -6
  266. package/dist/external-tools/synp/asset-names.d.ts +1 -1
  267. package/dist/external-tools/synp/asset-names.js +6 -2
  268. package/dist/external-tools/synp/from-download.d.ts +1 -1
  269. package/dist/external-tools/synp/from-download.js +7 -4
  270. package/dist/external-tools/synp/from-vfs.js +1 -1
  271. package/dist/external-tools/synp/resolve.d.ts +3 -3
  272. package/dist/external-tools/synp/resolve.js +16 -8
  273. package/dist/external-tools/trivy/asset-names.d.ts +1 -1
  274. package/dist/external-tools/trivy/asset-names.js +5 -2
  275. package/dist/external-tools/trivy/from-download.d.ts +1 -1
  276. package/dist/external-tools/trivy/from-download.js +7 -4
  277. package/dist/external-tools/trivy/from-vfs.js +1 -1
  278. package/dist/external-tools/trivy/resolve.d.ts +3 -3
  279. package/dist/external-tools/trivy/resolve.js +16 -8
  280. package/dist/external-tools/trivy/types.d.ts +1 -1
  281. package/dist/external-tools/trufflehog/asset-names.d.ts +1 -1
  282. package/dist/external-tools/trufflehog/asset-names.js +5 -2
  283. package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
  284. package/dist/external-tools/trufflehog/from-download.js +7 -4
  285. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  286. package/dist/external-tools/trufflehog/resolve.d.ts +3 -3
  287. package/dist/external-tools/trufflehog/resolve.js +16 -8
  288. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  289. package/dist/fs/_internal.d.ts +1 -1
  290. package/dist/fs/_internal.js +7 -7
  291. package/dist/fs/access.js +5 -9
  292. package/dist/fs/allowed-dirs-cache.d.ts +47 -0
  293. package/dist/fs/allowed-dirs-cache.js +69 -0
  294. package/dist/fs/encoding.js +5 -7
  295. package/dist/fs/{find-up.js → find.js} +12 -14
  296. package/dist/fs/inspect.js +7 -13
  297. package/dist/fs/read-dir.js +7 -10
  298. package/dist/fs/read-file.js +8 -14
  299. package/dist/fs/read-json-cache.d.ts +13 -4
  300. package/dist/fs/read-json-cache.js +9 -6
  301. package/dist/fs/read-json.js +4 -6
  302. package/dist/fs/resolve-module.js +7 -3
  303. package/dist/fs/safe.d.ts +1 -1
  304. package/dist/fs/safe.js +13 -14
  305. package/dist/fs/unique.js +4 -5
  306. package/dist/fs/validate.js +1 -2
  307. package/dist/fs/write-json.js +4 -5
  308. package/dist/git/_internal.js +11 -11
  309. package/dist/git/changed.js +4 -4
  310. package/dist/git/repo.js +5 -7
  311. package/dist/git/staged.js +12 -4
  312. package/dist/git/tracked.d.ts +84 -0
  313. package/dist/git/tracked.js +163 -0
  314. package/dist/git/unstaged.js +12 -4
  315. package/dist/github/ghsa.js +2 -2
  316. package/dist/github/refs-cache.d.ts +1 -1
  317. package/dist/github/refs-cache.js +5 -5
  318. package/dist/github/refs-graphql.js +4 -0
  319. package/dist/github/refs-rest.js +9 -5
  320. package/dist/github/refs.js +15 -10
  321. package/dist/github/{fetch.js → request.js} +13 -2
  322. package/dist/github/token.js +1 -1
  323. package/dist/github/types.d.ts +1 -1
  324. package/dist/globs/_internal.js +8 -10
  325. package/dist/globs/match.js +13 -7
  326. package/dist/globs/matcher.d.ts +3 -3
  327. package/dist/globs/matcher.js +16 -14
  328. package/dist/globs/stream.js +1 -2
  329. package/dist/globs/types.d.ts +24 -24
  330. package/dist/http-request/_internal.d.ts +1 -1
  331. package/dist/http-request/browser.js +10 -4
  332. package/dist/http-request/checksum-file.d.ts +55 -0
  333. package/dist/http-request/checksum-file.js +95 -0
  334. package/dist/http-request/download-types.d.ts +15 -23
  335. package/dist/http-request/download.js +3 -3
  336. package/dist/http-request/{browser-fetch.d.ts → fetch/browser.d.ts} +2 -2
  337. package/dist/http-request/{browser-fetch.js → fetch/browser.js} +4 -4
  338. package/dist/http-request/headers.js +1 -2
  339. package/dist/http-request/request-attempt.js +38 -34
  340. package/dist/http-request/request-types.d.ts +2 -2
  341. package/dist/http-request/request.js +1 -1
  342. package/dist/http-request/user-agent.js +4 -5
  343. package/dist/integrity.d.ts +92 -18
  344. package/dist/integrity.js +125 -30
  345. package/dist/ipc/directory.js +2 -2
  346. package/dist/ipc/paths.js +1 -1
  347. package/dist/ipc/write.js +1 -1
  348. package/dist/ipc-cli/get.js +12 -12
  349. package/dist/json/edit.js +51 -44
  350. package/dist/json/format.js +1 -1
  351. package/dist/json/parse.d.ts +1 -1
  352. package/dist/json/parse.js +3 -7
  353. package/dist/logger/_internal.d.ts +4 -4
  354. package/dist/logger/_internal.js +3 -3
  355. package/dist/logger/colors.js +4 -3
  356. package/dist/logger/console-methods.d.ts +132 -0
  357. package/dist/logger/console-methods.js +169 -0
  358. package/dist/logger/console.d.ts +12 -0
  359. package/dist/logger/console.js +42 -11
  360. package/dist/logger/indentation-methods.d.ts +81 -0
  361. package/dist/logger/indentation-methods.js +121 -0
  362. package/dist/logger/node.d.ts +16 -338
  363. package/dist/logger/node.js +75 -608
  364. package/dist/logger/options.d.ts +39 -0
  365. package/dist/logger/options.js +47 -0
  366. package/dist/logger/semantic-methods.d.ts +63 -0
  367. package/dist/logger/semantic-methods.js +108 -0
  368. package/dist/logger/stream-methods.d.ts +63 -0
  369. package/dist/logger/stream-methods.js +101 -0
  370. package/dist/logger/stream.d.ts +37 -0
  371. package/dist/logger/stream.js +42 -0
  372. package/dist/logger/symbols-builder.js +9 -9
  373. package/dist/logger/symbols.d.ts +2 -25
  374. package/dist/logger/symbols.js +53 -74
  375. package/dist/logger/types.d.ts +1 -1
  376. package/dist/memo/types.d.ts +6 -6
  377. package/dist/native-messaging/host.d.ts +20 -0
  378. package/dist/native-messaging/host.js +120 -0
  379. package/dist/native-messaging/index.d.ts +5 -0
  380. package/dist/native-messaging/index.js +22 -0
  381. package/dist/native-messaging/install.d.ts +60 -0
  382. package/dist/native-messaging/install.js +144 -0
  383. package/dist/native-messaging/rate-limit.d.ts +69 -0
  384. package/dist/native-messaging/rate-limit.js +119 -0
  385. package/dist/native-messaging/run.d.ts +10 -0
  386. package/dist/native-messaging/run.js +17 -0
  387. package/dist/node/async-hooks.js +4 -3
  388. package/dist/node/child-process.js +4 -3
  389. package/dist/node/crypto.js +4 -3
  390. package/dist/node/events.js +4 -3
  391. package/dist/node/fs-promises.js +4 -3
  392. package/dist/node/fs.d.ts +22 -6
  393. package/dist/node/fs.js +17 -3
  394. package/dist/node/http.js +4 -3
  395. package/dist/node/https.js +4 -3
  396. package/dist/node/module.js +10 -6
  397. package/dist/node/os.d.ts +10 -2
  398. package/dist/node/os.js +12 -4
  399. package/dist/node/path.d.ts +11 -2
  400. package/dist/node/path.js +18 -4
  401. package/dist/node/timers-promises.js +4 -3
  402. package/dist/node/url.js +4 -3
  403. package/dist/node/util.js +4 -3
  404. package/dist/objects/getters.js +6 -8
  405. package/dist/objects/inspect.js +1 -4
  406. package/dist/objects/mutate.js +4 -5
  407. package/dist/objects/predicates.js +1 -5
  408. package/dist/objects/sort.js +3 -7
  409. package/dist/packages/edit-class.d.ts +2 -3
  410. package/dist/packages/edit-class.js +53 -48
  411. package/dist/packages/edit.js +12 -14
  412. package/dist/packages/exports.js +15 -21
  413. package/dist/packages/fetch.d.ts +16 -0
  414. package/dist/packages/fetch.js +81 -0
  415. package/dist/packages/find.d.ts +55 -0
  416. package/dist/packages/find.js +65 -0
  417. package/dist/packages/isolation.js +14 -14
  418. package/dist/packages/licenses.js +18 -18
  419. package/dist/packages/manifest.js +16 -19
  420. package/dist/packages/metadata-extensions.d.ts +14 -0
  421. package/dist/packages/metadata-extensions.js +43 -0
  422. package/dist/packages/normalize.js +6 -10
  423. package/dist/packages/provenance.js +17 -19
  424. package/dist/packages/read.d.ts +29 -0
  425. package/dist/packages/read.js +66 -0
  426. package/dist/packages/specs.d.ts +48 -1
  427. package/dist/packages/specs.js +75 -12
  428. package/dist/packages/tarball.d.ts +24 -0
  429. package/dist/packages/tarball.js +81 -0
  430. package/dist/packages/types.d.ts +22 -22
  431. package/dist/packages/validation.js +0 -3
  432. package/dist/paths/_internal.d.ts +2 -1
  433. package/dist/paths/_internal.js +7 -19
  434. package/dist/paths/conversion.js +5 -9
  435. package/dist/paths/dirnames.d.ts +1 -0
  436. package/dist/paths/dirnames.js +2 -0
  437. package/dist/paths/filenames.d.ts +0 -1
  438. package/dist/paths/filenames.js +0 -2
  439. package/dist/paths/normalize.js +4 -5
  440. package/dist/paths/packages.js +4 -7
  441. package/dist/paths/predicates.js +9 -16
  442. package/dist/paths/resolve.js +17 -25
  443. package/dist/paths/rewire.d.ts +5 -0
  444. package/dist/paths/rewire.js +3 -3
  445. package/dist/paths/socket.d.ts +74 -111
  446. package/dist/paths/socket.js +106 -139
  447. package/dist/paths/walk.d.ts +1 -1
  448. package/dist/paths/walk.js +4 -4
  449. package/dist/perf/report.js +2 -2
  450. package/dist/perf/types.d.ts +1 -1
  451. package/dist/pkg-ext/data.js +1 -1
  452. package/dist/primordials/array.js +9 -9
  453. package/dist/primordials/date.js +2 -2
  454. package/dist/primordials/error.js +3 -3
  455. package/dist/primordials/headers.d.ts +10 -0
  456. package/dist/primordials/headers.js +23 -0
  457. package/dist/primordials/intl.d.ts +13 -0
  458. package/dist/primordials/intl.js +26 -0
  459. package/dist/primordials/math.js +33 -33
  460. package/dist/primordials/number.js +9 -9
  461. package/dist/primordials/object.js +5 -5
  462. package/dist/primordials/process.d.ts +88 -0
  463. package/dist/primordials/process.js +132 -0
  464. package/dist/primordials/string.d.ts +2 -2
  465. package/dist/primordials/string.js +6 -6
  466. package/dist/primordials/symbol.js +3 -3
  467. package/dist/primordials/uncurry.d.ts +1 -2
  468. package/dist/primordials/uncurry.js +9 -9
  469. package/dist/process/abort.js +3 -3
  470. package/dist/process/lock-manager.js +8 -8
  471. package/dist/process/spawn/_internal.js +6 -8
  472. package/dist/process/spawn/child.js +20 -14
  473. package/dist/process/spawn/errors.js +3 -5
  474. package/dist/process/spawn/kill-tree.d.ts +53 -0
  475. package/dist/process/spawn/kill-tree.js +85 -0
  476. package/dist/process/spawn/stdio.js +0 -1
  477. package/dist/process/spawn/types.d.ts +5 -5
  478. package/dist/process/transient.js +2 -2
  479. package/dist/promises/_internal.d.ts +2 -1
  480. package/dist/promises/_internal.js +2 -6
  481. package/dist/promises/iterate.js +11 -15
  482. package/dist/promises/options.js +3 -6
  483. package/dist/promises/retry.js +4 -5
  484. package/dist/promises/timers.d.ts +30 -0
  485. package/dist/promises/timers.js +48 -0
  486. package/dist/regexps/spec.js +1 -1
  487. package/dist/releases/github-archives.d.ts +6 -6
  488. package/dist/releases/github-archives.js +3 -3
  489. package/dist/releases/github-asset-url.d.ts +1 -1
  490. package/dist/releases/github-asset-url.js +5 -5
  491. package/dist/releases/github-downloads.d.ts +1 -1
  492. package/dist/releases/github-downloads.js +3 -3
  493. package/dist/releases/github-listing.d.ts +12 -4
  494. package/dist/releases/github-listing.js +20 -7
  495. package/dist/releases/github-retry-config.js +1 -1
  496. package/dist/releases/github-types.d.ts +6 -6
  497. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  498. package/dist/releases/socket-btm-binary-naming.js +155 -0
  499. package/dist/releases/socket-btm.d.ts +8 -115
  500. package/dist/releases/socket-btm.js +16 -159
  501. package/dist/schema/types.d.ts +4 -5
  502. package/dist/schema/validate.js +1 -1
  503. package/dist/sea/detect.js +6 -6
  504. package/dist/secrets/_internal.d.ts +2 -2
  505. package/dist/secrets/_internal.js +2 -2
  506. package/dist/secrets/compare.d.ts +45 -0
  507. package/dist/secrets/compare.js +61 -0
  508. package/dist/secrets/find.d.ts +2 -2
  509. package/dist/secrets/find.js +10 -4
  510. package/dist/secrets/keychain.d.ts +1 -1
  511. package/dist/secrets/keychain.js +6 -4
  512. package/dist/secrets/linux.js +40 -52
  513. package/dist/secrets/macos.d.ts +2 -3
  514. package/dist/secrets/macos.js +24 -33
  515. package/dist/secrets/rc.d.ts +4 -4
  516. package/dist/secrets/rc.js +27 -17
  517. package/dist/secrets/socket-api-token.d.ts +4 -4
  518. package/dist/secrets/socket-api-token.js +26 -9
  519. package/dist/secrets/windows.js +32 -37
  520. package/dist/shadow/skip.js +2 -2
  521. package/dist/shell/parse.d.ts +32 -0
  522. package/dist/shell/parse.js +60 -0
  523. package/dist/smol/detect.js +9 -10
  524. package/dist/smol/http.js +6 -7
  525. package/dist/smol/https.js +6 -7
  526. package/dist/smol/manifest.d.ts +1 -1
  527. package/dist/smol/manifest.js +6 -7
  528. package/dist/smol/path.d.ts +1 -1
  529. package/dist/smol/path.js +7 -8
  530. package/dist/smol/primordial.d.ts +4 -0
  531. package/dist/smol/primordial.js +6 -7
  532. package/dist/smol/purl.d.ts +1 -1
  533. package/dist/smol/purl.js +7 -8
  534. package/dist/smol/versions.js +6 -7
  535. package/dist/smol/vfs.js +6 -7
  536. package/dist/sorts/_internal.js +6 -8
  537. package/dist/sorts/natural.js +10 -12
  538. package/dist/sorts/semver.js +1 -2
  539. package/dist/sorts/strings.js +0 -1
  540. package/dist/sorts/types.d.ts +1 -1
  541. package/dist/spinner/create-spinner-class.d.ts +38 -0
  542. package/dist/spinner/create-spinner-class.js +302 -0
  543. package/dist/spinner/default.js +8 -9
  544. package/dist/spinner/spinner-internals.d.ts +36 -0
  545. package/dist/spinner/spinner-internals.js +105 -0
  546. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  547. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  548. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  549. package/dist/spinner/spinner-status-methods.js +133 -0
  550. package/dist/spinner/spinner.d.ts +8 -5
  551. package/dist/spinner/spinner.js +19 -706
  552. package/dist/spinner/types.d.ts +3 -1
  553. package/dist/spinner/with.d.ts +10 -0
  554. package/dist/spinner/with.js +16 -2
  555. package/dist/stdio/divider.js +1 -1
  556. package/dist/stdio/footer.js +3 -3
  557. package/dist/stdio/header.js +4 -4
  558. package/dist/stdio/progress.js +10 -6
  559. package/dist/stdio/prompts.d.ts +7 -5
  560. package/dist/stdio/prompts.js +7 -8
  561. package/dist/stdio/stdout.js +3 -3
  562. package/dist/streams/parallel.js +3 -5
  563. package/dist/streams/transform.js +2 -3
  564. package/dist/strings/format.js +2 -6
  565. package/dist/strings/predicates.js +0 -2
  566. package/dist/strings/search.js +1 -2
  567. package/dist/strings/transform.js +0 -3
  568. package/dist/strings/width.js +9 -10
  569. package/dist/tables/bordered.js +4 -3
  570. package/dist/tables/padding.js +1 -1
  571. package/dist/tables/simple.js +8 -5
  572. package/dist/temporal/instant.js +1 -1
  573. package/dist/temporal/slots.js +6 -6
  574. package/dist/temporal/system.js +9 -9
  575. package/dist/themes/context.d.ts +3 -2
  576. package/dist/themes/context.js +4 -5
  577. package/dist/themes/themes.js +15 -15
  578. package/dist/themes/types.d.ts +3 -3
  579. package/dist/url/assert-safe.d.ts +29 -0
  580. package/dist/url/assert-safe.js +54 -0
  581. package/dist/url/parse.js +0 -2
  582. package/dist/url/predicates.d.ts +31 -1
  583. package/dist/url/predicates.js +43 -3
  584. package/dist/url/search-params.js +3 -9
  585. package/dist/url/types.d.ts +9 -5
  586. package/dist/versions/_internal.js +3 -3
  587. package/dist/words/article.js +0 -1
  588. package/dist/words/capitalize.js +0 -1
  589. package/dist/words/pluralize.js +15 -5
  590. package/package.json +419 -216
  591. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  592. package/dist/external-tools/uv/asset-names.js +0 -70
  593. package/dist/external-tools/uv/from-download.d.ts +0 -17
  594. package/dist/external-tools/uv/from-download.js +0 -47
  595. package/dist/external-tools/uv/from-path.d.ts +0 -5
  596. package/dist/external-tools/uv/from-path.js +0 -22
  597. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  598. package/dist/external-tools/uv/from-vfs.js +0 -26
  599. package/dist/external-tools/uv/resolve.d.ts +0 -25
  600. package/dist/external-tools/uv/resolve.js +0 -53
  601. package/dist/external-tools/uv/types.d.ts +0 -24
  602. package/dist/fs/path-cache.d.ts +0 -21
  603. package/dist/fs/path-cache.js +0 -34
  604. package/dist/http-request/checksums.d.ts +0 -69
  605. package/dist/http-request/checksums.js +0 -108
  606. package/dist/http-request/http-request.d.ts +0 -12
  607. package/dist/http-request/http-request.js +0 -11
  608. package/dist/packages/operations.d.ts +0 -113
  609. package/dist/packages/operations.js +0 -304
  610. package/dist/ssri/convert.d.ts +0 -48
  611. package/dist/ssri/convert.js +0 -69
  612. package/dist/ssri/parse.d.ts +0 -27
  613. package/dist/ssri/parse.js +0 -41
  614. package/dist/ssri/validate.d.ts +0 -41
  615. package/dist/ssri/validate.js +0 -56
  616. /package/dist/{bin → cli}/check.d.ts +0 -0
  617. /package/dist/external-tools/{uv → python}/types.js +0 -0
  618. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  619. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -22,31 +22,39 @@ const require_external_tools_cdxgen_from_vfs = require('./from-vfs.js');
22
22
  * option-shape.
23
23
  */
24
24
  const resolutionCache = new require_primordials_map_set.MapCtor();
25
- function cacheKey(opts) {
26
- if (!opts?.downloadIfMissing) return "local-only";
27
- const { cacheDir, integrity, platformArch, variant, version } = opts.downloadIfMissing;
25
+ function cacheKey(options) {
26
+ options = {
27
+ __proto__: null,
28
+ ...options
29
+ };
30
+ if (!options?.downloadIfMissing) return "local-only";
31
+ const { cacheDir, integrity, platformArch, variant, version } = options.downloadIfMissing;
28
32
  const integrityKey = typeof integrity === "string" ? integrity : integrity ? `${integrity.type}:${integrity.value}` : "";
29
33
  return `dl:${version}:${platformArch}:${variant ?? "slim"}:${integrityKey}:${cacheDir ?? ""}`;
30
34
  }
31
- async function doResolveCdxgen(opts) {
35
+ async function doResolveCdxgen(options) {
36
+ options = {
37
+ __proto__: null,
38
+ ...options
39
+ };
32
40
  const fromVfs = await require_external_tools_cdxgen_from_vfs.cdxgenFromVfs();
33
41
  /* c8 ignore start - smol Node binary only. */
34
42
  if (fromVfs) return fromVfs;
35
43
  /* c8 ignore stop */
36
44
  const fromPath = await require_external_tools_cdxgen_from_path.cdxgenFromPath();
37
45
  if (fromPath) return fromPath;
38
- if (opts?.downloadIfMissing) return require_external_tools_cdxgen_from_download.cdxgenFromDownload(opts.downloadIfMissing);
46
+ if (options?.downloadIfMissing) return require_external_tools_cdxgen_from_download.cdxgenFromDownload(options.downloadIfMissing);
39
47
  }
40
48
  /* c8 ignore start - test-only escape hatch. */
41
49
  function resetCdxgenResolution() {
42
50
  resolutionCache.clear();
43
51
  }
44
52
  /* c8 ignore stop */
45
- function resolveCdxgen(opts) {
46
- const key = cacheKey(opts);
53
+ function resolveCdxgen(options) {
54
+ const key = cacheKey(options);
47
55
  let cached = resolutionCache.get(key);
48
56
  if (!cached) {
49
- cached = doResolveCdxgen(opts);
57
+ cached = doResolveCdxgen(options);
50
58
  resolutionCache.set(key, cached);
51
59
  }
52
60
  return cached;
@@ -29,5 +29,5 @@ export interface ResolvedCdxgen {
29
29
  /**
30
30
  * See {@link ResolvedToolIntegrity}.
31
31
  */
32
- readonly integrity?: ResolvedToolIntegrity;
32
+ readonly integrity?: ResolvedToolIntegrity | undefined;
33
33
  }
@@ -68,13 +68,13 @@ export interface DownloadAndExtractOptions extends DownloadOptions {
68
68
  * const { extractedDir, integrity } = await downloadAndExtractTool({
69
69
  * url: 'https://example.com/jre-21-darwin-arm64.tar.gz',
70
70
  * name: 'jre-21-darwin-arm64',
71
- * extractedDir: '/Users/me/.cache/socket/jre/21/darwin-arm64',
71
+ * extractedDir: '/Users/<user>/.cache/socket/jre/21/darwin-arm64',
72
72
  * extractOptions: { strip: 1 },
73
73
  * })
74
74
  * // Caller constructs ResolvedJre from extractedDir.
75
75
  * ```
76
76
  */
77
- export declare function downloadAndExtractTool(opts: DownloadAndExtractOptions): Promise<ExtractedTool>;
77
+ export declare function downloadAndExtractTool(options: DownloadAndExtractOptions): Promise<ExtractedTool>;
78
78
  /**
79
79
  * SRI integrity (`sha512-<base64>`) of a downloaded archive, surfaced on the
80
80
  * per-tool `Resolved*` shapes. Set ONLY when `source === 'download'`; the
@@ -159,4 +159,4 @@ export interface DownloadOptions {
159
159
  * })
160
160
  * ```
161
161
  */
162
- export declare function downloadToolArchive(opts: DownloadOptions): Promise<DownloadedArchive>;
162
+ export declare function downloadToolArchive(options: DownloadOptions): Promise<DownloadedArchive>;
@@ -44,15 +44,18 @@ let node_fs = require("node:fs");
44
44
  * const { extractedDir, integrity } = await downloadAndExtractTool({
45
45
  * url: 'https://example.com/jre-21-darwin-arm64.tar.gz',
46
46
  * name: 'jre-21-darwin-arm64',
47
- * extractedDir: '/Users/me/.cache/socket/jre/21/darwin-arm64',
47
+ * extractedDir: '/Users/<user>/.cache/socket/jre/21/darwin-arm64',
48
48
  * extractOptions: { strip: 1 },
49
49
  * })
50
50
  * // Caller constructs ResolvedJre from extractedDir.
51
51
  * ```
52
52
  */
53
- async function downloadAndExtractTool(opts) {
54
- const archive = await downloadToolArchive(opts);
55
- const { extractOptions, extractedDir } = opts;
53
+ async function downloadAndExtractTool(options) {
54
+ const archive = await downloadToolArchive(options);
55
+ const { extractOptions, extractedDir } = {
56
+ __proto__: null,
57
+ ...options
58
+ };
56
59
  let extracted = false;
57
60
  if ((0, node_fs.existsSync)(extractedDir)) {
58
61
  if ((await node_fs.promises.readdir(extractedDir)).length === 0) {
@@ -92,8 +95,11 @@ async function downloadAndExtractTool(opts) {
92
95
  * })
93
96
  * ```
94
97
  */
95
- async function downloadToolArchive(opts) {
96
- const { downloader, integrity, name, url } = opts;
98
+ async function downloadToolArchive(options) {
99
+ const { downloader, integrity, name, url } = {
100
+ __proto__: null,
101
+ ...options
102
+ };
97
103
  const result = await (downloader ?? require_dlx_binary_download.downloadBinary)({
98
104
  url,
99
105
  name,
@@ -63,7 +63,7 @@ export interface CreatePipVenvResult {
63
63
  * - The install succeeded but the entry-point was not created (caller passed a
64
64
  * wrong `entryPoint` name, or the package has no console script).
65
65
  */
66
- export declare function createPipVenv(opts: CreatePipVenvOptions): Promise<CreatePipVenvResult>;
66
+ export declare function createPipVenv(options: CreatePipVenvOptions): Promise<CreatePipVenvResult>;
67
67
  /**
68
68
  * Locate a Python interpreter. Prefer `python3` on macOS/Linux, fall back to
69
69
  * `python` (the Windows convention). Returns `undefined` when neither is on
@@ -6,10 +6,10 @@ const require_bin_which = require('../bin/which.js');
6
6
  const require_process_spawn_child = require('../process/spawn/child.js');
7
7
  const require_fs_safe = require('../fs/safe.js');
8
8
  let node_fs = require("node:fs");
9
- let node_path = require("node:path");
10
- node_path = require_runtime.__toESM(node_path);
11
9
  let node_process = require("node:process");
12
10
  node_process = require_runtime.__toESM(node_process);
11
+ let node_path = require("node:path");
12
+ node_path = require_runtime.__toESM(node_path);
13
13
 
14
14
  //#region src/external-tools/from-pip-venv.ts
15
15
  /**
@@ -43,14 +43,21 @@ node_process = require_runtime.__toESM(node_process);
43
43
  * - The install succeeded but the entry-point was not created (caller passed a
44
44
  * wrong `entryPoint` name, or the package has no console script).
45
45
  */
46
- async function createPipVenv(opts) {
47
- const { cacheDir, entryPoint, installSpec } = opts;
46
+ async function createPipVenv(options) {
47
+ options = {
48
+ __proto__: null,
49
+ ...options
50
+ };
51
+ const { cacheDir, entryPoint, installSpec } = {
52
+ __proto__: null,
53
+ ...options
54
+ };
48
55
  const entryBin = pipVenvEntryPointPath(cacheDir, entryPoint);
49
56
  if ((0, node_fs.existsSync)(entryBin)) return {
50
57
  entryPointPath: entryBin,
51
58
  created: false
52
59
  };
53
- const python = opts.python ?? await findPython();
60
+ const python = options.python ?? await findPython();
54
61
  if (!python) throw new Error("createPipVenv: no Python interpreter on PATH (looked for python3, python)");
55
62
  await require_fs_safe.safeMkdir(node_path.default.dirname(cacheDir), { recursive: true });
56
63
  await require_process_spawn_child.spawn(python, [
@@ -40,4 +40,4 @@ export interface JanusDownloadOptions {
40
40
  *
41
41
  * Reference: https://github.com/divmain/janus/releases.
42
42
  */
43
- export declare function getJanusDownloadUrl(opts: JanusDownloadOptions): string | undefined;
43
+ export declare function getJanusDownloadUrl(options: JanusDownloadOptions): string | undefined;
@@ -36,8 +36,11 @@ function getJanusAssetEntry(platformArch) {
36
36
  *
37
37
  * Reference: https://github.com/divmain/janus/releases.
38
38
  */
39
- function getJanusDownloadUrl(opts) {
40
- const { platformArch, version } = opts;
39
+ function getJanusDownloadUrl(options) {
40
+ const { platformArch, version } = {
41
+ __proto__: null,
42
+ ...options
43
+ };
41
44
  const entry = JANUS_ASSET_MAP[platformArch];
42
45
  if (!entry) return;
43
46
  return `https://github.com/divmain/janus/releases/download/v${version}/` + entry.asset;
@@ -23,4 +23,4 @@ export interface JanusFromDownloadOptions {
23
23
  cacheDir?: string | undefined;
24
24
  downloader?: BinaryDownloader | undefined;
25
25
  }
26
- export declare function janusFromDownload(opts: JanusFromDownloadOptions): Promise<ResolvedJanus>;
26
+ export declare function janusFromDownload(options: JanusFromDownloadOptions): Promise<ResolvedJanus>;
@@ -19,8 +19,11 @@ node_path = require_runtime.__toESM(node_path);
19
19
  * per-process dlx cache, so multiple fleet consumers reuse the same extracted
20
20
  * binary.
21
21
  */
22
- async function janusFromDownload(opts) {
23
- const { cacheDir, downloader, integrity, platformArch, version } = opts;
22
+ async function janusFromDownload(options) {
23
+ const { cacheDir, downloader, integrity, platformArch, version } = {
24
+ __proto__: null,
25
+ ...options
26
+ };
24
27
  if (!require_external_tools_janus_asset_names.JANUS_SUPPORTED_PLATFORM_ARCHES.includes(platformArch)) throw new require_primordials_error.ErrorCtor(`janusFromDownload: platformArch must be one of [${require_external_tools_janus_asset_names.JANUS_SUPPORTED_PLATFORM_ARCHES.map((p) => `\`${p}\``).join(", ")}], got \`${platformArch}\`. Upstream janus only publishes the macOS arm64 build (see https://github.com/divmain/janus/releases); request \`darwin-arm64\` or use a different tool for other platforms.`);
25
28
  const url = require_external_tools_janus_asset_names.getJanusDownloadUrl({
26
29
  version,
@@ -10,7 +10,7 @@ const require_smol_vfs = require('../../smol/vfs.js');
10
10
  */
11
11
  const JANUS_VFS_KEY = "janus";
12
12
  async function janusFromVfs() {
13
- const vfs = /* @__PURE__ */ require_smol_vfs.getSmolVfs();
13
+ const vfs = require_smol_vfs.getSmolVfs();
14
14
  if (!vfs) return;
15
15
  /* c8 ignore start - smol Node binary only. */
16
16
  if (!vfs.has("janus")) return;
@@ -22,7 +22,7 @@ export interface ResolveJanusOptions {
22
22
  downloader?: BinaryDownloader | undefined;
23
23
  } | undefined;
24
24
  }
25
- export declare function cacheKey(opts: ResolveJanusOptions | undefined): string;
26
- export declare function doResolveJanus(opts?: ResolveJanusOptions | undefined): Promise<ResolvedJanus | undefined>;
25
+ export declare function cacheKey(options: ResolveJanusOptions | undefined): string;
26
+ export declare function doResolveJanus(options?: ResolveJanusOptions | undefined): Promise<ResolvedJanus | undefined>;
27
27
  export declare function resetJanusResolution(): void;
28
- export declare function resolveJanus(opts?: ResolveJanusOptions | undefined): Promise<ResolvedJanus | undefined>;
28
+ export declare function resolveJanus(options?: ResolveJanusOptions | undefined): Promise<ResolvedJanus | undefined>;
@@ -20,30 +20,38 @@ const require_external_tools_janus_from_vfs = require('./from-vfs.js');
20
20
  * only). Memoized per option-shape.
21
21
  */
22
22
  const resolutionCache = new require_primordials_map_set.MapCtor();
23
- function cacheKey(opts) {
24
- if (!opts?.downloadIfMissing) return "local-only";
25
- const { cacheDir, integrity, platformArch, version } = opts.downloadIfMissing;
23
+ function cacheKey(options) {
24
+ options = {
25
+ __proto__: null,
26
+ ...options
27
+ };
28
+ if (!options?.downloadIfMissing) return "local-only";
29
+ const { cacheDir, integrity, platformArch, version } = options.downloadIfMissing;
26
30
  return `dl:${version}:${platformArch}:${typeof integrity === "string" ? integrity : integrity ? `${integrity.type}:${integrity.value}` : ""}:${cacheDir ?? ""}`;
27
31
  }
28
- async function doResolveJanus(opts) {
32
+ async function doResolveJanus(options) {
33
+ options = {
34
+ __proto__: null,
35
+ ...options
36
+ };
29
37
  const fromVfs = await require_external_tools_janus_from_vfs.janusFromVfs();
30
38
  /* c8 ignore start - smol Node binary only. */
31
39
  if (fromVfs) return fromVfs;
32
40
  /* c8 ignore stop */
33
41
  const fromPath = await require_external_tools_janus_from_path.janusFromPath();
34
42
  if (fromPath) return fromPath;
35
- if (opts?.downloadIfMissing) return require_external_tools_janus_from_download.janusFromDownload(opts.downloadIfMissing);
43
+ if (options?.downloadIfMissing) return require_external_tools_janus_from_download.janusFromDownload(options.downloadIfMissing);
36
44
  }
37
45
  /* c8 ignore start - test-only escape hatch. */
38
46
  function resetJanusResolution() {
39
47
  resolutionCache.clear();
40
48
  }
41
49
  /* c8 ignore stop */
42
- function resolveJanus(opts) {
43
- const key = cacheKey(opts);
50
+ function resolveJanus(options) {
51
+ const key = cacheKey(options);
44
52
  let cached = resolutionCache.get(key);
45
53
  if (!cached) {
46
- cached = doResolveJanus(opts);
54
+ cached = doResolveJanus(options);
47
55
  resolutionCache.set(key, cached);
48
56
  }
49
57
  return cached;
@@ -20,5 +20,5 @@ export interface ResolvedJanus {
20
20
  /**
21
21
  * See {@link ResolvedToolIntegrity}.
22
22
  */
23
- readonly integrity?: ResolvedToolIntegrity;
23
+ readonly integrity?: ResolvedToolIntegrity | undefined;
24
24
  }
@@ -83,7 +83,7 @@ export interface AdoptiumDownloadOptions {
83
83
  * })
84
84
  * ```
85
85
  */
86
- export declare function getAdoptiumDownloadUrl(opts: AdoptiumDownloadOptions): string | undefined;
86
+ export declare function getAdoptiumDownloadUrl(options: AdoptiumDownloadOptions): string | undefined;
87
87
  /**
88
88
  * Returns the Adoptium query parameters for a given platform-arch, or
89
89
  * `undefined` if no Adoptium build exists for that target.
@@ -95,8 +95,11 @@ const ADOPTIUM_QUERY_MAP = require_primordials_object.ObjectFreeze({
95
95
  * })
96
96
  * ```
97
97
  */
98
- function getAdoptiumDownloadUrl(opts) {
99
- const { platformArch, releaseType = "ga", type = "jre", version } = opts;
98
+ function getAdoptiumDownloadUrl(options) {
99
+ const { platformArch, releaseType = "ga", type = "jre", version } = {
100
+ __proto__: null,
101
+ ...options
102
+ };
100
103
  const query = ADOPTIUM_QUERY_MAP[platformArch];
101
104
  if (!query) return;
102
105
  return `https://api.adoptium.net/v3/binary/latest/${version}/${releaseType}/${query.os}/${query.architecture}/${type}/hotspot/normal/eclipse`;
@@ -1,8 +1,12 @@
1
1
  /**
2
- * @file `getCurrentPlatformArch()` — resolves the current machine to a
3
- * `platform-arch` string suitable for the Adoptium asset-name map. Wraps
4
- * `getPlatformArch` from `src/releases/socket-btm` so external-tools modules
5
- * don't need to know about releases' platform/arch typing. Returns
6
- * `undefined` on unsupported platform/arch combos.
2
+ * @file `getJreArch()` — resolves the current machine to a `platform-arch`
3
+ * string suitable for the Adoptium `ADOPTIUM_QUERY_MAP` keys (e.g.
4
+ * `darwin-arm64`, `linux-x64-musl`, `win-x64`). Self-contained: owns the
5
+ * Adoptium vocabulary end to end (Node's `win32` `win`, an Alpine `-musl`
6
+ * suffix on Linux) rather than reusing the shared `getPlatformArch` /
7
+ * `detectLibc` — Adoptium ships a distinct `alpine-linux` channel, so the JRE
8
+ * key set differs from both the release-binary naming and
9
+ * python-build-standalone (see `getPythonArch`). Returns `undefined` on an
10
+ * unsupported platform/arch.
7
11
  */
8
- export declare function getCurrentPlatformArch(): string | undefined;
12
+ export declare function getJreArch(): string | undefined;
@@ -2,27 +2,42 @@
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_runtime = require('../../_virtual/_rolldown/runtime.js');
5
- const require_releases_socket_btm = require('../../releases/socket-btm.js');
5
+ const require_constants_platform = require('../../constants/platform.js');
6
+ const require_primordials_object = require('../../primordials/object.js');
6
7
  let node_process = require("node:process");
7
8
  node_process = require_runtime.__toESM(node_process);
8
9
 
9
10
  //#region src/external-tools/jre/detect-platform-arch.ts
10
11
  /**
11
- * @file `getCurrentPlatformArch()` — resolves the current machine to a
12
- * `platform-arch` string suitable for the Adoptium asset-name map. Wraps
13
- * `getPlatformArch` from `src/releases/socket-btm` so external-tools modules
14
- * don't need to know about releases' platform/arch typing. Returns
15
- * `undefined` on unsupported platform/arch combos.
12
+ * @file `getJreArch()` — resolves the current machine to a `platform-arch`
13
+ * string suitable for the Adoptium `ADOPTIUM_QUERY_MAP` keys (e.g.
14
+ * `darwin-arm64`, `linux-x64-musl`, `win-x64`). Self-contained: owns the
15
+ * Adoptium vocabulary end to end (Node's `win32` `win`, an Alpine `-musl`
16
+ * suffix on Linux) rather than reusing the shared `getPlatformArch` /
17
+ * `detectLibc` — Adoptium ships a distinct `alpine-linux` channel, so the JRE
18
+ * key set differs from both the release-binary naming and
19
+ * python-build-standalone (see `getPythonArch`). Returns `undefined` on an
20
+ * unsupported platform/arch.
16
21
  */
17
- function getCurrentPlatformArch() {
18
- /* c8 ignore start - depends on process.platform/arch. */
19
- try {
20
- return require_releases_socket_btm.getPlatformArch(node_process.default.platform, node_process.default.arch, require_releases_socket_btm.detectLibc());
21
- } catch {
22
- return;
23
- }
22
+ const NODE_PLATFORM_TO_JRE = require_primordials_object.ObjectFreeze({
23
+ __proto__: null,
24
+ darwin: "darwin",
25
+ linux: "linux",
26
+ win32: "win"
27
+ });
28
+ const NODE_ARCH_TO_JRE = require_primordials_object.ObjectFreeze({
29
+ __proto__: null,
30
+ arm64: "arm64",
31
+ x64: "x64"
32
+ });
33
+ function getJreArch() {
34
+ /* c8 ignore start - depends on process.platform/arch + libc probe. */
35
+ const platform = NODE_PLATFORM_TO_JRE[node_process.default.platform];
36
+ const arch = NODE_ARCH_TO_JRE[node_process.default.arch];
37
+ if (!platform || !arch) return;
38
+ return `${platform}-${arch}${platform === "linux" && require_constants_platform.getLibc() === "musl" ? "-musl" : ""}`;
24
39
  /* c8 ignore stop */
25
40
  }
26
41
 
27
42
  //#endregion
28
- exports.getCurrentPlatformArch = getCurrentPlatformArch;
43
+ exports.getJreArch = getJreArch;
@@ -59,4 +59,4 @@ export interface JreFromDownloadOptions {
59
59
  * // → { javaPath: '/.../bin/java', javaHome: '/...', source: 'download' }
60
60
  * ```
61
61
  */
62
- export declare function jreFromDownload(opts: JreFromDownloadOptions): Promise<ResolvedJre | undefined>;
62
+ export declare function jreFromDownload(options: JreFromDownloadOptions): Promise<ResolvedJre | undefined>;
@@ -6,10 +6,10 @@ const require_primordials_string = require('../../primordials/string.js');
6
6
  const require_paths_socket = require('../../paths/socket.js');
7
7
  const require_external_tools_from_download = require('../from-download.js');
8
8
  const require_external_tools_jre_asset_names = require('./asset-names.js');
9
- let node_path = require("node:path");
10
- node_path = require_runtime.__toESM(node_path);
11
9
  let node_process = require("node:process");
12
10
  node_process = require_runtime.__toESM(node_process);
11
+ let node_path = require("node:path");
12
+ node_path = require_runtime.__toESM(node_path);
13
13
 
14
14
  //#region src/external-tools/jre/from-download.ts
15
15
  /**
@@ -44,8 +44,11 @@ node_process = require_runtime.__toESM(node_process);
44
44
  * // → { javaPath: '/.../bin/java', javaHome: '/...', source: 'download' }
45
45
  * ```
46
46
  */
47
- async function jreFromDownload(opts) {
48
- const { cacheDir, downloader, integrity, platformArch, version } = opts;
47
+ async function jreFromDownload(options) {
48
+ const { cacheDir, downloader, integrity, platformArch, version } = {
49
+ __proto__: null,
50
+ ...options
51
+ };
49
52
  const url = require_external_tools_jre_asset_names.getAdoptiumDownloadUrl({
50
53
  version,
51
54
  platformArch
@@ -2,10 +2,10 @@
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_runtime = require('../../_virtual/_rolldown/runtime.js');
5
- let node_path = require("node:path");
6
- node_path = require_runtime.__toESM(node_path);
7
5
  let node_process = require("node:process");
8
6
  node_process = require_runtime.__toESM(node_process);
7
+ let node_path = require("node:path");
8
+ node_path = require_runtime.__toESM(node_path);
9
9
 
10
10
  //#region src/external-tools/jre/from-java-home.ts
11
11
  /**
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_runtime = require('../../_virtual/_rolldown/runtime.js');
5
5
  const require_smol_vfs = require('../../smol/vfs.js');
6
- let node_path = require("node:path");
7
- node_path = require_runtime.__toESM(node_path);
8
6
  let node_process = require("node:process");
9
7
  node_process = require_runtime.__toESM(node_process);
8
+ let node_path = require("node:path");
9
+ node_path = require_runtime.__toESM(node_path);
10
10
 
11
11
  //#region src/external-tools/jre/from-vfs.ts
12
12
  /**
@@ -25,7 +25,7 @@ node_process = require_runtime.__toESM(node_process);
25
25
  */
26
26
  const JRE_VFS_KEY = "jre";
27
27
  async function jreFromVfs() {
28
- const vfs = /* @__PURE__ */ require_smol_vfs.getSmolVfs();
28
+ const vfs = require_smol_vfs.getSmolVfs();
29
29
  if (!vfs) return;
30
30
  /* c8 ignore start - smol Node binary only. */
31
31
  if (!vfs.has("jre")) return;
@@ -34,7 +34,7 @@ export interface ResolveJreOptions {
34
34
  downloader?: BinaryDownloader | undefined;
35
35
  } | undefined;
36
36
  }
37
- export declare function cacheKey(opts: ResolveJreOptions | undefined): string;
38
- export declare function doResolveJre(opts?: ResolveJreOptions | undefined): Promise<ResolvedJre | undefined>;
37
+ export declare function cacheKey(options: ResolveJreOptions | undefined): string;
38
+ export declare function doResolveJre(options?: ResolveJreOptions | undefined): Promise<ResolvedJre | undefined>;
39
39
  export declare function resetJreResolution(): void;
40
- export declare function resolveJre(opts?: ResolveJreOptions | undefined): Promise<ResolvedJre | undefined>;
40
+ export declare function resolveJre(options?: ResolveJreOptions | undefined): Promise<ResolvedJre | undefined>;
@@ -28,12 +28,20 @@ const require_external_tools_jre_from_vfs = require('./from-vfs.js');
28
28
  * resolver fresh.
29
29
  */
30
30
  const resolutionCache = new require_primordials_map_set.MapCtor();
31
- function cacheKey(opts) {
32
- if (!opts?.downloadIfMissing) return "local-only";
33
- const { cacheDir, integrity, platformArch, version } = opts.downloadIfMissing;
31
+ function cacheKey(options) {
32
+ options = {
33
+ __proto__: null,
34
+ ...options
35
+ };
36
+ if (!options?.downloadIfMissing) return "local-only";
37
+ const { cacheDir, integrity, platformArch, version } = options.downloadIfMissing;
34
38
  return `dl:${version}:${platformArch}:${typeof integrity === "string" ? integrity : integrity ? `${integrity.type}:${integrity.value}` : ""}:${cacheDir ?? ""}`;
35
39
  }
36
- async function doResolveJre(opts) {
40
+ async function doResolveJre(options) {
41
+ options = {
42
+ __proto__: null,
43
+ ...options
44
+ };
37
45
  const fromVfs = await require_external_tools_jre_from_vfs.jreFromVfs();
38
46
  /* c8 ignore start - smol Node binary only. */
39
47
  if (fromVfs) return fromVfs;
@@ -42,18 +50,18 @@ async function doResolveJre(opts) {
42
50
  if (fromJavaHome) return fromJavaHome;
43
51
  const fromPath = await require_external_tools_jre_from_path.jreFromPath();
44
52
  if (fromPath) return fromPath;
45
- if (opts?.downloadIfMissing) return require_external_tools_jre_from_download.jreFromDownload(opts.downloadIfMissing);
53
+ if (options?.downloadIfMissing) return require_external_tools_jre_from_download.jreFromDownload(options.downloadIfMissing);
46
54
  }
47
55
  /* c8 ignore start - test-only escape hatch. */
48
56
  function resetJreResolution() {
49
57
  resolutionCache.clear();
50
58
  }
51
59
  /* c8 ignore stop */
52
- function resolveJre(opts) {
53
- const key = cacheKey(opts);
60
+ function resolveJre(options) {
61
+ const key = cacheKey(options);
54
62
  let cached = resolutionCache.get(key);
55
63
  if (!cached) {
56
- cached = doResolveJre(opts);
64
+ cached = doResolveJre(options);
57
65
  resolutionCache.set(key, cached);
58
66
  }
59
67
  return cached;
@@ -23,6 +23,6 @@ export interface ResolvedJre {
23
23
  /**
24
24
  * See {@link ResolvedToolIntegrity}.
25
25
  */
26
- readonly integrity?: ResolvedToolIntegrity;
26
+ readonly integrity?: ResolvedToolIntegrity | undefined;
27
27
  }
28
28
  export type { AdoptiumAssetQuery };
@@ -9,10 +9,10 @@
9
9
  * integrity-string validation. Shape: { "<tool-name>": { "description":
10
10
  * "human-readable summary", "version": "1.7.2", "release": "asset" |
11
11
  * "tarball" | ..., "repository": "github:owner/repo", "notes": [...],
12
- * "checksums": { "<platform-arch>": { "asset": "<asset-filename>",
12
+ * "platforms": { "<platform-arch>": { "asset": "<asset-filename>",
13
13
  * "integrity": "sha256-base64=" } } } } Some tools have flavor variants (e.g.
14
14
  * sfw's `free` / `enterprise`) that wrap the `{repository, binaryName,
15
- * checksums}` triple under a flavor key. Use `getToolFlavor` for those. Some
15
+ * platforms}` triple under a flavor key. Use `getToolFlavor` for those. Some
16
16
  * entries (e.g. `rust`) describe a system tool with a different shape —
17
17
  * they're skipped by `getTool` and fully readable only via the raw
18
18
  * `readManifest` returning unknown.
@@ -42,7 +42,7 @@ export interface ToolChecksum {
42
42
  integrity: string;
43
43
  }
44
44
  /**
45
- * A downloadable-binary tool entry. `checksums` is keyed by the fleet's
45
+ * A downloadable-binary tool entry. `platforms` is keyed by the fleet's
46
46
  * platform-arch token (`darwin-arm64`, `linux-x64-musl`, `win-x64`, etc. — same
47
47
  * vocabulary as `getPlatformArch`).
48
48
  */
@@ -53,12 +53,12 @@ export interface ToolEntry {
53
53
  repository: string;
54
54
  binaryName?: string | undefined;
55
55
  notes?: readonly string[] | undefined;
56
- checksums: Readonly<Record<string, ToolChecksum>>;
56
+ platforms: Readonly<Record<string, ToolChecksum>>;
57
57
  }
58
58
  /**
59
59
  * A flavored tool entry — sfw is the canonical example, with `free` and
60
60
  * `enterprise` variants sharing the same outer `description` / `version` /
61
- * `release` but each carrying its own `{repository, binaryName, checksums}`.
61
+ * `release` but each carrying its own `{repository, binaryName, platforms}`.
62
62
  */
63
63
  export interface FlavoredToolEntry {
64
64
  description: string;
@@ -70,7 +70,7 @@ export interface FlavoredToolEntry {
70
70
  export interface ToolFlavor {
71
71
  repository: string;
72
72
  binaryName?: string | undefined;
73
- checksums: Readonly<Record<string, ToolChecksum>>;
73
+ platforms: Readonly<Record<string, ToolChecksum>>;
74
74
  }
75
75
  /**
76
76
  * Parsed manifest. `tools` is a flat map; the values are unions because some
@@ -91,9 +91,27 @@ export type ManifestEntry = {
91
91
  kind: 'other';
92
92
  raw: unknown;
93
93
  };
94
+ export interface RawChecksum {
95
+ asset?: unknown | undefined;
96
+ integrity?: unknown | undefined;
97
+ }
98
+ export interface RawFlavor {
99
+ repository?: unknown | undefined;
100
+ binaryName?: unknown | undefined;
101
+ platforms?: unknown | undefined;
102
+ }
103
+ export interface RawToolEntry {
104
+ description?: unknown | undefined;
105
+ version?: unknown | undefined;
106
+ release?: unknown | undefined;
107
+ repository?: unknown | undefined;
108
+ binaryName?: unknown | undefined;
109
+ notes?: unknown | undefined;
110
+ platforms?: unknown | undefined;
111
+ }
94
112
  export declare function isObject(value: unknown): value is Record<string, unknown>;
95
113
  export declare function parseChecksum(raw: unknown, toolName: string, platformKey: string): ToolChecksum;
96
- export declare function parseChecksums(raw: unknown, toolName: string): Record<string, ToolChecksum>;
114
+ export declare function parsePlatforms(raw: unknown, toolName: string): Record<string, ToolChecksum>;
97
115
  export declare function parseToolEntry(raw: unknown, toolName: string): ManifestEntry;
98
116
  /**
99
117
  * Read an `external-tools.json` file from disk and return the parsed manifest.