@socketsecurity/lib 6.0.5 → 6.0.7

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 (534) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/ai/discover.d.mts +2 -2
  3. package/dist/ai/discover.js +6 -4
  4. package/dist/ai/spawn.js +10 -6
  5. package/dist/ai/types.d.mts +18 -6
  6. package/dist/ai/worktree.d.mts +6 -6
  7. package/dist/ai/worktree.js +12 -7
  8. package/dist/ansi/strip.d.ts +1 -1
  9. package/dist/ansi/strip.js +0 -2
  10. package/dist/archives/_internal.js +7 -9
  11. package/dist/archives/extract.js +1 -1
  12. package/dist/archives/tar.js +6 -6
  13. package/dist/archives/zip.js +4 -6
  14. package/dist/argv/flag-predicates.d.ts +12 -12
  15. package/dist/argv/flag-predicates.js +17 -17
  16. package/dist/argv/flag-types.d.ts +18 -18
  17. package/dist/argv/flag-types.js +4 -4
  18. package/dist/argv/parse.d.ts +1 -1
  19. package/dist/arrays/_internal.js +11 -12
  20. package/dist/arrays/chunk.js +0 -1
  21. package/dist/arrays/join.d.ts +37 -3
  22. package/dist/arrays/join.js +43 -7
  23. package/dist/arrays/unique.js +0 -1
  24. package/dist/bin/_internal.d.ts +1 -1
  25. package/dist/bin/_internal.js +1 -1
  26. package/dist/bin/acorn-bindgen.cjs +769 -0
  27. package/dist/bin/acorn.wasm +0 -0
  28. package/dist/bin/exec.js +2 -3
  29. package/dist/bin/find.js +13 -13
  30. package/dist/bin/prim.cjs +39244 -0
  31. package/dist/bin/resolve.js +12 -13
  32. package/dist/bin/which.js +8 -8
  33. package/dist/cache/ttl/store.js +5 -5
  34. package/dist/checks/primordials-defaults.d.ts +3 -3
  35. package/dist/checks/primordials-defaults.js +3 -3
  36. package/dist/checks/primordials.js +4 -3
  37. package/dist/{bin → cli}/check-primordials.d.ts +11 -11
  38. package/dist/{bin → cli}/check-primordials.js +56 -52
  39. package/dist/{bin → cli}/check.js +6 -5
  40. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  41. package/dist/{bin → cli}/socket-lib.js +4 -4
  42. package/dist/colors/socket-palette.js +7 -9
  43. package/dist/compression/_internal.d.ts +12 -12
  44. package/dist/compression/_internal.js +20 -19
  45. package/dist/compression/brotli.d.ts +25 -25
  46. package/dist/compression/brotli.js +37 -44
  47. package/dist/compression/gzip.d.ts +23 -23
  48. package/dist/compression/gzip.js +44 -52
  49. package/dist/constants/agents.d.ts +3 -1
  50. package/dist/constants/agents.js +15 -11
  51. package/dist/constants/licenses.js +3 -3
  52. package/dist/constants/node.d.ts +23 -0
  53. package/dist/constants/node.js +47 -15
  54. package/dist/constants/packages.js +22 -28
  55. package/dist/constants/platform.d.ts +30 -3
  56. package/dist/constants/platform.js +72 -12
  57. package/dist/constants/runtime.d.ts +22 -0
  58. package/dist/constants/runtime.js +32 -0
  59. package/dist/constants/socket.js +1 -1
  60. package/dist/cover/code.js +8 -8
  61. package/dist/cover/formatters.js +5 -5
  62. package/dist/crypto/hash.d.ts +26 -1
  63. package/dist/crypto/hash.js +43 -12
  64. package/dist/debug/_internal.js +4 -6
  65. package/dist/debug/caller-info.js +2 -3
  66. package/dist/debug/namespace.d.ts +7 -0
  67. package/dist/debug/namespace.js +21 -12
  68. package/dist/debug/output.js +21 -24
  69. package/dist/debug/types.d.ts +4 -4
  70. package/dist/dlx/arborist.js +6 -6
  71. package/dist/dlx/binary-cache.js +14 -14
  72. package/dist/dlx/binary-download.d.ts +1 -1
  73. package/dist/dlx/binary-download.js +14 -13
  74. package/dist/dlx/binary-resolution.js +16 -14
  75. package/dist/dlx/binary-types.d.ts +5 -5
  76. package/dist/dlx/binary.js +5 -5
  77. package/dist/dlx/cache.js +1 -1
  78. package/dist/dlx/detect.d.ts +34 -25
  79. package/dist/dlx/detect.js +86 -77
  80. package/dist/dlx/dir.js +2 -2
  81. package/dist/dlx/firewall.d.ts +1 -1
  82. package/dist/dlx/lockfile.d.ts +19 -18
  83. package/dist/dlx/lockfile.js +16 -16
  84. package/dist/dlx/manifest.d.ts +6 -6
  85. package/dist/dlx/manifest.js +5 -5
  86. package/dist/dlx/package.d.ts +10 -10
  87. package/dist/dlx/package.js +16 -16
  88. package/dist/dlx/packages.js +4 -4
  89. package/dist/dlx/paths.js +7 -7
  90. package/dist/dlx/spec.js +1 -1
  91. package/dist/dlx/types.d.ts +28 -27
  92. package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
  93. package/dist/eco/cargo/parse-lockfile.js +2 -2
  94. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  95. package/dist/eco/manifest/detect-format.js +4 -4
  96. package/dist/eco/manifest/find-packages.js +2 -2
  97. package/dist/eco/manifest/get-package-versions.js +2 -2
  98. package/dist/eco/manifest/get-package.js +2 -2
  99. package/dist/eco/manifest/parse-lockfile.js +2 -2
  100. package/dist/eco/manifest/parse-manifest.js +2 -2
  101. package/dist/eco/manifest/parse.js +2 -2
  102. package/dist/eco/npm/npm/exec.js +2 -2
  103. package/dist/eco/npm/npm/flags.js +7 -12
  104. package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
  105. package/dist/eco/npm/npm/parse-lockfile.js +3 -3
  106. package/dist/eco/npm/parse-package-json.js +3 -3
  107. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  108. package/dist/eco/npm/pnpm/exec.js +5 -5
  109. package/dist/eco/npm/pnpm/flags.js +0 -3
  110. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
  111. package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
  112. package/dist/eco/npm/script.js +9 -6
  113. package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
  114. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
  115. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
  116. package/dist/effects/pulse-frames.d.ts +3 -1
  117. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  118. package/dist/effects/shimmer-terminal.d.ts +1 -1
  119. package/dist/env/boolean.js +0 -1
  120. package/dist/env/ci.js +0 -1
  121. package/dist/env/debug.js +0 -1
  122. package/dist/env/github-status.d.ts +51 -0
  123. package/dist/env/github-status.js +90 -0
  124. package/dist/env/github.js +0 -8
  125. package/dist/env/home.js +0 -1
  126. package/dist/env/locale.js +0 -3
  127. package/dist/env/node-auth-token.js +0 -1
  128. package/dist/env/node-env.js +0 -1
  129. package/dist/env/node-version-managers.d.ts +53 -0
  130. package/dist/env/node-version-managers.js +90 -0
  131. package/dist/env/npm.js +0 -5
  132. package/dist/env/number.js +0 -1
  133. package/dist/env/package-manager.js +3 -6
  134. package/dist/env/path.js +0 -1
  135. package/dist/env/pre-commit.js +1 -2
  136. package/dist/env/rewire.d.ts +7 -6
  137. package/dist/env/rewire.js +15 -16
  138. package/dist/env/shell.js +0 -1
  139. package/dist/env/socket-cli.js +5 -18
  140. package/dist/env/socket-mcp.d.ts +114 -0
  141. package/dist/env/socket-mcp.js +146 -0
  142. package/dist/env/socket.d.ts +1 -109
  143. package/dist/env/socket.js +12 -166
  144. package/dist/env/string.js +0 -1
  145. package/dist/env/temp-dir.js +0 -3
  146. package/dist/env/term.js +0 -1
  147. package/dist/env/test.js +3 -6
  148. package/dist/env/windows.js +0 -4
  149. package/dist/env/xdg.js +0 -3
  150. package/dist/events/exit/_internal.d.ts +11 -9
  151. package/dist/events/exit/_internal.js +31 -35
  152. package/dist/events/exit/handler.js +3 -4
  153. package/dist/events/exit/intercept.js +4 -6
  154. package/dist/events/exit/lifecycle.js +16 -18
  155. package/dist/events/exit/signals.js +1 -2
  156. package/dist/events/exit/types.d.ts +6 -5
  157. package/dist/external/@npmcli/package-json.js +2 -2
  158. package/dist/external/@sinclair/typebox/value.js +5 -1
  159. package/dist/external/@sinclair/typebox.js +5 -1
  160. package/dist/external/@socketregistry/packageurl-js.js +27 -0
  161. package/dist/external/npm-pack.js +2 -2
  162. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  163. package/dist/external-tools/bazel/resolve.js +2 -1
  164. package/dist/external-tools/bazel/types.d.ts +1 -1
  165. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  166. package/dist/external-tools/cdxgen/resolve.js +2 -1
  167. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  168. package/dist/external-tools/from-download.d.ts +1 -1
  169. package/dist/external-tools/from-download.js +1 -1
  170. package/dist/external-tools/from-pip-venv.d.ts +73 -0
  171. package/dist/external-tools/from-pip-venv.js +98 -0
  172. package/dist/external-tools/janus/asset-names.js +1 -1
  173. package/dist/external-tools/janus/from-download.js +3 -5
  174. package/dist/external-tools/janus/from-vfs.js +1 -1
  175. package/dist/external-tools/janus/resolve.js +2 -1
  176. package/dist/external-tools/janus/types.d.ts +1 -1
  177. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  178. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  179. package/dist/external-tools/jre/from-download.js +2 -1
  180. package/dist/external-tools/jre/from-vfs.js +1 -1
  181. package/dist/external-tools/jre/resolve.js +2 -1
  182. package/dist/external-tools/jre/types.d.ts +1 -1
  183. package/dist/external-tools/manifest.d.ts +7 -7
  184. package/dist/external-tools/manifest.js +18 -16
  185. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  186. package/dist/external-tools/opengrep/resolve.js +2 -1
  187. package/dist/external-tools/opengrep/types.d.ts +1 -1
  188. package/dist/external-tools/python/asset-names.d.ts +76 -0
  189. package/dist/external-tools/python/asset-names.js +104 -0
  190. package/dist/external-tools/python/dlx.d.ts +80 -0
  191. package/dist/external-tools/python/dlx.js +87 -0
  192. package/dist/external-tools/python/from-download.d.ts +53 -0
  193. package/dist/external-tools/python/from-download.js +68 -0
  194. package/dist/external-tools/python/from-path.d.ts +7 -0
  195. package/dist/external-tools/python/from-path.js +23 -0
  196. package/dist/external-tools/python/pin.d.ts +121 -0
  197. package/dist/external-tools/python/pin.js +173 -0
  198. package/dist/external-tools/python/pip-install.d.ts +75 -0
  199. package/dist/external-tools/python/pip-install.js +139 -0
  200. package/dist/external-tools/python/resolve.d.ts +42 -0
  201. package/dist/external-tools/python/resolve.js +58 -0
  202. package/dist/external-tools/python/types.d.ts +49 -0
  203. package/dist/external-tools/sbt/from-vfs.js +1 -1
  204. package/dist/external-tools/sbt/resolve.js +2 -1
  205. package/dist/external-tools/sbt/types.d.ts +1 -1
  206. package/dist/external-tools/skillspector/from-dlx.d.ts +24 -0
  207. package/dist/external-tools/skillspector/from-dlx.js +41 -0
  208. package/dist/external-tools/skillspector/from-path.d.ts +8 -0
  209. package/dist/external-tools/skillspector/from-path.js +30 -0
  210. package/dist/external-tools/skillspector/from-vfs.d.ts +8 -0
  211. package/dist/external-tools/skillspector/from-vfs.js +27 -0
  212. package/dist/external-tools/skillspector/resolve.d.ts +34 -0
  213. package/dist/external-tools/skillspector/resolve.js +53 -0
  214. package/dist/external-tools/skillspector/types.d.ts +24 -0
  215. package/dist/external-tools/skillspector/types.js +2 -0
  216. package/dist/external-tools/synp/from-download.js +2 -2
  217. package/dist/external-tools/synp/from-vfs.js +1 -1
  218. package/dist/external-tools/synp/resolve.js +2 -1
  219. package/dist/external-tools/trivy/from-vfs.js +1 -1
  220. package/dist/external-tools/trivy/resolve.js +2 -1
  221. package/dist/external-tools/trivy/types.d.ts +1 -1
  222. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  223. package/dist/external-tools/trufflehog/resolve.js +2 -1
  224. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  225. package/dist/fs/_internal.d.ts +1 -1
  226. package/dist/fs/_internal.js +7 -7
  227. package/dist/fs/access.js +5 -9
  228. package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
  229. package/dist/fs/encoding.js +5 -7
  230. package/dist/fs/{find-up.js → find.js} +11 -13
  231. package/dist/fs/inspect.js +7 -13
  232. package/dist/fs/read-dir.js +7 -10
  233. package/dist/fs/read-file.js +8 -14
  234. package/dist/fs/read-json-cache.d.ts +6 -4
  235. package/dist/fs/read-json-cache.js +9 -6
  236. package/dist/fs/read-json.js +4 -6
  237. package/dist/fs/resolve-module.js +1 -1
  238. package/dist/fs/safe.d.ts +1 -1
  239. package/dist/fs/safe.js +12 -13
  240. package/dist/fs/unique.js +4 -5
  241. package/dist/fs/validate.js +1 -2
  242. package/dist/fs/write-json.js +4 -5
  243. package/dist/git/_internal.js +12 -11
  244. package/dist/git/changed.js +4 -4
  245. package/dist/git/repo.js +3 -3
  246. package/dist/git/staged.js +4 -4
  247. package/dist/git/unstaged.js +4 -4
  248. package/dist/github/ghsa.js +2 -2
  249. package/dist/github/refs-cache.d.ts +1 -1
  250. package/dist/github/refs-cache.js +5 -5
  251. package/dist/github/refs-rest.js +5 -5
  252. package/dist/github/{fetch.js → request.js} +13 -2
  253. package/dist/github/token.js +1 -1
  254. package/dist/github/types.d.ts +1 -1
  255. package/dist/globs/_internal.js +7 -9
  256. package/dist/globs/match.js +6 -7
  257. package/dist/globs/matcher.d.ts +3 -3
  258. package/dist/globs/matcher.js +12 -14
  259. package/dist/globs/stream.js +1 -2
  260. package/dist/globs/types.d.ts +24 -24
  261. package/dist/http-request/_internal.d.ts +1 -1
  262. package/dist/http-request/browser.js +21 -13
  263. package/dist/http-request/checksum-file.d.ts +55 -0
  264. package/dist/http-request/checksum-file.js +95 -0
  265. package/dist/http-request/download-types.d.ts +15 -23
  266. package/dist/http-request/download.js +4 -4
  267. package/dist/http-request/headers.d.ts +32 -3
  268. package/dist/http-request/headers.js +41 -13
  269. package/dist/http-request/request-attempt.js +38 -33
  270. package/dist/http-request/request-types.d.ts +7 -2
  271. package/dist/http-request/request.js +33 -16
  272. package/dist/http-request/response-reader.d.ts +12 -1
  273. package/dist/http-request/response-reader.js +22 -2
  274. package/dist/http-request/user-agent.js +3 -4
  275. package/dist/integrity.d.ts +86 -18
  276. package/dist/integrity.js +119 -30
  277. package/dist/ipc/directory.js +2 -2
  278. package/dist/ipc/paths.js +1 -1
  279. package/dist/ipc/write.js +1 -1
  280. package/dist/ipc-cli/get.js +12 -12
  281. package/dist/json/edit.js +13 -14
  282. package/dist/json/format.js +2 -2
  283. package/dist/json/parse.d.ts +1 -1
  284. package/dist/json/parse.js +3 -7
  285. package/dist/logger/_internal.d.ts +4 -4
  286. package/dist/logger/_internal.js +3 -3
  287. package/dist/logger/colors.js +4 -3
  288. package/dist/logger/console-methods.d.ts +132 -0
  289. package/dist/logger/console-methods.js +169 -0
  290. package/dist/logger/console.d.ts +12 -0
  291. package/dist/logger/console.js +42 -11
  292. package/dist/logger/indentation-methods.d.ts +81 -0
  293. package/dist/logger/indentation-methods.js +121 -0
  294. package/dist/logger/node.d.ts +16 -338
  295. package/dist/logger/node.js +75 -608
  296. package/dist/logger/options.d.ts +39 -0
  297. package/dist/logger/options.js +47 -0
  298. package/dist/logger/semantic-methods.d.ts +63 -0
  299. package/dist/logger/semantic-methods.js +108 -0
  300. package/dist/logger/stream-methods.d.ts +63 -0
  301. package/dist/logger/stream-methods.js +101 -0
  302. package/dist/logger/stream.d.ts +37 -0
  303. package/dist/logger/stream.js +42 -0
  304. package/dist/logger/symbols-builder.js +9 -9
  305. package/dist/logger/symbols.d.ts +2 -25
  306. package/dist/logger/symbols.js +53 -74
  307. package/dist/logger/types.d.ts +1 -1
  308. package/dist/memo/types.d.ts +6 -6
  309. package/dist/native-messaging/host.d.ts +20 -0
  310. package/dist/native-messaging/host.js +120 -0
  311. package/dist/native-messaging/index.d.ts +5 -0
  312. package/dist/native-messaging/index.js +22 -0
  313. package/dist/native-messaging/install.d.ts +60 -0
  314. package/dist/native-messaging/install.js +141 -0
  315. package/dist/native-messaging/rate-limit.d.ts +62 -0
  316. package/dist/native-messaging/rate-limit.js +115 -0
  317. package/dist/native-messaging/run.d.ts +10 -0
  318. package/dist/native-messaging/run.js +17 -0
  319. package/dist/node/async-hooks.js +4 -3
  320. package/dist/node/child-process.js +4 -3
  321. package/dist/node/crypto.js +4 -3
  322. package/dist/node/events.js +4 -3
  323. package/dist/node/fs-promises.js +4 -3
  324. package/dist/node/fs.js +4 -3
  325. package/dist/node/http.js +4 -3
  326. package/dist/node/https.js +4 -3
  327. package/dist/node/module.js +10 -6
  328. package/dist/node/os.js +4 -3
  329. package/dist/node/path.js +4 -3
  330. package/dist/node/timers-promises.js +4 -3
  331. package/dist/node/url.js +4 -3
  332. package/dist/node/util.js +4 -3
  333. package/dist/objects/getters.js +5 -7
  334. package/dist/objects/inspect.js +1 -4
  335. package/dist/objects/mutate.js +2 -3
  336. package/dist/objects/predicates.js +0 -4
  337. package/dist/objects/sort.js +3 -7
  338. package/dist/packages/edit-class.js +15 -16
  339. package/dist/packages/edit.js +12 -14
  340. package/dist/packages/exports.js +11 -17
  341. package/dist/packages/fetch.d.ts +16 -0
  342. package/dist/packages/fetch.js +81 -0
  343. package/dist/packages/find.d.ts +55 -0
  344. package/dist/packages/find.js +65 -0
  345. package/dist/packages/isolation.js +14 -14
  346. package/dist/packages/licenses.js +16 -16
  347. package/dist/packages/manifest.js +12 -15
  348. package/dist/packages/metadata-extensions.d.ts +14 -0
  349. package/dist/packages/metadata-extensions.js +43 -0
  350. package/dist/packages/normalize.js +5 -9
  351. package/dist/packages/provenance.d.ts +6 -0
  352. package/dist/packages/provenance.js +25 -18
  353. package/dist/packages/read.d.ts +29 -0
  354. package/dist/packages/read.js +66 -0
  355. package/dist/packages/specs.d.ts +48 -1
  356. package/dist/packages/specs.js +74 -11
  357. package/dist/packages/tarball.d.ts +24 -0
  358. package/dist/packages/tarball.js +79 -0
  359. package/dist/packages/types.d.ts +21 -20
  360. package/dist/packages/validation.js +0 -3
  361. package/dist/paths/_internal.d.ts +2 -1
  362. package/dist/paths/_internal.js +7 -19
  363. package/dist/paths/conversion.js +5 -9
  364. package/dist/paths/filenames.d.ts +0 -1
  365. package/dist/paths/filenames.js +0 -2
  366. package/dist/paths/normalize.js +6 -5
  367. package/dist/paths/packages.js +4 -7
  368. package/dist/paths/predicates.js +9 -16
  369. package/dist/paths/resolve.js +11 -14
  370. package/dist/paths/rewire.js +3 -3
  371. package/dist/paths/socket.js +16 -16
  372. package/dist/paths/walk.d.ts +1 -1
  373. package/dist/paths/walk.js +4 -4
  374. package/dist/perf/report.js +2 -2
  375. package/dist/perf/types.d.ts +1 -1
  376. package/dist/pkg-ext/data.js +1 -1
  377. package/dist/primordials/array.js +9 -9
  378. package/dist/primordials/date.js +2 -2
  379. package/dist/primordials/error.js +3 -3
  380. package/dist/primordials/headers.d.ts +10 -0
  381. package/dist/primordials/headers.js +23 -0
  382. package/dist/primordials/intl.d.ts +13 -0
  383. package/dist/primordials/intl.js +26 -0
  384. package/dist/primordials/math.js +33 -33
  385. package/dist/primordials/number.js +9 -9
  386. package/dist/primordials/object.js +5 -5
  387. package/dist/primordials/string.d.ts +2 -2
  388. package/dist/primordials/string.js +6 -6
  389. package/dist/primordials/symbol.js +3 -3
  390. package/dist/primordials/uncurry.js +9 -9
  391. package/dist/process/abort.js +3 -3
  392. package/dist/process/lock-manager.js +8 -8
  393. package/dist/process/spawn/_internal.js +6 -8
  394. package/dist/process/spawn/child.js +14 -14
  395. package/dist/process/spawn/errors.js +2 -4
  396. package/dist/process/spawn/kill-tree.d.ts +53 -0
  397. package/dist/process/spawn/kill-tree.js +85 -0
  398. package/dist/process/spawn/stdio.js +0 -1
  399. package/dist/process/spawn/types.d.ts +5 -5
  400. package/dist/process/transient.js +2 -2
  401. package/dist/promises/_internal.d.ts +2 -1
  402. package/dist/promises/_internal.js +2 -6
  403. package/dist/promises/iterate.js +12 -16
  404. package/dist/promises/options.js +3 -6
  405. package/dist/promises/retry.js +4 -5
  406. package/dist/promises/timers.d.ts +30 -0
  407. package/dist/promises/timers.js +48 -0
  408. package/dist/releases/github-archives.d.ts +6 -6
  409. package/dist/releases/github-archives.js +2 -2
  410. package/dist/releases/github-asset-url.d.ts +1 -1
  411. package/dist/releases/github-asset-url.js +5 -5
  412. package/dist/releases/github-downloads.d.ts +1 -1
  413. package/dist/releases/github-downloads.js +3 -3
  414. package/dist/releases/github-listing.d.ts +11 -2
  415. package/dist/releases/github-listing.js +20 -7
  416. package/dist/releases/github-retry-config.js +1 -1
  417. package/dist/releases/github-types.d.ts +6 -6
  418. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  419. package/dist/releases/socket-btm-binary-naming.js +155 -0
  420. package/dist/releases/socket-btm.d.ts +8 -115
  421. package/dist/releases/socket-btm.js +16 -159
  422. package/dist/schema/types.d.ts +1 -1
  423. package/dist/sea/detect.js +6 -6
  424. package/dist/secrets/_internal.d.ts +2 -2
  425. package/dist/secrets/_internal.js +5 -4
  426. package/dist/secrets/compare.d.ts +45 -0
  427. package/dist/secrets/compare.js +61 -0
  428. package/dist/secrets/keychain.js +9 -6
  429. package/dist/secrets/linux.js +25 -23
  430. package/dist/secrets/macos.d.ts +1 -1
  431. package/dist/secrets/macos.js +18 -16
  432. package/dist/secrets/rc.d.ts +2 -2
  433. package/dist/secrets/rc.js +15 -10
  434. package/dist/secrets/socket-api-token.d.ts +4 -4
  435. package/dist/secrets/socket-api-token.js +18 -9
  436. package/dist/secrets/windows.js +21 -17
  437. package/dist/shadow/skip.js +2 -2
  438. package/dist/shell/parse.d.ts +108 -1
  439. package/dist/shell/parse.js +168 -2
  440. package/dist/smol/detect.js +9 -10
  441. package/dist/smol/http.js +6 -7
  442. package/dist/smol/https.js +6 -7
  443. package/dist/smol/manifest.d.ts +1 -1
  444. package/dist/smol/manifest.js +6 -7
  445. package/dist/smol/path.d.ts +1 -1
  446. package/dist/smol/path.js +7 -8
  447. package/dist/smol/primordial.d.ts +4 -0
  448. package/dist/smol/primordial.js +6 -7
  449. package/dist/smol/purl.d.ts +1 -1
  450. package/dist/smol/purl.js +7 -8
  451. package/dist/smol/versions.js +6 -7
  452. package/dist/smol/vfs.js +6 -7
  453. package/dist/sorts/_internal.js +6 -8
  454. package/dist/sorts/natural.js +10 -12
  455. package/dist/sorts/semver.js +1 -2
  456. package/dist/sorts/strings.js +0 -1
  457. package/dist/sorts/types.d.ts +1 -1
  458. package/dist/spinner/create-spinner-class.d.ts +38 -0
  459. package/dist/spinner/create-spinner-class.js +302 -0
  460. package/dist/spinner/default.js +8 -9
  461. package/dist/spinner/spinner-internals.d.ts +36 -0
  462. package/dist/spinner/spinner-internals.js +101 -0
  463. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  464. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  465. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  466. package/dist/spinner/spinner-status-methods.js +133 -0
  467. package/dist/spinner/spinner.d.ts +4 -5
  468. package/dist/spinner/spinner.js +18 -705
  469. package/dist/spinner/types.d.ts +3 -1
  470. package/dist/spinner/with.d.ts +10 -0
  471. package/dist/spinner/with.js +16 -2
  472. package/dist/stdio/divider.js +1 -1
  473. package/dist/stdio/footer.js +3 -3
  474. package/dist/stdio/header.js +4 -4
  475. package/dist/stdio/progress.js +5 -5
  476. package/dist/stdio/prompts.d.ts +5 -3
  477. package/dist/stdio/prompts.js +6 -7
  478. package/dist/stdio/stdout.js +3 -3
  479. package/dist/streams/parallel.js +3 -5
  480. package/dist/streams/transform.js +2 -3
  481. package/dist/strings/format.js +2 -6
  482. package/dist/strings/predicates.js +0 -2
  483. package/dist/strings/search.js +1 -2
  484. package/dist/strings/transform.js +0 -3
  485. package/dist/strings/width.js +9 -10
  486. package/dist/tables/bordered.js +4 -3
  487. package/dist/tables/padding.js +1 -1
  488. package/dist/tables/simple.js +8 -5
  489. package/dist/temporal/instant.js +4 -2
  490. package/dist/temporal/slots.js +7 -6
  491. package/dist/temporal/system.js +9 -9
  492. package/dist/themes/context.d.ts +3 -2
  493. package/dist/themes/context.js +4 -5
  494. package/dist/themes/themes.js +15 -15
  495. package/dist/themes/types.d.ts +3 -3
  496. package/dist/url/parse.js +0 -2
  497. package/dist/url/predicates.js +1 -2
  498. package/dist/url/search-params.js +3 -9
  499. package/dist/url/types.d.ts +5 -5
  500. package/dist/versions/_internal.js +3 -3
  501. package/dist/words/article.js +0 -1
  502. package/dist/words/capitalize.js +0 -1
  503. package/dist/words/pluralize.d.ts +24 -2
  504. package/dist/words/pluralize.js +47 -2
  505. package/dist/words/types.d.ts +25 -2
  506. package/package.json +289 -108
  507. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  508. package/dist/external-tools/uv/asset-names.js +0 -70
  509. package/dist/external-tools/uv/from-download.d.ts +0 -17
  510. package/dist/external-tools/uv/from-download.js +0 -47
  511. package/dist/external-tools/uv/from-path.d.ts +0 -5
  512. package/dist/external-tools/uv/from-path.js +0 -22
  513. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  514. package/dist/external-tools/uv/from-vfs.js +0 -26
  515. package/dist/external-tools/uv/resolve.d.ts +0 -25
  516. package/dist/external-tools/uv/resolve.js +0 -52
  517. package/dist/external-tools/uv/types.d.ts +0 -24
  518. package/dist/http-request/checksums.d.ts +0 -69
  519. package/dist/http-request/checksums.js +0 -108
  520. package/dist/http-request/http-request.d.ts +0 -12
  521. package/dist/http-request/http-request.js +0 -11
  522. package/dist/packages/operations.d.ts +0 -113
  523. package/dist/packages/operations.js +0 -304
  524. package/dist/ssri/convert.d.ts +0 -48
  525. package/dist/ssri/convert.js +0 -69
  526. package/dist/ssri/parse.d.ts +0 -27
  527. package/dist/ssri/parse.js +0 -41
  528. package/dist/ssri/validate.d.ts +0 -41
  529. package/dist/ssri/validate.js +0 -56
  530. /package/dist/{bin → cli}/check.d.ts +0 -0
  531. /package/dist/external-tools/{uv → python}/types.js +0 -0
  532. /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
  533. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  534. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -11,36 +11,13 @@
