@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
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_fs_read_json = require('../fs/read-json.js');
5
+ const require_paths_packages = require('../paths/packages.js');
6
+ const require_packages_normalize = require('./normalize.js');
7
+ const require_packages_edit = require('./edit.js');
8
+
9
+ //#region src/packages/read.ts
10
+ /**
11
+ * @file Read + parse a package.json. The package-aware layer over
12
+ * `fs/read-json`: resolves a dir-or-file path to its package.json, parses,
13
+ * and optionally normalizes or returns an editable instance.
14
+ */
15
+ /**
16
+ * Read and parse a package.json file asynchronously.
17
+ *
18
+ * @example
19
+ * ;```typescript
20
+ * const pkgJson = await readPackageJson('/tmp/my-project')
21
+ * console.log(pkgJson?.name)
22
+ * ```
23
+ */
24
+ async function readPackageJson(filepath, options) {
25
+ const { editable, normalize, throws, ...normalizeOptions } = {
26
+ __proto__: null,
27
+ ...options
28
+ };
29
+ const pkgJson = await require_fs_read_json.readJson(require_paths_packages.resolvePackageJsonPath(filepath), { throws });
30
+ if (pkgJson) {
31
+ if (editable) return await require_packages_edit.toEditablePackageJson(pkgJson, {
32
+ path: filepath,
33
+ normalize,
34
+ ...normalizeOptions
35
+ });
36
+ return normalize ? require_packages_normalize.normalizePackageJson(pkgJson, normalizeOptions) : pkgJson;
37
+ }
38
+ }
39
+ /**
40
+ * Read and parse package.json from a file path synchronously.
41
+ *
42
+ * @example
43
+ * ;```typescript
44
+ * const pkgJson = readPackageJsonSync('/tmp/my-project')
45
+ * console.log(pkgJson?.name)
46
+ * ```
47
+ */
48
+ function readPackageJsonSync(filepath, options) {
49
+ const { editable, normalize, throws, ...normalizeOptions } = {
50
+ __proto__: null,
51
+ ...options
52
+ };
53
+ const pkgJson = require_fs_read_json.readJsonSync(require_paths_packages.resolvePackageJsonPath(filepath), { throws });
54
+ if (pkgJson) {
55
+ if (editable) return require_packages_edit.toEditablePackageJsonSync(pkgJson, {
56
+ path: filepath,
57
+ normalize,
58
+ ...normalizeOptions
59
+ });
60
+ return normalize ? require_packages_normalize.normalizePackageJson(pkgJson, normalizeOptions) : pkgJson;
61
+ }
62
+ }
63
+
64
+ //#endregion
65
+ exports.readPackageJson = readPackageJson;
66
+ exports.readPackageJsonSync = readPackageJsonSync;
@@ -1,6 +1,17 @@
1
1
  /**
2
- * @file Package spec parsing and GitHub URL utilities.
2
+ * @file Package spec parsing, name resolution, and GitHub URL utilities.
3
3
  */
4
+ /**
5
+ * Get the release tag for a version.
6
+ *
7
+ * @example
8
+ * ;```typescript
9
+ * getReleaseTag('lodash@latest') // 'latest'
10
+ * getReleaseTag('@scope/pkg@beta') // 'beta'
11
+ * getReleaseTag('lodash') // ''
12
+ * ```
13
+ */
14
+ export declare function getReleaseTag(spec: string): string;
4
15
  /**
5
16
  * Extract user and project from GitHub repository URL.
6
17
  *
@@ -54,3 +65,39 @@ export declare function isGitHubTgzSpec(spec: unknown, where?: string): boolean;
54
65
  * ```
55
66
  */
56
67
  export declare function isGitHubUrlSpec(spec: unknown, where?: string): boolean;
