@socketsecurity/lib 6.0.6 → 6.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (619) hide show
  1. package/CHANGELOG.md +46 -1
  2. package/README.md +1 -1
  3. package/dist/ai/agent-context.d.mts +103 -0
  4. package/dist/ai/agent-context.js +157 -0
  5. package/dist/ai/backends.d.mts +83 -0
  6. package/dist/ai/backends.js +173 -0
  7. package/dist/ai/credentials.d.mts +49 -0
  8. package/dist/ai/credentials.js +82 -0
  9. package/dist/ai/discover.d.mts +6 -2
  10. package/dist/ai/discover.js +4 -3
  11. package/dist/ai/exec.d.mts +52 -0
  12. package/dist/ai/exec.js +92 -0
  13. package/dist/ai/http.d.mts +132 -0
  14. package/dist/ai/http.js +130 -0
  15. package/dist/ai/profiles.d.mts +41 -6
  16. package/dist/ai/profiles.js +52 -10
  17. package/dist/ai/route.d.mts +69 -0
  18. package/dist/ai/route.js +156 -0
  19. package/dist/ai/spawn.d.mts +10 -2
  20. package/dist/ai/spawn.js +56 -31
  21. package/dist/ai/subagent-status.d.mts +48 -0
  22. package/dist/ai/subagent-status.js +57 -0
  23. package/dist/ai/tier.d.mts +60 -0
  24. package/dist/ai/tier.js +53 -0
  25. package/dist/ai/types.d.mts +31 -6
  26. package/dist/ai/worktree.d.mts +6 -6
  27. package/dist/ai/worktree.js +5 -1
  28. package/dist/ansi/strip.d.ts +1 -1
  29. package/dist/ansi/strip.js +0 -2
  30. package/dist/archives/_internal.js +7 -9
  31. package/dist/archives/extract.js +1 -1
  32. package/dist/archives/tar.js +7 -7
  33. package/dist/archives/zip.js +5 -7
  34. package/dist/argv/flag-predicates.d.ts +12 -12
  35. package/dist/argv/flag-predicates.js +17 -17
  36. package/dist/argv/flag-types.d.ts +18 -18
  37. package/dist/argv/flag-types.js +4 -4
  38. package/dist/argv/parse.d.ts +20 -3
  39. package/dist/argv/parse.js +1 -1
  40. package/dist/arrays/_internal.js +11 -12
  41. package/dist/arrays/chunk.js +0 -1
  42. package/dist/arrays/join.d.ts +37 -3
  43. package/dist/arrays/join.js +47 -7
  44. package/dist/arrays/unique.js +0 -1
  45. package/dist/bin/_internal.d.ts +1 -1
  46. package/dist/bin/_internal.js +1 -1
  47. package/dist/bin/exec.js +2 -3
  48. package/dist/bin/find.js +17 -17
  49. package/dist/bin/prim.cjs +36175 -35861
  50. package/dist/bin/resolve.js +13 -14
  51. package/dist/bin/which.js +8 -8
  52. package/dist/cache/ttl/store.js +6 -6
  53. package/dist/checks/primordials-defaults.d.ts +3 -3
  54. package/dist/checks/primordials-defaults.js +3 -3
  55. package/dist/checks/primordials.js +4 -3
  56. package/dist/{bin → cli}/check-primordials.d.ts +18 -13
  57. package/dist/{bin → cli}/check-primordials.js +58 -55
  58. package/dist/{bin → cli}/check.js +3 -3
  59. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  60. package/dist/{bin → cli}/socket-lib.js +4 -4
  61. package/dist/colors/socket-palette.js +7 -9
  62. package/dist/compression/_internal.d.ts +12 -12
  63. package/dist/compression/_internal.js +18 -18
  64. package/dist/compression/brotli.d.ts +26 -27
  65. package/dist/compression/brotli.js +39 -35
  66. package/dist/compression/gzip.d.ts +23 -23
  67. package/dist/compression/gzip.js +46 -42
  68. package/dist/constants/agents.d.ts +3 -1
  69. package/dist/constants/agents.js +15 -11
  70. package/dist/constants/licenses.js +3 -3
  71. package/dist/constants/node.d.ts +23 -0
  72. package/dist/constants/node.js +47 -15
  73. package/dist/constants/packages.d.ts +3 -0
  74. package/dist/constants/packages.js +24 -29
  75. package/dist/constants/platform.d.ts +30 -3
  76. package/dist/constants/platform.js +72 -12
  77. package/dist/constants/runtime.d.ts +22 -0
  78. package/dist/constants/runtime.js +32 -0
  79. package/dist/constants/socket.d.ts +2 -6
  80. package/dist/constants/socket.js +12 -14
  81. package/dist/cover/code.js +10 -10
  82. package/dist/cover/formatters.js +5 -5
  83. package/dist/crypto/hash.d.ts +30 -2
  84. package/dist/crypto/hash.js +47 -13
  85. package/dist/debug/_internal.js +4 -6
  86. package/dist/debug/caller-info.js +3 -4
  87. package/dist/debug/namespace.d.ts +7 -0
  88. package/dist/debug/namespace.js +21 -12
  89. package/dist/debug/output.js +21 -24
  90. package/dist/debug/types.d.ts +4 -4
  91. package/dist/dlx/arborist.js +18 -8
  92. package/dist/dlx/binary-cache.js +15 -15
  93. package/dist/dlx/binary-download.d.ts +1 -1
  94. package/dist/dlx/binary-download.js +11 -11
  95. package/dist/dlx/binary-resolution.js +17 -15
  96. package/dist/dlx/binary-types.d.ts +5 -5
  97. package/dist/dlx/binary.js +5 -5
  98. package/dist/dlx/cache.js +1 -1
  99. package/dist/dlx/detect.d.ts +42 -25
  100. package/dist/dlx/detect.js +86 -77
  101. package/dist/dlx/dir.js +2 -2
  102. package/dist/dlx/firewall.d.ts +9 -1
  103. package/dist/dlx/firewall.js +1 -1
  104. package/dist/dlx/lockfile.d.ts +19 -18
  105. package/dist/dlx/lockfile.js +19 -16
  106. package/dist/dlx/manifest.d.ts +6 -6
  107. package/dist/dlx/manifest.js +5 -5
  108. package/dist/dlx/package.d.ts +10 -10
  109. package/dist/dlx/package.js +20 -16
  110. package/dist/dlx/packages.js +4 -4
  111. package/dist/dlx/paths.js +7 -7
  112. package/dist/dlx/spec.js +1 -1
  113. package/dist/dlx/types.d.ts +28 -27
  114. package/dist/eco/cargo/parse-lockfile.d.ts +2 -3
  115. package/dist/eco/cargo/parse-lockfile.js +5 -5
  116. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  117. package/dist/eco/manifest/detect-format.js +5 -5
  118. package/dist/eco/manifest/find-packages.js +2 -2
  119. package/dist/eco/manifest/get-package-versions.js +2 -2
  120. package/dist/eco/manifest/get-package.js +2 -2
  121. package/dist/eco/manifest/parse-lockfile.js +2 -2
  122. package/dist/eco/manifest/parse-manifest.js +2 -2
  123. package/dist/eco/manifest/parse.js +2 -2
  124. package/dist/eco/npm/npm/exec.js +2 -2
  125. package/dist/eco/npm/npm/flags.js +7 -12
  126. package/dist/eco/npm/npm/parse-lockfile.d.ts +17 -18
  127. package/dist/eco/npm/npm/parse-lockfile.js +4 -4
  128. package/dist/eco/npm/parse-package-json.d.ts +11 -0
  129. package/dist/eco/npm/parse-package-json.js +3 -3
  130. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  131. package/dist/eco/npm/pnpm/exec.js +5 -5
  132. package/dist/eco/npm/pnpm/flags.js +0 -3
  133. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +6 -4
  134. package/dist/eco/npm/pnpm/parse-lockfile.js +7 -7
  135. package/dist/eco/npm/script.js +9 -6
  136. package/dist/eco/npm/yarnpkg/yarn/exec.js +4 -4
  137. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +3 -4
  138. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +9 -9
  139. package/dist/effects/pulse-frames.d.ts +3 -1
  140. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  141. package/dist/effects/shimmer-terminal.d.ts +1 -1
  142. package/dist/env/boolean.js +0 -1
  143. package/dist/env/ci.js +0 -1
  144. package/dist/env/debug.js +0 -1
  145. package/dist/env/github-status.d.ts +51 -0
  146. package/dist/env/github-status.js +90 -0
  147. package/dist/env/github.js +0 -8
  148. package/dist/env/home.js +0 -1
  149. package/dist/env/locale.js +0 -3
  150. package/dist/env/node-auth-token.js +0 -1
  151. package/dist/env/node-env.js +0 -1
  152. package/dist/env/node-version-managers.d.ts +53 -0
  153. package/dist/env/node-version-managers.js +90 -0
  154. package/dist/env/npm.js +0 -5
  155. package/dist/env/number.js +0 -1
  156. package/dist/env/package-manager.js +3 -6
  157. package/dist/env/path.js +0 -1
  158. package/dist/env/pre-commit.js +1 -2
  159. package/dist/env/proxy.js +1 -1
  160. package/dist/env/rewire.d.ts +8 -6
  161. package/dist/env/rewire.js +16 -17
  162. package/dist/env/shell.js +0 -1
  163. package/dist/env/socket-cli.js +5 -18
  164. package/dist/env/socket-mcp.d.ts +114 -0
  165. package/dist/env/socket-mcp.js +146 -0
  166. package/dist/env/socket.d.ts +8 -109
  167. package/dist/env/socket.js +22 -167
  168. package/dist/env/string.js +0 -1
  169. package/dist/env/temp-dir.js +0 -3
  170. package/dist/env/term.js +0 -1
  171. package/dist/env/test.js +3 -6
  172. package/dist/env/windows.js +0 -4
  173. package/dist/env/xdg.js +0 -3
  174. package/dist/errors/predicates.js +1 -1
  175. package/dist/events/exit/_internal.d.ts +11 -9
  176. package/dist/events/exit/_internal.js +31 -35
  177. package/dist/events/exit/handler.js +3 -4
  178. package/dist/events/exit/intercept.js +4 -6
  179. package/dist/events/exit/lifecycle.js +16 -18
  180. package/dist/events/exit/signals.js +1 -2
  181. package/dist/events/exit/types.d.ts +6 -5
  182. package/dist/external/@npmcli/package-json.js +2 -2
  183. package/dist/external/@npmcli/promise-spawn.js +3 -1
  184. package/dist/external/npm-pack.js +2 -2
  185. package/dist/external/pico-pack.js +4 -2
  186. package/dist/external/which.js +3 -1
  187. package/dist/external-tools/bazel/asset-names.d.ts +1 -1
  188. package/dist/external-tools/bazel/asset-names.js +5 -2
  189. package/dist/external-tools/bazel/from-download.d.ts +1 -1
  190. package/dist/external-tools/bazel/from-download.js +5 -2
  191. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  192. package/dist/external-tools/bazel/resolve-bazel-version.js +4 -0
  193. package/dist/external-tools/bazel/resolve.d.ts +3 -3
  194. package/dist/external-tools/bazel/resolve.js +16 -8
  195. package/dist/external-tools/bazel/types.d.ts +1 -1
  196. package/dist/external-tools/cdxgen/asset-names.d.ts +1 -1
  197. package/dist/external-tools/cdxgen/asset-names.js +5 -2
  198. package/dist/external-tools/cdxgen/from-download.d.ts +1 -1
  199. package/dist/external-tools/cdxgen/from-download.js +7 -4
  200. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  201. package/dist/external-tools/cdxgen/resolve.d.ts +3 -3
  202. package/dist/external-tools/cdxgen/resolve.js +16 -8
  203. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  204. package/dist/external-tools/from-download.d.ts +3 -3
  205. package/dist/external-tools/from-download.js +12 -6
  206. package/dist/external-tools/from-pip-venv.d.ts +1 -1
  207. package/dist/external-tools/from-pip-venv.js +12 -5
  208. package/dist/external-tools/janus/asset-names.d.ts +1 -1
  209. package/dist/external-tools/janus/asset-names.js +5 -2
  210. package/dist/external-tools/janus/from-download.d.ts +1 -1
  211. package/dist/external-tools/janus/from-download.js +5 -2
  212. package/dist/external-tools/janus/from-vfs.js +1 -1
  213. package/dist/external-tools/janus/resolve.d.ts +3 -3
  214. package/dist/external-tools/janus/resolve.js +16 -8
  215. package/dist/external-tools/janus/types.d.ts +1 -1
  216. package/dist/external-tools/jre/asset-names.d.ts +1 -1
  217. package/dist/external-tools/jre/asset-names.js +5 -2
  218. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  219. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  220. package/dist/external-tools/jre/from-download.d.ts +1 -1
  221. package/dist/external-tools/jre/from-download.js +7 -4
  222. package/dist/external-tools/jre/from-java-home.js +2 -2
  223. package/dist/external-tools/jre/from-vfs.js +3 -3
  224. package/dist/external-tools/jre/resolve.d.ts +3 -3
  225. package/dist/external-tools/jre/resolve.js +16 -8
  226. package/dist/external-tools/jre/types.d.ts +1 -1
  227. package/dist/external-tools/manifest.d.ts +25 -7
  228. package/dist/external-tools/manifest.js +13 -13
  229. package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
  230. package/dist/external-tools/opengrep/asset-names.js +5 -2
  231. package/dist/external-tools/opengrep/from-download.d.ts +1 -1
  232. package/dist/external-tools/opengrep/from-download.js +5 -2
  233. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  234. package/dist/external-tools/opengrep/resolve.d.ts +3 -3
  235. package/dist/external-tools/opengrep/resolve.js +16 -8
  236. package/dist/external-tools/opengrep/types.d.ts +1 -1
  237. package/dist/external-tools/python/asset-names.d.ts +76 -0
  238. package/dist/external-tools/python/asset-names.js +111 -0
  239. package/dist/external-tools/python/dlx.d.ts +80 -0
  240. package/dist/external-tools/python/dlx.js +98 -0
  241. package/dist/external-tools/python/from-download.d.ts +53 -0
  242. package/dist/external-tools/python/from-download.js +75 -0
  243. package/dist/external-tools/python/from-path.d.ts +7 -0
  244. package/dist/external-tools/python/from-path.js +23 -0
  245. package/dist/external-tools/python/pin.d.ts +121 -0
  246. package/dist/external-tools/python/pin.js +176 -0
  247. package/dist/external-tools/python/pip-install.d.ts +75 -0
  248. package/dist/external-tools/python/pip-install.js +142 -0
  249. package/dist/external-tools/python/resolve.d.ts +42 -0
  250. package/dist/external-tools/python/resolve.js +66 -0
  251. package/dist/external-tools/python/types.d.ts +49 -0
  252. package/dist/external-tools/sbt/asset-names.d.ts +1 -1
  253. package/dist/external-tools/sbt/asset-names.js +5 -2
  254. package/dist/external-tools/sbt/from-download.d.ts +1 -1
  255. package/dist/external-tools/sbt/from-download.js +5 -2
  256. package/dist/external-tools/sbt/from-vfs.js +1 -1
  257. package/dist/external-tools/sbt/resolve.d.ts +3 -3
  258. package/dist/external-tools/sbt/resolve.js +16 -8
  259. package/dist/external-tools/sbt/types.d.ts +1 -1
  260. package/dist/external-tools/skillspector/from-dlx.d.ts +1 -1
  261. package/dist/external-tools/skillspector/from-dlx.js +10 -3
  262. package/dist/external-tools/skillspector/from-path.js +3 -5
  263. package/dist/external-tools/skillspector/from-vfs.js +1 -1
  264. package/dist/external-tools/skillspector/resolve.d.ts +2 -2
  265. package/dist/external-tools/skillspector/resolve.js +14 -6
  266. package/dist/external-tools/synp/asset-names.d.ts +1 -1
  267. package/dist/external-tools/synp/asset-names.js +6 -2
  268. package/dist/external-tools/synp/from-download.d.ts +1 -1
  269. package/dist/external-tools/synp/from-download.js +7 -4
  270. package/dist/external-tools/synp/from-vfs.js +1 -1
  271. package/dist/external-tools/synp/resolve.d.ts +3 -3
  272. package/dist/external-tools/synp/resolve.js +16 -8
  273. package/dist/external-tools/trivy/asset-names.d.ts +1 -1
  274. package/dist/external-tools/trivy/asset-names.js +5 -2
  275. package/dist/external-tools/trivy/from-download.d.ts +1 -1
  276. package/dist/external-tools/trivy/from-download.js +7 -4
  277. package/dist/external-tools/trivy/from-vfs.js +1 -1
  278. package/dist/external-tools/trivy/resolve.d.ts +3 -3
  279. package/dist/external-tools/trivy/resolve.js +16 -8
  280. package/dist/external-tools/trivy/types.d.ts +1 -1
  281. package/dist/external-tools/trufflehog/asset-names.d.ts +1 -1
  282. package/dist/external-tools/trufflehog/asset-names.js +5 -2
  283. package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
  284. package/dist/external-tools/trufflehog/from-download.js +7 -4
  285. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  286. package/dist/external-tools/trufflehog/resolve.d.ts +3 -3
  287. package/dist/external-tools/trufflehog/resolve.js +16 -8
  288. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  289. package/dist/fs/_internal.d.ts +1 -1
  290. package/dist/fs/_internal.js +7 -7
  291. package/dist/fs/access.js +5 -9
  292. package/dist/fs/allowed-dirs-cache.d.ts +47 -0
  293. package/dist/fs/allowed-dirs-cache.js +69 -0
  294. package/dist/fs/encoding.js +5 -7
  295. package/dist/fs/{find-up.js → find.js} +12 -14
  296. package/dist/fs/inspect.js +7 -13
  297. package/dist/fs/read-dir.js +7 -10
  298. package/dist/fs/read-file.js +8 -14
  299. package/dist/fs/read-json-cache.d.ts +13 -4
  300. package/dist/fs/read-json-cache.js +9 -6
  301. package/dist/fs/read-json.js +4 -6
  302. package/dist/fs/resolve-module.js +7 -3
  303. package/dist/fs/safe.d.ts +1 -1
  304. package/dist/fs/safe.js +13 -14
  305. package/dist/fs/unique.js +4 -5
  306. package/dist/fs/validate.js +1 -2
  307. package/dist/fs/write-json.js +4 -5
  308. package/dist/git/_internal.js +11 -11
  309. package/dist/git/changed.js +4 -4
  310. package/dist/git/repo.js +5 -7
  311. package/dist/git/staged.js +12 -4
  312. package/dist/git/tracked.d.ts +84 -0
  313. package/dist/git/tracked.js +163 -0
  314. package/dist/git/unstaged.js +12 -4
  315. package/dist/github/ghsa.js +2 -2
  316. package/dist/github/refs-cache.d.ts +1 -1
  317. package/dist/github/refs-cache.js +5 -5
  318. package/dist/github/refs-graphql.js +4 -0
  319. package/dist/github/refs-rest.js +9 -5
  320. package/dist/github/refs.js +15 -10
  321. package/dist/github/{fetch.js → request.js} +13 -2
  322. package/dist/github/token.js +1 -1
  323. package/dist/github/types.d.ts +1 -1
  324. package/dist/globs/_internal.js +8 -10
  325. package/dist/globs/match.js +13 -7
  326. package/dist/globs/matcher.d.ts +3 -3
  327. package/dist/globs/matcher.js +16 -14
  328. package/dist/globs/stream.js +1 -2
  329. package/dist/globs/types.d.ts +24 -24
  330. package/dist/http-request/_internal.d.ts +1 -1
  331. package/dist/http-request/browser.js +10 -4
  332. package/dist/http-request/checksum-file.d.ts +55 -0
  333. package/dist/http-request/checksum-file.js +95 -0
  334. package/dist/http-request/download-types.d.ts +15 -23
  335. package/dist/http-request/download.js +3 -3
  336. package/dist/http-request/{browser-fetch.d.ts → fetch/browser.d.ts} +2 -2
  337. package/dist/http-request/{browser-fetch.js → fetch/browser.js} +4 -4
  338. package/dist/http-request/headers.js +1 -2
  339. package/dist/http-request/request-attempt.js +38 -34
  340. package/dist/http-request/request-types.d.ts +2 -2
  341. package/dist/http-request/request.js +1 -1
  342. package/dist/http-request/user-agent.js +4 -5
  343. package/dist/integrity.d.ts +92 -18
  344. package/dist/integrity.js +125 -30
  345. package/dist/ipc/directory.js +2 -2
  346. package/dist/ipc/paths.js +1 -1
  347. package/dist/ipc/write.js +1 -1
  348. package/dist/ipc-cli/get.js +12 -12
  349. package/dist/json/edit.js +51 -44
  350. package/dist/json/format.js +1 -1
  351. package/dist/json/parse.d.ts +1 -1
  352. package/dist/json/parse.js +3 -7
  353. package/dist/logger/_internal.d.ts +4 -4
  354. package/dist/logger/_internal.js +3 -3
  355. package/dist/logger/colors.js +4 -3
  356. package/dist/logger/console-methods.d.ts +132 -0
  357. package/dist/logger/console-methods.js +169 -0
  358. package/dist/logger/console.d.ts +12 -0
  359. package/dist/logger/console.js +42 -11
  360. package/dist/logger/indentation-methods.d.ts +81 -0
  361. package/dist/logger/indentation-methods.js +121 -0
  362. package/dist/logger/node.d.ts +16 -338
  363. package/dist/logger/node.js +75 -608
  364. package/dist/logger/options.d.ts +39 -0
  365. package/dist/logger/options.js +47 -0
  366. package/dist/logger/semantic-methods.d.ts +63 -0
  367. package/dist/logger/semantic-methods.js +108 -0
  368. package/dist/logger/stream-methods.d.ts +63 -0
  369. package/dist/logger/stream-methods.js +101 -0
  370. package/dist/logger/stream.d.ts +37 -0
  371. package/dist/logger/stream.js +42 -0
  372. package/dist/logger/symbols-builder.js +9 -9
  373. package/dist/logger/symbols.d.ts +2 -25
  374. package/dist/logger/symbols.js +53 -74
  375. package/dist/logger/types.d.ts +1 -1
  376. package/dist/memo/types.d.ts +6 -6
  377. package/dist/native-messaging/host.d.ts +20 -0
  378. package/dist/native-messaging/host.js +120 -0
  379. package/dist/native-messaging/index.d.ts +5 -0
  380. package/dist/native-messaging/index.js +22 -0
  381. package/dist/native-messaging/install.d.ts +60 -0
  382. package/dist/native-messaging/install.js +144 -0
  383. package/dist/native-messaging/rate-limit.d.ts +69 -0
  384. package/dist/native-messaging/rate-limit.js +119 -0
  385. package/dist/native-messaging/run.d.ts +10 -0
  386. package/dist/native-messaging/run.js +17 -0
  387. package/dist/node/async-hooks.js +4 -3
  388. package/dist/node/child-process.js +4 -3
  389. package/dist/node/crypto.js +4 -3
  390. package/dist/node/events.js +4 -3
  391. package/dist/node/fs-promises.js +4 -3
  392. package/dist/node/fs.d.ts +22 -6
  393. package/dist/node/fs.js +17 -3
  394. package/dist/node/http.js +4 -3
  395. package/dist/node/https.js +4 -3
  396. package/dist/node/module.js +10 -6
  397. package/dist/node/os.d.ts +10 -2
  398. package/dist/node/os.js +12 -4
  399. package/dist/node/path.d.ts +11 -2
  400. package/dist/node/path.js +18 -4
  401. package/dist/node/timers-promises.js +4 -3
  402. package/dist/node/url.js +4 -3
  403. package/dist/node/util.js +4 -3
  404. package/dist/objects/getters.js +6 -8
  405. package/dist/objects/inspect.js +1 -4
  406. package/dist/objects/mutate.js +4 -5
  407. package/dist/objects/predicates.js +1 -5
  408. package/dist/objects/sort.js +3 -7
  409. package/dist/packages/edit-class.d.ts +2 -3
  410. package/dist/packages/edit-class.js +53 -48
  411. package/dist/packages/edit.js +12 -14
  412. package/dist/packages/exports.js +15 -21
  413. package/dist/packages/fetch.d.ts +16 -0
  414. package/dist/packages/fetch.js +81 -0
  415. package/dist/packages/find.d.ts +55 -0
  416. package/dist/packages/find.js +65 -0
  417. package/dist/packages/isolation.js +14 -14
  418. package/dist/packages/licenses.js +18 -18
  419. package/dist/packages/manifest.js +16 -19
  420. package/dist/packages/metadata-extensions.d.ts +14 -0
  421. package/dist/packages/metadata-extensions.js +43 -0
  422. package/dist/packages/normalize.js +6 -10
  423. package/dist/packages/provenance.js +17 -19
  424. package/dist/packages/read.d.ts +29 -0
  425. package/dist/packages/read.js +66 -0
  426. package/dist/packages/specs.d.ts +48 -1
  427. package/dist/packages/specs.js +75 -12
  428. package/dist/packages/tarball.d.ts +24 -0
  429. package/dist/packages/tarball.js +81 -0
  430. package/dist/packages/types.d.ts +22 -22
  431. package/dist/packages/validation.js +0 -3
  432. package/dist/paths/_internal.d.ts +2 -1
  433. package/dist/paths/_internal.js +7 -19
  434. package/dist/paths/conversion.js +5 -9
  435. package/dist/paths/dirnames.d.ts +1 -0
  436. package/dist/paths/dirnames.js +2 -0
  437. package/dist/paths/filenames.d.ts +0 -1
  438. package/dist/paths/filenames.js +0 -2
  439. package/dist/paths/normalize.js +4 -5
  440. package/dist/paths/packages.js +4 -7
  441. package/dist/paths/predicates.js +9 -16
  442. package/dist/paths/resolve.js +17 -25
  443. package/dist/paths/rewire.d.ts +5 -0
  444. package/dist/paths/rewire.js +3 -3
  445. package/dist/paths/socket.d.ts +74 -111
  446. package/dist/paths/socket.js +106 -139
  447. package/dist/paths/walk.d.ts +1 -1
  448. package/dist/paths/walk.js +4 -4
  449. package/dist/perf/report.js +2 -2
  450. package/dist/perf/types.d.ts +1 -1
  451. package/dist/pkg-ext/data.js +1 -1
  452. package/dist/primordials/array.js +9 -9
  453. package/dist/primordials/date.js +2 -2
  454. package/dist/primordials/error.js +3 -3
  455. package/dist/primordials/headers.d.ts +10 -0
  456. package/dist/primordials/headers.js +23 -0
  457. package/dist/primordials/intl.d.ts +13 -0
  458. package/dist/primordials/intl.js +26 -0
  459. package/dist/primordials/math.js +33 -33
  460. package/dist/primordials/number.js +9 -9
  461. package/dist/primordials/object.js +5 -5
  462. package/dist/primordials/process.d.ts +88 -0
  463. package/dist/primordials/process.js +132 -0
  464. package/dist/primordials/string.d.ts +2 -2
  465. package/dist/primordials/string.js +6 -6
  466. package/dist/primordials/symbol.js +3 -3
  467. package/dist/primordials/uncurry.d.ts +1 -2
  468. package/dist/primordials/uncurry.js +9 -9
  469. package/dist/process/abort.js +3 -3
  470. package/dist/process/lock-manager.js +8 -8
  471. package/dist/process/spawn/_internal.js +6 -8
  472. package/dist/process/spawn/child.js +20 -14
  473. package/dist/process/spawn/errors.js +3 -5
  474. package/dist/process/spawn/kill-tree.d.ts +53 -0
  475. package/dist/process/spawn/kill-tree.js +85 -0
  476. package/dist/process/spawn/stdio.js +0 -1
  477. package/dist/process/spawn/types.d.ts +5 -5
  478. package/dist/process/transient.js +2 -2
  479. package/dist/promises/_internal.d.ts +2 -1
  480. package/dist/promises/_internal.js +2 -6
  481. package/dist/promises/iterate.js +11 -15
  482. package/dist/promises/options.js +3 -6
  483. package/dist/promises/retry.js +4 -5
  484. package/dist/promises/timers.d.ts +30 -0
  485. package/dist/promises/timers.js +48 -0
  486. package/dist/regexps/spec.js +1 -1
  487. package/dist/releases/github-archives.d.ts +6 -6
  488. package/dist/releases/github-archives.js +3 -3
  489. package/dist/releases/github-asset-url.d.ts +1 -1
  490. package/dist/releases/github-asset-url.js +5 -5
  491. package/dist/releases/github-downloads.d.ts +1 -1
  492. package/dist/releases/github-downloads.js +3 -3
  493. package/dist/releases/github-listing.d.ts +12 -4
  494. package/dist/releases/github-listing.js +20 -7
  495. package/dist/releases/github-retry-config.js +1 -1
  496. package/dist/releases/github-types.d.ts +6 -6
  497. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  498. package/dist/releases/socket-btm-binary-naming.js +155 -0
  499. package/dist/releases/socket-btm.d.ts +8 -115
  500. package/dist/releases/socket-btm.js +16 -159
  501. package/dist/schema/types.d.ts +4 -5
  502. package/dist/schema/validate.js +1 -1
  503. package/dist/sea/detect.js +6 -6
  504. package/dist/secrets/_internal.d.ts +2 -2
  505. package/dist/secrets/_internal.js +2 -2
  506. package/dist/secrets/compare.d.ts +45 -0
  507. package/dist/secrets/compare.js +61 -0
  508. package/dist/secrets/find.d.ts +2 -2
  509. package/dist/secrets/find.js +10 -4
  510. package/dist/secrets/keychain.d.ts +1 -1
  511. package/dist/secrets/keychain.js +6 -4
  512. package/dist/secrets/linux.js +40 -52
  513. package/dist/secrets/macos.d.ts +2 -3
  514. package/dist/secrets/macos.js +24 -33
  515. package/dist/secrets/rc.d.ts +4 -4
  516. package/dist/secrets/rc.js +27 -17
  517. package/dist/secrets/socket-api-token.d.ts +4 -4
  518. package/dist/secrets/socket-api-token.js +26 -9
  519. package/dist/secrets/windows.js +32 -37
  520. package/dist/shadow/skip.js +2 -2
  521. package/dist/shell/parse.d.ts +32 -0
  522. package/dist/shell/parse.js +60 -0
  523. package/dist/smol/detect.js +9 -10
  524. package/dist/smol/http.js +6 -7
  525. package/dist/smol/https.js +6 -7
  526. package/dist/smol/manifest.d.ts +1 -1
  527. package/dist/smol/manifest.js +6 -7
  528. package/dist/smol/path.d.ts +1 -1
  529. package/dist/smol/path.js +7 -8
  530. package/dist/smol/primordial.d.ts +4 -0
  531. package/dist/smol/primordial.js +6 -7
  532. package/dist/smol/purl.d.ts +1 -1
  533. package/dist/smol/purl.js +7 -8
  534. package/dist/smol/versions.js +6 -7
  535. package/dist/smol/vfs.js +6 -7
  536. package/dist/sorts/_internal.js +6 -8
  537. package/dist/sorts/natural.js +10 -12
  538. package/dist/sorts/semver.js +1 -2
  539. package/dist/sorts/strings.js +0 -1
  540. package/dist/sorts/types.d.ts +1 -1
  541. package/dist/spinner/create-spinner-class.d.ts +38 -0
  542. package/dist/spinner/create-spinner-class.js +302 -0
  543. package/dist/spinner/default.js +8 -9
  544. package/dist/spinner/spinner-internals.d.ts +36 -0
  545. package/dist/spinner/spinner-internals.js +105 -0
  546. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  547. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  548. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  549. package/dist/spinner/spinner-status-methods.js +133 -0
  550. package/dist/spinner/spinner.d.ts +8 -5
  551. package/dist/spinner/spinner.js +19 -706
  552. package/dist/spinner/types.d.ts +3 -1
  553. package/dist/spinner/with.d.ts +10 -0
  554. package/dist/spinner/with.js +16 -2
  555. package/dist/stdio/divider.js +1 -1
  556. package/dist/stdio/footer.js +3 -3
  557. package/dist/stdio/header.js +4 -4
  558. package/dist/stdio/progress.js +10 -6
  559. package/dist/stdio/prompts.d.ts +7 -5
  560. package/dist/stdio/prompts.js +7 -8
  561. package/dist/stdio/stdout.js +3 -3
  562. package/dist/streams/parallel.js +3 -5
  563. package/dist/streams/transform.js +2 -3
  564. package/dist/strings/format.js +2 -6
  565. package/dist/strings/predicates.js +0 -2
  566. package/dist/strings/search.js +1 -2
  567. package/dist/strings/transform.js +0 -3
  568. package/dist/strings/width.js +9 -10
  569. package/dist/tables/bordered.js +4 -3
  570. package/dist/tables/padding.js +1 -1
  571. package/dist/tables/simple.js +8 -5
  572. package/dist/temporal/instant.js +1 -1
  573. package/dist/temporal/slots.js +6 -6
  574. package/dist/temporal/system.js +9 -9
  575. package/dist/themes/context.d.ts +3 -2
  576. package/dist/themes/context.js +4 -5
  577. package/dist/themes/themes.js +15 -15
  578. package/dist/themes/types.d.ts +3 -3
  579. package/dist/url/assert-safe.d.ts +29 -0
  580. package/dist/url/assert-safe.js +54 -0
  581. package/dist/url/parse.js +0 -2
  582. package/dist/url/predicates.d.ts +31 -1
  583. package/dist/url/predicates.js +43 -3
  584. package/dist/url/search-params.js +3 -9
  585. package/dist/url/types.d.ts +9 -5
  586. package/dist/versions/_internal.js +3 -3
  587. package/dist/words/article.js +0 -1
  588. package/dist/words/capitalize.js +0 -1
  589. package/dist/words/pluralize.js +15 -5
  590. package/package.json +419 -216
  591. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  592. package/dist/external-tools/uv/asset-names.js +0 -70
  593. package/dist/external-tools/uv/from-download.d.ts +0 -17
  594. package/dist/external-tools/uv/from-download.js +0 -47
  595. package/dist/external-tools/uv/from-path.d.ts +0 -5
  596. package/dist/external-tools/uv/from-path.js +0 -22
  597. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  598. package/dist/external-tools/uv/from-vfs.js +0 -26
  599. package/dist/external-tools/uv/resolve.d.ts +0 -25
  600. package/dist/external-tools/uv/resolve.js +0 -53
  601. package/dist/external-tools/uv/types.d.ts +0 -24
  602. package/dist/fs/path-cache.d.ts +0 -21
  603. package/dist/fs/path-cache.js +0 -34
  604. package/dist/http-request/checksums.d.ts +0 -69
  605. package/dist/http-request/checksums.js +0 -108
  606. package/dist/http-request/http-request.d.ts +0 -12
  607. package/dist/http-request/http-request.js +0 -11
  608. package/dist/packages/operations.d.ts +0 -113
  609. package/dist/packages/operations.js +0 -304
  610. package/dist/ssri/convert.d.ts +0 -48
  611. package/dist/ssri/convert.js +0 -69
  612. package/dist/ssri/parse.d.ts +0 -27
  613. package/dist/ssri/parse.js +0 -41
  614. package/dist/ssri/validate.d.ts +0 -41
  615. package/dist/ssri/validate.js +0 -56
  616. /package/dist/{bin → cli}/check.d.ts +0 -0
  617. /package/dist/external-tools/{uv → python}/types.js +0 -0
  618. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  619. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -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.
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_object = require('../primordials/object.js');
4
5
  const require_node_fs = require('../node/fs.js');