11
11
  * - DLX cache: Check for node_modules/ directory
12
12
  * - Local paths: Check for package.json with bin field, then file extension
13
13
  */
14
- export declare function packageJsonPathCacheSet(key: string, value: string | undefined): void;
15
14
  export type ExecutableType = 'package' | 'binary' | 'unknown';
16
15
  export interface ExecutableDetectionResult {
17
16
  type: ExecutableType;
18
17
  method: 'dlx-cache' | 'package-json' | 'file-extension';
19
- packageJsonPath?: string;
20
- inDlxCache?: boolean;
18
+ packageJsonPath?: string | undefined;
19
+ inDlxCache?: boolean | undefined;
21
20
  }
22
- /**
23
- * Find package.json in the directory containing the file or parent directories.
24
- * Results are cached to avoid repeated directory traversal.
25
- *
26
- * @private
27
- *
28
- * @param filePath - Path to search from.
29
- *
30
- * @returns Path to package.json if found, undefined otherwise
31
- */
32
- export declare function findPackageJson(filePath: string): string | undefined;
33
- /**
34
- * Read and parse package.json with caching. Results are cached to avoid
35
- * repeated file reads.
36
- *
37
- * @private
38
- *
39
- * @param packageJsonPath - Path to package.json.
40
- *
41
- * @returns Parsed package.json or null if invalid
42
- */
43
- export declare function readPackageJson(packageJsonPath: string): object | undefined;
44
21
  /**
45
22
  * Detect executable type for paths in DLX cache. Uses filesystem structure
46
23
  * (node_modules/ presence).
@@ -95,6 +72,17 @@ export declare function detectExecutableType(filePath: string): ExecutableDetect
95
72
  * @returns Detection result
96
73
  */