68
+ /**
69
+ * Slugify an npm package name into a hyphenated identifier suitable for
70
+ * User-Agent tokens, log namespaces, file paths, and other contexts where `@`
71
+ * and `/` are not welcome.
72
+ *
73
+ * @example
74
+ * ;```typescript
75
+ * pkgNameToSlug('@socketsecurity/lib') // 'socketsecurity-lib'
76
+ * pkgNameToSlug('@cyclonedx/cdxgen') // 'cyclonedx-cdxgen'
77
+ * pkgNameToSlug('lodash') // 'lodash'
78
+ * ```
79
+ */
80
+ export declare function pkgNameToSlug(pkgName: string): string;
81
+ /**
82
+ * Resolve full package name from a PURL object with custom delimiter.
83
+ *
84
+ * @example
85
+ * ;```typescript
86
+ * resolvePackageName({ name: 'core', namespace: '@babel' }) // '@babel/core'
87
+ * resolvePackageName({ name: 'lodash' }) // 'lodash'
88
+ * ```
89
+ */
90
+ export declare function resolvePackageName(purlObj: {
91
+ name: string;
92
+ namespace?: string | undefined;
93
+ }, delimiter?: string): string;
94
+ /**
95
+ * Convert npm package name to Socket registry format with delimiter.
96
+ *
97
+ * @example
98
+ * ;```typescript
99
+ * resolveRegistryPackageName('@babel/core') // 'babel__core'
100
+ * resolveRegistryPackageName('lodash') // 'lodash'
101
+ * ```
102
+ */
103
+ export declare function resolveRegistryPackageName(pkgName: string): string;
@@ -2,17 +2,38 @@
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_objects_predicates = require('../objects/predicates.js');
5
6
  const require_primordials_string = require('../primordials/string.js');
6
7
  const require_strings_predicates = require('../strings/predicates.js');
7
- const require_objects_predicates = require('../objects/predicates.js');
8
+ const require_constants_socket = require('../constants/socket.js');
9
+ const require_smol_purl = require('../smol/purl.js');
10
+ let src_external__socketregistry_packageurl_js = require("../external/@socketregistry/packageurl-js");
8
11
  let src_external_npm_package_arg = require("../external/npm-package-arg");
9
12
  src_external_npm_package_arg = require_runtime.__toESM(src_external_npm_package_arg);
10
13
 
11
14
  //#region src/packages/specs.ts
12
15
  /**
13
- * @file Package spec parsing and GitHub URL utilities.
16
+ * @file Package spec parsing, name resolution, and GitHub URL utilities.
14
17
  */
15
18
  /**
19
+ * Get the release tag for a version.
20
+ *
21
+ * @example
22
+ * ;```typescript
23
+ * getReleaseTag('lodash@latest') // 'latest'
24
+ * getReleaseTag('@scope/pkg@beta') // 'beta'
25
+ * getReleaseTag('lodash') // ''
26
+ * ```
27
+ */
28
+ function getReleaseTag(spec) {
29
+ if (!spec) return "";
30
+ let atIndex = -1;
31
+ if (require_primordials_string.StringPrototypeStartsWith(spec, "@")) atIndex = require_primordials_string.StringPrototypeIndexOf(spec, "@", 1);
32
+ else atIndex = require_primordials_string.StringPrototypeIndexOf(spec, "@");
33
+ if (atIndex !== -1) return require_primordials_string.StringPrototypeSlice(spec, atIndex + 1);
34
+ return "";
35
+ }
36
+ /**
16
37
  * Extract user and project from GitHub repository URL.
17
38
  *
18
39
  * @example
@@ -21,9 +42,8 @@ src_external_npm_package_arg = require_runtime.__toESM(src_external_npm_package_
21
42
  * // { user: 'lodash', project: 'lodash' }
22
43
  * ```
23
44
  */
