@socketsecurity/lib 6.0.5 → 6.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/ai/discover.d.mts +2 -2
  3. package/dist/ai/discover.js +6 -4
  4. package/dist/ai/spawn.js +10 -6
  5. package/dist/ai/types.d.mts +18 -6
  6. package/dist/ai/worktree.d.mts +6 -6
  7. package/dist/ai/worktree.js +12 -7
  8. package/dist/ansi/strip.d.ts +1 -1
  9. package/dist/ansi/strip.js +0 -2
  10. package/dist/archives/_internal.js +7 -9
  11. package/dist/archives/extract.js +1 -1
  12. package/dist/archives/tar.js +6 -6
  13. package/dist/archives/zip.js +4 -6
  14. package/dist/argv/flag-predicates.d.ts +12 -12
  15. package/dist/argv/flag-predicates.js +17 -17
  16. package/dist/argv/flag-types.d.ts +18 -18
  17. package/dist/argv/flag-types.js +4 -4
  18. package/dist/argv/parse.d.ts +1 -1
  19. package/dist/arrays/_internal.js +11 -12
  20. package/dist/arrays/chunk.js +0 -1
  21. package/dist/arrays/join.d.ts +37 -3
  22. package/dist/arrays/join.js +43 -7
  23. package/dist/arrays/unique.js +0 -1
  24. package/dist/bin/_internal.d.ts +1 -1
  25. package/dist/bin/_internal.js +1 -1
  26. package/dist/bin/acorn-bindgen.cjs +769 -0
  27. package/dist/bin/acorn.wasm +0 -0
  28. package/dist/bin/exec.js +2 -3
  29. package/dist/bin/find.js +13 -13
  30. package/dist/bin/prim.cjs +39244 -0
  31. package/dist/bin/resolve.js +12 -13
  32. package/dist/bin/which.js +8 -8
  33. package/dist/cache/ttl/store.js +5 -5
  34. package/dist/checks/primordials-defaults.d.ts +3 -3
  35. package/dist/checks/primordials-defaults.js +3 -3
  36. package/dist/checks/primordials.js +4 -3
  37. package/dist/{bin → cli}/check-primordials.d.ts +11 -11
  38. package/dist/{bin → cli}/check-primordials.js +56 -52
  39. package/dist/{bin → cli}/check.js +6 -5
  40. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  41. package/dist/{bin → cli}/socket-lib.js +4 -4
  42. package/dist/colors/socket-palette.js +7 -9
  43. package/dist/compression/_internal.d.ts +12 -12
  44. package/dist/compression/_internal.js +20 -19
  45. package/dist/compression/brotli.d.ts +25 -25
  46. package/dist/compression/brotli.js +37 -44
  47. package/dist/compression/gzip.d.ts +23 -23
  48. package/dist/compression/gzip.js +44 -52
  49. package/dist/constants/agents.d.ts +3 -1
  50. package/dist/constants/agents.js +15 -11
  51. package/dist/constants/licenses.js +3 -3
  52. package/dist/constants/node.d.ts +23 -0
  53. package/dist/constants/node.js +47 -15
  54. package/dist/constants/packages.js +22 -28
  55. package/dist/constants/platform.d.ts +30 -3
  56. package/dist/constants/platform.js +72 -12
  57. package/dist/constants/runtime.d.ts +22 -0
  58. package/dist/constants/runtime.js +32 -0
  59. package/dist/constants/socket.js +1 -1
  60. package/dist/cover/code.js +8 -8
  61. package/dist/cover/formatters.js +5 -5
  62. package/dist/crypto/hash.d.ts +26 -1
  63. package/dist/crypto/hash.js +43 -12
  64. package/dist/debug/_internal.js +4 -6
  65. package/dist/debug/caller-info.js +2 -3
  66. package/dist/debug/namespace.d.ts +7 -0
  67. package/dist/debug/namespace.js +21 -12
  68. package/dist/debug/output.js +21 -24
  69. package/dist/debug/types.d.ts +4 -4
  70. package/dist/dlx/arborist.js +6 -6
  71. package/dist/dlx/binary-cache.js +14 -14
  72. package/dist/dlx/binary-download.d.ts +1 -1
  73. package/dist/dlx/binary-download.js +14 -13
  74. package/dist/dlx/binary-resolution.js +16 -14
  75. package/dist/dlx/binary-types.d.ts +5 -5
  76. package/dist/dlx/binary.js +5 -5
  77. package/dist/dlx/cache.js +1 -1
  78. package/dist/dlx/detect.d.ts +34 -25
  79. package/dist/dlx/detect.js +86 -77
  80. package/dist/dlx/dir.js +2 -2
  81. package/dist/dlx/firewall.d.ts +1 -1
  82. package/dist/dlx/lockfile.d.ts +19 -18
  83. package/dist/dlx/lockfile.js +16 -16
  84. package/dist/dlx/manifest.d.ts +6 -6
  85. package/dist/dlx/manifest.js +5 -5
  86. package/dist/dlx/package.d.ts +10 -10
  87. package/dist/dlx/package.js +16 -16
  88. package/dist/dlx/packages.js +4 -4
  89. package/dist/dlx/paths.js +7 -7
  90. package/dist/dlx/spec.js +1 -1
  91. package/dist/dlx/types.d.ts +28 -27
  92. package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
  93. package/dist/eco/cargo/parse-lockfile.js +2 -2
  94. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  95. package/dist/eco/manifest/detect-format.js +4 -4
  96. package/dist/eco/manifest/find-packages.js +2 -2
  97. package/dist/eco/manifest/get-package-versions.js +2 -2
  98. package/dist/eco/manifest/get-package.js +2 -2
  99. package/dist/eco/manifest/parse-lockfile.js +2 -2
  100. package/dist/eco/manifest/parse-manifest.js +2 -2
  101. package/dist/eco/manifest/parse.js +2 -2
  102. package/dist/eco/npm/npm/exec.js +2 -2
  103. package/dist/eco/npm/npm/flags.js +7 -12
  104. package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
  105. package/dist/eco/npm/npm/parse-lockfile.js +3 -3
  106. package/dist/eco/npm/parse-package-json.js +3 -3
  107. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  108. package/dist/eco/npm/pnpm/exec.js +5 -5
  109. package/dist/eco/npm/pnpm/flags.js +0 -3
  110. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
  111. package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
  112. package/dist/eco/npm/script.js +9 -6
  113. package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
  114. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
  115. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
  116. package/dist/effects/pulse-frames.d.ts +3 -1
  117. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  118. package/dist/effects/shimmer-terminal.d.ts +1 -1
  119. package/dist/env/boolean.js +0 -1
  120. package/dist/env/ci.js +0 -1
  121. package/dist/env/debug.js +0 -1
  122. package/dist/env/github-status.d.ts +51 -0
  123. package/dist/env/github-status.js +90 -0
  124. package/dist/env/github.js +0 -8
  125. package/dist/env/home.js +0 -1
  126. package/dist/env/locale.js +0 -3
  127. package/dist/env/node-auth-token.js +0 -1
  128. package/dist/env/node-env.js +0 -1
  129. package/dist/env/node-version-managers.d.ts +53 -0
  130. package/dist/env/node-version-managers.js +90 -0
  131. package/dist/env/npm.js +0 -5
  132. package/dist/env/number.js +0 -1
  133. package/dist/env/package-manager.js +3 -6
  134. package/dist/env/path.js +0 -1
  135. package/dist/env/pre-commit.js +1 -2
  136. package/dist/env/rewire.d.ts +7 -6
  137. package/dist/env/rewire.js +15 -16
  138. package/dist/env/shell.js +0 -1
  139. package/dist/env/socket-cli.js +5 -18
  140. package/dist/env/socket-mcp.d.ts +114 -0
  141. package/dist/env/socket-mcp.js +146 -0
  142. package/dist/env/socket.d.ts +1 -109
  143. package/dist/env/socket.js +12 -166
  144. package/dist/env/string.js +0 -1
  145. package/dist/env/temp-dir.js +0 -3
  146. package/dist/env/term.js +0 -1
  147. package/dist/env/test.js +3 -6
  148. package/dist/env/windows.js +0 -4
  149. package/dist/env/xdg.js +0 -3
  150. package/dist/events/exit/_internal.d.ts +11 -9
  151. package/dist/events/exit/_internal.js +31 -35
  152. package/dist/events/exit/handler.js +3 -4
  153. package/dist/events/exit/intercept.js +4 -6
  154. package/dist/events/exit/lifecycle.js +16 -18
  155. package/dist/events/exit/signals.js +1 -2
  156. package/dist/events/exit/types.d.ts +6 -5
  157. package/dist/external/@npmcli/package-json.js +2 -2
  158. package/dist/external/@sinclair/typebox/value.js +5 -1
  159. package/dist/external/@sinclair/typebox.js +5 -1
  160. package/dist/external/@socketregistry/packageurl-js.js +27 -0
  161. package/dist/external/npm-pack.js +2 -2
  162. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  163. package/dist/external-tools/bazel/resolve.js +2 -1
  164. package/dist/external-tools/bazel/types.d.ts +1 -1
  165. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  166. package/dist/external-tools/cdxgen/resolve.js +2 -1
  167. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  168. package/dist/external-tools/from-download.d.ts +1 -1
  169. package/dist/external-tools/from-download.js +1 -1
  170. package/dist/external-tools/from-pip-venv.d.ts +73 -0
  171. package/dist/external-tools/from-pip-venv.js +98 -0
  172. package/dist/external-tools/janus/asset-names.js +1 -1
  173. package/dist/external-tools/janus/from-download.js +3 -5
  174. package/dist/external-tools/janus/from-vfs.js +1 -1
  175. package/dist/external-tools/janus/resolve.js +2 -1
  176. package/dist/external-tools/janus/types.d.ts +1 -1
  177. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  178. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  179. package/dist/external-tools/jre/from-download.js +2 -1
  180. package/dist/external-tools/jre/from-vfs.js +1 -1
  181. package/dist/external-tools/jre/resolve.js +2 -1
  182. package/dist/external-tools/jre/types.d.ts +1 -1
  183. package/dist/external-tools/manifest.d.ts +7 -7
  184. package/dist/external-tools/manifest.js +18 -16
  185. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  186. package/dist/external-tools/opengrep/resolve.js +2 -1
  187. package/dist/external-tools/opengrep/types.d.ts +1 -1
  188. package/dist/external-tools/python/asset-names.d.ts +76 -0
  189. package/dist/external-tools/python/asset-names.js +104 -0
  190. package/dist/external-tools/python/dlx.d.ts +80 -0
  191. package/dist/external-tools/python/dlx.js +87 -0
  192. package/dist/external-tools/python/from-download.d.ts +53 -0
  193. package/dist/external-tools/python/from-download.js +68 -0
  194. package/dist/external-tools/python/from-path.d.ts +7 -0
  195. package/dist/external-tools/python/from-path.js +23 -0
  196. package/dist/external-tools/python/pin.d.ts +121 -0
  197. package/dist/external-tools/python/pin.js +173 -0
  198. package/dist/external-tools/python/pip-install.d.ts +75 -0
  199. package/dist/external-tools/python/pip-install.js +139 -0
  200. package/dist/external-tools/python/resolve.d.ts +42 -0
  201. package/dist/external-tools/python/resolve.js +58 -0
  202. package/dist/external-tools/python/types.d.ts +49 -0
  203. package/dist/external-tools/sbt/from-vfs.js +1 -1
  204. package/dist/external-tools/sbt/resolve.js +2 -1
  205. package/dist/external-tools/sbt/types.d.ts +1 -1
  206. package/dist/external-tools/skillspector/from-dlx.d.ts +24 -0
  207. package/dist/external-tools/skillspector/from-dlx.js +41 -0
  208. package/dist/external-tools/skillspector/from-path.d.ts +8 -0
  209. package/dist/external-tools/skillspector/from-path.js +30 -0
  210. package/dist/external-tools/skillspector/from-vfs.d.ts +8 -0
  211. package/dist/external-tools/skillspector/from-vfs.js +27 -0
  212. package/dist/external-tools/skillspector/resolve.d.ts +34 -0
  213. package/dist/external-tools/skillspector/resolve.js +53 -0
  214. package/dist/external-tools/skillspector/types.d.ts +24 -0
  215. package/dist/external-tools/skillspector/types.js +2 -0
  216. package/dist/external-tools/synp/from-download.js +2 -2
  217. package/dist/external-tools/synp/from-vfs.js +1 -1
  218. package/dist/external-tools/synp/resolve.js +2 -1
  219. package/dist/external-tools/trivy/from-vfs.js +1 -1
  220. package/dist/external-tools/trivy/resolve.js +2 -1
  221. package/dist/external-tools/trivy/types.d.ts +1 -1
  222. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  223. package/dist/external-tools/trufflehog/resolve.js +2 -1
  224. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  225. package/dist/fs/_internal.d.ts +1 -1
  226. package/dist/fs/_internal.js +7 -7
  227. package/dist/fs/access.js +5 -9
  228. package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
  229. package/dist/fs/encoding.js +5 -7
  230. package/dist/fs/{find-up.js → find.js} +11 -13
  231. package/dist/fs/inspect.js +7 -13
  232. package/dist/fs/read-dir.js +7 -10
  233. package/dist/fs/read-file.js +8 -14
  234. package/dist/fs/read-json-cache.d.ts +6 -4
  235. package/dist/fs/read-json-cache.js +9 -6
  236. package/dist/fs/read-json.js +4 -6
  237. package/dist/fs/resolve-module.js +1 -1
  238. package/dist/fs/safe.d.ts +1 -1
  239. package/dist/fs/safe.js +12 -13
  240. package/dist/fs/unique.js +4 -5
  241. package/dist/fs/validate.js +1 -2
  242. package/dist/fs/write-json.js +4 -5
  243. package/dist/git/_internal.js +12 -11
  244. package/dist/git/changed.js +4 -4
  245. package/dist/git/repo.js +3 -3
  246. package/dist/git/staged.js +4 -4
  247. package/dist/git/unstaged.js +4 -4
  248. package/dist/github/ghsa.js +2 -2
  249. package/dist/github/refs-cache.d.ts +1 -1
  250. package/dist/github/refs-cache.js +5 -5
  251. package/dist/github/refs-rest.js +5 -5
  252. package/dist/github/{fetch.js → request.js} +13 -2
  253. package/dist/github/token.js +1 -1
  254. package/dist/github/types.d.ts +1 -1
  255. package/dist/globs/_internal.js +7 -9
  256. package/dist/globs/match.js +6 -7
  257. package/dist/globs/matcher.d.ts +3 -3
  258. package/dist/globs/matcher.js +12 -14
  259. package/dist/globs/stream.js +1 -2
  260. package/dist/globs/types.d.ts +24 -24
  261. package/dist/http-request/_internal.d.ts +1 -1
  262. package/dist/http-request/browser.js +21 -13
  263. package/dist/http-request/checksum-file.d.ts +55 -0
  264. package/dist/http-request/checksum-file.js +95 -0
  265. package/dist/http-request/download-types.d.ts +15 -23
  266. package/dist/http-request/download.js +4 -4
  267. package/dist/http-request/headers.d.ts +32 -3
  268. package/dist/http-request/headers.js +41 -13
  269. package/dist/http-request/request-attempt.js +38 -33
  270. package/dist/http-request/request-types.d.ts +7 -2
  271. package/dist/http-request/request.js +33 -16
  272. package/dist/http-request/response-reader.d.ts +12 -1
  273. package/dist/http-request/response-reader.js +22 -2
  274. package/dist/http-request/user-agent.js +3 -4
  275. package/dist/integrity.d.ts +86 -18
  276. package/dist/integrity.js +119 -30
  277. package/dist/ipc/directory.js +2 -2
  278. package/dist/ipc/paths.js +1 -1
  279. package/dist/ipc/write.js +1 -1
  280. package/dist/ipc-cli/get.js +12 -12
  281. package/dist/json/edit.js +13 -14
  282. package/dist/json/format.js +2 -2
  283. package/dist/json/parse.d.ts +1 -1
  284. package/dist/json/parse.js +3 -7
  285. package/dist/logger/_internal.d.ts +4 -4
  286. package/dist/logger/_internal.js +3 -3
  287. package/dist/logger/colors.js +4 -3
  288. package/dist/logger/console-methods.d.ts +132 -0
  289. package/dist/logger/console-methods.js +169 -0
  290. package/dist/logger/console.d.ts +12 -0
  291. package/dist/logger/console.js +42 -11
  292. package/dist/logger/indentation-methods.d.ts +81 -0
  293. package/dist/logger/indentation-methods.js +121 -0
  294. package/dist/logger/node.d.ts +16 -338
  295. package/dist/logger/node.js +75 -608
  296. package/dist/logger/options.d.ts +39 -0
  297. package/dist/logger/options.js +47 -0
  298. package/dist/logger/semantic-methods.d.ts +63 -0
  299. package/dist/logger/semantic-methods.js +108 -0
  300. package/dist/logger/stream-methods.d.ts +63 -0
  301. package/dist/logger/stream-methods.js +101 -0
  302. package/dist/logger/stream.d.ts +37 -0
  303. package/dist/logger/stream.js +42 -0
  304. package/dist/logger/symbols-builder.js +9 -9
  305. package/dist/logger/symbols.d.ts +2 -25
  306. package/dist/logger/symbols.js +53 -74
  307. package/dist/logger/types.d.ts +1 -1
  308. package/dist/memo/types.d.ts +6 -6
  309. package/dist/native-messaging/host.d.ts +20 -0
  310. package/dist/native-messaging/host.js +120 -0
  311. package/dist/native-messaging/index.d.ts +5 -0
  312. package/dist/native-messaging/index.js +22 -0
  313. package/dist/native-messaging/install.d.ts +60 -0
  314. package/dist/native-messaging/install.js +141 -0
  315. package/dist/native-messaging/rate-limit.d.ts +62 -0
  316. package/dist/native-messaging/rate-limit.js +115 -0
  317. package/dist/native-messaging/run.d.ts +10 -0
  318. package/dist/native-messaging/run.js +17 -0
  319. package/dist/node/async-hooks.js +4 -3
  320. package/dist/node/child-process.js +4 -3
  321. package/dist/node/crypto.js +4 -3
  322. package/dist/node/events.js +4 -3
  323. package/dist/node/fs-promises.js +4 -3
  324. package/dist/node/fs.js +4 -3
  325. package/dist/node/http.js +4 -3
  326. package/dist/node/https.js +4 -3
  327. package/dist/node/module.js +10 -6
  328. package/dist/node/os.js +4 -3
  329. package/dist/node/path.js +4 -3
  330. package/dist/node/timers-promises.js +4 -3
  331. package/dist/node/url.js +4 -3
  332. package/dist/node/util.js +4 -3
  333. package/dist/objects/getters.js +5 -7
  334. package/dist/objects/inspect.js +1 -4
  335. package/dist/objects/mutate.js +2 -3
  336. package/dist/objects/predicates.js +0 -4
  337. package/dist/objects/sort.js +3 -7
  338. package/dist/packages/edit-class.js +15 -16
  339. package/dist/packages/edit.js +12 -14
  340. package/dist/packages/exports.js +11 -17
  341. package/dist/packages/fetch.d.ts +16 -0
  342. package/dist/packages/fetch.js +81 -0
  343. package/dist/packages/find.d.ts +55 -0
  344. package/dist/packages/find.js +65 -0
  345. package/dist/packages/isolation.js +14 -14
  346. package/dist/packages/licenses.js +16 -16
  347. package/dist/packages/manifest.js +12 -15
  348. package/dist/packages/metadata-extensions.d.ts +14 -0
  349. package/dist/packages/metadata-extensions.js +43 -0
  350. package/dist/packages/normalize.js +5 -9
  351. package/dist/packages/provenance.d.ts +6 -0
  352. package/dist/packages/provenance.js +25 -18
  353. package/dist/packages/read.d.ts +29 -0
  354. package/dist/packages/read.js +66 -0
  355. package/dist/packages/specs.d.ts +48 -1
  356. package/dist/packages/specs.js +74 -11
  357. package/dist/packages/tarball.d.ts +24 -0
  358. package/dist/packages/tarball.js +79 -0
  359. package/dist/packages/types.d.ts +21 -20
  360. package/dist/packages/validation.js +0 -3
  361. package/dist/paths/_internal.d.ts +2 -1
  362. package/dist/paths/_internal.js +7 -19
  363. package/dist/paths/conversion.js +5 -9
  364. package/dist/paths/filenames.d.ts +0 -1
  365. package/dist/paths/filenames.js +0 -2
  366. package/dist/paths/normalize.js +6 -5
  367. package/dist/paths/packages.js +4 -7
  368. package/dist/paths/predicates.js +9 -16
  369. package/dist/paths/resolve.js +11 -14
  370. package/dist/paths/rewire.js +3 -3
  371. package/dist/paths/socket.js +16 -16
  372. package/dist/paths/walk.d.ts +1 -1
  373. package/dist/paths/walk.js +4 -4
  374. package/dist/perf/report.js +2 -2
  375. package/dist/perf/types.d.ts +1 -1
  376. package/dist/pkg-ext/data.js +1 -1
  377. package/dist/primordials/array.js +9 -9
  378. package/dist/primordials/date.js +2 -2
  379. package/dist/primordials/error.js +3 -3
  380. package/dist/primordials/headers.d.ts +10 -0
  381. package/dist/primordials/headers.js +23 -0
  382. package/dist/primordials/intl.d.ts +13 -0
  383. package/dist/primordials/intl.js +26 -0
  384. package/dist/primordials/math.js +33 -33
  385. package/dist/primordials/number.js +9 -9
  386. package/dist/primordials/object.js +5 -5
  387. package/dist/primordials/string.d.ts +2 -2
  388. package/dist/primordials/string.js +6 -6
  389. package/dist/primordials/symbol.js +3 -3
  390. package/dist/primordials/uncurry.js +9 -9
  391. package/dist/process/abort.js +3 -3
  392. package/dist/process/lock-manager.js +8 -8
  393. package/dist/process/spawn/_internal.js +6 -8
  394. package/dist/process/spawn/child.js +14 -14
  395. package/dist/process/spawn/errors.js +2 -4
  396. package/dist/process/spawn/kill-tree.d.ts +53 -0
  397. package/dist/process/spawn/kill-tree.js +85 -0
  398. package/dist/process/spawn/stdio.js +0 -1
  399. package/dist/process/spawn/types.d.ts +5 -5
  400. package/dist/process/transient.js +2 -2
  401. package/dist/promises/_internal.d.ts +2 -1
  402. package/dist/promises/_internal.js +2 -6
  403. package/dist/promises/iterate.js +12 -16
  404. package/dist/promises/options.js +3 -6
  405. package/dist/promises/retry.js +4 -5
  406. package/dist/promises/timers.d.ts +30 -0
  407. package/dist/promises/timers.js +48 -0
  408. package/dist/releases/github-archives.d.ts +6 -6
  409. package/dist/releases/github-archives.js +2 -2
  410. package/dist/releases/github-asset-url.d.ts +1 -1
  411. package/dist/releases/github-asset-url.js +5 -5
  412. package/dist/releases/github-downloads.d.ts +1 -1
  413. package/dist/releases/github-downloads.js +3 -3
  414. package/dist/releases/github-listing.d.ts +11 -2
  415. package/dist/releases/github-listing.js +20 -7
  416. package/dist/releases/github-retry-config.js +1 -1
  417. package/dist/releases/github-types.d.ts +6 -6
  418. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  419. package/dist/releases/socket-btm-binary-naming.js +155 -0
  420. package/dist/releases/socket-btm.d.ts +8 -115
  421. package/dist/releases/socket-btm.js +16 -159
  422. package/dist/schema/types.d.ts +1 -1
  423. package/dist/sea/detect.js +6 -6
  424. package/dist/secrets/_internal.d.ts +2 -2
  425. package/dist/secrets/_internal.js +5 -4
  426. package/dist/secrets/compare.d.ts +45 -0
  427. package/dist/secrets/compare.js +61 -0
  428. package/dist/secrets/keychain.js +9 -6
  429. package/dist/secrets/linux.js +25 -23
  430. package/dist/secrets/macos.d.ts +1 -1
  431. package/dist/secrets/macos.js +18 -16
  432. package/dist/secrets/rc.d.ts +2 -2
  433. package/dist/secrets/rc.js +15 -10
  434. package/dist/secrets/socket-api-token.d.ts +4 -4
  435. package/dist/secrets/socket-api-token.js +18 -9
  436. package/dist/secrets/windows.js +21 -17
  437. package/dist/shadow/skip.js +2 -2
  438. package/dist/shell/parse.d.ts +108 -1
  439. package/dist/shell/parse.js +168 -2
  440. package/dist/smol/detect.js +9 -10
  441. package/dist/smol/http.js +6 -7
  442. package/dist/smol/https.js +6 -7
  443. package/dist/smol/manifest.d.ts +1 -1
  444. package/dist/smol/manifest.js +6 -7
  445. package/dist/smol/path.d.ts +1 -1
  446. package/dist/smol/path.js +7 -8
  447. package/dist/smol/primordial.d.ts +4 -0
  448. package/dist/smol/primordial.js +6 -7
  449. package/dist/smol/purl.d.ts +1 -1
  450. package/dist/smol/purl.js +7 -8
  451. package/dist/smol/versions.js +6 -7
  452. package/dist/smol/vfs.js +6 -7
  453. package/dist/sorts/_internal.js +6 -8
  454. package/dist/sorts/natural.js +10 -12
  455. package/dist/sorts/semver.js +1 -2
  456. package/dist/sorts/strings.js +0 -1
  457. package/dist/sorts/types.d.ts +1 -1
  458. package/dist/spinner/create-spinner-class.d.ts +38 -0
  459. package/dist/spinner/create-spinner-class.js +302 -0
  460. package/dist/spinner/default.js +8 -9
  461. package/dist/spinner/spinner-internals.d.ts +36 -0
  462. package/dist/spinner/spinner-internals.js +101 -0
  463. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  464. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  465. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  466. package/dist/spinner/spinner-status-methods.js +133 -0
  467. package/dist/spinner/spinner.d.ts +4 -5
  468. package/dist/spinner/spinner.js +18 -705
  469. package/dist/spinner/types.d.ts +3 -1
  470. package/dist/spinner/with.d.ts +10 -0
  471. package/dist/spinner/with.js +16 -2
  472. package/dist/stdio/divider.js +1 -1
  473. package/dist/stdio/footer.js +3 -3
  474. package/dist/stdio/header.js +4 -4
  475. package/dist/stdio/progress.js +5 -5
  476. package/dist/stdio/prompts.d.ts +5 -3
  477. package/dist/stdio/prompts.js +6 -7
  478. package/dist/stdio/stdout.js +3 -3
  479. package/dist/streams/parallel.js +3 -5
  480. package/dist/streams/transform.js +2 -3
  481. package/dist/strings/format.js +2 -6
  482. package/dist/strings/predicates.js +0 -2
  483. package/dist/strings/search.js +1 -2
  484. package/dist/strings/transform.js +0 -3
  485. package/dist/strings/width.js +9 -10
  486. package/dist/tables/bordered.js +4 -3
  487. package/dist/tables/padding.js +1 -1
  488. package/dist/tables/simple.js +8 -5
  489. package/dist/temporal/instant.js +4 -2
  490. package/dist/temporal/slots.js +7 -6
  491. package/dist/temporal/system.js +9 -9
  492. package/dist/themes/context.d.ts +3 -2
  493. package/dist/themes/context.js +4 -5
  494. package/dist/themes/themes.js +15 -15
  495. package/dist/themes/types.d.ts +3 -3
  496. package/dist/url/parse.js +0 -2
  497. package/dist/url/predicates.js +1 -2
  498. package/dist/url/search-params.js +3 -9
  499. package/dist/url/types.d.ts +5 -5
  500. package/dist/versions/_internal.js +3 -3
  501. package/dist/words/article.js +0 -1
  502. package/dist/words/capitalize.js +0 -1
  503. package/dist/words/pluralize.d.ts +24 -2
  504. package/dist/words/pluralize.js +47 -2
  505. package/dist/words/types.d.ts +25 -2
  506. package/package.json +289 -108
  507. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  508. package/dist/external-tools/uv/asset-names.js +0 -70
  509. package/dist/external-tools/uv/from-download.d.ts +0 -17
  510. package/dist/external-tools/uv/from-download.js +0 -47
  511. package/dist/external-tools/uv/from-path.d.ts +0 -5
  512. package/dist/external-tools/uv/from-path.js +0 -22
  513. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  514. package/dist/external-tools/uv/from-vfs.js +0 -26
  515. package/dist/external-tools/uv/resolve.d.ts +0 -25
  516. package/dist/external-tools/uv/resolve.js +0 -52
  517. package/dist/external-tools/uv/types.d.ts +0 -24
  518. package/dist/http-request/checksums.d.ts +0 -69
  519. package/dist/http-request/checksums.js +0 -108
  520. package/dist/http-request/http-request.d.ts +0 -12
  521. package/dist/http-request/http-request.js +0 -11
  522. package/dist/packages/operations.d.ts +0 -113
  523. package/dist/packages/operations.js +0 -304
  524. package/dist/ssri/convert.d.ts +0 -48
  525. package/dist/ssri/convert.js +0 -69
  526. package/dist/ssri/parse.d.ts +0 -27
  527. package/dist/ssri/parse.js +0 -41
  528. package/dist/ssri/validate.d.ts +0 -41
  529. package/dist/ssri/validate.js +0 -56
  530. /package/dist/{bin → cli}/check.d.ts +0 -0
  531. /package/dist/external-tools/{uv → python}/types.js +0 -0
  532. /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
  533. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  534. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -8,10 +8,100 @@