97
74
  export declare function detectLocalExecutableType(filePath: string): ExecutableDetectionResult;
75
+ /**
76
+ * Find package.json in the directory containing the file or parent directories.
77
+ * Results are cached to avoid repeated directory traversal.
78
+ *
79
+ * @private
80
+ *
81
+ * @param filePath - Path to search from.
82
+ *
83
+ * @returns Path to package.json if found, undefined otherwise
84
+ */
85
+ export declare function findPackageJson(filePath: string): string | undefined;
98
86
  /**
99
87
  * Check if a file path indicates a Node.js script.
100
88
  *
@@ -138,3 +126,24 @@ export declare function isNativeBinary(filePath: string): boolean;
138
126
  * @returns True if detected as Node.js package
139
127
  */
140
128
  export declare function isNodePackage(filePath: string): boolean;
129
+ /**
130
+ * Set a package.json path cache entry, evicting the oldest when the LRU is
131
+ * full.
132
+ *
133
+ * @private
134
+ *
135
+ * @param key - Start directory used as the cache key.
136
+ * @param value - Resolved package.json path, or undefined for a negative entry.
137
+ */
138
+ export declare function packageJsonPathCacheSet(key: string, value: string | undefined): void;
139
+ /**
140
+ * Read and parse package.json with caching. Results are cached to avoid
141
+ * repeated file reads.
142
+ *
143
+ * @private
144
+ *
145
+ * @param packageJsonPath - Path to package.json.
146
+ *
147
+ * @returns Parsed package.json or null if invalid
148
+ */
149
+ export declare function readPackageJson(packageJsonPath: string): object | undefined;
@@ -8,7 +8,7 @@ const require_primordials_date = require('../primordials/date.js');
8
8
  const require_primordials_json = require('../primordials/json.js');
