@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,67 +8,63 @@ const originalProcessEmit = globalProcess?.emit;
8
8
  const platform = globalProcess?.platform ?? "";
9
9
  const originalProcessReallyExit = globalProcess?.reallyExit;
10
10
  const WIN32 = platform === "win32";
11
- let _events;
12
- let _emitter;
13
- let _loaded = false;
14
- let _signals;
11
+ let events;
12
+ let emitter;
13
+ let loaded = false;
14
+ let signals;
15
15
  /* c8 ignore start - Only called from signal-listener body and
16
16
  processEmit/processReallyExit interceptors, all of which are
17
17
  c8-ignored. Cannot be reached from the test runner. */
18
- /* @__NO_SIDE_EFFECTS__ */
19
18
  function emit(event, code, signal) {
20
- const emitter = /* @__PURE__ */ getEmitter();
21
- if (emitter.emitted?.[event]) return;
22
- if (emitter.emitted) emitter.emitted[event] = true;
23
- emitter.emit(event, code, signal);
19
+ const sigEmitter = getEmitter();
20
+ if (sigEmitter.emitted?.[event]) return;
21
+ if (sigEmitter.emitted) sigEmitter.emitted[event] = true;
22
+ sigEmitter.emit(event, code, signal);
24
23
  }
25
24
  /* c8 ignore stop */