8
8
  * against `env`; unresolved ones collapse to an empty string.
9
9
  */
10
10
  import type { ParseEntry } from '../external/shell-quote';
11
+ /**
12
+ * Visit each simple command in `cmd` in order. A "simple command" is the
13
+ * POSIX-grammar term for a run of bare-string tokens between shell
14
+ * control-operator boundaries (`&&`, `;`, `||`, `|`) — e.g. in `sudo apt && rm
15
+ * -rf /`, the two simple commands are `['sudo', 'apt']` and `['rm', '-rf',
16
+ * '/']`. Glob and comment tokens are ignored.
17
+ *
18
+ * The visitor receives each simple command's tokens as a `readonly string[]`;
19
+ * returning `true` short-circuits the walk so callers like `hasBinCall` /
20
+ * `findBinCall` can bail on the first match without finishing the parse.
21
+ *
22
+ * Public so consumers can write their own per-command matchers without
23
+ * re-parsing the command line. Used internally by `findBinCall` /
24
+ * `findBinCalls` / `hasBinCall`.
25
+ *
26
+ * Shell-quote is permissive (partial parses don't throw); the walk tolerates
27
+ * any shape it returns.
28
+ *
29
+ * @example
30
+ * eachSimpleCommand('sudo apt && rm -rf /', tokens => {
31
+ * console.log(tokens)
32
+ * // → ['sudo', 'apt']
33
+ * // → ['rm', '-rf', '/']
34
+ * })
35
+ *
36
+ * // Short-circuit on first match:
37
+ * eachSimpleCommand('a ; b ; c', tokens => {
38
+ * if (tokens[0] === 'b') {
39
+ * return true // stop the walk
40
+ * }
41
+ * })
42
+ */
43
+ export declare function eachSimpleCommand(cmd: string, visit: (tokens: readonly string[]) => boolean | void): void;
44
+ /**
45
+ * Walk a parsed shell command and return the args of the FIRST binary call
46
+ * whose leading tokens match `prefix` (e.g. `['sudo']`, `['gh', 'auth',
47
+ * 'refresh']`). Returns `undefined` when no call matches.
48
+ *
49
+ * Short-circuits on the first match — does NOT materialize every match. Use
50
+ * this when "did any call match, and what were its args?" is enough. For audit
51
+ * / counting use cases where every match matters, use `findBinCalls`.
52
+ *
53
+ * @example
54
+ * findBinCall('sudo apt update && sudo -k', ['sudo'])
55
+ * // → ['apt', 'update']
56
+ *
57
+ * findBinCall('echo "sudo foo"', ['sudo'])
58
+ * // → undefined
59
+ */
60
+ export declare function findBinCall(cmd: string, prefix: readonly string[]): readonly string[] | undefined;
61
+ /**
62
+ * Walk a parsed shell command and return the args of every binary call whose
63
+ * leading tokens match `prefix` (e.g. `['sudo']`, `['gh', 'auth', 'refresh']`).
64
+ * Returns an empty array when no call matches.
65
+ *
66
+ * Segments split at op tokens (`&&`, `;`, `||`, `|`) so each chained command is
67
+ * scanned independently. Each match's args are returned as a `string[]` slice
68
+ * positioned after the matched prefix — useful for caller-side `.some(...)`
69
+ * over flag/value pairs.
70
+ *
71
+ * The AST walk means embedded args (`echo "sudo foo"`), variable substitutions
72
+ * (`$gh`), and command substitution (`$(...)`) don't trip the matcher — only
73
+ * actual calls do.
74
+ *
75
+ * @example
76
+ * findBinCalls('sudo apt update && sudo -k', ['sudo'])
77
+ * // → [['apt', 'update'], ['-k']]
78
+ *
79
+ * findBinCalls('gh auth refresh -s workflow', ['gh', 'auth', 'refresh'])
80
+ * // → [['-s', 'workflow']]
81
+ *
82
+ * findBinCalls('echo "sudo foo"', ['sudo'])
83
+ * // → []
84
+ */
85
+ export declare function findBinCalls(cmd: string, prefix: readonly string[]): readonly string[][];
86
+ /**
87
+ * Convenience: does `cmd` contain at least one binary call matching the
88
+ * leading-tokens `prefix`? The most common audit-pattern shape.
89
+ *
90
+ * Short-circuits on the first match — walks the parsed entries once and returns
91
+ * `true` as soon as a simple command matches. No intermediate match list or
92
+ * args slices are allocated.
93
+ *
94
+ * @example
95
+ * hasBinCall('echo hi && sudo rm', ['sudo']) // → true
96
+ * hasBinCall('echo "sudo foo"', ['sudo']) // → false
97
+ * hasBinCall('gh auth refresh -s workflow', ['gh', 'auth', 'refresh']) // → true
98
+ */
99
+ export declare function hasBinCall(cmd: string, prefix: readonly string[]): boolean;
11
100
  export type { ParseEntry, ShellComment, ShellGlob, ShellOp, } from '../external/shell-quote';
