@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
@@ -1,36 +0,0 @@
1
- /**
2
- * @file Upstream uv release asset-name mapping per `platform-arch`. uv
3
- * publishes per-platform archives under
4
- * https://github.com/astral-sh/uv/releases/download/<X.Y.Z>/. The release tag
5
- * is the bare semver (no `v` prefix), unlike most upstream projects. Each
6
- * archive wraps the binary one directory deep (`uv-<triple>/uv[.exe]`), so
7
- * callers should pass `strip: 1` to the extractor — or, equivalently, look up
8
- * the binary inside the archive's stem directory.
9
- */
10
- export interface UvAssetEntry {
11
- /**
12
- * Full asset filename (no version interpolation — uv asset names are
13
- * version-free).
14
- */
15
- readonly asset: string;
16
- }
17
- export declare const UV_ASSET_MAP: Readonly<Record<string, UvAssetEntry>>;
18
- export declare function getUvAssetEntry(platformArch: string): UvAssetEntry | undefined;
19
- export interface UvDownloadOptions {
20
- /**
21
- * Uv release version, e.g. `'0.10.11'` (no `v` prefix — astral-sh/uv tags
22
- * releases as bare semver).
23
- */
24
- version: string;
25
- /**
26
- * Fleet platform-arch token — looked up in `UV_ASSET_MAP`.
27
- */
28
- platformArch: string;
29
- }
30
- /**
31
- * Build the GitHub release-asset download URL for an upstream uv binary.
32
- * Returns `undefined` when no entry exists for the requested platform-arch.
33
- *
34
- * Reference: https://github.com/astral-sh/uv/releases.
35
- */
36
- export declare function getUvDownloadUrl(opts: UvDownloadOptions): string | undefined;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_object = require('../../primordials/object.js');
5
-
6
- //#region src/external-tools/uv/asset-names.ts
7
- /**
8
- * @file Upstream uv release asset-name mapping per `platform-arch`. uv
9
- * publishes per-platform archives under
10
- * https://github.com/astral-sh/uv/releases/download/<X.Y.Z>/. The release tag
11
- * is the bare semver (no `v` prefix), unlike most upstream projects. Each
12
- * archive wraps the binary one directory deep (`uv-<triple>/uv[.exe]`), so
13
- * callers should pass `strip: 1` to the extractor — or, equivalently, look up
14
- * the binary inside the archive's stem directory.
15
- */
16
- const UV_ASSET_MAP = require_primordials_object.ObjectFreeze({
17
- __proto__: null,
18
- "darwin-arm64": require_primordials_object.ObjectFreeze({
19
- __proto__: null,
20
- asset: "uv-aarch64-apple-darwin.tar.gz"
21
- }),
22
- "darwin-x64": require_primordials_object.ObjectFreeze({
23
- __proto__: null,
24
- asset: "uv-x86_64-apple-darwin.tar.gz"
25
- }),
26
- "linux-arm64": require_primordials_object.ObjectFreeze({
27
- __proto__: null,
28
- asset: "uv-aarch64-unknown-linux-gnu.tar.gz"
29
- }),
30
- "linux-arm64-musl": require_primordials_object.ObjectFreeze({
31
- __proto__: null,
32
- asset: "uv-aarch64-unknown-linux-musl.tar.gz"
33
- }),
34
- "linux-x64": require_primordials_object.ObjectFreeze({
35
- __proto__: null,
36
- asset: "uv-x86_64-unknown-linux-gnu.tar.gz"
37
- }),
38
- "linux-x64-musl": require_primordials_object.ObjectFreeze({
39
- __proto__: null,
40
- asset: "uv-x86_64-unknown-linux-musl.tar.gz"
41
- }),
42
- "win-arm64": require_primordials_object.ObjectFreeze({
43
- __proto__: null,
44
- asset: "uv-aarch64-pc-windows-msvc.zip"
45
- }),
46
- "win-x64": require_primordials_object.ObjectFreeze({
47
- __proto__: null,
48
- asset: "uv-x86_64-pc-windows-msvc.zip"
49
- })
50
- });
51
- function getUvAssetEntry(platformArch) {
52
- return UV_ASSET_MAP[platformArch];
53
- }
54
- /**
55
- * Build the GitHub release-asset download URL for an upstream uv binary.
56
- * Returns `undefined` when no entry exists for the requested platform-arch.
57
- *
58
- * Reference: https://github.com/astral-sh/uv/releases.
59
- */
60
- function getUvDownloadUrl(opts) {
61
- const { platformArch, version } = opts;
62
- const entry = UV_ASSET_MAP[platformArch];
63
- if (!entry) return;
64
- return `https://github.com/astral-sh/uv/releases/download/${version}/` + entry.asset;
65
- }
66
-
67
- //#endregion
68
- exports.UV_ASSET_MAP = UV_ASSET_MAP;
69
- exports.getUvAssetEntry = getUvAssetEntry;
70
- exports.getUvDownloadUrl = getUvDownloadUrl;
@@ -1,17 +0,0 @@
1
- /**
2
- * @file `uvFromDownload()` — fetches upstream uv and returns a `ResolvedUv`
3
- * pointing at the extracted binary. uv tarballs wrap the binary in a
4
- * `<asset-stem>/` directory; the extractor strips that level so the binary
5
- * sits at the cache-dir root.
6
- */
7
- import type { BinaryDownloader } from '../from-download';
8
- import type { HashSpec } from '../../integrity';
9
- import type { ResolvedUv } from './types';
10
- export interface UvFromDownloadOptions {
11
- version: string;
12
- platformArch: string;
13
- integrity?: HashSpec | undefined;
14
- cacheDir?: string | undefined;
15
- downloader?: BinaryDownloader | undefined;
16
- }
17
- export declare function uvFromDownload(opts: UvFromDownloadOptions): Promise<ResolvedUv | undefined>;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_runtime = require('../../_virtual/_rolldown/runtime.js');
5
- const require_paths_socket = require('../../paths/socket.js');
6
- const require_external_tools_from_download = require('../from-download.js');
7
- const require_external_tools_uv_asset_names = require('./asset-names.js');
8
- let node_path = require("node:path");
9
- node_path = require_runtime.__toESM(node_path);
10
- let node_process = require("node:process");
11
- node_process = require_runtime.__toESM(node_process);
12
-
13
- //#region src/external-tools/uv/from-download.ts
14
- /**
15
- * @file `uvFromDownload()` — fetches upstream uv and returns a `ResolvedUv`
16
- * pointing at the extracted binary. uv tarballs wrap the binary in a
17
- * `<asset-stem>/` directory; the extractor strips that level so the binary
18
- * sits at the cache-dir root.
19
- */
20
- async function uvFromDownload(opts) {
21
- const { cacheDir, downloader, integrity, platformArch, version } = opts;
22
- const url = require_external_tools_uv_asset_names.getUvDownloadUrl({
23
- version,
24
- platformArch
25
- });
26
- const entry = require_external_tools_uv_asset_names.getUvAssetEntry(platformArch);
27
- if (!url || !entry) return;
28
- const archiveExt = entry.asset.endsWith(".zip") ? ".zip" : ".tar.gz";
29
- const extractedDir = cacheDir ?? node_path.default.join(require_paths_socket.getSocketDlxDir(), "uv", version, platformArch);
30
- const archive = await require_external_tools_from_download.downloadAndExtractTool({
31
- url,
32
- name: `uv-${version}-${platformArch}${archiveExt}`,
33
- integrity,
34
- extractedDir,
35
- extractOptions: { strip: 1 },
36
- downloader
37
- });
38
- const binary = node_process.default.platform === "win32" ? "uv.exe" : "uv";
39
- return {
40
- path: node_path.default.join(extractedDir, binary),
41
- source: "download",
42
- integrity: archive.integrity
43
- };
44
- }
45
-
46
- //#endregion
47
- exports.uvFromDownload = uvFromDownload;
@@ -1,5 +0,0 @@
1
- /**
2
- * @file `uvFromPath()` — looks for `uv` on the system PATH.
3
- */
4
- import type { ResolvedUv } from './types';
5
- export declare function uvFromPath(): Promise<ResolvedUv | undefined>;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_bin_which = require('../../bin/which.js');
5
-
6
- //#region src/external-tools/uv/from-path.ts
7
- /**
8
- * @file `uvFromPath()` — looks for `uv` on the system PATH.
9
- */
10
- async function uvFromPath() {
11
- const onPath = await require_bin_which.which("uv", { nothrow: true });
12
- /* c8 ignore start - reached only when uv is NOT on PATH. */
13
- if (typeof onPath !== "string") return;
14
- /* c8 ignore stop */
15
- return {
16
- path: onPath,
17
- source: "path"
18
- };
19
- }
20
-
21
- //#endregion
22
- exports.uvFromPath = uvFromPath;
@@ -1,7 +0,0 @@
1
- /**
2
- * @file `uvFromVfs()` — extracts the uv binary from the smol binary's VFS.
3
- * Returns `undefined` when the binary doesn't have uv bundled.
4
- */
5
- import type { ResolvedUv } from './types';
6
- export declare const UV_VFS_KEY = "uv";
7
- export declare function uvFromVfs(): Promise<ResolvedUv | undefined>;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_smol_vfs = require('../../smol/vfs.js');
5
-
6
- //#region src/external-tools/uv/from-vfs.ts
7
- /**
8
- * @file `uvFromVfs()` — extracts the uv binary from the smol binary's VFS.
9
- * Returns `undefined` when the binary doesn't have uv bundled.
10
- */
11
- const UV_VFS_KEY = "uv";
12
- async function uvFromVfs() {
13
- const vfs = /* @__PURE__ */ require_smol_vfs.getSmolVfs();
14
- if (!vfs) return;
15
- /* c8 ignore start - smol Node binary only. */
16
- if (!vfs.has("uv")) return;
17
- return {
18
- path: await vfs.extract("uv"),
19
- source: "vfs"
20
- };
21
- /* c8 ignore stop */
22
- }
23
-
24
- //#endregion
25
- exports.UV_VFS_KEY = UV_VFS_KEY;
26
- exports.uvFromVfs = uvFromVfs;
@@ -1,25 +0,0 @@
1
- /**
2
- * @file `resolveUv()` — uv resolution entry point. Tries each source in order:
3
- *
4
- * 1. VFS — smol binary's embedded uv (if packed)
5
- * 2. PATH — `uv` on the system PATH
6
- * 3. download — upstream GitHub release archive (only when `downloadIfMissing`
7
- * is passed) Returns `undefined` if all of the enabled sources miss.
8
- * Memoized per option-shape.
9
- */
10
- import type { BinaryDownloader } from '../from-download';
11
- import type { HashSpec } from '../../integrity';
12
- import type { ResolvedUv } from './types';
13
- export interface ResolveUvOptions {
14
- downloadIfMissing?: {
15
- version: string;
16
- platformArch: string;
17
- integrity?: HashSpec | undefined;
18
- cacheDir?: string | undefined;
19
- downloader?: BinaryDownloader | undefined;
20
- } | undefined;
21
- }
22
- export declare function cacheKey(opts: ResolveUvOptions | undefined): string;
23
- export declare function doResolveUv(opts?: ResolveUvOptions | undefined): Promise<ResolvedUv | undefined>;
24
- export declare function resetUvResolution(): void;
25
- export declare function resolveUv(opts?: ResolveUvOptions | undefined): Promise<ResolvedUv | undefined>;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_map_set = require('../../primordials/map-set.js');
5
- const require_external_tools_uv_from_download = require('./from-download.js');
6
- const require_external_tools_uv_from_path = require('./from-path.js');
7
- const require_external_tools_uv_from_vfs = require('./from-vfs.js');
8
-
9
- //#region src/external-tools/uv/resolve.ts
10
- /**
11
- * @file `resolveUv()` — uv resolution entry point. Tries each source in order:
12
- *
13
- * 1. VFS — smol binary's embedded uv (if packed)
14
- * 2. PATH — `uv` on the system PATH
15
- * 3. download — upstream GitHub release archive (only when `downloadIfMissing`
16
- * is passed) Returns `undefined` if all of the enabled sources miss.
17
- * Memoized per option-shape.
18
- */
19
- const resolutionCache = new require_primordials_map_set.MapCtor();
20
- function cacheKey(opts) {
21
- if (!opts?.downloadIfMissing) return "local-only";
22
- const { cacheDir, integrity, platformArch, version } = opts.downloadIfMissing;
23
- return `dl:${version}:${platformArch}:${typeof integrity === "string" ? integrity : integrity ? `${integrity.type}:${integrity.value}` : ""}:${cacheDir ?? ""}`;
24
- }
25
- async function doResolveUv(opts) {
26
- const fromVfs = await require_external_tools_uv_from_vfs.uvFromVfs();
27
- /* c8 ignore start - smol Node binary only. */
28
- if (fromVfs) return fromVfs;
29
- /* c8 ignore stop */
30
- const fromPath = await require_external_tools_uv_from_path.uvFromPath();
31
- if (fromPath) return fromPath;
32
- if (opts?.downloadIfMissing) return require_external_tools_uv_from_download.uvFromDownload(opts.downloadIfMissing);
33
- }
34
- /* c8 ignore start - test-only escape hatch. */
35
- function resetUvResolution() {
36
- resolutionCache.clear();
37
- }
38
- /* c8 ignore stop */
39
- function resolveUv(opts) {
40
- const key = cacheKey(opts);
41
- let cached = resolutionCache.get(key);
42
- if (!cached) {
43
- cached = doResolveUv(opts);
44
- resolutionCache.set(key, cached);
45
- }
46
- return cached;
47
- }
48
-
49
- //#endregion
50
- exports.cacheKey = cacheKey;
51
- exports.doResolveUv = doResolveUv;
52
- exports.resetUvResolution = resetUvResolution;
53
- exports.resolveUv = resolveUv;
@@ -1,24 +0,0 @@
1
- /**
2
- * @file Shared types for uv resolution. uv is Astral's Python package manager
3
- * used by socket-basics for Python project bootstrap. Ships per-platform
4
- * archives that wrap the `uv` binary one level deep.
5
- */
6
- import type { ResolvedToolIntegrity } from '../from-download';
7
- export type UvSource = 'download' | 'path' | 'vfs';
8
- /**
9
- * A resolved uv installation.
10
- */
11
- export interface ResolvedUv {
12
- /**
13
- * Absolute path to the `uv` executable.
14
- */
15
- readonly path: string;
16
- /**
17
- * Which resolver tier found this.
18
- */
19
- readonly source: UvSource;
20
- /**
21
- * See {@link ResolvedToolIntegrity}.
22
- */
23
- readonly integrity?: ResolvedToolIntegrity;
24
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * @file Cache-invalidation entry point for the allowed-directories list used by
3
- * `safeDelete` / `safeDeleteSync`. Loading this module registers
4
- * `invalidatePathCache` with `paths/rewire.ts` so test-time path overrides
5
- * flush the cache; the registration is the module's only side effect, so
6
- * callers that just need to flush the cache imperatively can call
7
- * `invalidatePathCache()` directly without that side effect repeating.
8
- */
9
- /**
10
- * Invalidate the cached allowed directories. Called automatically by the
11
- * paths/rewire module when paths are overridden in tests.
12
- *
13
- * @example
14
- * ;```typescript
15
- * invalidatePathCache()
16
- * // Cached allowed directories are now cleared
17
- * ```
18
- *
19
- * @internal Used for test rewiring
20
- */
21
- export declare function invalidatePathCache(): void;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_paths_rewire = require('../paths/rewire.js');
5
- const require_fs__internal = require('./_internal.js');
6
-
7
- //#region src/fs/path-cache.ts
8
- /**
9
- * @file Cache-invalidation entry point for the allowed-directories list used by
10
- * `safeDelete` / `safeDeleteSync`. Loading this module registers
11
- * `invalidatePathCache` with `paths/rewire.ts` so test-time path overrides
12
- * flush the cache; the registration is the module's only side effect, so
13
- * callers that just need to flush the cache imperatively can call
14
- * `invalidatePathCache()` directly without that side effect repeating.
15
- */
16
- /**
17
- * Invalidate the cached allowed directories. Called automatically by the
18
- * paths/rewire module when paths are overridden in tests.
19
- *
20
- * @example
21
- * ;```typescript
22
- * invalidatePathCache()
23
- * // Cached allowed directories are now cleared
24
- * ```
25
- *
26
- * @internal Used for test rewiring
27
- */
28
- function invalidatePathCache() {
29
- require_fs__internal.clearAllowedDirectories();
30
- }
31
- require_paths_rewire.registerCacheInvalidation(invalidatePathCache);
32
-
33
- //#endregion
34
- exports.invalidatePathCache = invalidatePathCache;
@@ -1,69 +0,0 @@
1
- /**
2
- * @file Checksum file fetching + parsing for download verification.
3
- * `parseChecksums` understands the three common file shapes:
4
- *
5
- * - BSD style: `SHA256 (filename) = hash`
6
- * - GNU style: `hash filename` (two spaces)
7
- * - Simple: `hash filename` (single space) Comment lines (`#…`) and blank lines
8
- * are skipped. Hashes are lowercased. `fetchChecksums` is the URL helper —
9
- * it fetches a checksums file via `httpRequest` and runs the body through
10
- * `parseChecksums`. The pair lets `httpDownload({ sha256:
11
- * checksums['file.zip'] })` keep the verification logic close to the
12
- * manifest source.
13
- */
14
- import type { Checksums, FetchChecksumsOptions } from './download-types';
15
- /**
16
- * Fetch and parse a checksums file from a URL.
17
- *
18
- * This is useful for verifying downloads from GitHub releases which typically
19
- * publish a checksums.txt file alongside release assets.
20
- *
21
- * @example
22
- * ;```ts
23
- * // Fetch checksums from GitHub release
24
- * const checksums = await fetchChecksums(
25
- * 'https://github.com/org/repo/releases/download/v1.0.0/checksums.txt',
26
- * )
27
- *
28
- * // Use with httpDownload
29
- * await httpDownload(
30
- * 'https://github.com/org/repo/releases/download/v1.0.0/tool_linux.tar.gz',
31
- * '/tmp/tool.tar.gz',
32
- * { sha256: checksums['tool_linux.tar.gz'] },
33
- * )
34
- * ```
35
- *
36
- * @param url - URL to the checksums file.
37
- * @param options - Request options.
38
- *
39
- * @returns Map of filenames to lowercase SHA256 hashes
40
- *
41
- * @throws {Error} When the checksums file cannot be fetched
42
- */
43
- export declare function fetchChecksums(url: string, options?: FetchChecksumsOptions | undefined): Promise<Checksums>;
44
- /**
45
- * Parse a checksums file text into a filename-to-hash map.
46
- *
47
- * Supports standard checksums file formats: - BSD style: "SHA256 (filename) =
48
- * hash" - GNU style: "hash filename" (two spaces) - Simple style: "hash
49
- * filename" (single space)
50
- *
51
- * Lines starting with '#' are treated as comments and ignored. Empty lines are
52
- * ignored.
53
- *
54
- * @example
55
- * ```ts
56
- * const text = `
57
- * # SHA256 checksums
58
- * e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 file.zip
59
- * abc123def456... other.tar.gz
60
- * `
61
- * const checksums = parseChecksums(text)
62
- * console.log(checksums['file.zip']) // 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
63
- * ```
64
- *
65
- * @param text - Raw text content of a checksums file.
66
- *
67
- * @returns Map of filenames to lowercase SHA256 hashes
68
- */
69
- export declare function parseChecksums(text: string): Checksums;
@@ -1,108 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_error = require('../primordials/error.js');
5
- const require_primordials_string = require('../primordials/string.js');
6
- const require_http_request_request = require('./request.js');
7
-
8
- //#region src/http-request/checksums.ts
9
- /**
10
- * @file Checksum file fetching + parsing for download verification.
11
- * `parseChecksums` understands the three common file shapes:
12
- *
13
- * - BSD style: `SHA256 (filename) = hash`
14
- * - GNU style: `hash filename` (two spaces)
15
- * - Simple: `hash filename` (single space) Comment lines (`#…`) and blank lines
16
- * are skipped. Hashes are lowercased. `fetchChecksums` is the URL helper —
17
- * it fetches a checksums file via `httpRequest` and runs the body through
18
- * `parseChecksums`. The pair lets `httpDownload({ sha256:
19
- * checksums['file.zip'] })` keep the verification logic close to the
20
- * manifest source.
21
- */
22
- const CHECKSUM_BSD_RE = /^SHA256\s+\((.+)\)\s+=\s+([a-fA-F0-9]{64})$/;
23
- const CHECKSUM_GNU_RE = /^([a-fA-F0-9]{64})\s+(.+)$/;
24
- /**
25
- * Fetch and parse a checksums file from a URL.
26
- *
27
- * This is useful for verifying downloads from GitHub releases which typically
28
- * publish a checksums.txt file alongside release assets.
29
- *
30
- * @example
31
- * ;```ts
32
- * // Fetch checksums from GitHub release
33
- * const checksums = await fetchChecksums(
34
- * 'https://github.com/org/repo/releases/download/v1.0.0/checksums.txt',
35
- * )
36
- *
37
- * // Use with httpDownload
38
- * await httpDownload(
39
- * 'https://github.com/org/repo/releases/download/v1.0.0/tool_linux.tar.gz',
40
- * '/tmp/tool.tar.gz',
41
- * { sha256: checksums['tool_linux.tar.gz'] },
42
- * )
43
- * ```
44
- *
45
- * @param url - URL to the checksums file.
46
- * @param options - Request options.
47
- *
48
- * @returns Map of filenames to lowercase SHA256 hashes
49
- *
50
- * @throws {Error} When the checksums file cannot be fetched
51
- */
52
- async function fetchChecksums(url, options) {
53
- const { ca, headers = {}, timeout = 3e4 } = {
54
- __proto__: null,
55
- ...options
56
- };
57
- const response = await require_http_request_request.httpRequest(url, {
58
- ca,
59
- headers,
60
- timeout
61
- });
62
- if (!response.ok) throw new require_primordials_error.ErrorCtor(`Failed to fetch checksums from ${url}: ${response.status} ${response.statusText}`);
63
- return parseChecksums(response.body.toString("utf8"));
64
- }
65
- /**
66
- * Parse a checksums file text into a filename-to-hash map.
67
- *
68
- * Supports standard checksums file formats: - BSD style: "SHA256 (filename) =
69
- * hash" - GNU style: "hash filename" (two spaces) - Simple style: "hash
70
- * filename" (single space)
71
- *
72
- * Lines starting with '#' are treated as comments and ignored. Empty lines are
73
- * ignored.
74
- *
75
- * @example
76
- * ```ts
77
- * const text = `
78
- * # SHA256 checksums
79
- * e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 file.zip
80
- * abc123def456... other.tar.gz
81
- * `
82
- * const checksums = parseChecksums(text)
83
- * console.log(checksums['file.zip']) // 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
84
- * ```
85
- *
86
- * @param text - Raw text content of a checksums file.
87
- *
88
- * @returns Map of filenames to lowercase SHA256 hashes
89
- */
90
- function parseChecksums(text) {
91
- const checksums = { __proto__: null };
92
- for (const line of require_primordials_string.StringPrototypeSplit(text, "\n")) {
93
- const trimmed = line.trim();
94
- if (!trimmed || require_primordials_string.StringPrototypeStartsWith(trimmed, "#")) continue;
95
- const bsdMatch = CHECKSUM_BSD_RE.exec(trimmed);
96
- if (bsdMatch) {
97
- checksums[bsdMatch[1]] = bsdMatch[2].toLowerCase();
98
- continue;
99
- }
100
- const gnuMatch = CHECKSUM_GNU_RE.exec(trimmed);
101
- if (gnuMatch) checksums[gnuMatch[2]] = gnuMatch[1].toLowerCase();
102
- }
103
- return checksums;
104
- }
105
-
106
- //#endregion
107
- exports.fetchChecksums = fetchChecksums;
108
- exports.parseChecksums = parseChecksums;
@@ -1,12 +0,0 @@
1
- /**
2
- * @file Public HTTP-request entry — re-exports the platform-correct
3
- * implementation. Bundlers that honor the package.json `'browser'` condition
4
- * (rolldown, vite, esbuild on browser platform) swap this entry to
5
- * `./browser`; Node consumers get `./node`. Same named exports (`httpJson`,
6
- * `httpText`, `httpRequest`, `HttpResponseError`) on both platforms so
7
- * callers can write `import { httpJson } from
8
- * '@socketsecurity/lib/http-request/http-request'` without caring about
9
- * platform.
10
- */
11
- export { httpJson, httpRequest, httpText, HttpResponseError } from './node';
12
- export type { HttpResponse, HttpRequestOptions } from './node';
@@ -1,11 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_http_request_response_types = require('./response-types.js');
5
- const require_http_request_request = require('./request.js');
6
- const require_http_request_node = require('./node.js');
7
-
8
- exports.HttpResponseError = require_http_request_response_types.HttpResponseError;
9
- exports.httpJson = require_http_request_node.httpJson;
10
- exports.httpRequest = require_http_request_request.httpRequest;
11
- exports.httpText = require_http_request_node.httpText;