9
9
  const require_paths_socket = require('../paths/socket.js');
10
10
  const require_dlx_paths = require('./paths.js');
11
- const require_fs_find_up = require('../fs/find-up.js');
11
+ const require_fs_find = require('../fs/find.js');
12
12
 
13
13
  //#region src/dlx/detect.ts
14
14
  /**
@@ -35,81 +35,8 @@ const NODE_JS_EXTENSIONS = new require_primordials_map_set.SetCtor([
35
35
  const PACKAGE_JSON_PATH_CACHE_MAX_SIZE = 200;
36
36
  const PACKAGE_JSON_NEGATIVE_TTL_MS = 1e4;
37
37
  const packageJsonPathCache = new require_primordials_map_set.MapCtor();
38
- function packageJsonPathCacheSet(key, value) {
39
- if (packageJsonPathCache.has(key)) packageJsonPathCache.delete(key);
40
- else if (packageJsonPathCache.size >= PACKAGE_JSON_PATH_CACHE_MAX_SIZE) {
41
- const oldest = packageJsonPathCache.keys().next().value;
42
- if (oldest !== void 0) packageJsonPathCache.delete(oldest);
43
- }
44
- packageJsonPathCache.set(key, {
45
- path: value,
46
- at: Date.now()
47
- });
48
- }
49
38
  const packageJsonContentCache = new require_primordials_map_set.MapCtor();
50
39
  /**
51
- * Find package.json in the directory containing the file or parent directories.
52
- * Results are cached to avoid repeated directory traversal.
53
- *
54
- * @private
55
- *
56
- * @param filePath - Path to search from.
57
- *
58
- * @returns Path to package.json if found, undefined otherwise
59
- */
60
- function findPackageJson(filePath) {
61
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
62
- const nodePath = /* @__PURE__ */ require_node_path.getNodePath();
63
- const startDir = nodePath.dirname(nodePath.resolve(filePath));
64
- const cached = packageJsonPathCache.get(startDir);
65
- if (cached !== void 0) if (cached.path === void 0) {
66
- if (require_primordials_date.DateNow() - cached.at < PACKAGE_JSON_NEGATIVE_TTL_MS) return;
67
- packageJsonPathCache.delete(startDir);
68
- } else if (fs.existsSync(cached.path)) {
69
- packageJsonPathCacheSet(startDir, cached.path);
70
- return cached.path;
71
- } else packageJsonPathCache.delete(startDir);
72
- const packageJsonPath = /* @__PURE__ */ require_fs_find_up.findUpSync("package.json", { cwd: startDir });
73
- packageJsonPathCacheSet(startDir, packageJsonPath);
74
- return packageJsonPath;
75
- }
76
- /**
77
- * Read and parse package.json with caching. Results are cached to avoid
78
- * repeated file reads.
79
- *
80
- * @private
81
- *
82
- * @param packageJsonPath - Path to package.json.
83
- *
84
- * @returns Parsed package.json or null if invalid
85
- */
86
- function readPackageJson(packageJsonPath) {
87
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
88
- let mtimeMs = 0;
89
- try {
90
- mtimeMs = fs.statSync(packageJsonPath).mtimeMs;
91
- } catch {
92
- packageJsonContentCache.delete(packageJsonPath);
93
- return;
94
- }
95
- const cached = packageJsonContentCache.get(packageJsonPath);
96
- if (cached !== void 0 && cached.mtimeMs === mtimeMs) return cached.content;
97
- try {
98
- const content = require_primordials_json.JSONParse(fs.readFileSync(packageJsonPath, "utf8"));
99
- packageJsonContentCache.set(packageJsonPath, {
100
- mtimeMs,
101
- content
102
- });
103
- return content;
104
- } catch {
105
- packageJsonContentCache.set(packageJsonPath, {
106
- mtimeMs,
107
- content: void 0
108
- });
109
- return;
110
- }
111
- }
112
- /**
113
40
  * Detect executable type for paths in DLX cache. Uses filesystem structure
114
41
  * (node_modules/ presence).
115
42
  *
@@ -124,8 +51,8 @@ function readPackageJson(packageJsonPath) {
124
51
  * @returns Detection result
125
52
  */