12
101
  /**
13
102
  * Tokenize `cmd` into `ParseEntry` items, preserving operators and comments.
14
- * Throws on unterminated quotes.
103
+ * `shell-quote` is permissive — an unterminated quote does not throw; the
104
+ * parser drops the opening quote and returns the rest as plain tokens.
15
105
  *
16
106
  * @example
17
107
  * parseShell('git commit -m "hello world"')
@@ -24,3 +114,20 @@ export type { ParseEntry, ShellComment, ShellGlob, ShellOp, } from '../external/
24
114
  * // → ['echo', '/root']
25
115
  */
26
116
  export declare function parseShell(cmd: string, env?: Record<string, string> | ((key: string) => string | undefined) | undefined): ParseEntry[];
117
+ /**
118
+ * Does the simple command represented by `tokens` start with `prefix`? The
119
+ * natural companion to `eachSimpleCommand` — the visitor callback uses this to
120
+ * test whether a simple command is a call to a specific binary or command-line
121
+ * prefix.
122
+ *
123
+ * @example
124
+ * simpleCommandStartsWith(['sudo', 'apt', 'update'], ['sudo'])
125
+ * // → true
126
+ *
127
+ * simpleCommandStartsWith(
128
+ * ['gh', 'auth', 'status'],
129
+ * ['gh', 'auth', 'refresh'],
130
+ * )
131
+ * // → false
132
+ */
133
+ export declare function simpleCommandStartsWith(tokens: readonly string[], prefix: readonly string[]): boolean;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_array = require('../primordials/array.js');
4
5
  let src_external_shell_quote = require("../external/shell-quote");