5
6
  const require_node_path = require('../node/path.js');
6
7
  const require_primordials_date = require('../primordials/date.js');
7
- const require_primordials_object = require('../primordials/object.js');
8
8
  const require_primordials_json = require('../primordials/json.js');
9
9
  const require_errors_message = require('../errors/message.js');
10
10
  const require_logger_default = require('../logger/default.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,17 @@ 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
+ options = {
83
+ __proto__: null,
84
+ ...options
85
+ };
86
+ const downloadResult = await downloadNpmPackage(options);
83
87
  const spawnPromise = executePackage(downloadResult.binaryPath, args, options.spawnOptions, spawnExtra);
84
88
  return {
85
89
  ...downloadResult,
@@ -94,16 +98,16 @@ async function dlxPackage(args, options, spawnExtra) {
94
98
  * @example
95
99
  * ;```typescript
96
100
  * // Install @socketsecurity/cli without running it
97
- * const result = await downloadPackage({
98
- * package: '@socketsecurity/cli@1.2.0',
101
+ * const result = await downloadNpmPackage({
102
+ * spec: '@socketsecurity/cli@1.2.0',
99
103
  * force: true,
100
104
  * })
101
105
  * console.log('Installed to:', result.packageDir)
102
106
  * console.log('Binary at:', result.binaryPath)
103
107
  * ```
104
108
  */
105
- async function downloadPackage(options) {
106
- const { binaryName, force: userForce, hash, installRoot, lockfile, package: packageSpec, yes } = {
109
+ async function downloadNpmPackage(options) {
110
+ const { binaryName, force: userForce, hash, installRoot, lockfile, spec: packageSpec, yes } = {
107
111
  __proto__: null,
108
112
  ...options
109
113
  };
@@ -139,10 +143,10 @@ async function downloadPackage(options) {
139
143
  * ```
140
144
  */
141
145
  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));
146
+ const fs = require_node_fs.getNodeFs();
147
+ const path = require_node_path.getNodePath();
148
+ const packageDir = require_paths_normalize.normalizePath(install?.installRoot ?? path.join(require_paths_socket.getSocketDlxDir(), require_dlx_cache.generateCacheKey(packageSpec)));
149
+ const installedDir = require_paths_normalize.normalizePath(path.join(packageDir, "node_modules", packageName));
146
150
  try {
147
151
  await require_fs_safe.safeMkdir(packageDir);
148
152
  } catch (e) {
@@ -200,7 +204,7 @@ async function ensurePackageInstalled(packageName, packageSpec, force, install)
200
204
  const code = e?.code;
201
205
  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
206
  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 });
207
+ 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
208
  throw new require_primordials_error.ErrorCtor(`Failed to install package: ${packageSpec}\nDestination: ${installedDir}\nCheck npm registry connectivity or package name.`, { cause: e });
205
209
  }
206
210
  return {
@@ -214,7 +218,7 @@ Visit https://www.npmjs.com/package/${packageName} to see available versions.`,
214
218
  }
215
219
  /**
216
220
  * Execute a package's binary with cross-platform shell handling. The package
217
- * must already be installed (use downloadPackage first).
221
+ * must already be installed (use downloadNpmPackage first).
218
222
  *
219
223
  * On Windows, script files (.bat, .cmd, .ps1) require shell: true. Matches
220
224
  * npm/npx execution behavior.
@@ -222,7 +226,7 @@ Visit https://www.npmjs.com/package/${packageName} to see available versions.`,
222
226
  * @example
223
227
  * ;```typescript
224
228
  * // Execute an already-installed package
225
- * const downloaded = await downloadPackage({ package: 'cowsay@1.5.0' })
229
+ * const downloaded = await downloadNpmPackage({ spec: 'cowsay@1.5.0' })
226
230
  * const result = await executePackage(
227
231
  * downloaded.binaryPath,
228
232
  * ['Hello World'],
@@ -241,7 +245,7 @@ function executePackage(binaryPath, args, spawnOptions, spawnExtra) {
241
245
  exports.binaryPathCacheSet = require_dlx__internal.binaryPathCacheSet;
242
246
  exports.checkFirewallPurls = require_dlx_firewall.checkFirewallPurls;
243
247
  exports.dlxPackage = dlxPackage;
244
- exports.downloadPackage = downloadPackage;
248
+ exports.downloadNpmPackage = downloadNpmPackage;
245
249
  exports.ensurePackageInstalled = ensurePackageInstalled;
246
250
  exports.executePackage = executePackage;
247
251
  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
  }
package/dist/dlx/paths.js CHANGED
@@ -19,7 +19,7 @@ const require_paths_socket = require('../paths/socket.js');
19
19
  * ```
20
20
  */
21
21
  function getDlxInstalledPackageDir(packageName) {
22
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getDlxPackageNodeModulesDir(packageName), packageName));
22
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getDlxPackageNodeModulesDir(packageName), packageName));
23
23
  }
24
24
  /**
25
25
  * Get the DLX installation directory for a specific package.
@@ -30,7 +30,7 @@ function getDlxInstalledPackageDir(packageName) {
30
30
  * ```
31
31
  */
32
32
  function getDlxPackageDir(packageName) {
33
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(require_paths_socket.getSocketDlxDir(), packageName));
33
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(require_paths_socket.getSocketDlxDir(), packageName));
34
34
  }