126
53
  function detectDlxExecutableType(filePath) {
127
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
128
- const path = /* @__PURE__ */ require_node_path.getNodePath();
54
+ const fs = require_node_fs.getNodeFs();
55
+ const path = require_node_path.getNodePath();
129
56
  const dlxDir = require_paths_socket.getSocketDlxDir();
130
57
  const absolutePath = path.resolve(filePath);
131
58
  const cacheKey = path.relative(dlxDir, absolutePath).split(path.sep)[0] ?? "";
@@ -204,6 +131,32 @@ function detectLocalExecutableType(filePath) {
204
131
  };
205
132
  }
206
133
  /**
134
+ * Find package.json in the directory containing the file or parent directories.
135
+ * Results are cached to avoid repeated directory traversal.
136
+ *
137
+ * @private
138
+ *
139
+ * @param filePath - Path to search from.
140
+ *
141
+ * @returns Path to package.json if found, undefined otherwise
142
+ */
143
+ function findPackageJson(filePath) {
144
+ const fs = require_node_fs.getNodeFs();
145
+ const nodePath = require_node_path.getNodePath();
146
+ const startDir = nodePath.dirname(nodePath.resolve(filePath));
147
+ const cached = packageJsonPathCache.get(startDir);
148
+ if (cached !== void 0) if (cached.path === void 0) {
149
+ if (require_primordials_date.DateNow() - cached.at < PACKAGE_JSON_NEGATIVE_TTL_MS) return;
150
+ packageJsonPathCache.delete(startDir);
151
+ } else if (fs.existsSync(cached.path)) {
152
+ packageJsonPathCacheSet(startDir, cached.path);
153
+ return cached.path;
154
+ } else packageJsonPathCache.delete(startDir);
155
+ const packageJsonPath = require_fs_find.findUpSync("package.json", { cwd: startDir });
156
+ packageJsonPathCacheSet(startDir, packageJsonPath);
157
+ return packageJsonPath;
158
+ }
159
+ /**
207
160
  * Check if a file path indicates a Node.js script.
208
161
  *
209
162
  * @example
@@ -218,7 +171,7 @@ function detectLocalExecutableType(filePath) {
218
171
  * @returns True if file has .js, .mjs, or .cjs extension
219
172
  */
