@socketsecurity/lib 6.0.6 → 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 (499) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/dist/ai/discover.d.mts +2 -2
  3. package/dist/ai/discover.js +3 -2
  4. package/dist/ai/spawn.js +2 -1
  5. package/dist/ai/types.d.mts +18 -6
  6. package/dist/ai/worktree.d.mts +6 -6
  7. package/dist/ai/worktree.js +1 -1
  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 +3 -5
  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/exec.js +2 -3
  27. package/dist/bin/find.js +13 -13
  28. package/dist/bin/prim.cjs +22736 -22556
  29. package/dist/bin/resolve.js +12 -13
  30. package/dist/bin/which.js +8 -8
  31. package/dist/cache/ttl/store.js +5 -5
  32. package/dist/checks/primordials-defaults.d.ts +3 -3
  33. package/dist/checks/primordials-defaults.js +3 -3
  34. package/dist/checks/primordials.js +4 -3
  35. package/dist/{bin → cli}/check-primordials.d.ts +11 -11
  36. package/dist/{bin → cli}/check-primordials.js +55 -52
  37. package/dist/{bin → cli}/check.js +3 -3
  38. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  39. package/dist/{bin → cli}/socket-lib.js +4 -4
  40. package/dist/colors/socket-palette.js +7 -9
  41. package/dist/compression/_internal.d.ts +12 -12
  42. package/dist/compression/_internal.js +17 -17
  43. package/dist/compression/brotli.d.ts +25 -25
  44. package/dist/compression/brotli.js +33 -33
  45. package/dist/compression/gzip.d.ts +23 -23
  46. package/dist/compression/gzip.js +40 -40
  47. package/dist/constants/agents.d.ts +3 -1
  48. package/dist/constants/agents.js +15 -11
  49. package/dist/constants/licenses.js +3 -3
  50. package/dist/constants/node.d.ts +23 -0
  51. package/dist/constants/node.js +47 -15
  52. package/dist/constants/packages.js +22 -28
  53. package/dist/constants/platform.d.ts +30 -3
  54. package/dist/constants/platform.js +72 -12
  55. package/dist/constants/runtime.d.ts +22 -0
  56. package/dist/constants/runtime.js +32 -0
  57. package/dist/constants/socket.js +1 -1
  58. package/dist/cover/code.js +8 -8
  59. package/dist/cover/formatters.js +5 -5
  60. package/dist/crypto/hash.d.ts +26 -1
  61. package/dist/crypto/hash.js +43 -12
  62. package/dist/debug/_internal.js +4 -6
  63. package/dist/debug/caller-info.js +2 -3
  64. package/dist/debug/namespace.d.ts +7 -0
  65. package/dist/debug/namespace.js +21 -12
  66. package/dist/debug/output.js +21 -24
  67. package/dist/debug/types.d.ts +4 -4
  68. package/dist/dlx/arborist.js +6 -6
  69. package/dist/dlx/binary-cache.js +14 -14
  70. package/dist/dlx/binary-download.d.ts +1 -1
  71. package/dist/dlx/binary-download.js +11 -11
  72. package/dist/dlx/binary-resolution.js +16 -14
  73. package/dist/dlx/binary-types.d.ts +5 -5
  74. package/dist/dlx/binary.js +5 -5
  75. package/dist/dlx/cache.js +1 -1
  76. package/dist/dlx/detect.d.ts +34 -25
  77. package/dist/dlx/detect.js +86 -77
  78. package/dist/dlx/dir.js +2 -2
  79. package/dist/dlx/firewall.d.ts +1 -1
  80. package/dist/dlx/lockfile.d.ts +19 -18
  81. package/dist/dlx/lockfile.js +16 -16
  82. package/dist/dlx/manifest.d.ts +6 -6
  83. package/dist/dlx/manifest.js +5 -5
  84. package/dist/dlx/package.d.ts +10 -10
  85. package/dist/dlx/package.js +16 -16
  86. package/dist/dlx/packages.js +4 -4
  87. package/dist/dlx/paths.js +7 -7
  88. package/dist/dlx/spec.js +1 -1
  89. package/dist/dlx/types.d.ts +28 -27
  90. package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
  91. package/dist/eco/cargo/parse-lockfile.js +2 -2
  92. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  93. package/dist/eco/manifest/detect-format.js +4 -4
  94. package/dist/eco/manifest/find-packages.js +2 -2
  95. package/dist/eco/manifest/get-package-versions.js +2 -2
  96. package/dist/eco/manifest/get-package.js +2 -2
  97. package/dist/eco/manifest/parse-lockfile.js +2 -2
  98. package/dist/eco/manifest/parse-manifest.js +2 -2
  99. package/dist/eco/manifest/parse.js +2 -2
  100. package/dist/eco/npm/npm/exec.js +2 -2
  101. package/dist/eco/npm/npm/flags.js +7 -12
  102. package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
  103. package/dist/eco/npm/npm/parse-lockfile.js +3 -3
  104. package/dist/eco/npm/parse-package-json.js +3 -3
  105. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  106. package/dist/eco/npm/pnpm/exec.js +5 -5
  107. package/dist/eco/npm/pnpm/flags.js +0 -3
  108. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
  109. package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
  110. package/dist/eco/npm/script.js +9 -6
  111. package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
  112. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
  113. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
  114. package/dist/effects/pulse-frames.d.ts +3 -1
  115. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  116. package/dist/effects/shimmer-terminal.d.ts +1 -1
  117. package/dist/env/boolean.js +0 -1
  118. package/dist/env/ci.js +0 -1
  119. package/dist/env/debug.js +0 -1
  120. package/dist/env/github-status.d.ts +51 -0
  121. package/dist/env/github-status.js +90 -0
  122. package/dist/env/github.js +0 -8
  123. package/dist/env/home.js +0 -1
  124. package/dist/env/locale.js +0 -3
  125. package/dist/env/node-auth-token.js +0 -1
  126. package/dist/env/node-env.js +0 -1
  127. package/dist/env/node-version-managers.d.ts +53 -0
  128. package/dist/env/node-version-managers.js +90 -0
  129. package/dist/env/npm.js +0 -5
  130. package/dist/env/number.js +0 -1
  131. package/dist/env/package-manager.js +3 -6
  132. package/dist/env/path.js +0 -1
  133. package/dist/env/pre-commit.js +1 -2
  134. package/dist/env/rewire.d.ts +7 -6
  135. package/dist/env/rewire.js +15 -16
  136. package/dist/env/shell.js +0 -1
  137. package/dist/env/socket-cli.js +5 -18
  138. package/dist/env/socket-mcp.d.ts +114 -0
  139. package/dist/env/socket-mcp.js +146 -0
  140. package/dist/env/socket.d.ts +1 -109
  141. package/dist/env/socket.js +12 -167
  142. package/dist/env/string.js +0 -1
  143. package/dist/env/temp-dir.js +0 -3
  144. package/dist/env/term.js +0 -1
  145. package/dist/env/test.js +3 -6
  146. package/dist/env/windows.js +0 -4
  147. package/dist/env/xdg.js +0 -3
  148. package/dist/events/exit/_internal.d.ts +11 -9
  149. package/dist/events/exit/_internal.js +31 -35
  150. package/dist/events/exit/handler.js +3 -4
  151. package/dist/events/exit/intercept.js +4 -6
  152. package/dist/events/exit/lifecycle.js +16 -18
  153. package/dist/events/exit/signals.js +1 -2
  154. package/dist/events/exit/types.d.ts +6 -5
  155. package/dist/external/@npmcli/package-json.js +2 -2
  156. package/dist/external/npm-pack.js +2 -2
  157. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  158. package/dist/external-tools/bazel/types.d.ts +1 -1
  159. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  160. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  161. package/dist/external-tools/from-download.d.ts +1 -1
  162. package/dist/external-tools/from-download.js +1 -1
  163. package/dist/external-tools/janus/from-vfs.js +1 -1
  164. package/dist/external-tools/janus/types.d.ts +1 -1
  165. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  166. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  167. package/dist/external-tools/jre/from-vfs.js +1 -1
  168. package/dist/external-tools/jre/types.d.ts +1 -1
  169. package/dist/external-tools/manifest.d.ts +7 -7
  170. package/dist/external-tools/manifest.js +12 -12
  171. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  172. package/dist/external-tools/opengrep/types.d.ts +1 -1
  173. package/dist/external-tools/python/asset-names.d.ts +76 -0
  174. package/dist/external-tools/python/asset-names.js +104 -0
  175. package/dist/external-tools/python/dlx.d.ts +80 -0
  176. package/dist/external-tools/python/dlx.js +87 -0
  177. package/dist/external-tools/python/from-download.d.ts +53 -0
  178. package/dist/external-tools/python/from-download.js +68 -0
  179. package/dist/external-tools/python/from-path.d.ts +7 -0
  180. package/dist/external-tools/python/from-path.js +23 -0
  181. package/dist/external-tools/python/pin.d.ts +121 -0
  182. package/dist/external-tools/python/pin.js +173 -0
  183. package/dist/external-tools/python/pip-install.d.ts +75 -0
  184. package/dist/external-tools/python/pip-install.js +139 -0
  185. package/dist/external-tools/python/resolve.d.ts +42 -0
  186. package/dist/external-tools/python/resolve.js +58 -0
  187. package/dist/external-tools/python/types.d.ts +49 -0
  188. package/dist/external-tools/sbt/from-vfs.js +1 -1
  189. package/dist/external-tools/sbt/types.d.ts +1 -1
  190. package/dist/external-tools/skillspector/from-path.js +3 -5
  191. package/dist/external-tools/skillspector/from-vfs.js +1 -1
  192. package/dist/external-tools/synp/from-download.js +2 -2
  193. package/dist/external-tools/synp/from-vfs.js +1 -1
  194. package/dist/external-tools/trivy/from-vfs.js +1 -1
  195. package/dist/external-tools/trivy/types.d.ts +1 -1
  196. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  197. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  198. package/dist/fs/_internal.d.ts +1 -1
  199. package/dist/fs/_internal.js +7 -7
  200. package/dist/fs/access.js +5 -9
  201. package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
  202. package/dist/fs/encoding.js +5 -7
  203. package/dist/fs/{find-up.js → find.js} +11 -13
  204. package/dist/fs/inspect.js +7 -13
  205. package/dist/fs/read-dir.js +7 -10
  206. package/dist/fs/read-file.js +8 -14
  207. package/dist/fs/read-json-cache.d.ts +6 -4
  208. package/dist/fs/read-json-cache.js +9 -6
  209. package/dist/fs/read-json.js +4 -6
  210. package/dist/fs/resolve-module.js +1 -1
  211. package/dist/fs/safe.d.ts +1 -1
  212. package/dist/fs/safe.js +12 -13
  213. package/dist/fs/unique.js +4 -5
  214. package/dist/fs/validate.js +1 -2
  215. package/dist/fs/write-json.js +4 -5
  216. package/dist/git/_internal.js +10 -10
  217. package/dist/git/changed.js +4 -4
  218. package/dist/git/repo.js +3 -3
  219. package/dist/git/staged.js +4 -4
  220. package/dist/git/unstaged.js +4 -4
  221. package/dist/github/ghsa.js +2 -2
  222. package/dist/github/refs-cache.d.ts +1 -1
  223. package/dist/github/refs-cache.js +5 -5
  224. package/dist/github/refs-rest.js +5 -5
  225. package/dist/github/{fetch.js → request.js} +13 -2
  226. package/dist/github/token.js +1 -1
  227. package/dist/github/types.d.ts +1 -1
  228. package/dist/globs/_internal.js +7 -9
  229. package/dist/globs/match.js +4 -6
  230. package/dist/globs/matcher.d.ts +3 -3
  231. package/dist/globs/matcher.js +12 -14
  232. package/dist/globs/stream.js +1 -2
  233. package/dist/globs/types.d.ts +24 -24
  234. package/dist/http-request/_internal.d.ts +1 -1
  235. package/dist/http-request/browser.js +4 -2
  236. package/dist/http-request/checksum-file.d.ts +55 -0
  237. package/dist/http-request/checksum-file.js +95 -0
  238. package/dist/http-request/download-types.d.ts +15 -23
  239. package/dist/http-request/download.js +3 -3
  240. package/dist/http-request/headers.js +0 -1
  241. package/dist/http-request/request-attempt.js +37 -33
  242. package/dist/http-request/request-types.d.ts +2 -2
  243. package/dist/http-request/request.js +1 -1
  244. package/dist/http-request/user-agent.js +3 -4
  245. package/dist/integrity.d.ts +86 -18
  246. package/dist/integrity.js +119 -30
  247. package/dist/ipc/directory.js +2 -2
  248. package/dist/ipc/paths.js +1 -1
  249. package/dist/ipc/write.js +1 -1
  250. package/dist/ipc-cli/get.js +12 -12
  251. package/dist/json/edit.js +13 -14
  252. package/dist/json/format.js +2 -2
  253. package/dist/json/parse.d.ts +1 -1
  254. package/dist/json/parse.js +3 -7
  255. package/dist/logger/_internal.d.ts +4 -4
  256. package/dist/logger/_internal.js +3 -3
  257. package/dist/logger/colors.js +4 -3
  258. package/dist/logger/console-methods.d.ts +132 -0
  259. package/dist/logger/console-methods.js +169 -0
  260. package/dist/logger/console.d.ts +12 -0
  261. package/dist/logger/console.js +42 -11
  262. package/dist/logger/indentation-methods.d.ts +81 -0
  263. package/dist/logger/indentation-methods.js +121 -0
  264. package/dist/logger/node.d.ts +16 -338
  265. package/dist/logger/node.js +75 -608
  266. package/dist/logger/options.d.ts +39 -0
  267. package/dist/logger/options.js +47 -0
  268. package/dist/logger/semantic-methods.d.ts +63 -0
  269. package/dist/logger/semantic-methods.js +108 -0
  270. package/dist/logger/stream-methods.d.ts +63 -0
  271. package/dist/logger/stream-methods.js +101 -0
  272. package/dist/logger/stream.d.ts +37 -0
  273. package/dist/logger/stream.js +42 -0
  274. package/dist/logger/symbols-builder.js +9 -9
  275. package/dist/logger/symbols.d.ts +2 -25
  276. package/dist/logger/symbols.js +53 -74
  277. package/dist/logger/types.d.ts +1 -1
  278. package/dist/memo/types.d.ts +6 -6
  279. package/dist/native-messaging/host.d.ts +20 -0
  280. package/dist/native-messaging/host.js +120 -0
  281. package/dist/native-messaging/index.d.ts +5 -0
  282. package/dist/native-messaging/index.js +22 -0
  283. package/dist/native-messaging/install.d.ts +60 -0
  284. package/dist/native-messaging/install.js +141 -0
  285. package/dist/native-messaging/rate-limit.d.ts +62 -0
  286. package/dist/native-messaging/rate-limit.js +115 -0
  287. package/dist/native-messaging/run.d.ts +10 -0
  288. package/dist/native-messaging/run.js +17 -0
  289. package/dist/node/async-hooks.js +4 -3
  290. package/dist/node/child-process.js +4 -3
  291. package/dist/node/crypto.js +4 -3
  292. package/dist/node/events.js +4 -3
  293. package/dist/node/fs-promises.js +4 -3
  294. package/dist/node/fs.js +4 -3
  295. package/dist/node/http.js +4 -3
  296. package/dist/node/https.js +4 -3
  297. package/dist/node/module.js +10 -6
  298. package/dist/node/os.js +4 -3
  299. package/dist/node/path.js +4 -3
  300. package/dist/node/timers-promises.js +4 -3
  301. package/dist/node/url.js +4 -3
  302. package/dist/node/util.js +4 -3
  303. package/dist/objects/getters.js +5 -7
  304. package/dist/objects/inspect.js +1 -4
  305. package/dist/objects/mutate.js +2 -3
  306. package/dist/objects/predicates.js +0 -4
  307. package/dist/objects/sort.js +3 -7
  308. package/dist/packages/edit-class.js +15 -16
  309. package/dist/packages/edit.js +12 -14
  310. package/dist/packages/exports.js +11 -17
  311. package/dist/packages/fetch.d.ts +16 -0
  312. package/dist/packages/fetch.js +81 -0
  313. package/dist/packages/find.d.ts +55 -0
  314. package/dist/packages/find.js +65 -0
  315. package/dist/packages/isolation.js +14 -14
  316. package/dist/packages/licenses.js +16 -16
  317. package/dist/packages/manifest.js +12 -15
  318. package/dist/packages/metadata-extensions.d.ts +14 -0
  319. package/dist/packages/metadata-extensions.js +43 -0
  320. package/dist/packages/normalize.js +5 -9
  321. package/dist/packages/provenance.js +16 -18
  322. package/dist/packages/read.d.ts +29 -0
  323. package/dist/packages/read.js +66 -0
  324. package/dist/packages/specs.d.ts +48 -1
  325. package/dist/packages/specs.js +74 -11
  326. package/dist/packages/tarball.d.ts +24 -0
  327. package/dist/packages/tarball.js +79 -0
  328. package/dist/packages/types.d.ts +21 -20
  329. package/dist/packages/validation.js +0 -3
  330. package/dist/paths/_internal.d.ts +2 -1
  331. package/dist/paths/_internal.js +7 -19
  332. package/dist/paths/conversion.js +5 -9
  333. package/dist/paths/filenames.d.ts +0 -1
  334. package/dist/paths/filenames.js +0 -2
  335. package/dist/paths/normalize.js +4 -5
  336. package/dist/paths/packages.js +4 -7
  337. package/dist/paths/predicates.js +9 -16
  338. package/dist/paths/resolve.js +11 -14
  339. package/dist/paths/rewire.js +3 -3
  340. package/dist/paths/socket.js +16 -16
  341. package/dist/paths/walk.d.ts +1 -1
  342. package/dist/paths/walk.js +4 -4
  343. package/dist/perf/report.js +2 -2
  344. package/dist/perf/types.d.ts +1 -1
  345. package/dist/pkg-ext/data.js +1 -1
  346. package/dist/primordials/array.js +9 -9
  347. package/dist/primordials/date.js +2 -2
  348. package/dist/primordials/error.js +3 -3
  349. package/dist/primordials/headers.d.ts +10 -0
  350. package/dist/primordials/headers.js +23 -0
  351. package/dist/primordials/intl.d.ts +13 -0
  352. package/dist/primordials/intl.js +26 -0
  353. package/dist/primordials/math.js +33 -33
  354. package/dist/primordials/number.js +9 -9
  355. package/dist/primordials/object.js +5 -5
  356. package/dist/primordials/string.d.ts +2 -2
  357. package/dist/primordials/string.js +6 -6
  358. package/dist/primordials/symbol.js +3 -3
  359. package/dist/primordials/uncurry.js +9 -9
  360. package/dist/process/abort.js +3 -3
  361. package/dist/process/lock-manager.js +8 -8
  362. package/dist/process/spawn/_internal.js +6 -8
  363. package/dist/process/spawn/child.js +14 -14
  364. package/dist/process/spawn/errors.js +2 -4
  365. package/dist/process/spawn/kill-tree.d.ts +53 -0
  366. package/dist/process/spawn/kill-tree.js +85 -0
  367. package/dist/process/spawn/stdio.js +0 -1
  368. package/dist/process/spawn/types.d.ts +5 -5
  369. package/dist/process/transient.js +2 -2
  370. package/dist/promises/_internal.d.ts +2 -1
  371. package/dist/promises/_internal.js +2 -6
  372. package/dist/promises/iterate.js +11 -15
  373. package/dist/promises/options.js +3 -6
  374. package/dist/promises/retry.js +4 -5
  375. package/dist/promises/timers.d.ts +30 -0
  376. package/dist/promises/timers.js +48 -0
  377. package/dist/releases/github-archives.d.ts +6 -6
  378. package/dist/releases/github-archives.js +2 -2
  379. package/dist/releases/github-asset-url.d.ts +1 -1
  380. package/dist/releases/github-asset-url.js +5 -5
  381. package/dist/releases/github-downloads.d.ts +1 -1
  382. package/dist/releases/github-downloads.js +3 -3
  383. package/dist/releases/github-listing.d.ts +11 -2
  384. package/dist/releases/github-listing.js +20 -7
  385. package/dist/releases/github-retry-config.js +1 -1
  386. package/dist/releases/github-types.d.ts +6 -6
  387. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  388. package/dist/releases/socket-btm-binary-naming.js +155 -0
  389. package/dist/releases/socket-btm.d.ts +8 -115
  390. package/dist/releases/socket-btm.js +16 -159
  391. package/dist/schema/types.d.ts +1 -1
  392. package/dist/sea/detect.js +6 -6
  393. package/dist/secrets/_internal.d.ts +2 -2
  394. package/dist/secrets/_internal.js +2 -2
  395. package/dist/secrets/compare.d.ts +45 -0
  396. package/dist/secrets/compare.js +61 -0
  397. package/dist/secrets/keychain.js +6 -4
  398. package/dist/secrets/linux.js +19 -19
  399. package/dist/secrets/macos.d.ts +1 -1
  400. package/dist/secrets/macos.js +13 -13
  401. package/dist/secrets/rc.d.ts +2 -2
  402. package/dist/secrets/rc.js +6 -4
  403. package/dist/secrets/socket-api-token.d.ts +4 -4
  404. package/dist/secrets/socket-api-token.js +18 -9
  405. package/dist/secrets/windows.js +14 -13
  406. package/dist/shadow/skip.js +2 -2
  407. package/dist/smol/detect.js +9 -10
  408. package/dist/smol/http.js +6 -7
  409. package/dist/smol/https.js +6 -7
  410. package/dist/smol/manifest.d.ts +1 -1
  411. package/dist/smol/manifest.js +6 -7
  412. package/dist/smol/path.d.ts +1 -1
  413. package/dist/smol/path.js +7 -8
  414. package/dist/smol/primordial.d.ts +4 -0
  415. package/dist/smol/primordial.js +6 -7
  416. package/dist/smol/purl.d.ts +1 -1
  417. package/dist/smol/purl.js +7 -8
  418. package/dist/smol/versions.js +6 -7
  419. package/dist/smol/vfs.js +6 -7
  420. package/dist/sorts/_internal.js +6 -8
  421. package/dist/sorts/natural.js +10 -12
  422. package/dist/sorts/semver.js +1 -2
  423. package/dist/sorts/strings.js +0 -1
  424. package/dist/sorts/types.d.ts +1 -1
  425. package/dist/spinner/create-spinner-class.d.ts +38 -0
  426. package/dist/spinner/create-spinner-class.js +302 -0
  427. package/dist/spinner/default.js +8 -9
  428. package/dist/spinner/spinner-internals.d.ts +36 -0
  429. package/dist/spinner/spinner-internals.js +101 -0
  430. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  431. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  432. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  433. package/dist/spinner/spinner-status-methods.js +133 -0
  434. package/dist/spinner/spinner.d.ts +4 -5
  435. package/dist/spinner/spinner.js +18 -705
  436. package/dist/spinner/types.d.ts +3 -1
  437. package/dist/spinner/with.d.ts +10 -0
  438. package/dist/spinner/with.js +16 -2
  439. package/dist/stdio/divider.js +1 -1
  440. package/dist/stdio/footer.js +3 -3
  441. package/dist/stdio/header.js +4 -4
  442. package/dist/stdio/progress.js +5 -5
  443. package/dist/stdio/prompts.d.ts +5 -3
  444. package/dist/stdio/prompts.js +6 -7
  445. package/dist/stdio/stdout.js +3 -3
  446. package/dist/streams/parallel.js +3 -5
  447. package/dist/streams/transform.js +2 -3
  448. package/dist/strings/format.js +2 -6
  449. package/dist/strings/predicates.js +0 -2
  450. package/dist/strings/search.js +1 -2
  451. package/dist/strings/transform.js +0 -3
  452. package/dist/strings/width.js +9 -10
  453. package/dist/tables/bordered.js +4 -3
  454. package/dist/tables/padding.js +1 -1
  455. package/dist/tables/simple.js +8 -5
  456. package/dist/temporal/instant.js +1 -1
  457. package/dist/temporal/slots.js +6 -6
  458. package/dist/temporal/system.js +9 -9
  459. package/dist/themes/context.d.ts +3 -2
  460. package/dist/themes/context.js +4 -5
  461. package/dist/themes/themes.js +15 -15
  462. package/dist/themes/types.d.ts +3 -3
  463. package/dist/url/parse.js +0 -2
  464. package/dist/url/predicates.js +1 -2
  465. package/dist/url/search-params.js +3 -9
  466. package/dist/url/types.d.ts +5 -5
  467. package/dist/versions/_internal.js +3 -3
  468. package/dist/words/article.js +0 -1
  469. package/dist/words/capitalize.js +0 -1
  470. package/dist/words/pluralize.js +15 -5
  471. package/package.json +247 -106
  472. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  473. package/dist/external-tools/uv/asset-names.js +0 -70
  474. package/dist/external-tools/uv/from-download.d.ts +0 -17
  475. package/dist/external-tools/uv/from-download.js +0 -47
  476. package/dist/external-tools/uv/from-path.d.ts +0 -5
  477. package/dist/external-tools/uv/from-path.js +0 -22
  478. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  479. package/dist/external-tools/uv/from-vfs.js +0 -26
  480. package/dist/external-tools/uv/resolve.d.ts +0 -25
  481. package/dist/external-tools/uv/resolve.js +0 -53
  482. package/dist/external-tools/uv/types.d.ts +0 -24
  483. package/dist/http-request/checksums.d.ts +0 -69
  484. package/dist/http-request/checksums.js +0 -108
  485. package/dist/http-request/http-request.d.ts +0 -12
  486. package/dist/http-request/http-request.js +0 -11
  487. package/dist/packages/operations.d.ts +0 -113
  488. package/dist/packages/operations.js +0 -304
  489. package/dist/ssri/convert.d.ts +0 -48
  490. package/dist/ssri/convert.js +0 -69
  491. package/dist/ssri/parse.d.ts +0 -27
  492. package/dist/ssri/parse.js +0 -41
  493. package/dist/ssri/validate.d.ts +0 -41
  494. package/dist/ssri/validate.js +0 -56
  495. /package/dist/{bin → cli}/check.d.ts +0 -0
  496. /package/dist/external-tools/{uv → python}/types.js +0 -0
  497. /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
  498. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  499. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -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';