35
35
  /**
36
36
  * Get the package.json path for a DLX installed package.
@@ -41,7 +41,7 @@ function getDlxPackageDir(packageName) {
41
41
  * ```
42
42
  */
43
43
  function getDlxPackageJsonPath(packageName) {
44
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getDlxInstalledPackageDir(packageName), "package.json"));
44
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getDlxInstalledPackageDir(packageName), "package.json"));
45
45
  }
46
46
  /**
47
47
  * Get the node_modules directory for a DLX package installation.
@@ -52,7 +52,7 @@ function getDlxPackageJsonPath(packageName) {
52
52
  * ```
53
53
  */
54
54
  function getDlxPackageNodeModulesDir(packageName) {
55
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getDlxPackageDir(packageName), "node_modules"));
55
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getDlxPackageDir(packageName), "node_modules"));
56
56
  }
57
57
  /**
58
58
  * Check if a file path is within the Socket DLX directory. This is useful for
@@ -71,9 +71,9 @@ function getDlxPackageNodeModulesDir(packageName) {
71
71
  */
72
72
  function isInSocketDlx(filePath) {
73
73
  if (!filePath) return false;
74
- const path = /* @__PURE__ */ require_node_path.getNodePath();
75
- const dlxDir = /* @__PURE__ */ require_paths_normalize.normalizePath(require_paths_socket.getSocketDlxDir());
76
- return require_primordials_string.StringPrototypeStartsWith(/* @__PURE__ */ require_paths_normalize.normalizePath(path.resolve(filePath)), `${dlxDir}/`);
74
+ const path = require_node_path.getNodePath();
75
+ const dlxDir = require_paths_normalize.normalizePath(require_paths_socket.getSocketDlxDir());
76
+ return require_primordials_string.StringPrototypeStartsWith(require_paths_normalize.normalizePath(path.resolve(filePath)), `${dlxDir}/`);
77
77
  }