220
173
  function isJsFilePath(filePath) {
221
- const ext = (/* @__PURE__ */ require_node_path.getNodePath()).extname(filePath).toLowerCase();
174
+ const ext = require_node_path.getNodePath().extname(filePath).toLowerCase();
222
175
  return NODE_JS_EXTENSIONS.has(ext);
223
176
  }
224
177
  /**
@@ -253,6 +206,62 @@ function isNativeBinary(filePath) {
253
206
  function isNodePackage(filePath) {
254
207
  return detectExecutableType(filePath).type === "package";
255
208
  }
209
+ /**
210
+ * Set a package.json path cache entry, evicting the oldest when the LRU is
211
+ * full.
212
+ *
213
+ * @private
214
+ *
215
+ * @param key - Start directory used as the cache key.
216
+ * @param value - Resolved package.json path, or undefined for a negative entry.
217
+ */
218
+ function packageJsonPathCacheSet(key, value) {
219
+ if (packageJsonPathCache.has(key)) packageJsonPathCache.delete(key);
220
+ else if (packageJsonPathCache.size >= PACKAGE_JSON_PATH_CACHE_MAX_SIZE) {
221
+ const oldest = packageJsonPathCache.keys().next().value;
222
+ if (oldest !== void 0) packageJsonPathCache.delete(oldest);
223
+ }
224
+ packageJsonPathCache.set(key, {
225
+ path: value,
226
+ at: Date.now()
227
+ });
228
+ }
229
+ /**
230
+ * Read and parse package.json with caching. Results are cached to avoid
231
+ * repeated file reads.
232
+ *
233
+ * @private
234
+ *
235
+ * @param packageJsonPath - Path to package.json.
236
+ *
237
+ * @returns Parsed package.json or null if invalid
238
+ */
239
+ function readPackageJson(packageJsonPath) {
240
+ const fs = require_node_fs.getNodeFs();
241
+ let mtimeMs = 0;
242
+ try {
243
+ mtimeMs = fs.statSync(packageJsonPath).mtimeMs;
244
+ } catch {
245
+ packageJsonContentCache.delete(packageJsonPath);
246
+ return;
247
+ }
248
+ const cached = packageJsonContentCache.get(packageJsonPath);
249
+ if (cached !== void 0 && cached.mtimeMs === mtimeMs) return cached.content;
250
+ try {
251
+ const content = require_primordials_json.JSONParse(fs.readFileSync(packageJsonPath, "utf8"));
252
+ packageJsonContentCache.set(packageJsonPath, {
253
+ mtimeMs,
254
+ content
255
+ });
256
+ return content;
257
+ } catch {
258
+ packageJsonContentCache.set(packageJsonPath, {
259
+ mtimeMs,
260
+ content: void 0
261
+ });
262
+ return;
263
+ }
264
+ }
256
265
 
257
266
  //#endregion
258
267
  exports.detectDlxExecutableType = detectDlxExecutableType;
package/dist/dlx/dir.js CHANGED
@@ -20,7 +20,7 @@ const require_dlx_packages = require('./packages.js');
20
20
  * ```
21
21
  */
22
22
  async function clearDlx() {
23
- await /* @__PURE__ */ require_promises_iterate.pEach(await require_dlx_packages.listDlxPackagesAsync(), (pkg) => require_dlx_packages.removeDlxPackage(pkg));
23
+ await require_promises_iterate.pEach(await require_dlx_packages.listDlxPackagesAsync(), (pkg) => require_dlx_packages.removeDlxPackage(pkg));
24
24
  }
25
25
  /**
26
26
  * Clear all DLX package installations synchronously.
@@ -45,7 +45,7 @@ function clearDlxSync() {
45
45
  * ```
46
46
  */
47
47
  function dlxDirExists() {
48
- return (/* @__PURE__ */ require_node_fs.getNodeFs()).existsSync(require_paths_socket.getSocketDlxDir());
48
+ return require_node_fs.getNodeFs().existsSync(require_paths_socket.getSocketDlxDir());
49
49
  }
50
50
  /**
51
51
  * Ensure the DLX directory exists, creating it if necessary.
@@ -7,7 +7,7 @@
7
7
  * `dlx/package.ts` so the firewall logic + PURL helper can be reused by
8
8
  * other dlx flows without dragging in the install orchestrator.
9
9
  */
10
- import Arborist from '../external/@npmcli/arborist';
10
+ import type Arborist from '../external/@npmcli/arborist';
11
11
  /**
12
12
  * Check all resolved packages in an Arborist ideal tree against the Socket
13
13
  * Firewall API (public, no auth required). Throws if any dependency has
@@ -1,15 +1,15 @@
1
1
  /**
2
- * @file Package pin generation for dlx installs. `generatePackagePin` resolves
3
- * an npm package against the registry using Arborist's lockfile-only mode and
4
- * fetches its top-level tarball to return both hash formats plus the lockfile
5
- * content — everything needed to vendor a reproducible install. The
2
+ * @file Package pin generation for dlx installs. `resolveNpmPackagePin`
3
+ * resolves an npm package against the registry using Arborist's lockfile-only
4
+ * mode and fetches its top-level tarball to return both hash formats plus the
5
+ * lockfile content — everything needed to vendor a reproducible install. The
6
6
  * `LockfileSpec` type is also exported here for use as the `lockfile` option
7
- * on `downloadPackage`. Sniff/write handling lives inline in `./package.ts` —
8
- * no helper.
7
+ * on `downloadNpmPackage`. Sniff/write handling lives inline in
8
+ * `./package.ts` — no helper.
9
9
  */
10
10
  import type { ComputedHashes } from '../integrity';
11
11
  /**
12
- * Lockfile source for the `lockfile` option on `downloadPackage`.
12
+ * Lockfile source for the `lockfile` option on `downloadNpmPackage`.
13
13
  *
14
14
  * Bare strings are sniffed: a leading `{` (after whitespace) means JSON
15
15
  * content, anything else is treated as a filesystem path. Pass the explicit `{
@@ -40,11 +40,7 @@ export declare const DEFAULT_MIN_RELEASE_DAYS = 7;
40
40
  /**
41
41
  * Options for generating a vendorable pin for an npm package.
42
42
  */