5
6
 
6
7
  //#region src/shell/parse.ts
@@ -14,8 +15,146 @@ let src_external_shell_quote = require("../external/shell-quote");
14
15
  * against `env`; unresolved ones collapse to an empty string.
15
16
  */
16
17
  /**
18
+ * Visit each simple command in `cmd` in order. A "simple command" is the
19
+ * POSIX-grammar term for a run of bare-string tokens between shell
20
+ * control-operator boundaries (`&&`, `;`, `||`, `|`) — e.g. in `sudo apt && rm
21
+ * -rf /`, the two simple commands are `['sudo', 'apt']` and `['rm', '-rf',
22
+ * '/']`. Glob and comment tokens are ignored.
23
+ *
24
+ * The visitor receives each simple command's tokens as a `readonly string[]`;
25
+ * returning `true` short-circuits the walk so callers like `hasBinCall` /
26
+ * `findBinCall` can bail on the first match without finishing the parse.
27
+ *
28
+ * Public so consumers can write their own per-command matchers without
29
+ * re-parsing the command line. Used internally by `findBinCall` /
30
+ * `findBinCalls` / `hasBinCall`.
31
+ *
32
+ * Shell-quote is permissive (partial parses don't throw); the walk tolerates
33
+ * any shape it returns.
34
+ *
35
+ * @example
36
+ * eachSimpleCommand('sudo apt && rm -rf /', tokens => {
37
+ * console.log(tokens)
38
+ * // → ['sudo', 'apt']
39
+ * // → ['rm', '-rf', '/']
40
+ * })
41
+ *
42
+ * // Short-circuit on first match:
43
+ * eachSimpleCommand('a ; b ; c', tokens => {
44
+ * if (tokens[0] === 'b') {
45
+ * return true // stop the walk
46
+ * }
47
+ * })
48
+ */
49
+ function eachSimpleCommand(cmd, visit) {
50
+ const entries = (0, src_external_shell_quote.parse)(cmd);
51
+ let current = [];
52
+ const flush = () => {
53
+ if (current.length > 0) {
54
+ const stop = visit(current);
55
+ current = [];
56
+ return stop === true;
57
+ }
58
+ current = [];
59
+ return false;
60
+ };
61
+ for (let i = 0, { length } = entries; i < length; i += 1) {
62
+ const entry = entries[i];
63
+ if (entry && typeof entry === "object" && "op" in entry) {
64
+ if (flush()) return;
65
+ continue;
66
+ }
67
+ if (typeof entry === "string") require_primordials_array.ArrayPrototypePush(current, entry);
68
+ }
69
+ flush();
70
+ }
71
+ /**
72
+ * Walk a parsed shell command and return the args of the FIRST binary call
73
+ * whose leading tokens match `prefix` (e.g. `['sudo']`, `['gh', 'auth',
74
+ * 'refresh']`). Returns `undefined` when no call matches.
75
+ *
76
+ * Short-circuits on the first match — does NOT materialize every match. Use
77
+ * this when "did any call match, and what were its args?" is enough. For audit
78
+ * / counting use cases where every match matters, use `findBinCalls`.
79
+ *
80
+ * @example
81
+ * findBinCall('sudo apt update && sudo -k', ['sudo'])
82
+ * // → ['apt', 'update']
83
+ *
84
+ * findBinCall('echo "sudo foo"', ['sudo'])
85
+ * // → undefined
86
+ */
87
+ function findBinCall(cmd, prefix) {
88
+ if (prefix.length === 0) return;
89
+ let found;
90
+ eachSimpleCommand(cmd, (tokens) => {
91
+ if (!simpleCommandStartsWith(tokens, prefix)) return false;
92
+ found = require_primordials_array.ArrayPrototypeSlice(tokens, prefix.length);
93
+ return true;
94
+ });
95
+ return found;
96
+ }
97
+ /**
98
+ * Walk a parsed shell command and return the args of every binary call whose
99
+ * leading tokens match `prefix` (e.g. `['sudo']`, `['gh', 'auth', 'refresh']`).
100
+ * Returns an empty array when no call matches.
101
+ *
102
+ * Segments split at op tokens (`&&`, `;`, `||`, `|`) so each chained command is
103
+ * scanned independently. Each match's args are returned as a `string[]` slice
104
+ * positioned after the matched prefix — useful for caller-side `.some(...)`
105
+ * over flag/value pairs.
106
+ *
107
+ * The AST walk means embedded args (`echo "sudo foo"`), variable substitutions
108
+ * (`$gh`), and command substitution (`$(...)`) don't trip the matcher — only
109
+ * actual calls do.
110
+ *
111
+ * @example
112
+ * findBinCalls('sudo apt update && sudo -k', ['sudo'])
113
+ * // → [['apt', 'update'], ['-k']]
114
+ *
115
+ * findBinCalls('gh auth refresh -s workflow', ['gh', 'auth', 'refresh'])
116
+ * // → [['-s', 'workflow']]
117
+ *
118
+ * findBinCalls('echo "sudo foo"', ['sudo'])
119
+ * // → []
120
+ */
121
+ function findBinCalls(cmd, prefix) {
122
+ if (prefix.length === 0) return [];
123
+ const matches = [];
124
+ eachSimpleCommand(cmd, (tokens) => {
125
+ if (simpleCommandStartsWith(tokens, prefix)) require_primordials_array.ArrayPrototypePush(matches, require_primordials_array.ArrayPrototypeSlice(tokens, prefix.length));
126
+ });
127
+ return matches;
128
+ }
129
+ /**
130
+ * Convenience: does `cmd` contain at least one binary call matching the
131
+ * leading-tokens `prefix`? The most common audit-pattern shape.
132
+ *
133
+ * Short-circuits on the first match — walks the parsed entries once and returns
134
+ * `true` as soon as a simple command matches. No intermediate match list or
135
+ * args slices are allocated.
136
+ *
137
+ * @example
138
+ * hasBinCall('echo hi && sudo rm', ['sudo']) // → true
139
+ * hasBinCall('echo "sudo foo"', ['sudo']) // → false
140
+ * hasBinCall('gh auth refresh -s workflow', ['gh', 'auth', 'refresh']) // → true
141
+ */
142
+ function hasBinCall(cmd, prefix) {
143
+ if (prefix.length === 0) return false;
144
+ let found = false;
145
+ eachSimpleCommand(cmd, (tokens) => {
146
+ if (simpleCommandStartsWith(tokens, prefix)) {
147
+ found = true;
148
+ return true;
149
+ }
150
+ return false;
151
+ });
152
+ return found;
153
+ }
154
+ /**
17
155
  * Tokenize `cmd` into `ParseEntry` items, preserving operators and comments.
18
- * Throws on unterminated quotes.
156
+ * `shell-quote` is permissive — an unterminated quote does not throw; the
157
+ * parser drops the opening quote and returns the rest as plain tokens.
19
158
  *
20
159
  * @example
21
160
  * parseShell('git commit -m "hello world"')
@@ -30,6 +169,33 @@ let src_external_shell_quote = require("../external/shell-quote");
30
169
  function parseShell(cmd, env) {
31
170
  return (0, src_external_shell_quote.parse)(cmd, env);
32
171
  }
172
+ /**
173
+ * Does the simple command represented by `tokens` start with `prefix`? The
174
+ * natural companion to `eachSimpleCommand` — the visitor callback uses this to
175
+ * test whether a simple command is a call to a specific binary or command-line
176
+ * prefix.
177
+ *
178
+ * @example
179
+ * simpleCommandStartsWith(['sudo', 'apt', 'update'], ['sudo'])
180
+ * // → true
181
+ *
182
+ * simpleCommandStartsWith(
183
+ * ['gh', 'auth', 'status'],
184
+ * ['gh', 'auth', 'refresh'],
185
+ * )
186
+ * // → false
187
+ */
188
+ function simpleCommandStartsWith(tokens, prefix) {
189
+ const { length: pl } = prefix;
190
+ if (tokens.length < pl) return false;
191
+ for (let i = 0; i < pl; i += 1) if (tokens[i] !== prefix[i]) return false;
192
+ return true;
193
+ }
33
194
 