24
- /*@__NO_SIDE_EFFECTS__*/
25
45
  function getRepoUrlDetails(repoUrl = "") {
26
- const match = /^(?:[a-z][a-z+]*:\/\/)(?:[^/@]+@)?github\.com\/([^?#]+)(?:[?#]|$)/i.exec(repoUrl);
46
+ const match = /^(?:[a-z][a-z+]*:\/\/)(?:[^/@]+@)?github\.com\/([^?#]+)(?:$|[?#])/i.exec(repoUrl);
27
47
  if (!match || !match[1]) return {
28
48
  user: "",
29
49
  project: ""
@@ -45,7 +65,6 @@ function getRepoUrlDetails(repoUrl = "") {
45
65
  * // 'https://api.github.com/repos/lodash/lodash/git/ref/tags/v4.17.21'
46
66
  * ```
47
67
  */
48
- /*@__NO_SIDE_EFFECTS__*/
49
68
  function gitHubTagRefUrl(user, project, tag) {
50
69
  return `https://api.github.com/repos/${user}/${project}/git/ref/tags/${tag}`;
51
70
  }
@@ -58,7 +77,6 @@ function gitHubTagRefUrl(user, project, tag) {
58
77
  * // 'https://github.com/lodash/lodash/archive/abc123.tar.gz'
59
78
  * ```
60
79
  */
61
- /*@__NO_SIDE_EFFECTS__*/
62
80
  function gitHubTgzUrl(user, project, sha) {
63
81
  return `https://github.com/${user}/${project}/archive/${sha}.tar.gz`;
64
82
  }
@@ -71,10 +89,9 @@ function gitHubTgzUrl(user, project, sha) {
71
89
  * isGitHubTgzSpec('lodash@4.17.21') // false
72
90
  * ```
73
91
  */
74
- /*@__NO_SIDE_EFFECTS__*/
75
92
  function isGitHubTgzSpec(spec, where) {
76
93
  let parsedSpec;
77
- if (/* @__PURE__ */ require_objects_predicates.isPlainObject(spec)) parsedSpec = spec;
94
+ if (require_objects_predicates.isPlainObject(spec)) parsedSpec = spec;
78
95
  else parsedSpec = (0, src_external_npm_package_arg.default)(spec, where);
79
96
  const typedSpec = parsedSpec;
80
97
  return typedSpec.type === "remote" && !!typedSpec.saveSpec?.endsWith(".tar.gz");
@@ -88,18 +105,64 @@ function isGitHubTgzSpec(spec, where) {
88
105
  * isGitHubUrlSpec('lodash@4.17.21') // false
89
106
  * ```
90
107
  */
91
- /*@__NO_SIDE_EFFECTS__*/
92
108
  function isGitHubUrlSpec(spec, where) {
93
109
  let parsedSpec;
94
- if (/* @__PURE__ */ require_objects_predicates.isPlainObject(spec)) parsedSpec = spec;
110
+ if (require_objects_predicates.isPlainObject(spec)) parsedSpec = spec;
95
111
  else parsedSpec = (0, src_external_npm_package_arg.default)(spec, where);
96
112
  const typedSpec = parsedSpec;
97
- return typedSpec.type === "git" && typedSpec.hosted?.domain === "github.com" && /* @__PURE__ */ require_strings_predicates.isNonEmptyString(typedSpec.gitCommittish);
113
+ return typedSpec.type === "git" && typedSpec.hosted?.domain === "github.com" && require_strings_predicates.isNonEmptyString(typedSpec.gitCommittish);
114
+ }
115
+ /**
116
+ * Slugify an npm package name into a hyphenated identifier suitable for
117
+ * User-Agent tokens, log namespaces, file paths, and other contexts where `@`
118
+ * and `/` are not welcome.
119
+ *
120
+ * @example
121
+ * ;```typescript
122
+ * pkgNameToSlug('@socketsecurity/lib') // 'socketsecurity-lib'
123
+ * pkgNameToSlug('@cyclonedx/cdxgen') // 'cyclonedx-cdxgen'
124
+ * pkgNameToSlug('lodash') // 'lodash'
125
+ * ```
126
+ */
127
+ function pkgNameToSlug(pkgName) {
128
+ return require_primordials_string.StringPrototypeCharCodeAt(pkgName, 0) === 64 ? `${pkgName.slice(1).replace("/", "-")}` : pkgName;
129
+ }
130
+ /**
131
+ * Resolve full package name from a PURL object with custom delimiter.
132
+ *
133
+ * @example
134
+ * ;```typescript
135
+ * resolvePackageName({ name: 'core', namespace: '@babel' }) // '@babel/core'
136
+ * resolvePackageName({ name: 'lodash' }) // 'lodash'
137
+ * ```
138
+ */
139
+ function resolvePackageName(purlObj, delimiter = "/") {
140
+ const { name, namespace } = purlObj;
141
+ return `${namespace ? `${namespace}${delimiter}` : ""}${name}`;
142
+ }
143
+ /**
144
+ * Convert npm package name to Socket registry format with delimiter.
145
+ *
146
+ * @example
147
+ * ;```typescript
148
+ * resolveRegistryPackageName('@babel/core') // 'babel__core'
149
+ * resolveRegistryPackageName('lodash') // 'lodash'
150
+ * ```
151
+ */
152
+ function resolveRegistryPackageName(pkgName) {
153
+ const input = `pkg:npm/${pkgName}`;
154
+ const smolPurl = require_smol_purl.getSmolPurl();
155
+ const purlObj = smolPurl ? smolPurl.parse(input) : src_external__socketregistry_packageurl_js.PackageURL.fromString(input);
156
+ return purlObj.namespace ? `${purlObj.namespace.slice(1)}${"__"}${purlObj.name}` : pkgName;
98
157
  }
99
158
 
100
159
  //#endregion
160
+ exports.getReleaseTag = getReleaseTag;
101
161
  exports.getRepoUrlDetails = getRepoUrlDetails;
102
162
  exports.gitHubTagRefUrl = gitHubTagRefUrl;
103
163
  exports.gitHubTgzUrl = gitHubTgzUrl;
104
164
  exports.isGitHubTgzSpec = isGitHubTgzSpec;
105
- exports.isGitHubUrlSpec = isGitHubUrlSpec;
165
+ exports.isGitHubUrlSpec = isGitHubUrlSpec;
166
+ exports.pkgNameToSlug = pkgNameToSlug;
167
+ exports.resolvePackageName = resolvePackageName;
168
+ exports.resolveRegistryPackageName = resolveRegistryPackageName;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @file Package tarball operations: extract a package to a directory and pack a
3
+ * spec into a tarball, both via pacote/libnpmpack with the shared packument
4
+ * cache.
5
+ */
6
+ import type { ExtractOptions, PacoteOptions } from './types';
7
+ /**
8
+ * Extract a package to a destination directory.
9
+ *
10
+ * @example
11
+ * ;```typescript
12
+ * await extractPackage('lodash@4.17.21', { dest: '/tmp/lodash' })
13
+ * ```
14
+ */
15
+ export declare function extractPackage(pkgNameOrId: string, options?: ExtractOptions, callback?: (destPath: string) => Promise<unknown>): Promise<void>;
16
+ /**
17
+ * Pack a package tarball using pacote.
18
+ *
19
+ * @example
20
+ * ;```typescript
21
+ * const tarball = await packPackage('lodash@4.17.21')
22
+ * ```
23
+ */
24
+ export declare function packPackage(spec: string, options?: PacoteOptions): Promise<unknown>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../_virtual/_rolldown/runtime.js');
5
+ const require_paths_normalize = require('../paths/normalize.js');
6
+ const require_process_abort = require('../process/abort.js');
7
+ const require_constants_packages = require('../constants/packages.js');
8
+ let src_external_cacache = require("../external/cacache");
9
+ src_external_cacache = require_runtime.__toESM(src_external_cacache);
10
+ let src_external_pacote = require("../external/pacote");
11
+ src_external_pacote = require_runtime.__toESM(src_external_pacote);
12
+ let src_external_libnpmpack = require("../external/libnpmpack");
13
+ src_external_libnpmpack = require_runtime.__toESM(src_external_libnpmpack);
14
+
15
+ //#region src/packages/tarball.ts
16
+ /**
17
+ * @file Package tarball operations: extract a package to a directory and pack a
18
+ * spec into a tarball, both via pacote/libnpmpack with the shared packument
19
+ * cache.
20
+ */
21
+ const abortSignal = require_process_abort.getAbortSignal();
22
+ const packumentCache = require_constants_packages.getPackumentCache();
23
+ const pacoteCachePath = require_constants_packages.getPacoteCachePath();
24
+ /**
25
+ * Extract a package to a destination directory.
26
+ *
27
+ * @example
28
+ * ;```typescript
29
+ * await extractPackage('lodash@4.17.21', { dest: '/tmp/lodash' })
30
+ * ```
31
+ */
32
+ async function extractPackage(pkgNameOrId, options, callback) {
33
+ let actualCallback = callback;
34
+ let actualOptions = options;
35
+ if (arguments.length === 2 && typeof options === "function") {
36
+ actualCallback = options;
37
+ actualOptions = void 0;
38
+ }
39
+ const { dest, tmpPrefix, ...extractOptions_ } = {
40
+ __proto__: null,
41
+ ...actualOptions
42
+ };
43
+ const extractOptions = {
44
+ packumentCache,
45
+ preferOffline: true,
46
+ ...extractOptions_
47
+ };
48
+ /* c8 ignore start - External package registry extraction */
49
+ if (typeof dest === "string") {
50
+ const normalizedDest = require_paths_normalize.normalizePath(dest);
51
+ await src_external_pacote.default.extract(pkgNameOrId, normalizedDest, extractOptions);
52
+ if (typeof actualCallback === "function") await actualCallback(normalizedDest);
53
+ } else await src_external_cacache.default.tmp.withTmp(pacoteCachePath, { tmpPrefix }, async (tmpDirPath) => {
54
+ await src_external_pacote.default.extract(pkgNameOrId, tmpDirPath, extractOptions);
55
+ if (typeof actualCallback === "function") await actualCallback(tmpDirPath);
56
+ });
57
+ /* c8 ignore stop */
58
+ }
59
+ /**
60
+ * Pack a package tarball using pacote.
61
+ *
62
+ * @example
63
+ * ;```typescript
64
+ * const tarball = await packPackage('lodash@4.17.21')
65
+ * ```
66
+ */
67
+ async function packPackage(spec, options) {
68
+ /* c8 ignore start - External package registry packing */
69
+ return await (0, src_external_libnpmpack.default)(spec, {
70
+ __proto__: null,
71
+ signal: abortSignal,
72
+ ...options,
73
+ packumentCache,
74
+ preferOffline: true
75
+ });
76
+ /* c8 ignore stop */
77
+ }
78
+
79
+ //#endregion
80
+ exports.extractPackage = extractPackage;
81
+ exports.packPackage = packPackage;
@@ -5,10 +5,11 @@
5
5
  * `licenses`. Pure types, no runtime side effects.
6
6
  */
7
7
  import type { CategoryString } from '../eco/types';
8
- type PackageExports = {
8
+ import type { EditablePackageJsonInstance } from './edit';
9
+ export type PackageExports = {
9
10
  [path: string]: unknown;
10
11
  };
11
- export type EditablePackageJson = import('./edit').EditablePackageJsonInstance;
12
+ export type EditablePackageJson = EditablePackageJsonInstance;
12
13
  /**
13
14
  * Extended PackageJson type based on NPMCliPackageJson.Content with
14
15
  * Socket-specific additions.
@@ -28,34 +29,34 @@ export type PackageJson = {
28
29
  typings?: string | undefined;
29
30
  bin?: string | Record<string, string> | undefined;
30
31
  author?: string | {
31
- name?: string;
32
- email?: string;
33
- url?: string;
32
+ name?: string | undefined;
33
+ email?: string | undefined;
34
+ url?: string | undefined;
34
35
  } | undefined;
35
36
  contributors?: Array<string | {
36
- name?: string;
37
- email?: string;
38
- url?: string;
37
+ name?: string | undefined;
38
+ email?: string | undefined;
39
+ url?: string | undefined;
39
40
  }> | undefined;
40
41
  maintainers?: Array<string | {
41
- name?: string;
42
- email?: string;
43
- url?: string;
42
+ name?: string | undefined;
43
+ email?: string | undefined;
44
+ url?: string | undefined;
44
45
  }> | undefined;
45
46
  repository?: string | {
46
- type?: string;
47
- url?: string;
48
- directory?: string;
47
+ type?: string | undefined;
48
+ url?: string | undefined;
49
+ directory?: string | undefined;
49
50
  } | undefined;
50
51
  homepage?: string | undefined;
51
52
  bugs?: string | {
52
- url?: string;
53
- email?: string;
53
+ url?: string | undefined;
54
+ email?: string | undefined;
54
55
  } | undefined;
55
56
  license?: string | undefined;
56
57
  licenses?: Array<{
57
- type?: string;
58
- url?: string;
58
+ type?: string | undefined;
59
+ url?: string | undefined;
59
60
  }> | undefined;
60
61
  scripts?: Record<string, string> | undefined;
61
62
  dependencies?: Record<string, string> | undefined;
@@ -80,11 +81,11 @@ export type PackageJson = {
80
81
  cpu?: string[] | undefined;
81
82
  packageManager?: string | undefined;
82
83
  workspaces?: string[] | {
83
- packages?: string[];
84
+ packages?: string[] | undefined;
84
85
  } | undefined;
85
86
  socket?: {
86
- categories?: CategoryString | CategoryString[];
87
- interop?: string | string[];
87
+ categories?: CategoryString | CategoryString[] | undefined;
88
+ interop?: string | string[] | undefined;
88
89
  [key: string]: unknown;
89
90
  } | undefined;
90
91
  };
@@ -130,4 +131,3 @@ export type PacoteOptions = {
130
131
  preferOffline?: boolean | undefined;
131
132
  fullMetadata?: boolean | undefined;
132
133
  };
133
- export {};
@@ -19,7 +19,6 @@ src_external_validate_npm_package_name = require_runtime.__toESM(src_external_va
19
19
  * isBlessedPackageName('lodash') // false
20
20
  * ```
21
21
  */
22
- /*@__NO_SIDE_EFFECTS__*/
23
22
  function isBlessedPackageName(name) {
24
23
  return typeof name === "string" && (name === "sfw" || name === "socket" || require_primordials_string.StringPrototypeStartsWith(name, "@socketoverride/") || require_primordials_string.StringPrototypeStartsWith(name, "@socketregistry/") || require_primordials_string.StringPrototypeStartsWith(name, "@socketsecurity/"));
25
24
  }
@@ -32,7 +31,6 @@ function isBlessedPackageName(name) {
32
31
  * isRegistryFetcherType('git') // false
33
32
  * ```
34
33
  */
35
- /*@__NO_SIDE_EFFECTS__*/
36
34
  function isRegistryFetcherType(type) {
37
35
  return type === "alias" || type === "range" || type === "tag" || type === "version";
38
36
  }
@@ -45,7 +43,6 @@ function isRegistryFetcherType(type) {
45
43
  * isValidPackageName('.invalid') // false
46
44
  * ```
47
45
  */
48
- /*@__NO_SIDE_EFFECTS__*/
49
46
  function isValidPackageName(name) {
50
47
  return (0, src_external_validate_npm_package_name.default)(name).validForOldPackages;
51
48
  }
@@ -8,6 +8,7 @@
8
8
  * - `getUrl` — lazy `node:url` loader
9
9
  * - `pathLikeToString` — `string | Buffer | URL` → `string`
10
10
  */
11
+ import type nodeUrl from 'node:url';
11
12
  export declare const CHAR_BACKWARD_SLASH = 92;
12
13
  export declare const CHAR_COLON = 58;
13
14
  export declare const CHAR_FORWARD_SLASH = 47;
@@ -26,7 +27,7 @@ export declare const slashRegExp: RegExp;
26
27
  *
27
28
  * @private
28
29
  */
29
- export declare function getUrl(): typeof import('node:url');
30
+ export declare function getUrl(): typeof nodeUrl;
30
31
  /**
31
32
  * Convert a path-like value to a string.
32
33
  *
@@ -2,20 +2,10 @@
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_primordials_buffer = require('../primordials/buffer.js');
5
- const require_primordials_string = require('../primordials/string.js');
6
5
  const require_constants_platform = require('../constants/platform.js');
6
+ const require_primordials_string = require('../primordials/string.js');
7
7
 
8
8
  //#region src/paths/_internal.ts
9
- /**
10
- * @file Shared internals for the `paths/` module — the leaf-level primitives
11
- * every other path leaf depends on. Kept as a single file so `normalize`,
12
- * `predicates`, `conversion`, and `resolve` can layer above it without
13
- * circular imports.
14
- *
15
- * - char-code constants + shared regexps
16
- * - `getUrl` — lazy `node:url` loader
17
- * - `pathLikeToString` — `string | Buffer | URL` → `string`
18
- */
19
9
  const CHAR_BACKWARD_SLASH = 92;
20
10
  const CHAR_COLON = 58;
21
11
  const CHAR_FORWARD_SLASH = 47;
@@ -23,10 +13,10 @@ const CHAR_LOWERCASE_A = 97;
23
13
  const CHAR_LOWERCASE_Z = 122;
24
14
  const CHAR_UPPERCASE_A = 65;
25
15
  const CHAR_UPPERCASE_Z = 90;
26
- const msysDriveRegExp = /^\/([a-zA-Z])(\/|$)/;
27
- const nodeModulesPathRegExp = /(?:^|[/\\])node_modules(?:[/\\]|$)/;
16
+ const msysDriveRegExp = /^\/([a-zA-Z])($|\/)/;
17
+ const nodeModulesPathRegExp = /(?:[/\\]|^)node_modules(?:$|[/\\])/;
28
18
  const slashRegExp = /[/\\]/;
29
- let _url;
19
+ let cachedUrl;
30
20
  /**
31
21
  * Lazily load the url module.
32
22
  *
@@ -35,10 +25,9 @@ let _url;
35
25
  *
36
26
  * @private
37
27
  */
38
- /*@__NO_SIDE_EFFECTS__*/
39
28
  function getUrl() {
40
- if (_url === void 0) _url = /*@__PURE__*/ require("node:url");
41
- return _url;
29
+ if (cachedUrl === void 0) cachedUrl = /*@__PURE__*/ require("node:url");
30
+ return cachedUrl;
42
31
  }
43
32
  /**
44
33
  * Convert a path-like value to a string.
@@ -61,12 +50,11 @@ function getUrl() {
61
50
  * @returns {string} The string representation, or empty string for
62
51
  * null/undefined.
63
52
  */
64
- /*@__NO_SIDE_EFFECTS__*/
65
53
  function pathLikeToString(pathLike) {
66
54
  if (pathLike === null || pathLike === void 0) return "";
67
55
  if (typeof pathLike === "string") return pathLike;
68
56
  if (require_primordials_buffer.BufferIsBuffer(pathLike)) return pathLike.toString("utf8");
69
- const url = /* @__PURE__ */ getUrl();
57
+ const url = getUrl();
70
58
  if (pathLike instanceof URL) try {
71
59
  return url.fileURLToPath(pathLike);
72
60
  } catch {
@@ -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_constants_platform = require('../constants/platform.js');
5
+ const require_primordials_string = require('../primordials/string.js');
6
6
  const require_paths__internal = require('./_internal.js');
7
7
  const require_paths_normalize = require('./normalize.js');
8
8
 
@@ -34,9 +34,8 @@ const require_paths_normalize = require('./normalize.js');
34
34
  *
35
35
  * @returns {string} Native Windows path or normalized Unix path
36
36
  */
37
- /*@__NO_SIDE_EFFECTS__*/
38
37
  function fromUnixPath(pathLike) {
39
- const normalized = /* @__PURE__ */ require_paths_normalize.normalizePath(pathLike);
38
+ const normalized = require_paths_normalize.normalizePath(pathLike);
40
39
  /* c8 ignore start */
41
40
  if (require_constants_platform.WIN32) return normalized.replace(/\//g, "\\");
42
41
  /* c8 ignore stop */
@@ -59,9 +58,8 @@ function fromUnixPath(pathLike) {
59
58
  *
60
59
  * @returns {string[]} Array of path segments, or empty array for empty paths
61
60
  */
62
- /*@__NO_SIDE_EFFECTS__*/
63
61
  function splitPath(pathLike) {
64
- const filepath = /* @__PURE__ */ require_paths__internal.pathLikeToString(pathLike);
62
+ const filepath = require_paths__internal.pathLikeToString(pathLike);
65
63
  if (filepath === "") return [];
66
64
  return filepath.split(require_paths__internal.slashRegExp);
67
65
  }
@@ -83,9 +81,8 @@ function splitPath(pathLike) {
83
81
  *
84
82
  * @returns {string} Unix-style POSIX path
85
83
  */
86
- /*@__NO_SIDE_EFFECTS__*/
87
84
  function toUnixPath(pathLike) {
88
- const normalized = /* @__PURE__ */ require_paths_normalize.normalizePath(pathLike);
85
+ const normalized = require_paths_normalize.normalizePath(pathLike);
89
86
  /* c8 ignore start */
90
87
  if (require_constants_platform.WIN32) return normalized.replace(/^([A-Z]):/i, (_, letter) => `/${letter.toLowerCase()}`);
91
88
  /* c8 ignore stop */
@@ -107,9 +104,8 @@ function toUnixPath(pathLike) {
107
104
  *
108
105
  * @returns {string} The path without leading `./` / `.\`, or unchanged
109
106
  */
110
- /*@__NO_SIDE_EFFECTS__*/
111
107
  function trimLeadingDotSlash(pathLike) {
112
- const filepath = /* @__PURE__ */ require_paths__internal.pathLikeToString(pathLike);
108
+ const filepath = require_paths__internal.pathLikeToString(pathLike);
113
109
  if (require_primordials_string.StringPrototypeStartsWith(filepath, "./") || require_primordials_string.StringPrototypeStartsWith(filepath, ".\\")) return filepath.slice(2);
114
110
  return filepath;
115
111
  }
@@ -7,5 +7,6 @@ export declare const DOT_GITHUB = ".github";
7
7
  export declare const DOT_SOCKET_DIR = ".socket";
8
8
  export declare const CACHE_DIR = "cache";
9
9
  export declare const CACHE_TTL_DIR = "ttl";
10
+ export declare const RUN_DIR = "run";
10
11
  export declare const NODE_MODULES_GLOB_RECURSIVE = "**/node_modules";
11
12
  export declare const SLASH_NODE_MODULES_SLASH = "/node_modules/";
@@ -12,6 +12,7 @@ const DOT_GITHUB = ".github";
12
12
  const DOT_SOCKET_DIR = ".socket";
13
13
  const CACHE_DIR = "cache";
14
14
  const CACHE_TTL_DIR = "ttl";
15
+ const RUN_DIR = "run";
15
16
  const NODE_MODULES_GLOB_RECURSIVE = "**/node_modules";
16
17
  const SLASH_NODE_MODULES_SLASH = "/node_modules/";
17
18
 
@@ -23,4 +24,5 @@ exports.DOT_GIT_DIR = DOT_GIT_DIR;
23
24
  exports.DOT_SOCKET_DIR = DOT_SOCKET_DIR;
24
25
  exports.NODE_MODULES = NODE_MODULES;
25
26
  exports.NODE_MODULES_GLOB_RECURSIVE = NODE_MODULES_GLOB_RECURSIVE;
27
+ exports.RUN_DIR = RUN_DIR;
26
28
  exports.SLASH_NODE_MODULES_SLASH = SLASH_NODE_MODULES_SLASH;
@@ -10,6 +10,5 @@ export declare const README_MD = "README.md";
10
10
  export declare const CHANGELOG_MD = "CHANGELOG.md";
11
11
  export declare const MANIFEST_JSON = "manifest.json";
12
12
  export declare const EXTENSIONS_JSON = "extensions.json";
13
- export declare const ESLINT_CONFIG_JS = "eslint.config.js";
14
13
  export declare const GITIGNORE = ".gitignore";
15
14
  export declare const DOT_PACKAGE_LOCK_JSON = ".package-lock.json";
@@ -15,14 +15,12 @@ const README_MD = "README.md";
15
15
  const CHANGELOG_MD = "CHANGELOG.md";
16
16
  const MANIFEST_JSON = "manifest.json";
17
17
  const EXTENSIONS_JSON = "extensions.json";
18
- const ESLINT_CONFIG_JS = "eslint.config.js";
19
18
  const GITIGNORE = ".gitignore";
20
19
  const DOT_PACKAGE_LOCK_JSON = ".package-lock.json";
21
20
 
22
21
  //#endregion
23
22
  exports.CHANGELOG_MD = CHANGELOG_MD;
24
23
  exports.DOT_PACKAGE_LOCK_JSON = DOT_PACKAGE_LOCK_JSON;
25
- exports.ESLINT_CONFIG_JS = ESLINT_CONFIG_JS;
26
24
  exports.EXTENSIONS_JSON = EXTENSIONS_JSON;
27
25
  exports.GITIGNORE = GITIGNORE;
28
26
  exports.LICENSE = LICENSE;