43
- export interface GeneratePackagePinOptions {
44
- /**
45
- * Package spec, e.g. `'@anthropic-ai/claude-code@2.1.92'`.
46
- */
47
- package: string;
43
+ export interface ResolveNpmPackagePinOptions {
48
44
  /**
49
45
  * Minimum release age in days. Refuses to resolve any version (direct or
50
46
  * transitive) published more recently than `Date.now() - N days`.
@@ -62,12 +58,17 @@ export interface GeneratePackagePinOptions {
62
58
  * exclusive with {@link minReleaseDays}.
63
59
  */
64
60
  minReleaseMins?: number | undefined;
61
+ /**
62
+ * Package spec, e.g. `'@anthropic-ai/claude-code@2.1.92'`. Named `spec` to
63
+ * match `downloadNpmPackage`/`downloadPipPackage`.
64
+ */
65
+ spec: string;
65
66
  }
66
67
  /**
67
- * Result of {@link generatePackagePin}. All file data is returned as content —
68
+ * Result of {@link resolveNpmPackagePin}. All file data is returned as content —
68
69
  * the caller decides whether/where to write it.
69
70
  */
70
- export interface PinDetails {
71
+ export interface NpmPackagePin {
71
72
  /**
72
73
  * Resolved package name.
73
74
  */
@@ -95,7 +96,7 @@ export interface PinDetails {
95
96
  */
96
97
  export declare class DlxLockfileError extends Error {
97
98
  constructor(message: string, options?: {
98
- cause?: unknown;
99
+ cause?: unknown | undefined;
99
100
  } | undefined);
100
101
  }
101
102
  /**
@@ -112,15 +113,15 @@ export declare class DlxLockfileError extends Error {
112
113
  *
113
114
  * @example
114
115
  * ;```ts
115
- * const pin = await generatePackagePin({
116
- * package: '@anthropic-ai/claude-code@2.1.92',
116
+ * const pin = await resolveNpmPackagePin({
117
+ * spec: '@anthropic-ai/claude-code@2.1.92',
117
118
  * })
118
119
  * await fs.writeFile('./claude.lock.json', pin.lockfile, 'utf8')
119
120
  * // pin.hash.integrity → 'sha512-…'
120
121
  * // pin.hash.checksum → hex
121
122
  * ```
122
123
  */
123
- export declare function generatePackagePin(options: GeneratePackagePinOptions): Promise<PinDetails>;
124
+ export declare function resolveNpmPackagePin(options: ResolveNpmPackagePinOptions): Promise<NpmPackagePin>;
124
125
  /**
125
126
  * Extract the package name from a spec like `'name@range'` or
126
127
  * `'@scope/name@range'` or a bare `'name'`.
@@ -2,8 +2,8 @@
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_primordials_string = require('../primordials/string.js');
6
5
  const require_integrity = require('../integrity.js');
6
+ const require_primordials_string = require('../primordials/string.js');
7
7
  const require_node_fs = require('../node/fs.js');
8
8
  const require_node_path = require('../node/path.js');
9
9
  const require_primordials_date = require('../primordials/date.js');
@@ -17,13 +17,13 @@ src_external_pacote = require_runtime.__toESM(src_external_pacote);
17
17
 
18
18
  //#region src/dlx/lockfile.ts
19
19
  /**
20
- * @file Package pin generation for dlx installs. `generatePackagePin` resolves
21
- * an npm package against the registry using Arborist's lockfile-only mode and
22
- * fetches its top-level tarball to return both hash formats plus the lockfile
23
- * content — everything needed to vendor a reproducible install. The
20
+ * @file Package pin generation for dlx installs. `resolveNpmPackagePin`
21
+ * resolves an npm package against the registry using Arborist's lockfile-only
22
+ * mode and fetches its top-level tarball to return both hash formats plus the
23
+ * lockfile content — everything needed to vendor a reproducible install. The
24
24
  * `LockfileSpec` type is also exported here for use as the `lockfile` option
25
- * on `downloadPackage`. Sniff/write handling lives inline in `./package.ts` —
26
- * no helper.
25
+ * on `downloadNpmPackage`. Sniff/write handling lives inline in
26
+ * `./package.ts` — no helper.
27
27
  */
28
28
  /**
29
29
  * Default minimum release age in days applied when a caller passes neither
@@ -55,20 +55,20 @@ var DlxLockfileError = class extends Error {
55
55
  *
56
56
  * @example
57
57
  * ;```ts
58
- * const pin = await generatePackagePin({
59
- * package: '@anthropic-ai/claude-code@2.1.92',
58
+ * const pin = await resolveNpmPackagePin({
59
+ * spec: '@anthropic-ai/claude-code@2.1.92',
60
60
  * })
61
61
  * await fs.writeFile('./claude.lock.json', pin.lockfile, 'utf8')
62
62
  * // pin.hash.integrity → 'sha512-…'
63
63
  * // pin.hash.checksum → hex
64
64
  * ```
65
65
  */
66
- async function generatePackagePin(options) {
67
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
68
- const path = /* @__PURE__ */ require_node_path.getNodePath();
69
- const { minReleaseDays, minReleaseMins, package: spec } = options;
70
- if (typeof spec !== "string" || spec.length === 0) throw new DlxLockfileError("generatePackagePin requires a package spec");
71
- if (minReleaseDays !== void 0 && minReleaseMins !== void 0) throw new DlxLockfileError("generatePackagePin: minReleaseDays and minReleaseMins are mutually exclusive");
66
+ async function resolveNpmPackagePin(options) {
67
+ const fs = require_node_fs.getNodeFs();
68
+ const path = require_node_path.getNodePath();
69
+ const { minReleaseDays, minReleaseMins, spec } = options;
70
+ if (typeof spec !== "string" || spec.length === 0) throw new DlxLockfileError("resolveNpmPackagePin requires a package spec");
71
+ if (minReleaseDays !== void 0 && minReleaseMins !== void 0) throw new DlxLockfileError("resolveNpmPackagePin: minReleaseDays and minReleaseMins are mutually exclusive");
72
72
  const effectiveDays = minReleaseDays !== void 0 ? minReleaseDays : minReleaseMins !== void 0 ? void 0 : 7;
73
73
  const ageMs = effectiveDays !== void 0 ? effectiveDays * 864e5 : minReleaseMins !== void 0 ? minReleaseMins * 6e4 : 0;
74
74
  const before = ageMs > 0 ? new require_primordials_date.DateCtor(require_primordials_date.DateNow() - ageMs) : void 0;
@@ -125,6 +125,6 @@ function specRange(spec) {
125
125
  //#endregion
126
126
  exports.DEFAULT_MIN_RELEASE_DAYS = DEFAULT_MIN_RELEASE_DAYS;
127
127
  exports.DlxLockfileError = DlxLockfileError;
128
- exports.generatePackagePin = generatePackagePin;
128
+ exports.resolveNpmPackagePin = resolveNpmPackagePin;
129
129
  exports.specName = specName;
130
130
  exports.specRange = specRange;
@@ -27,12 +27,12 @@
27
27
  */
28
28
  export interface PackageDetails {
29
29
  installed_version: string;
30
- size?: number;
30
+ size?: number | undefined;
31
31
  update_check?: {
32
32
  last_check: number;
33
33
  last_notification: number;
34
34
  latest_known: string;
35
- };
35
+ } | undefined;
36
36
  }
37
37
  /**
38
38
  * Details for binary download entries.
@@ -47,8 +47,8 @@ export interface BinaryDetails {
47
47
  size: number;
48
48
  source: {
49
49
  type: 'download' | 'extract';
50
- url?: string;
51
- path?: string;
50
+ url?: string | undefined;
51
+ path?: string | undefined;
52
52
  };
53
53
  /**
54
54
  * Update check metadata (same structure as packages).
@@ -57,7 +57,7 @@ export interface BinaryDetails {
57
57
  last_check: number;
58
58
  last_notification: number;
59
59
  latest_known: string;
60
- };
60
+ } | undefined;
61
61
  }
62
62
  /**
63
63
  * Unified manifest entry for all cached items (packages and binaries). Shared
@@ -81,7 +81,7 @@ export interface DlxManifestOptions {
81
81
  /**
82
82
  * Custom manifest file path (defaults to ~/.socket/_dlx/.dlx-manifest.json).
83
83
  */
84
- manifestPath?: string;
84
+ manifestPath?: string | undefined;
85
85
  }
86
86
  /**
87
87
  * Type guard for binary entries.
@@ -4,8 +4,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_node_fs = require('../node/fs.js');
5
5
  const require_node_path = require('../node/path.js');
6
6
  const require_primordials_date = require('../primordials/date.js');
7
- const require_primordials_object = require('../primordials/object.js');
8
7
  const require_primordials_json = require('../primordials/json.js');
8
+ const require_primordials_object = require('../primordials/object.js');
9
9
  const require_errors_message = require('../errors/message.js');
10
10
  const require_logger_default = require('../logger/default.js');
11
11
  const require_paths_socket = require('../paths/socket.js');
@@ -38,8 +38,8 @@ const require_fs_read_file = require('../fs/read-file.js');
38
38
  * - Binary metadata tracking
39
39
  * - Rate limiting registry requests
40
40
  */
41
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
42
- const path = /* @__PURE__ */ require_node_path.getNodePath();
41
+ const fs = require_node_fs.getNodeFs();
42
+ const path = require_node_path.getNodePath();
43
43
  const logger = require_logger_default.getDefaultLogger();
44
44
  /**
45
45
  * Manifest file name.
@@ -92,7 +92,7 @@ var DlxManifest = class {
92
92
  readManifest() {
93
93
  try {
94
94
  if (!fs.existsSync(this.manifestPath)) return { __proto__: null };
95
- const rawContent = /* @__PURE__ */ require_fs_read_file.readFileUtf8Sync(this.manifestPath);
95
+ const rawContent = require_fs_read_file.readFileUtf8Sync(this.manifestPath);
96
96
  const content = (typeof rawContent === "string" ? rawContent : rawContent.toString("utf8")).trim();
97
97
  if (!content) return { __proto__: null };
98
98
  return require_primordials_json.JSONParse(content);
@@ -172,7 +172,7 @@ var DlxManifest = class {
172
172
  getAllPackages() {
173
173
  try {
174
174
  if (!fs.existsSync(this.manifestPath)) return [];
175
- const rawContent = /* @__PURE__ */ require_fs_read_file.readFileUtf8Sync(this.manifestPath);
175
+ const rawContent = require_fs_read_file.readFileUtf8Sync(this.manifestPath);
176
176
  const content = (typeof rawContent === "string" ? rawContent : rawContent.toString("utf8")).trim();
177
177
  if (!content) return [];
178
178
  return require_primordials_object.ObjectKeys(require_primordials_json.JSONParse(content));
@@ -20,9 +20,9 @@
20
20
  * - dlx/binary.ts: Downloads standalone binaries from URLs
21
21
  * - dlx/package.ts: Installs npm packages from registries Implementation:
22
22
  * - Uses Arborist for package installation (like npx, no npm CLI required)
23
- * - Split into downloadPackage() and executePackage() for flexibility
23
+ * - Split into downloadNpmPackage() and executePackage() for flexibility
24
24
  * - dlxPackage() combines both for convenience Module shape: this file holds
25
- * the three async orchestrators (`dlxPackage`, `downloadPackage`,
25
+ * the three async orchestrators (`dlxPackage`, `downloadNpmPackage`,
26
26
  * `ensurePackageInstalled`) and the synchronous `executePackage`. The
27
27
  * supporting surface lives in sibling leaves and is re-exported here so
28
28
  * existing `dlx/package` importers keep working unchanged:
@@ -33,7 +33,7 @@
33
33
  * - lazy `node:fs` / `node:path` + LRU cache — `./_internal`
34
34
  */
35
35
  import { spawn } from '../process/spawn/child';
36
- import type { DlxPackageOptions, DlxPackageResult, DownloadPackageResult, EnsurePackageInstallOptions } from './types';
36
+ import type { DlxPackageOptions, DlxPackageResult, DownloadNpmPackageResult, EnsurePackageInstallOptions } from './types';
37
37
  import type { SpawnExtra, SpawnOptions } from '../process/spawn/types';
38
38
  /**
39
39
  * Execute a package via DLX - install if needed and run its binary.
@@ -47,7 +47,7 @@ import type { SpawnExtra, SpawnOptions } from '../process/spawn/types';
47
47
  * ;```typescript
48
48
  * // Download and execute cdxgen
49
49
  * const result = await dlxPackage(['--version'], {
50
- * package: '@cyclonedx/cdxgen@10.0.0',
50
+ * spec: '@cyclonedx/cdxgen@10.0.0',
51
51
  * })
52
52
  * await result.spawnPromise
53
53
  * ```
@@ -61,15 +61,15 @@ export declare function dlxPackage(args: readonly string[] | string[], options:
61
61
  * @example
62
62
  * ;```typescript
63
63
  * // Install @socketsecurity/cli without running it
64
- * const result = await downloadPackage({
65
- * package: '@socketsecurity/cli@1.2.0',
64
+ * const result = await downloadNpmPackage({
65
+ * spec: '@socketsecurity/cli@1.2.0',
66
66
  * force: true,
67
67
  * })
68
68
  * console.log('Installed to:', result.packageDir)
69
69
  * console.log('Binary at:', result.binaryPath)
70
70
  * ```
71
71
  */
72
- export declare function downloadPackage(options: DlxPackageOptions): Promise<DownloadPackageResult>;
72
+ export declare function downloadNpmPackage(options: DlxPackageOptions): Promise<DownloadNpmPackageResult>;
73
73
  /**
74
74
  * Install package to ~/.socket/_dlx/<hash>/ if not already installed. Uses
75
75
  * pacote for installation (no npm CLI required). Protected by process lock to
@@ -91,7 +91,7 @@ export declare function ensurePackageInstalled(packageName: string, packageSpec:
91
91
  }>;
92
92
  /**
93
93
  * Execute a package's binary with cross-platform shell handling. The package
94
- * must already be installed (use downloadPackage first).
94
+ * must already be installed (use downloadNpmPackage first).
95
95
  *
96
96
  * On Windows, script files (.bat, .cmd, .ps1) require shell: true. Matches
97
97
  * npm/npx execution behavior.
@@ -99,7 +99,7 @@ export declare function ensurePackageInstalled(packageName: string, packageSpec:
99
99
  * @example
100
100
  * ;```typescript
101
101
  * // Execute an already-installed package
102
- * const downloaded = await downloadPackage({ package: 'cowsay@1.5.0' })
102
+ * const downloaded = await downloadNpmPackage({ spec: 'cowsay@1.5.0' })
103
103
  * const result = await executePackage(
104
104
  * downloaded.binaryPath,
105
105
  * ['Hello World'],
@@ -112,4 +112,4 @@ export { binaryPathCacheSet } from './_internal';
112
112
  export { findBinaryPath, makePackageBinsExecutable, resolveBinaryPath, } from './binary-resolution';
113
113
  export { checkFirewallPurls, npmPurl } from './firewall';
114
114
  export { parsePackageSpec } from './spec';
115
- export type { DlxPackageOptions, DlxPackageResult, DownloadPackageResult, EnsurePackageInstallOptions, } from './types';
115
+ export type { DlxPackageOptions, DlxPackageResult, DownloadNpmPackageResult, EnsurePackageInstallOptions, } from './types';