34
195
  //#endregion
35
- exports.parseShell = parseShell;
196
+ exports.eachSimpleCommand = eachSimpleCommand;
197
+ exports.findBinCall = findBinCall;
198
+ exports.findBinCalls = findBinCalls;
199
+ exports.hasBinCall = hasBinCall;
200
+ exports.parseShell = parseShell;
201
+ exports.simpleCommandStartsWith = simpleCommandStartsWith;
@@ -27,26 +27,25 @@ const require_node_module = require('../node/module.js');
27
27
  /**
28
28
  * Cached smol-binary detection result.
29
29
  */
30
- let _isSmol;
30
+ let isSmolCache;
31
31
  /**
32
32
  * Cached `node:smol-util` binding. `null` = probed and unavailable; `undefined`
33
33
  * = not yet probed. JS truthiness collapses both to "no binding" at the call
34
34
  * site.
35
35
  */
36
- let _smolUtil;
37
- let _smolUtilProbed = false;
36
+ let smolUtilCache;
37
+ let smolUtilProbed = false;
38
38
  /**
39
39
  * Returns `node:smol-util` when running on the smol Node binary, otherwise
40
40
  * `undefined`. Result is cached across calls.
41
41
  */
42
- /* @__NO_SIDE_EFFECTS__ */
43
42
  function getSmolUtil() {
44
- if (!_smolUtilProbed) {
45
- _smolUtilProbed = true;
43
+ if (!smolUtilProbed) {
44
+ smolUtilProbed = true;
46
45
  /* c8 ignore start - smol Node binary only. */
47
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-util")) _smolUtil = require("node:smol-util");
46
+ if (require_node_module.isNodeBuiltin("node:smol-util")) smolUtilCache = require("node:smol-util");
48
47
  }
49
- return _smolUtil;
48
+ return smolUtilCache;
50
49
  }
51
50
  /**
52
51
  * Detect if the current process is running on socket-btm's smol Node binary.
@@ -66,8 +65,8 @@ function getSmolUtil() {
66
65
  * ```
67
66
  */
68
67
  function isSmol() {
69
- if (_isSmol === void 0) _isSmol = /* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-util");
70
- return _isSmol;
68
+ if (isSmolCache === void 0) isSmolCache = require_node_module.isNodeBuiltin("node:smol-util");
69
+ return isSmolCache;
71
70
  }
72
71
 
73
72
  //#endregion
package/dist/smol/http.js CHANGED
@@ -18,20 +18,19 @@ const require_node_module = require('../node/module.js');
18
18
  * `httpText` exports, which already route through this when smol
19
19
  * is present.
20
20
  */
21
- let _smolHttp;
22
- let _smolHttpProbed = false;
21
+ let smolHttpBinding;
22
+ let smolHttpProbed = false;
23
23
  /**
24
24
  * Returns `node:smol-http` when running on the smol Node binary, otherwise
25
25
  * `undefined`. Result is cached across calls.
26
26
  */
27
- /* @__NO_SIDE_EFFECTS__ */
28
27
  function getSmolHttp() {
29
- if (!_smolHttpProbed) {
30
- _smolHttpProbed = true;
28
+ if (!smolHttpProbed) {
29
+ smolHttpProbed = true;
31
30
  /* c8 ignore start - smol Node binary only. */
32
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-http")) _smolHttp = require("node:smol-http");
31
+ if (require_node_module.isNodeBuiltin("node:smol-http")) smolHttpBinding = require("node:smol-http");
33
32
  }
34
- return _smolHttp;
33
+ return smolHttpBinding;
35
34
  }
36
35
 
37
36
  //#endregion
@@ -16,20 +16,19 @@ const require_node_module = require('../node/module.js');
16
16
  * callers should use the standard server-side helpers, which
17
17
  * route through this when smol is present.
18
18
  */
19
- let _smolHttps;
20
- let _smolHttpsProbed = false;
19
+ let smolHttps;
20
+ let smolHttpsProbed = false;
21
21
  /**
22
22
  * Returns `node:smol-https` when running on the smol Node binary, otherwise
23
23
  * `undefined`. Result is cached across calls.
24
24
  */
25
- /* @__NO_SIDE_EFFECTS__ */
26
25
  function getSmolHttps() {
27
- if (!_smolHttpsProbed) {
28
- _smolHttpsProbed = true;
26
+ if (!smolHttpsProbed) {
27
+ smolHttpsProbed = true;
29
28
  /* c8 ignore start - smol Node binary only. */
30
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-https")) _smolHttps = require("node:smol-https");
29
+ if (require_node_module.isNodeBuiltin("node:smol-https")) smolHttps = require("node:smol-https");
31
30
  }
32
- return _smolHttps;
31
+ return smolHttps;
33
32
  }
34
33
 
35
34
  //#endregion
@@ -83,7 +83,7 @@ export interface ParsedLockfile {
83
83
  export interface FormatDescriptor {
84
84
  readonly ecosystem: EcosystemString;
85
85
  readonly type: 'manifest' | 'lockfile';
86
- readonly format?: 'npm' | 'yarn' | 'pnpm' | 'composer' | 'cargo';
86
+ readonly format?: 'npm' | 'yarn' | 'pnpm' | 'composer' | 'cargo' | undefined;
87
87
  }
88
88
  /**
89
89
  * Supported-files index returned by `supportedFiles`.
@@ -18,20 +18,19 @@ const require_node_module = require('../node/module.js');
18
18
  * (`@socketsecurity/lib/eco/manifest/parse`), which already routes
19
19
  * through this when smol is present.
20
20
  */
21
- let _smolManifest;
22
- let _smolManifestProbed = false;
21
+ let cachedSmolManifest;
22
+ let smolManifestProbed = false;
23
23
  /**
24
24
  * Returns `node:smol-manifest` when running on the smol Node binary, otherwise
25
25
  * `undefined`. Result is cached across calls.
26
26
  */
27
- /* @__NO_SIDE_EFFECTS__ */
28
27
  function getSmolManifest() {
29
- if (!_smolManifestProbed) {
30
- _smolManifestProbed = true;
28
+ if (!smolManifestProbed) {
29
+ smolManifestProbed = true;
31
30
  /* c8 ignore start - smol Node binary only. */
32
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-manifest")) _smolManifest = require("node:smol-manifest");
31
+ if (require_node_module.isNodeBuiltin("node:smol-manifest")) cachedSmolManifest = require("node:smol-manifest");
33
32
  }
34
- return _smolManifest;
33
+ return cachedSmolManifest;
35
34
  }
36
35
 
37
36
  //#endregion
@@ -6,7 +6,7 @@
6
6
  * and on socket-btm binaries that haven't shipped the binding yet; callers
7
7
  * fall back to the JS implementation. Result is cached. The binding does not
8
8
  * exist yet (the plan is unbuilt) — this accessor is the seam so that when it
9
- * lands, only this file changes and `paths/walk`, `fs/access`, `fs/find-up`
9
+ * lands, only this file changes and `paths/walk`, `fs/access`, `fs/find`
10
10
  * light up natively. Today `getSmolPath()` is always `undefined` and the JS
11
11
  * paths run.
12
12
  */
package/dist/smol/path.js CHANGED
@@ -12,26 +12,25 @@ const require_node_module = require('../node/module.js');
12
12
  * and on socket-btm binaries that haven't shipped the binding yet; callers
13
13
  * fall back to the JS implementation. Result is cached. The binding does not
14
14
  * exist yet (the plan is unbuilt) — this accessor is the seam so that when it
15
- * lands, only this file changes and `paths/walk`, `fs/access`, `fs/find-up`
15
+ * lands, only this file changes and `paths/walk`, `fs/access`, `fs/find`
16
16
  * light up natively. Today `getSmolPath()` is always `undefined` and the JS
17
17
  * paths run.
18
18
  */
19
- let _smolPath;
20
- let _smolPathProbed = false;
19
+ let smolPathCache;
20
+ let smolPathProbed = false;
21
21
  /**
22
22
  * Returns the `node:smol-path` binding when running on a smol Node binary that
23
23
  * ships it; otherwise `undefined`. Cached across calls.
24
24
  *
25
25
  * @returns The native binding, or `undefined` to signal "use the JS fallback".
26
26
  */
27
- /* @__NO_SIDE_EFFECTS__ */
28
27
  function getSmolPath() {
29
- if (!_smolPathProbed) {
30
- _smolPathProbed = true;
28
+ if (!smolPathProbed) {
29
+ smolPathProbed = true;
31
30
  /* c8 ignore start - smol Node binary only. */
32
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-path")) _smolPath = require("node:smol-path");
31
+ if (require_node_module.isNodeBuiltin("node:smol-path")) smolPathCache = require("node:smol-path");
33
32
  }
34
- return _smolPath;
33
+ return smolPathCache;
35
34
  }
36
35
 
37
36
  //#endregion
@@ -67,6 +67,10 @@ export interface SmolPrimordialBinding {
67
67
  numberParseInt10(s: string): number;
68
68
  stringCharCodeAt(s: string, i: number): number;
69
69
  stringIsWellFormed(s: string): boolean;
70
+ IntlCollator: typeof Intl.Collator;
71
+ IntlListFormat: typeof Intl.ListFormat;
72
+ IntlPluralRules: typeof Intl.PluralRules;
73
+ IntlSegmenter: typeof Intl.Segmenter;
70
74
  }
71
75
  /**
72
76
  * Returns `node:smol-primordial` when running on the smol Node binary,
@@ -20,20 +20,19 @@ const require_node_module = require('../node/module.js');
20
20
  *
21
21
  * @see https://v8.dev/blog/v8-release-99 — V8 Fast API Calls overview
22
22
  */
23
- let _smolPrimordial;
24
- let _smolPrimordialProbed = false;
23
+ let smolPrimordial;
24
+ let smolPrimordialProbed = false;
25
25
  /**
26
26
  * Returns `node:smol-primordial` when running on the smol Node binary,
27
27
  * otherwise `undefined`. Result is cached across calls.
28
28
  */
29
- /* @__NO_SIDE_EFFECTS__ */
30
29
  function getSmolPrimordial() {
31
- if (!_smolPrimordialProbed) {
32
- _smolPrimordialProbed = true;
30
+ if (!smolPrimordialProbed) {
31
+ smolPrimordialProbed = true;
33
32
  /* c8 ignore start - smol Node binary only. */
34
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-primordial")) _smolPrimordial = require("node:smol-primordial");
33
+ if (require_node_module.isNodeBuiltin("node:smol-primordial")) smolPrimordial = require("node:smol-primordial");
35
34
  }
36
- return _smolPrimordial;
35
+ return smolPrimordial;
37
36
  }
38
37
 
39
38
  //#endregion
@@ -7,7 +7,7 @@
7
7
  * calls. Callers fall back to the JS `@socketregistry/packageurl-js` import
8
8
  * on the undefined path.
9
9
  *
10
- * @internal — used by `src/packages/operations.ts` to resolve the
10
+ * @internal — used by `src/packages/specs.ts` to resolve the
11
11
  * `pkg:npm/<name>` parse on `resolveRegistryPackageName`. Most
12
12
  * callers should keep using `PackageURL` from
13
13
  * `external/@socketregistry/packageurl-js` directly; this loader
package/dist/smol/purl.js CHANGED
@@ -13,26 +13,25 @@ const require_node_module = require('../node/module.js');
13
13
  * calls. Callers fall back to the JS `@socketregistry/packageurl-js` import
14
14
  * on the undefined path.
15
15
  *
16
- * @internal — used by `src/packages/operations.ts` to resolve the
16
+ * @internal — used by `src/packages/specs.ts` to resolve the
17
17
  * `pkg:npm/<name>` parse on `resolveRegistryPackageName`. Most
18
18
  * callers should keep using `PackageURL` from
19
19
  * `external/@socketregistry/packageurl-js` directly; this loader
20
20
  * only matters where the hot path warrants the native acceleration.
21
21
  */
22
- let _smolPurl;
23
- let _smolPurlProbed = false;
22
+ let smolPurl;
23
+ let smolPurlProbed = false;
24
24
  /**
25
25
  * Returns `node:smol-purl` when running on the smol Node binary, otherwise
26
26
  * `undefined`. Result is cached across calls.
27
27
  */
28
- /* @__NO_SIDE_EFFECTS__ */
29
28
  function getSmolPurl() {
30
- if (!_smolPurlProbed) {
31
- _smolPurlProbed = true;
29
+ if (!smolPurlProbed) {
30
+ smolPurlProbed = true;
32
31
  /* c8 ignore start - smol Node binary only. */
33
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-purl")) _smolPurl = require("node:smol-purl");
32
+ if (require_node_module.isNodeBuiltin("node:smol-purl")) smolPurl = require("node:smol-purl");
34
33
  }
35
- return _smolPurl;
34
+ return smolPurl;
36
35
  }
37
36
 
38
37
  //#endregion
@@ -16,20 +16,19 @@ const require_node_module = require('../node/module.js');
16
16
  * ops. Most callers should use the standard `versions` exports,
17
17
  * which already route through this when smol is present.
18
18
  */
19
- let _smolVersions;
20
- let _smolVersionsProbed = false;
19
+ let smolVersions;
20
+ let smolVersionsProbed = false;
21
21
  /**
22
22
  * Returns `node:smol-versions` when running on the smol Node binary, otherwise
23
23
  * `undefined`. Result is cached across calls.
24
24
  */
25
- /* @__NO_SIDE_EFFECTS__ */
26
25
  function getSmolVersions() {
27
- if (!_smolVersionsProbed) {
28
- _smolVersionsProbed = true;
26
+ if (!smolVersionsProbed) {
27
+ smolVersionsProbed = true;
29
28
  /* c8 ignore start - smol Node binary only. */
30
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-versions")) _smolVersions = require("node:smol-versions");
29
+ if (require_node_module.isNodeBuiltin("node:smol-versions")) smolVersions = require("node:smol-versions");
31
30
  }
32
- return _smolVersions;
31
+ return smolVersions;
33
32
  }
34
33
 
35
34
  //#endregion
package/dist/smol/vfs.js CHANGED
@@ -26,8 +26,8 @@ const require_node_module = require('../node/module.js');
26
26
  * binding. Result is cached across calls. Callers fall back to PATH lookup
27
27
  * (or out-of-band downloads in socket-cli's case) when this is missing.
28
28
  */
29
- let _smolVfs;
30
- let _smolVfsProbed = false;
29
+ let cachedSmolVfs;
30
+ let smolVfsProbed = false;
31
31
  /**
32
32
  * Returns the pre-mounted SEA `SmolVirtualFileSystem` instance when running on
33
33
  * a smol Node binary with an embedded SEA payload; otherwise `undefined`.
@@ -37,14 +37,13 @@ let _smolVfsProbed = false;
37
37
  * binding-module loader is collapsed into this function so callers don't deal
38
38
  * with two indirection levels.
39
39
  */
40
- /* @__NO_SIDE_EFFECTS__ */
41
40
  function getSmolVfs() {
42
- if (!_smolVfsProbed) {
43
- _smolVfsProbed = true;
41
+ if (!smolVfsProbed) {
42
+ smolVfsProbed = true;
44
43
  /* c8 ignore start - smol Node binary only. */
45
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-vfs")) _smolVfs = require("node:smol-vfs").getSmolVfs();
44
+ if (require_node_module.isNodeBuiltin("node:smol-vfs")) cachedSmolVfs = require("node:smol-vfs").getSmolVfs();
46
45
  }
47
- return _smolVfs;
46
+ return cachedSmolVfs;
48
47
  }
49
48
 
50
49
  //#endregion
@@ -3,17 +3,15 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  //#region src/sorts/_internal.ts
6
- let _fastSort;
7
- let _semver;
8
- /* @__NO_SIDE_EFFECTS__ */
6
+ let fastSort;
7
+ let semver;
9
8
  function getFastSort() {
10
- if (_fastSort === void 0) _fastSort = /* @__PURE__ */ require("../external/fast-sort.js");
11
- return _fastSort;
9
+ if (fastSort === void 0) fastSort = /*@__PURE__*/ require("../external/fast-sort.js");
10
+ return fastSort;
12
11
  }
13
- /* @__NO_SIDE_EFFECTS__ */
14
12
  function getSemver() {
15
- if (_semver === void 0) _semver = /* @__PURE__ */ require("../external/semver.js");
16
- return _semver;
13
+ if (semver === void 0) semver = /*@__PURE__*/ require("../external/semver.js");
14
+ return semver;
17
15
  }
18
16
 
19
17
  //#endregion