@@ -44,9 +44,9 @@ src_external__npmcli_arborist = require_runtime.__toESM(src_external__npmcli_arb
44
44
  * - dlx/binary.ts: Downloads standalone binaries from URLs
45
45
  * - dlx/package.ts: Installs npm packages from registries Implementation:
46
46
  * - Uses Arborist for package installation (like npx, no npm CLI required)
47
- * - Split into downloadPackage() and executePackage() for flexibility
47
+ * - Split into downloadNpmPackage() and executePackage() for flexibility
48
48
  * - dlxPackage() combines both for convenience Module shape: this file holds
49
- * the three async orchestrators (`dlxPackage`, `downloadPackage`,
49
+ * the three async orchestrators (`dlxPackage`, `downloadNpmPackage`,
50
50
  * `ensurePackageInstalled`) and the synchronous `executePackage`. The
51
51
  * supporting surface lives in sibling leaves and is re-exported here so
52
52
  * existing `dlx/package` importers keep working unchanged:
@@ -73,13 +73,13 @@ const rangeOperatorsRegExp = /[~^><=xX* ]|\|\|/;
73
73
  * ;```typescript
74
74
  * // Download and execute cdxgen
75
75
  * const result = await dlxPackage(['--version'], {
76
- * package: '@cyclonedx/cdxgen@10.0.0',
76
+ * spec: '@cyclonedx/cdxgen@10.0.0',
77
77
  * })
78
78
  * await result.spawnPromise
79
79
  * ```
80
80
  */
81
81
  async function dlxPackage(args, options, spawnExtra) {
82
- const downloadResult = await downloadPackage(options);
82
+ const downloadResult = await downloadNpmPackage(options);
83
83
  const spawnPromise = executePackage(downloadResult.binaryPath, args, options.spawnOptions, spawnExtra);
84
84
  return {
85
85
  ...downloadResult,
@@ -94,16 +94,16 @@ async function dlxPackage(args, options, spawnExtra) {
94
94
  * @example
95
95
  * ;```typescript
96
96
  * // Install @socketsecurity/cli without running it
97
- * const result = await downloadPackage({
98
- * package: '@socketsecurity/cli@1.2.0',
97
+ * const result = await downloadNpmPackage({
98
+ * spec: '@socketsecurity/cli@1.2.0',
99
99
  * force: true,
100
100
  * })
101
101
  * console.log('Installed to:', result.packageDir)
102
102
  * console.log('Binary at:', result.binaryPath)
103
103
  * ```
104
104
  */
105
- async function downloadPackage(options) {
106
- const { binaryName, force: userForce, hash, installRoot, lockfile, package: packageSpec, yes } = {
105
+ async function downloadNpmPackage(options) {
106
+ const { binaryName, force: userForce, hash, installRoot, lockfile, spec: packageSpec, yes } = {
107
107
  __proto__: null,
108
108
  ...options
109
109
  };
@@ -139,10 +139,10 @@ async function downloadPackage(options) {
139
139
  * ```
140
140
  */
141
141
  async function ensurePackageInstalled(packageName, packageSpec, force, install) {
142
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
143
- const path = /* @__PURE__ */ require_node_path.getNodePath();
144
- const packageDir = /* @__PURE__ */ require_paths_normalize.normalizePath(install?.installRoot ?? path.join(require_paths_socket.getSocketDlxDir(), require_dlx_cache.generateCacheKey(packageSpec)));
145
- const installedDir = /* @__PURE__ */ require_paths_normalize.normalizePath(path.join(packageDir, "node_modules", packageName));
142
+ const fs = require_node_fs.getNodeFs();
143
+ const path = require_node_path.getNodePath();
144
+ const packageDir = require_paths_normalize.normalizePath(install?.installRoot ?? path.join(require_paths_socket.getSocketDlxDir(), require_dlx_cache.generateCacheKey(packageSpec)));
145
+ const installedDir = require_paths_normalize.normalizePath(path.join(packageDir, "node_modules", packageName));
146
146
  try {
147
147
  await require_fs_safe.safeMkdir(packageDir);
148
148
  } catch (e) {
@@ -200,7 +200,7 @@ async function ensurePackageInstalled(packageName, packageSpec, force, install)
200
200
  const code = e?.code;
201
201
  if (code === "E404" || code === "ETARGET") throw new require_primordials_error.ErrorCtor(`Package not found: ${packageSpec}\nVerify the package exists on npm registry and check the version.
202
202
  Visit https://www.npmjs.com/package/${packageName} to see available versions.`, { cause: e });
203
- if (code === "ENOTFOUND" || code === "ETIMEDOUT" || code === "EAI_AGAIN") throw new require_primordials_error.ErrorCtor(`Network error installing ${packageSpec}\nCheck your internet connection and try again.`, { cause: e });
203
+ if (code === "EAI_AGAIN" || code === "ENOTFOUND" || code === "ETIMEDOUT") throw new require_primordials_error.ErrorCtor(`Network error installing ${packageSpec}\nCheck your internet connection and try again.`, { cause: e });
204
204
  throw new require_primordials_error.ErrorCtor(`Failed to install package: ${packageSpec}\nDestination: ${installedDir}\nCheck npm registry connectivity or package name.`, { cause: e });
205
205
  }
206
206
  return {
@@ -214,7 +214,7 @@ Visit https://www.npmjs.com/package/${packageName} to see available versions.`,
214
214
  }
215
215
  /**
216
216
  * Execute a package's binary with cross-platform shell handling. The package
217
- * must already be installed (use downloadPackage first).
217
+ * must already be installed (use downloadNpmPackage first).
218
218
  *
219
219
  * On Windows, script files (.bat, .cmd, .ps1) require shell: true. Matches
220
220
  * npm/npx execution behavior.
@@ -222,7 +222,7 @@ Visit https://www.npmjs.com/package/${packageName} to see available versions.`,
222
222
  * @example
223
223
  * ;```typescript
224
224
  * // Execute an already-installed package
225
- * const downloaded = await downloadPackage({ package: 'cowsay@1.5.0' })
225
+ * const downloaded = await downloadNpmPackage({ spec: 'cowsay@1.5.0' })
226
226
  * const result = await executePackage(
227
227
  * downloaded.binaryPath,
228
228
  * ['Hello World'],
@@ -241,7 +241,7 @@ function executePackage(binaryPath, args, spawnOptions, spawnExtra) {
241
241
  exports.binaryPathCacheSet = require_dlx__internal.binaryPathCacheSet;
242
242
  exports.checkFirewallPurls = require_dlx_firewall.checkFirewallPurls;
243
243
  exports.dlxPackage = dlxPackage;
244
- exports.downloadPackage = downloadPackage;
244
+ exports.downloadNpmPackage = downloadNpmPackage;
245
245
  exports.ensurePackageInstalled = ensurePackageInstalled;
246
246
  exports.executePackage = executePackage;
247
247
  exports.findBinaryPath = require_dlx_binary_resolution.findBinaryPath;
@@ -24,7 +24,7 @@ const require_fs_read_dir = require('../fs/read-dir.js');
24
24
  * ```
25
25
  */
26
26
  function isDlxPackageInstalled(packageName) {
27
- return (/* @__PURE__ */ require_node_fs.getNodeFs()).existsSync(require_dlx_paths.getDlxInstalledPackageDir(packageName));
27
+ return require_node_fs.getNodeFs().existsSync(require_dlx_paths.getDlxInstalledPackageDir(packageName));
28
28
  }
29
29
  /**
30
30
  * List all packages installed in DLX.
@@ -37,7 +37,7 @@ function isDlxPackageInstalled(packageName) {
37
37
  */
38
38
  function listDlxPackages() {
39
39
  try {
40
- return /* @__PURE__ */ require_fs_read_dir.readDirNamesSync(require_paths_socket.getSocketDlxDir(), { sort: true });
40
+ return require_fs_read_dir.readDirNamesSync(require_paths_socket.getSocketDlxDir(), { sort: true });
41
41
  } catch {
42
42
  return [];
43
43
  }
@@ -52,9 +52,9 @@ function listDlxPackages() {
52
52
  * ```
53
53
  */
54
54
  async function listDlxPackagesAsync() {
55
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
55
+ const fs = require_node_fs.getNodeFs();
56
56
  try {
57
- return require_primordials_array.ArrayPrototypeFilter(await fs.promises.readdir(require_paths_socket.getSocketDlxDir(), { withFileTypes: true }), (e) => e.isDirectory()).map((e) => e.name).sort();
57
+ return require_primordials_array.ArrayPrototypeFilter(await fs.promises.readdir(require_paths_socket.getSocketDlxDir(), { withFileTypes: true }), (e) => e.isDirectory()).map((e) => e.name).toSorted();
58
58
  } catch {
59
59
  return [];
60
60
  }