26
- /* @__NO_SIDE_EFFECTS__ */
27
25
  function getEmitter() {
28
- /* c8 ignore start */
29
- if (_emitter === void 0) {
30
- if (globalProcess?.__signal_exit_emitter__) _emitter = globalProcess.__signal_exit_emitter__;
26
+ /* c8 ignore start - cross-copy signal-exit init, unreachable from test runner */
27
+ if (emitter === void 0) {
28
+ if (globalProcess?.__signal_exit_emitter__) emitter = globalProcess.__signal_exit_emitter__;
31
29
  else if (globalProcess) {
32
- const EventEmitter = (/* @__PURE__ */ getEvents()).EventEmitter;
33
- _emitter = globalProcess.__signal_exit_emitter__ = new EventEmitter();
34
- _emitter.count = 0;
35
- _emitter.emitted = { __proto__: null };
30
+ const EventEmitterClass = getEvents().EventEmitter;
31
+ emitter = globalProcess.__signal_exit_emitter__ = new EventEmitterClass();
32
+ emitter.count = 0;
33
+ emitter.emitted = { __proto__: null };
36
34
  }
37
- if (_emitter && !_emitter.infinite) {
38
- _emitter.setMaxListeners(Number.POSITIVE_INFINITY);
39
- _emitter.infinite = true;
35
+ if (emitter && !emitter.infinite) {
36
+ emitter.setMaxListeners(Number.POSITIVE_INFINITY);
37
+ emitter.infinite = true;
40
38
  }
41
39
  }
42
40
  /* c8 ignore stop */
43
- return _emitter;
41
+ return emitter;
44
42
  }
45
- /* @__NO_SIDE_EFFECTS__ */
46
43
  function getEvents() {
47
- /* c8 ignore start */
48
- if (_events === void 0) _events = /* @__PURE__ */ require("node:events");
44
+ /* c8 ignore start - lazy require, second-call branch unreachable from test runner */
45
+ if (events === void 0) events = /*@__PURE__*/ require("node:events");
49
46
  /* c8 ignore stop */
50
- return _events;
47
+ return events;
51
48
  }
52
49
  /**
53
50
  * Get the cached signal list. Triggers lazy init on first call; after `load()`
54
51
  * runs it returns the filtered subset of successfully registered signals
55
52
  * instead of the full default list.
56
53
  */
57
- /* @__NO_SIDE_EFFECTS__ */
58
54
  function getSignals() {
59
- if (_signals === void 0) {
60
- _signals = [
55
+ if (signals === void 0) {
56
+ signals = [
61
57
  "SIGABRT",
62
58
  "SIGALRM",
63
59
  "SIGHUP",
64
60
  "SIGINT",
65
61
  "SIGTERM"
66
62
  ];
67
- /* c8 ignore start */
68
- if (!WIN32) _signals.push("SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
69
- if (platform === "linux") _signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT", "SIGUNUSED");
63
+ /* c8 ignore start - platform-specific signal lists run only on their target OS */
64
+ if (!WIN32) signals.push("SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
65
+ if (platform === "linux") signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT", "SIGUNUSED");
70
66
  }
71
- return _signals;
67
+ return signals;
72
68
  }
73
69
  /**
74
70
  * Read the loaded flag from a sibling leaf (lifecycle / on-exit).
@@ -76,7 +72,7 @@ function getSignals() {
76
72
  * @private
77
73
  */
78
74
  function isLoaded() {
79
- return _loaded;
75
+ return loaded;
80
76
  }
81
77
  /**
82
78
  * Set the `loaded` flag from a sibling leaf (load / unload).
@@ -84,7 +80,7 @@ function isLoaded() {
84
80
  * @private
85
81
  */
86
82
  function setLoaded(value) {
87
- _loaded = value;
83
+ loaded = value;
88
84
  }
89
85
  /**
90
86
  * Replace the cached signal list (used by `load()`'s filter step).
@@ -92,7 +88,7 @@ function setLoaded(value) {
92
88
  * @private
93
89
  */
94
90
  function setSignals(value) {
95
- _signals = value;
91
+ signals = value;
96
92
  }
97
93
 
98
94
  //#endregion
@@ -24,25 +24,24 @@ const require_events_exit_lifecycle = require('./lifecycle.js');
24
24
  * remove()
25
25
  * ```
26
26
  */
27
- /* @__NO_SIDE_EFFECTS__ */
28
27
  function onExit(cb, options) {
29
28
  /* c8 ignore start */
30
29
  if (!require_events_exit__internal.globalProcess) return function remove() {};
31
30
  /* c8 ignore stop */
32
31
  if (typeof cb !== "function") throw new require_primordials_error.TypeErrorCtor("a callback must be provided for exit handler");
33
- if (require_events_exit__internal.isLoaded() === false) /* @__PURE__ */ require_events_exit_lifecycle.load();
32
+ if (require_events_exit__internal.isLoaded() === false) require_events_exit_lifecycle.load();
34
33
  const { alwaysLast } = {
35
34
  __proto__: null,
36
35
  ...options
37
36
  };
38
37
  let eventName = "exit";
39
38
  if (alwaysLast) eventName = "afterexit";
40
- const emitter = /* @__PURE__ */ require_events_exit__internal.getEmitter();
39
+ const emitter = require_events_exit__internal.getEmitter();
41
40
  emitter.on(eventName, cb);
42
41
  return function remove() {
43
42
  emitter.removeListener(eventName, cb);
44
43
  /* c8 ignore start */
45
- if (!emitter.listeners("exit").length && !emitter.listeners("afterexit").length) /* @__PURE__ */ require_events_exit_lifecycle.unload();
44
+ if (!emitter.listeners("exit").length && !emitter.listeners("afterexit").length) require_events_exit_lifecycle.unload();
46
45
  /* c8 ignore stop */
47
46
  };
48
47
  }
@@ -14,7 +14,6 @@ const require_events_exit__internal = require('./_internal.js');
14
14
  */
15
15
  /* c8 ignore start - processEmit + processReallyExit interceptors
16
16
  only fire on real process exit/emit; can't be triggered in-test. */
17
- /* @__NO_SIDE_EFFECTS__ */
18
17
  function processEmit(eventName, exitCode, ...args) {
19
18
  if (eventName === "exit") {
20
19
  let actualExitCode = exitCode;
@@ -28,8 +27,8 @@ function processEmit(eventName, exitCode, ...args) {
28
27
  ...args
29
28
  ]);
30
29
  const numExitCode = typeof actualExitCode === "number" ? actualExitCode : void 0;
31
- /* @__PURE__ */ require_events_exit__internal.emit("exit", numExitCode, void 0);
32
- /* @__PURE__ */ require_events_exit__internal.emit("afterexit", numExitCode, void 0);
30
+ require_events_exit__internal.emit("exit", numExitCode, void 0);
31
+ require_events_exit__internal.emit("afterexit", numExitCode, void 0);
33
32
  return result;
34
33
  }
35
34
  return require_primordials_reflect.ReflectApply(require_events_exit__internal.originalProcessEmit, this, [
@@ -38,12 +37,11 @@ function processEmit(eventName, exitCode, ...args) {
38
37
  ...args
39
38
  ]);
40
39
  }
41
- /* @__NO_SIDE_EFFECTS__ */
42
40
  function processReallyExit(code) {
43
41
  const exitCode = code || 0;
44
42
  if (require_events_exit__internal.globalProcess) require_events_exit__internal.globalProcess.exitCode = exitCode;
45
- /* @__PURE__ */ require_events_exit__internal.emit("exit", exitCode, void 0);
46
- /* @__PURE__ */ require_events_exit__internal.emit("afterexit", exitCode, void 0);
43
+ require_events_exit__internal.emit("exit", exitCode, void 0);
44
+ require_events_exit__internal.emit("afterexit", exitCode, void 0);
47
45
  require_primordials_reflect.ReflectApply(require_events_exit__internal.originalProcessReallyExit, require_events_exit__internal.globalProcess, [exitCode]);
48
46
  throw new require_primordials_error.ErrorCtor("processReallyExit should never return");
49
47
  }
@@ -11,26 +11,26 @@ const require_events_exit_intercept = require('./intercept.js');
11
11
  * calls `unload()`; keeping them in the same leaf avoids an inter-leaf import
12
12
  * cycle.
13
13
  */
14
- let _sigListeners;
15
- /* @__NO_SIDE_EFFECTS__ */
14
+ let signalListenerMap;
16
15
  function getSignalListeners() {
17
- if (_sigListeners === void 0) {
18
- _sigListeners = { __proto__: null };
19
- const emitter = /* @__PURE__ */ require_events_exit__internal.getEmitter();
20
- const sigs = /* @__PURE__ */ require_events_exit__internal.getSignals();
16
+ if (signalListenerMap === void 0) {
17
+ signalListenerMap = { __proto__: null };
18
+ const emitter = require_events_exit__internal.getEmitter();
19
+ const sigs = require_events_exit__internal.getSignals();
21
20
  /* c8 ignore start - Signal-listener body fires only on real
22
21
  process signals; can't be triggered in-test without subprocess
23
22
  infrastructure. */
24
- for (const sig of sigs) _sigListeners[sig] = function listener() {
23
+ for (const sig of sigs) signalListenerMap[sig] = function listener() {
25
24
  if ((require_events_exit__internal.globalProcess?.listeners(sig) || []).length === emitter.count) {
26
- /* @__PURE__ */ require_events_exit__internal.emit("exit", void 0, sig);
27
- /* @__PURE__ */ require_events_exit__internal.emit("afterexit", void 0, sig);
25
+ unload();
26
+ require_events_exit__internal.emit("exit", void 0, sig);
27
+ require_events_exit__internal.emit("afterexit", void 0, sig);
28
28
  const killSig = require_events_exit__internal.WIN32 && sig === "SIGHUP" ? "SIGINT" : sig;
29
29
  require_events_exit__internal.globalProcess?.kill(require_events_exit__internal.globalProcess?.pid, killSig);
30
30
  }
31
31
  };
32
32
  }
33
- return _sigListeners;
33
+ return signalListenerMap;
34
34
  }
35
35
  /**
36
36
  * Load signal handlers and hook into process exit events.
@@ -41,18 +41,17 @@ function getSignalListeners() {
41
41
  * // Signal handlers are now active
42
42
  * ```
43
43
  */
44
- /* @__NO_SIDE_EFFECTS__ */
45
44
  function load() {
46
45
  /* c8 ignore next - !globalProcess never fires in Node tests. */
47
46
  if (require_events_exit__internal.isLoaded() || !require_events_exit__internal.globalProcess) return;
48
47
  require_events_exit__internal.setLoaded(true);
49
48
  const proc = require_events_exit__internal.globalProcess;
50
- const emitter = /* @__PURE__ */ require_events_exit__internal.getEmitter();
49
+ const emitter = require_events_exit__internal.getEmitter();
51
50
  /* c8 ignore start */
52
51
  if (emitter.count !== void 0) emitter.count += 1;
53
52
  /* c8 ignore stop */
54
- const sigs = /* @__PURE__ */ require_events_exit__internal.getSignals();
55
- const sigListeners = /* @__PURE__ */ getSignalListeners();
53
+ const sigs = require_events_exit__internal.getSignals();
54
+ const sigListeners = getSignalListeners();
56
55
  require_events_exit__internal.setSignals(sigs.filter((sig) => {
57
56
  try {
58
57
  proc.on(sig, sigListeners[sig]);
@@ -73,14 +72,13 @@ function load() {
73
72
  * // Signal handlers are now removed
74
73
  * ```
75
74
  */
76
- /* @__NO_SIDE_EFFECTS__ */
77
75
  function unload() {
78
76
  /* c8 ignore start */
79
77
  if (!require_events_exit__internal.isLoaded() || !require_events_exit__internal.globalProcess) return;
80
78
  /* c8 ignore stop */
81
79
  require_events_exit__internal.setLoaded(false);
82
- const sigs = /* @__PURE__ */ require_events_exit__internal.getSignals();
83
- const sigListeners = /* @__PURE__ */ getSignalListeners();
80
+ const sigs = require_events_exit__internal.getSignals();
81
+ const sigListeners = getSignalListeners();
84
82
  for (const sig of sigs) try {
85
83
  require_events_exit__internal.globalProcess.removeListener(sig, sigListeners[sig]);
86
84
  } catch {}
@@ -88,7 +86,7 @@ function unload() {
88
86
  /* c8 ignore start */
89
87
  if (require_events_exit__internal.originalProcessReallyExit !== void 0) require_events_exit__internal.globalProcess.reallyExit = require_events_exit__internal.originalProcessReallyExit;
90
88
  /* c8 ignore stop */
91
- const emitter = /* @__PURE__ */ require_events_exit__internal.getEmitter();
89
+ const emitter = require_events_exit__internal.getEmitter();
92
90
  /* c8 ignore start */
93
91
  if (emitter.count !== void 0) emitter.count -= 1;
94
92
  /* c8 ignore stop */
@@ -19,9 +19,8 @@ const require_events_exit__internal = require('./_internal.js');
19
19
  * console.log(sigs) // ['SIGABRT', 'SIGALRM', 'SIGHUP', ...]
20
20
  * ```
21
21
  */
22
- /* @__NO_SIDE_EFFECTS__ */
23
22
  function signals() {
24
- return /* @__PURE__ */ require_events_exit__internal.getSignals();
23
+ return require_events_exit__internal.getSignals();
25
24
  }
26
25
 
27
26
  //#endregion
@@ -4,18 +4,19 @@
4
4
  * emitter, emitted-signal map, and listener map. Pure types, no runtime side
5
5
  * effects.
6
6
  */
7
+ import type { EventEmitter } from 'node:events';
7
8
  export type EmittedSignals = {
8
9
  [signal: string]: boolean;
9
10
  };
10
- export type SignalExitEmitter = import('node:events').EventEmitter & {
11
- count?: number;
12
- emitted?: EmittedSignals;
13
- infinite?: boolean;
11
+ export type SignalExitEmitter = EventEmitter & {
12
+ count?: number | undefined;
13
+ emitted?: EmittedSignals | undefined;
14
+ infinite?: boolean | undefined;
14
15
  };
15
16
  export type SignalListener = () => void;
16
17
  export type SignalListenerMap = {
17
18
  [signal: string]: SignalListener;
18
19
  };
19
20
  export interface OnExitOptions {
20
- alwaysLast?: boolean;
21
+ alwaysLast?: boolean | undefined;
21
22
  }
@@ -2388,7 +2388,7 @@ var require_commonjs$5 = /* @__PURE__ */ __commonJSMin(((exports) => {
2388
2388
  }));
2389
2389
 
2390
2390
  //#endregion
2391
- //#region node_modules/.pnpm/brace-expansion@5.0.5/node_modules/brace-expansion/dist/commonjs/index.js
2391
+ //#region node_modules/.pnpm/brace-expansion@5.0.6/node_modules/brace-expansion/dist/commonjs/index.js
2392
2392
  var require_commonjs$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
2393
2393
  Object.defineProperty(exports, "__esModule", { value: true });
2394
2394
  exports.EXPANSION_MAX = void 0;
@@ -2504,7 +2504,7 @@ var require_commonjs$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
2504
2504
  }
2505
2505
  const pad = n.some(isPadded);
2506
2506
  N = [];
2507
- for (let i = x; test(i, y); i += incr) {
2507
+ for (let i = x; test(i, y) && N.length < max; i += incr) {
2508
2508
  let c;
2509
2509
  if (isAlphaSequence) {
2510
2510
  c = String.fromCharCode(i);
@@ -4071,7 +4071,11 @@ var require_extends_check = /* @__PURE__ */ __commonJSMin(((exports) => {
4071
4071
  return Visit(left, right) === ExtendsResult.False ? ExtendsResult.False : index_10.TypeGuard.IsOptional(left) && !index_10.TypeGuard.IsOptional(right) ? ExtendsResult.False : ExtendsResult.True;
4072
4072
  }
4073
4073
  function FromObjectRight(left, right) {
4074
- return index_10.TypeGuard.IsUnknown(left) ? ExtendsResult.False : index_10.TypeGuard.IsAny(left) ? ExtendsResult.Union : index_10.TypeGuard.IsNever(left) || index_10.TypeGuard.IsLiteralString(left) && IsObjectStringLike(right) || index_10.TypeGuard.IsLiteralNumber(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsLiteralBoolean(left) && IsObjectBooleanLike(right) || index_10.TypeGuard.IsSymbol(left) && IsObjectSymbolLike(right) || index_10.TypeGuard.IsBigInt(left) && IsObjectBigIntLike(right) || index_10.TypeGuard.IsString(left) && IsObjectStringLike(right) || index_10.TypeGuard.IsSymbol(left) && IsObjectSymbolLike(right) || index_10.TypeGuard.IsNumber(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsInteger(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsBoolean(left) && IsObjectBooleanLike(right) || index_10.TypeGuard.IsUint8Array(left) && IsObjectUint8ArrayLike(right) || index_10.TypeGuard.IsDate(left) && IsObjectDateLike(right) || index_10.TypeGuard.IsConstructor(left) && IsObjectConstructorLike(right) || index_10.TypeGuard.IsFunction(left) && IsObjectFunctionLike(right) ? ExtendsResult.True : index_10.TypeGuard.IsRecord(left) && index_10.TypeGuard.IsString(RecordKey(left)) ? right[index_8.Hint] === "Record" ? ExtendsResult.True : ExtendsResult.False : index_10.TypeGuard.IsRecord(left) && index_10.TypeGuard.IsNumber(RecordKey(left)) ? IsObjectPropertyCount(right, 0) ? ExtendsResult.True : ExtendsResult.False : ExtendsResult.False;
4074
+ return index_10.TypeGuard.IsUnknown(left) ? ExtendsResult.False : index_10.TypeGuard.IsAny(left) ? ExtendsResult.Union : index_10.TypeGuard.IsNever(left) || index_10.TypeGuard.IsLiteralString(left) && IsObjectStringLike(right) || index_10.TypeGuard.IsLiteralNumber(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsLiteralBoolean(left) && IsObjectBooleanLike(right) || index_10.TypeGuard.IsSymbol(left) && IsObjectSymbolLike(right) || index_10.TypeGuard.IsBigInt(left) && IsObjectBigIntLike(right) || index_10.TypeGuard.IsString(left) && IsObjectStringLike(right) || index_10.TypeGuard.IsSymbol(left) && IsObjectSymbolLike(right) || index_10.TypeGuard.IsNumber(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsInteger(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsBoolean(left) && IsObjectBooleanLike(right) || index_10.TypeGuard.IsUint8Array(left) && IsObjectUint8ArrayLike(right) || index_10.TypeGuard.IsDate(left) && IsObjectDateLike(right) || index_10.TypeGuard.IsConstructor(left) && IsObjectConstructorLike(right) || index_10.TypeGuard.IsFunction(left) && IsObjectFunctionLike(right) ? ExtendsResult.True : index_10.TypeGuard.IsRecord(left) && index_10.TypeGuard.IsString(RecordKey(left)) ? (() => {
4075
+ return right[index_8.Hint] === "Record" ? ExtendsResult.True : ExtendsResult.False;
4076
+ })() : index_10.TypeGuard.IsRecord(left) && index_10.TypeGuard.IsNumber(RecordKey(left)) ? (() => {
4077
+ return IsObjectPropertyCount(right, 0) ? ExtendsResult.True : ExtendsResult.False;
4078
+ })() : ExtendsResult.False;
4075
4079
  }
4076
4080
  function FromObject(left, right) {
4077
4081
  return IsStructuralRight(right) ? StructuralRight(left, right) : index_10.TypeGuard.IsRecord(right) ? FromRecordRight(left, right) : !index_10.TypeGuard.IsObject(right) ? ExtendsResult.False : (() => {
@@ -4284,7 +4284,11 @@ var require_extends_check = /* @__PURE__ */ __commonJSMin(((exports) => {
4284
4284
  return Visit(left, right) === ExtendsResult.False ? ExtendsResult.False : index_10.TypeGuard.IsOptional(left) && !index_10.TypeGuard.IsOptional(right) ? ExtendsResult.False : ExtendsResult.True;
4285
4285
  }
4286
4286
  function FromObjectRight(left, right) {
4287
- return index_10.TypeGuard.IsUnknown(left) ? ExtendsResult.False : index_10.TypeGuard.IsAny(left) ? ExtendsResult.Union : index_10.TypeGuard.IsNever(left) || index_10.TypeGuard.IsLiteralString(left) && IsObjectStringLike(right) || index_10.TypeGuard.IsLiteralNumber(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsLiteralBoolean(left) && IsObjectBooleanLike(right) || index_10.TypeGuard.IsSymbol(left) && IsObjectSymbolLike(right) || index_10.TypeGuard.IsBigInt(left) && IsObjectBigIntLike(right) || index_10.TypeGuard.IsString(left) && IsObjectStringLike(right) || index_10.TypeGuard.IsSymbol(left) && IsObjectSymbolLike(right) || index_10.TypeGuard.IsNumber(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsInteger(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsBoolean(left) && IsObjectBooleanLike(right) || index_10.TypeGuard.IsUint8Array(left) && IsObjectUint8ArrayLike(right) || index_10.TypeGuard.IsDate(left) && IsObjectDateLike(right) || index_10.TypeGuard.IsConstructor(left) && IsObjectConstructorLike(right) || index_10.TypeGuard.IsFunction(left) && IsObjectFunctionLike(right) ? ExtendsResult.True : index_10.TypeGuard.IsRecord(left) && index_10.TypeGuard.IsString(RecordKey(left)) ? right[index_8.Hint] === "Record" ? ExtendsResult.True : ExtendsResult.False : index_10.TypeGuard.IsRecord(left) && index_10.TypeGuard.IsNumber(RecordKey(left)) ? IsObjectPropertyCount(right, 0) ? ExtendsResult.True : ExtendsResult.False : ExtendsResult.False;
4287
+ return index_10.TypeGuard.IsUnknown(left) ? ExtendsResult.False : index_10.TypeGuard.IsAny(left) ? ExtendsResult.Union : index_10.TypeGuard.IsNever(left) || index_10.TypeGuard.IsLiteralString(left) && IsObjectStringLike(right) || index_10.TypeGuard.IsLiteralNumber(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsLiteralBoolean(left) && IsObjectBooleanLike(right) || index_10.TypeGuard.IsSymbol(left) && IsObjectSymbolLike(right) || index_10.TypeGuard.IsBigInt(left) && IsObjectBigIntLike(right) || index_10.TypeGuard.IsString(left) && IsObjectStringLike(right) || index_10.TypeGuard.IsSymbol(left) && IsObjectSymbolLike(right) || index_10.TypeGuard.IsNumber(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsInteger(left) && IsObjectNumberLike(right) || index_10.TypeGuard.IsBoolean(left) && IsObjectBooleanLike(right) || index_10.TypeGuard.IsUint8Array(left) && IsObjectUint8ArrayLike(right) || index_10.TypeGuard.IsDate(left) && IsObjectDateLike(right) || index_10.TypeGuard.IsConstructor(left) && IsObjectConstructorLike(right) || index_10.TypeGuard.IsFunction(left) && IsObjectFunctionLike(right) ? ExtendsResult.True : index_10.TypeGuard.IsRecord(left) && index_10.TypeGuard.IsString(RecordKey(left)) ? (() => {
4288
+ return right[index_8.Hint] === "Record" ? ExtendsResult.True : ExtendsResult.False;
4289
+ })() : index_10.TypeGuard.IsRecord(left) && index_10.TypeGuard.IsNumber(RecordKey(left)) ? (() => {
4290
+ return IsObjectPropertyCount(right, 0) ? ExtendsResult.True : ExtendsResult.False;
4291
+ })() : ExtendsResult.False;
4288
4292
  }
4289
4293
  function FromObject(left, right) {
4290
4294
  return IsStructuralRight(right) ? StructuralRight(left, right) : index_10.TypeGuard.IsRecord(right) ? FromRecordRight(left, right) : !index_10.TypeGuard.IsObject(right) ? ExtendsResult.False : (() => {
@@ -6113,6 +6113,33 @@ var require_dist = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6113
6113
  return `vers:${this.scheme}/${ArrayPrototypeJoin(parts, "|")}`;
6114
6114
  }
6115
6115
  };
6116
+ 0 && (module.exports = {
6117
+ Err,
6118
+ Ok,
6119
+ PURL_Type,
6120
+ PackageURL,
6121
+ PurlBuilder,
6122
+ PurlComponent,
6123
+ PurlError,
6124
+ PurlInjectionError,
6125
+ PurlQualifierNames,
6126
+ PurlType,
6127
+ ResultUtils,
6128
+ UrlConverter,
6129
+ Vers,
6130
+ compare,
6131
+ containsInjectionCharacters,
6132
+ createMatcher,
6133
+ equals,
6134
+ err,
6135
+ findInjectionCharCode,
6136
+ formatInjectionChar,
6137
+ matches,
6138
+ ok,
6139
+ parseNpmSpecifier,
6140
+ stringify,
6141
+ stringifySpec
6142
+ });
6116
6143
  }));
6117
6144
  /*!
6118
6145
  Copyright (c) the purl authors
@@ -2432,7 +2432,7 @@ var require_commonjs$8 = /* @__PURE__ */ __commonJSMin(((exports) => {
2432
2432
  }));
2433
2433
 
2434
2434
  //#endregion
2435
- //#region node_modules/.pnpm/brace-expansion@5.0.5/node_modules/brace-expansion/dist/commonjs/index.js
2435
+ //#region node_modules/.pnpm/brace-expansion@5.0.6/node_modules/brace-expansion/dist/commonjs/index.js
2436
2436
  var require_commonjs$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
2437
2437
  Object.defineProperty(exports, "__esModule", { value: true });
2438
2438
  exports.EXPANSION_MAX = void 0;
@@ -2548,7 +2548,7 @@ var require_commonjs$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
2548
2548
  }
2549
2549
  const pad = n.some(isPadded);
2550
2550
  N = [];
2551
- for (let i = x; test(i, y); i += incr) {
2551
+ for (let i = x; test(i, y) && N.length < max; i += incr) {
2552
2552
  let c;
2553
2553
  if (isAlphaSequence) {
2554
2554
  c = String.fromCharCode(i);
@@ -23,7 +23,7 @@ const BAZEL_VERSION_FILE = ".bazelversion";
23
23
  async function readBazelVersionFile(startDir) {
24
24
  let current = node_path.default.resolve(startDir);
25
25
  while (true) {
26
- const content = await /* @__PURE__ */ require_fs_read_file.safeReadFile(node_path.default.join(current, BAZEL_VERSION_FILE), { encoding: "utf8" });
26
+ const content = await require_fs_read_file.safeReadFile(node_path.default.join(current, BAZEL_VERSION_FILE), { encoding: "utf8" });
27
27
  if (content !== void 0) {
28
28
  const hashIdx = require_primordials_string.StringPrototypeIndexOf(content, "#");
29
29
  const version = require_primordials_string.StringPrototypeTrim(hashIdx === -1 ? content : require_primordials_string.StringPrototypeSlice(content, 0, hashIdx));
@@ -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_map_set = require('../../primordials/map-set.js');
4
5
  const require_external_tools_bazel_from_download = require('./from-download.js');
5
6
  const require_external_tools_bazel_from_path = require('./from-path.js');
6
7
 
@@ -21,7 +22,7 @@ const require_external_tools_bazel_from_path = require('./from-path.js');
21
22
  * `downloadIfMissing` produces two distinct cache entries so the second
22
23
  * call can fall through to the download tier.
23
24
  */
24
- const resolutionCache = /* @__PURE__ */ new Map();
25
+ const resolutionCache = new require_primordials_map_set.MapCtor();
25
26
  function cacheKey(opts) {
26
27
  if (!opts?.downloadIfMissing) return "local-only";
27
28
  const { integrity, platformArch, version } = opts.downloadIfMissing;
@@ -18,5 +18,5 @@ export interface ResolvedBazel {
18
18
  /**
19
19
  * See {@link ResolvedToolIntegrity}.
20
20
  */
21
- readonly integrity?: ResolvedToolIntegrity;
21
+ readonly integrity?: ResolvedToolIntegrity | undefined;
22
22
  }
@@ -10,7 +10,7 @@ const require_smol_vfs = require('../../smol/vfs.js');
10
10
  */
11
11
  const CDXGEN_VFS_KEY = "cdxgen";
12
12
  async function cdxgenFromVfs() {
13
- const vfs = /* @__PURE__ */ require_smol_vfs.getSmolVfs();
13
+ const vfs = require_smol_vfs.getSmolVfs();
14
14
  if (!vfs) return;
15
15
  /* c8 ignore start - smol Node binary only. */
16
16
  if (!vfs.has("cdxgen")) return;
@@ -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_map_set = require('../../primordials/map-set.js');
4
5
  const require_external_tools_cdxgen_from_download = require('./from-download.js');
5
6
  const require_external_tools_cdxgen_from_path = require('./from-path.js');
6
7
  const require_external_tools_cdxgen_from_vfs = require('./from-vfs.js');
@@ -20,7 +21,7 @@ const require_external_tools_cdxgen_from_vfs = require('./from-vfs.js');
20
21
  * `undefined` if all of the enabled sources miss. Memoized per
21
22
  * option-shape.
22
23
  */
23
- const resolutionCache = /* @__PURE__ */ new Map();
24
+ const resolutionCache = new require_primordials_map_set.MapCtor();
24
25
  function cacheKey(opts) {
25
26
  if (!opts?.downloadIfMissing) return "local-only";
26
27
  const { cacheDir, integrity, platformArch, variant, version } = opts.downloadIfMissing;
@@ -29,5 +29,5 @@ export interface ResolvedCdxgen {
29
29
  /**
30
30
  * See {@link ResolvedToolIntegrity}.
31
31
  */
32
- readonly integrity?: ResolvedToolIntegrity;
32
+ readonly integrity?: ResolvedToolIntegrity | undefined;
33
33
  }
@@ -68,7 +68,7 @@ export interface DownloadAndExtractOptions extends DownloadOptions {
68
68
  * const { extractedDir, integrity } = await downloadAndExtractTool({
69
69
  * url: 'https://example.com/jre-21-darwin-arm64.tar.gz',
70
70
  * name: 'jre-21-darwin-arm64',
71
- * extractedDir: '/Users/me/.cache/socket/jre/21/darwin-arm64',
71
+ * extractedDir: '/Users/<user>/.cache/socket/jre/21/darwin-arm64',
72
72
  * extractOptions: { strip: 1 },
73
73
  * })
74
74
  * // Caller constructs ResolvedJre from extractedDir.
@@ -44,7 +44,7 @@ let node_fs = require("node:fs");
44
44
  * const { extractedDir, integrity } = await downloadAndExtractTool({
45
45
  * url: 'https://example.com/jre-21-darwin-arm64.tar.gz',
46
46
  * name: 'jre-21-darwin-arm64',
47
- * extractedDir: '/Users/me/.cache/socket/jre/21/darwin-arm64',
47
+ * extractedDir: '/Users/<user>/.cache/socket/jre/21/darwin-arm64',
48
48
  * extractOptions: { strip: 1 },
49
49
  * })
50
50
  * // Caller constructs ResolvedJre from extractedDir.
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @file Generic "venv-install tier" for external-tools resolvers. Parallel to
3
+ * `from-download.ts` — that one handles single-binary tools downloaded as
4
+ * GitHub release assets; this one handles Python packages installed into a
5
+ * single-purpose venv. Per-tool resolvers (skillspector, future Python CLIs)
6
+ * compose their fourth tier on top of these helpers. Two helpers:
7
+ *
8
+ * - `createPipVenv` — `python -m venv <cacheDir>` + `pip install <spec>`.
9
+ * Idempotent: hits the existing venv when its entry-point already exists.
10
+ * Stops at "venv created, entry-point present."
11
+ * - `findPython` — locates `python3` (or `python` on Windows) on PATH. Returns
12
+ * the absolute path or `undefined` when no Python is available. What this
13
+ * does NOT do:
14
+ * - Decide where the venv lives. The caller picks the cache dir (typically
15
+ * under `getSocketDlxDir()`); we just create the venv there.
16
+ * - Verify package integrity beyond pip's own wheel-hash mechanism. Pinning is
17
+ * the caller's responsibility: pass exact-version `<pkg>==<ver>` or git-SHA
18
+ * `git+...@<sha>`.
19
+ * - Re-resolve when the cache is stale. The cache key is derived by the caller
20
+ * from the install spec; a re-pin produces a new dir.
21
+ */
22
+ export interface CreatePipVenvOptions {
23
+ /**
24
+ * Absolute path to the venv directory. Created if missing; reused if the
25
+ * entry-point already exists inside it.
26
+ */
27
+ readonly cacheDir: string;
28
+ /**
29
+ * Name of the entry-point executable. Matches the package's
30
+ * `[project.scripts]` key (or the package name when it's the same).
31
+ */
32
+ readonly entryPoint: string;
33
+ /**
34
+ * Pip-install argument — either `<pkg>==<version>` (PyPI exact pin) or
35
+ * `git+<https-url>@<sha>` (git-SHA pin). Anything else is rejected.
36
+ */
37
+ readonly installSpec: string;
38
+ /**
39
+ * Optional override for the Python interpreter. Defaults to
40
+ * {@link findPython}.
41
+ */
42
+ readonly python?: string | undefined;
43
+ }
44
+ export interface CreatePipVenvResult {
45
+ /**
46
+ * Absolute path to the entry-point binary inside the venv. Always set when
47
+ * `created` or the cache was already populated.
48
+ */
49
+ readonly entryPointPath: string;
50
+ /**
51
+ * `true` when this call created the venv (and ran pip install); `false` when
52
+ * the existing cache was reused.
53
+ */
54
+ readonly created: boolean;
55
+ }
56
+ /**
57
+ * Create (or reuse) a venv at `cacheDir` and pip-install `installSpec` into it.
58
+ * Returns the entry-point path + a `created` flag. Throws when:
59
+ *
60
+ * - No Python interpreter is on PATH (and none was passed via `python`).
61
+ * - `python -m venv` fails.
62
+ * - `pip install` fails.
63
+ * - The install succeeded but the entry-point was not created (caller passed a
64
+ * wrong `entryPoint` name, or the package has no console script).
65
+ */
66
+ export declare function createPipVenv(opts: CreatePipVenvOptions): Promise<CreatePipVenvResult>;
67
+ /**
68
+ * Locate a Python interpreter. Prefer `python3` on macOS/Linux, fall back to
69
+ * `python` (the Windows convention). Returns `undefined` when neither is on
70
+ * PATH.
71
+ */
72
+ export declare function findPython(): Promise<string | undefined>;
73
+ export declare function pipVenvEntryPointPath(venvDir: string, entryPoint: string): string;