78
78
 
79
79
  //#endregion
package/dist/dlx/spec.js CHANGED
@@ -32,7 +32,7 @@ function parsePackageSpec(spec) {
32
32
  try {
33
33
  /* c8 ignore next - External npm-package-arg call */
34
34
  const parsed = (0, src_external_npm_package_arg.default)(spec);
35
- const version = parsed.type === "tag" ? parsed.fetchSpec : parsed.type === "version" || parsed.type === "range" ? parsed.fetchSpec : void 0;
35
+ const version = parsed.type === "tag" ? parsed.fetchSpec : parsed.type === "range" || parsed.type === "version" ? parsed.fetchSpec : void 0;
36
36
  return {
37
37
  name: parsed.name || spec,
38
38
  version
@@ -3,20 +3,16 @@
3
3
  * of `dlx/package.ts` so consumers can import these types without pulling in
4
4
  * the implementation.
5
5
  *
6
- * - `DownloadPackageResult` — what `downloadPackage` returns
6
+ * - `DownloadNpmPackageResult` — what `downloadNpmPackage` returns
7
7
  * - `EnsurePackageInstallOptions` — shared install-pinning options
8
- * - `DlxPackageOptions` — full options for `dlxPackage` / `downloadPackage`
8
+ * - `DlxPackageOptions` — full options for `dlxPackage` / `downloadNpmPackage`
9
9
  * - `DlxPackageResult` — what `dlxPackage` returns
10
10
  */
11
11
  import type { HashSpec } from '../integrity';
12
12
  import type { LockfileSpec } from './lockfile';
13
13
  import type { spawn } from '../process/spawn/child';
14
14
  import type { SpawnOptions } from '../process/spawn/types';
15
- export interface DownloadPackageResult {
16
- /**
17
- * Path to the installed package directory.
18
- */
19
- packageDir: string;
15
+ export interface DownloadNpmPackageResult {
20
16
  /**
21
17
  * Path to the binary.
22
18
  */
@@ -25,6 +21,10 @@ export interface DownloadPackageResult {
25
21
  * Whether the package was newly installed.
26
22
  */
27
23
  installed: boolean;
24
+ /**
25
+ * Path to the installed package directory.
26
+ */
27
+ packageDir: string;
28
28
  }
29
29
  /**
30
30
  * Shared install-pinning options used by both {@link DlxPackageOptions} and the
@@ -80,38 +80,30 @@ export interface EnsurePackageInstallOptions {
80
80
  lockfile?: LockfileSpec | undefined;
81
81
  }
82
82
  export interface DlxPackageOptions extends EnsurePackageInstallOptions {
83
- /**
84
- * Package to install (e.g., '@cyclonedx/cdxgen@10.0.0'). Aligns with npx
85
- * --package flag.
86
- */
87
- package: string;
88
83
  /**
89
84
  * Binary name to execute (optional - auto-detected in most cases).
90
85
  *
91
- * Auto-detection logic: 1. If package has only one binary, uses it
86
+ * Auto-detection logic: 1. If the package has only one binary, uses it
92
87
  * automatically 2. Tries user-provided binaryName 3. Tries last segment of
93
- * package name (e.g., 'cli' from '@socketsecurity/cli') 4. Falls back to
88
+ * the package name (e.g., 'cli' from '@socketsecurity/cli') 4. Falls back to
94
89
  * first binary.
95
90
  *
96
- * Only needed when package has multiple binaries and auto-detection fails.
91
+ * Only needed when the package has multiple binaries and auto-detection
92
+ * fails.
97
93
  *
98
94
  * @example
99
95
  * // Auto-detected (single binary)
100
- * { package: '@socketsecurity/cli' } // Finds 'socket' binary automatically
96
+ * { spec: '@socketsecurity/cli' } // Finds 'socket' binary automatically
101
97
  *
102
98
  * // Explicit (multiple binaries)
103
- * { package: 'some-tool', binaryName: 'specific-tool' }
99
+ * { spec: 'some-tool', binaryName: 'specific-tool' }
104
100
  */
105
101
  binaryName?: string | undefined;
106
102
  /**
107
- * Force reinstallation even if package exists. Aligns with npx --yes/-y flag
108
- * behavior.
103
+ * Force reinstallation even if the package exists. Aligns with npx --yes/-y
104
+ * flag behavior.
109
105
  */
110
106
  force?: boolean | undefined;
111
- /**
112
- * Skip confirmation prompts (auto-approve). Aligns with npx --yes/-y flag.
113
- */
114
- yes?: boolean | undefined;
115
107
  /**
116
108
  * Suppress output (quiet mode). Aligns with npx --quiet/-q and pnpm
117
109
  * --silent/-s flags.
@@ -121,12 +113,17 @@ export interface DlxPackageOptions extends EnsurePackageInstallOptions {
121
113
  * Additional spawn options for the execution.
122
114
  */
123
115
  spawnOptions?: SpawnOptions | undefined;
124
- }
125
- export interface DlxPackageResult {
126
116
  /**
127
- * Path to the installed package directory.
117
+ * Package spec to install (e.g., '@cyclonedx/cdxgen@10.0.0'). Aligns with npx
118
+ * --package flag. Named `spec` to match `downloadPipPackage({ spec })`.
128
119
  */
129
- packageDir: string;
120
+ spec: string;
121
+ /**
122
+ * Skip confirmation prompts (auto-approve). Aligns with npx --yes/-y flag.
123
+ */
124
+ yes?: boolean | undefined;
125
+ }
126
+ export interface DlxPackageResult {
130
127
  /**
131
128
  * Path to the binary that was executed.
132
129
  */
@@ -135,6 +132,10 @@ export interface DlxPackageResult {
135
132
  * Whether the package was newly installed.
136
133
  */
137
134
  installed: boolean;
135
+ /**
136
+ * Path to the installed package directory.
137
+ */
138
+ packageDir: string;
138
139
  /**
139
140
  * The spawn promise for the running process.
140
141
  */
@@ -27,7 +27,7 @@
27
27
  * (parseCargoLock)
28
28
  * 4. **Cargo's own lockfile encoder** — the source of truth for the format we're
29
29
  * parsing:
30
- * https://github.com/rust-lang/cargo/blob/master/src/cargo/core/resolver/encode.rs
30
+ * https://github.com/rust-lang/cargo/blob/0.86.0/src/cargo/core/resolver/encode.rs
31
31
  * Lockfile format docs:
32
32
  * https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
33
33
  * https://doc.rust-lang.org/cargo/reference/resolver.html#lockfile-format
@@ -40,7 +40,7 @@
40
40
  * test/fixtures/sdxgen-bug-regressions/ cargo-patch-unused-no-leak/.
41
41
  */
42
42
  import type { PackageRef, ParsedLockfile } from '../manifest/types';
43
- type PackageIndex = Record<string, number | number[]>;
43
+ export type PackageIndex = Record<string, number | number[]>;
44
44
  export interface CargoEntryState {
45
45
  name: string;
46
46
  version: string;
@@ -81,4 +81,3 @@ export declare function stripTomlString(value: string): string;
81
81
  */
82
82
  export declare function valueAfterEquals(line: string): string;
83
83
  export declare const parseCargoLock: (content: string) => ParsedLockfile;
84
- export {};
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_object = require('../../primordials/object.js');
4
5
  const require_primordials_string = require('../../primordials/string.js');
5
6
  const require_primordials_array = require('../../primordials/array.js');
6
- const require_primordials_object = require('../../primordials/object.js');
7
7
 
8
8
  //#region src/eco/cargo/parse-lockfile.ts
9
9
  /**
@@ -35,7 +35,7 @@ const require_primordials_object = require('../../primordials/object.js');
35
35
  * (parseCargoLock)
36
36
  * 4. **Cargo's own lockfile encoder** — the source of truth for the format we're
37
37
  * parsing:
38
- * https://github.com/rust-lang/cargo/blob/master/src/cargo/core/resolver/encode.rs
38
+ * https://github.com/rust-lang/cargo/blob/0.86.0/src/cargo/core/resolver/encode.rs
39
39
  * Lockfile format docs:
40
40
  * https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
41
41
  * https://doc.rust-lang.org/cargo/reference/resolver.html#lockfile-format
@@ -100,7 +100,7 @@ function jsParseCargoLock(content) {
100
100
  const trimmed = require_primordials_string.StringPrototypeTrim(line);
101
101
  if (trimmed.length === 0 || trimmed[0] === "#") continue;
102
102
  if (trimmed[0] === "[") {
103
- if (currentEntry && currentEntry.name) {
103
+ if (currentEntry?.name) {
104
104
  require_primordials_array.ArrayPrototypePush(packages, freezeCargoEntry(currentEntry));
105
105
  addToCargoIndex(packageIndex, currentEntry.name, packages.length - 1);
106
106
  }
@@ -131,7 +131,7 @@ function jsParseCargoLock(content) {
131
131
  }
132
132
  } else if (require_primordials_string.StringPrototypeIndexOf(trimmed, "version") === 0) lockVersion = stripTomlString(valueAfterEquals(trimmed));
133
133
  }
134
- if (currentEntry && currentEntry.name) {
134
+ if (currentEntry?.name) {
135
135
  require_primordials_array.ArrayPrototypePush(packages, freezeCargoEntry(currentEntry));
136
136
  addToCargoIndex(packageIndex, currentEntry.name, packages.length - 1);
137
137
  }
@@ -180,7 +180,7 @@ function parseInlineArray(value) {
180
180
  const result = [];
181
181
  let i = 0;
182
182
  while (i < inner.length) {
183
- while (i < inner.length && (inner[i] === " " || inner[i] === " " || inner[i] === ",")) i++;
183
+ while (i < inner.length && (inner[i] === " " || inner[i] === " " || inner[i] === ",")) i++;
184
184
  if (i >= inner.length) break;
185
185
  if (require_primordials_string.StringPrototypeCharCodeAt(inner, i) === 34) {
186
186
  const closeIdx = require_primordials_string.StringPrototypeIndexOf(inner, "\"", i + 1);
@@ -42,8 +42,8 @@ function jsAnalyzeLockfile(lockfile) {
42
42
  avgDepth: 0
43
43
  });
44
44
  }
45
- const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
46
- const analyzeLockfile = _smol ? _smol.analyzeLockfile : jsAnalyzeLockfile;
45
+ const smol = require_smol_manifest.getSmolManifest();
46
+ const analyzeLockfile = smol ? smol.analyzeLockfile : jsAnalyzeLockfile;
47
47
 
48
48
  //#endregion
49
49
  exports.analyzeLockfile = analyzeLockfile;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_string = require('../../primordials/string.js');
5
4
  const require_primordials_object = require('../../primordials/object.js');
5
+ const require_primordials_string = require('../../primordials/string.js');
6
6
  const require_smol_manifest = require('../../smol/manifest.js');
7
7
  const require_eco_cargo_lockfile_format = require('../cargo/lockfile-format.js');
8
8
  const require_eco_cargo_manifest_format = require('../cargo/manifest-format.js');
@@ -34,7 +34,7 @@ const COMPOSER_LOCK_FORMAT = require_primordials_object.ObjectFreeze({
34
34
  format: "composer",
35
35
  type: "lockfile"
36
36
  });
37
- const _jsSupportedFiles = require_primordials_object.ObjectFreeze({
37
+ const jsSupportedFiles = require_primordials_object.ObjectFreeze({
38
38
  __proto__: null,
39
39
  manifests: require_primordials_object.ObjectFreeze([
40
40
  require_eco_npm_manifest_format.PACKAGE_JSON_FILENAME,
@@ -64,9 +64,9 @@ function jsDetectFormat(filename) {
64
64
  default: return;
65
65
  }
66
66
  }
67
- const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
68
- const detectFormat = _smol?.detectFormat ?? jsDetectFormat;
69
- const supportedFiles = _smol?.supportedFiles ?? _jsSupportedFiles;
67
+ const smol = require_smol_manifest.getSmolManifest();
68
+ const detectFormat = smol?.detectFormat ?? jsDetectFormat;
69
+ const supportedFiles = smol?.supportedFiles ?? jsSupportedFiles;
70
70
 
71
71
  //#endregion
72
72
  exports.detectFormat = detectFormat;
@@ -35,8 +35,8 @@ function jsFindPackages(lockfile, pattern) {
35
35
  }
36
36
  return result;
37
37
  }
38
- const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
39
- const findPackages = _smol ? _smol.findPackages : jsFindPackages;
38
+ const smol = require_smol_manifest.getSmolManifest();
39
+ const findPackages = smol ? smol.findPackages : jsFindPackages;
40
40
 
41
41
  //#endregion
42
42
  exports.FIND_PACKAGES_PATTERN_MAX_LEN = FIND_PACKAGES_PATTERN_MAX_LEN;
@@ -23,8 +23,8 @@ function jsGetPackageVersions(lockfile, name) {
23
23
  }
24
24
  return result;
25
25
  }
26
- const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
27
- const getPackageVersions = _smol ? _smol.getPackageVersions : jsGetPackageVersions;
26
+ const smol = require_smol_manifest.getSmolManifest();
27
+ const getPackageVersions = smol ? smol.getPackageVersions : jsGetPackageVersions;
28
28
 
29
29
  //#endregion
30
30
  exports.getPackageVersions = getPackageVersions;
@@ -17,8 +17,8 @@ function jsGetPackage(lockfile, name) {
17
17
  if (typeof idx === "number") return lockfile.packages[idx];
18
18
  return lockfile.packages[idx[0]];
19
19
  }
20
- const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
21
- const getPackage = _smol ? _smol.getPackage : jsGetPackage;
20
+ const smol = require_smol_manifest.getSmolManifest();
21
+ const getPackage = smol ? smol.getPackage : jsGetPackage;
22
22
 
23
23
  //#endregion
24
24
  exports.getPackage = getPackage;
@@ -36,8 +36,8 @@ function sniffLockfileFormat(content) {
36
36
  if (require_primordials_string.StringPrototypeIndexOf(content, "yarn lockfile") !== -1 || require_primordials_string.StringPrototypeIndexOf(content, "__metadata:") !== -1) return "yarn";
37
37
  if (require_primordials_string.StringPrototypeIndexOf(content, "lockfileVersion:") !== -1) return "pnpm";
38
38
  }
39
- const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
40
- const parseLockfile = _smol ? (content, ecosystem, format) => _smol.parseLockfile(content, ecosystem, format) : jsParseLockfile;
39
+ const smol = require_smol_manifest.getSmolManifest();
40
+ const parseLockfile = smol ? (content, ecosystem, format) => smol.parseLockfile(content, ecosystem, format) : jsParseLockfile;
41
41
 
42
42
  //#endregion
43
43
  exports.jsParseLockfile = jsParseLockfile;
@@ -20,9 +20,9 @@ function jsParseManifest(content, ecosystem) {
20
20
  default: throw new require_eco_manifest_manifest_error.ManifestError(`Unsupported ecosystem: ${ecosystem}`, "ERR_UNSUPPORTED");
21
21
  }
22
22
  }
23
- const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
23
+ const smol = require_smol_manifest.getSmolManifest();
24
24
  /* c8 ignore start - smol-fallback branch is smol Node binary only. */
25
- const smolParseManifest = _smol ? (content, ecosystem) => _smol.parseManifest(content, ecosystem) : void 0;
25
+ const smolParseManifest = smol ? (content, ecosystem) => smol.parseManifest(content, ecosystem) : void 0;
26
26
  /* c8 ignore stop */
27
27
  const parseManifest = smolParseManifest ?? jsParseManifest;
28
28