@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
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../_virtual/_rolldown/runtime.js');
5
+ const require_env_rewire = require('./rewire.js');
6
+ let node_process = require("node:process");
7
+ node_process = require_runtime.__toESM(node_process);
8
+
9
+ //#region src/env/node-version-managers.ts
10
+ /**
11
+ * @file Detect which Node version manager is active on this machine and emit a
12
+ * targeted upgrade hint. Used when a tool needs Node ≥ X and wants to tell
13
+ * the user the exact command to run instead of a generic "install newer Node"
14
+ * line. Detection is best-effort:
15
+ *
16
+ * 1. **process.execPath** — the running Node binary's path is the most reliable
17
+ * signal. `~/.nvm/versions/node/...`, `~/.volta/tools/...`, `~/.fnm/...`,
18
+ * `~/.asdf/installs/nodejs/...`, `~/n/...` each have well-known directory
19
+ * shapes.
20
+ * 2. **Environment variables** — `NVM_DIR`, `FNM_DIR`, `FNM_MULTISHELL_PATH`,
21
+ * `VOLTA_HOME`, `ASDF_DIR`, `N_PREFIX`. These are set by the shell
22
+ * integration each manager ships.
23
+ * 3. **Corepack** — Node's bundled package-manager shim. Detected via
24
+ * `COREPACK_*` env vars or by the Node binary being under
25
+ * `corepack/shims/`. If none match, the manager is reported as `'system'`
26
+ * (Homebrew, apt, the .pkg installer, etc.) — for those, the upgrade hint
27
+ * is generic. This module does NOT shell out — every probe is in-process
28
+ * (env reads + path string inspection). That keeps it cheap to call and
29
+ * safe for the native-messaging host context, where stdout is reserved for
30
+ * the Chrome protocol.
31
+ */
32
+ /**
33
+ * Detect the Node version manager currently providing `process.execPath`.
34
+ * Returns `'system'` when no manager is detected — the user is running a Node
35
+ * installed by the OS package manager, the official .pkg/.msi installer, or a
36
+ * manually placed binary.
37
+ *
38
+ * @example
39
+ * ;```typescript
40
+ * detectActiveNodeManager() // 'nvm' | 'fnm' | 'volta' | 'asdf' | 'n' | 'corepack' | 'system'
41
+ * ```
42
+ */
43
+ function detectActiveNodeManager() {
44
+ const exec = node_process.default.execPath;
45
+ if (/[/\\]\.nvm[/\\]versions[/\\]node[/\\]/.test(exec)) return "nvm";
46
+ if (/[/\\]\.fnm[/\\]/.test(exec) || /[/\\]fnm_multishells[/\\]/.test(exec)) return "fnm";
47
+ if (/[/\\]\.volta[/\\]tools[/\\]/.test(exec)) return "volta";
48
+ if (/[/\\]\.asdf[/\\]installs[/\\]nodejs[/\\]/.test(exec)) return "asdf";
49
+ if (/[/\\]n[/\\]versions[/\\]node[/\\]/.test(exec)) return "n";
50
+ if (/[/\\]corepack[/\\]shims[/\\]/.test(exec)) return "corepack";
51
+ if (require_env_rewire.getEnvValue("NVM_DIR")) return "nvm";
52
+ if (require_env_rewire.getEnvValue("FNM_DIR") || require_env_rewire.getEnvValue("FNM_MULTISHELL_PATH")) return "fnm";
53
+ if (require_env_rewire.getEnvValue("VOLTA_HOME")) return "volta";
54
+ if (require_env_rewire.getEnvValue("ASDF_DIR")) return "asdf";
55
+ if (require_env_rewire.getEnvValue("N_PREFIX")) return "n";
56
+ if (require_env_rewire.getEnvValue("COREPACK_HOME")) return "corepack";
57
+ return "system";
58
+ }
59
+ /**
60
+ * Produce the exact shell command a user should run to install + activate
61
+ * `targetVersion` under the named manager. The command is single-line and
62
+ * intended to be embedded in an error message verbatim.
63
+ *
64
+ * @example
65
+ * ;```typescript
66
+ * nodeManagerUpgradeHint('nvm', '22.6.0')
67
+ * // 'nvm install 22.6.0 && nvm use 22.6.0'
68
+ *
69
+ * nodeManagerUpgradeHint('system', '22.6.0')
70
+ * // 'Install Node 22.6.0+ from https://nodejs.org/'
71
+ * ```
72
+ *
73
+ * @param manager - The detected Node version manager.
74
+ * @param targetVersion - Semver-shaped version, e.g. `'22.6.0'` or `'22'`.
75
+ */
76
+ function nodeManagerUpgradeHint(manager, targetVersion) {
77
+ switch (manager) {
78
+ case "asdf": return `asdf install nodejs ${targetVersion} && asdf global nodejs ${targetVersion}`;
79
+ case "corepack": return `Corepack manages package managers, not Node. Install Node ${targetVersion}+ via nvm/fnm/volta or from https://nodejs.org/`;
80
+ case "fnm": return `fnm install ${targetVersion} && fnm use ${targetVersion}`;
81
+ case "n": return `n ${targetVersion}`;
82
+ case "nvm": return `nvm install ${targetVersion} && nvm use ${targetVersion}`;
83
+ case "volta": return `volta install node@${targetVersion}`;
84
+ default: return `Install Node ${targetVersion}+ from https://nodejs.org/`;
85
+ }
86
+ }
87
+
88
+ //#endregion
89
+ exports.detectActiveNodeManager = detectActiveNodeManager;
90
+ exports.nodeManagerUpgradeHint = nodeManagerUpgradeHint;
package/dist/env/npm.js CHANGED
@@ -22,7 +22,6 @@ const require_env_rewire = require('./rewire.js');
22
22
  *
23
23
  * @returns The configured NPM registry URL, or `undefined` if not set
24
24
  */
25
- /* @__NO_SIDE_EFFECTS__ */
26
25
  function getNpmConfigRegistry() {
27
26
  return require_env_rewire.getEnvValue("npm_config_registry");
28
27
  }
@@ -40,7 +39,6 @@ function getNpmConfigRegistry() {
40
39
  *
41
40
  * @returns The package manager user agent string, or `undefined` if not set
42
41
  */
43
- /* @__NO_SIDE_EFFECTS__ */
44
42
  function getNpmConfigUserAgent() {
45
43
  return require_env_rewire.getEnvValue("npm_config_user_agent");
46
44
  }
@@ -58,7 +56,6 @@ function getNpmConfigUserAgent() {
58
56
  *
59
57
  * @returns The current lifecycle event name, or `undefined` if not set
60
58
  */
61
- /* @__NO_SIDE_EFFECTS__ */
62
59
  function getNpmLifecycleEvent() {
63
60
  return require_env_rewire.getEnvValue("npm_lifecycle_event");
64
61
  }
@@ -75,7 +72,6 @@ function getNpmLifecycleEvent() {
75
72
  *
76
73
  * @returns The NPM registry URL override, or `undefined` if not set
77
74
  */
78
- /* @__NO_SIDE_EFFECTS__ */
79
75
  function getNpmRegistry() {
80
76
  return require_env_rewire.getEnvValue("NPM_REGISTRY");
81
77
  }
@@ -92,7 +88,6 @@ function getNpmRegistry() {
92
88
  *
93
89
  * @returns The NPM auth token, or `undefined` if not set
94
90
  */
95
- /* @__NO_SIDE_EFFECTS__ */
96
91
  function getNpmToken() {
97
92
  return require_env_rewire.getEnvValue("NPM_TOKEN");
98
93
  }
@@ -31,7 +31,6 @@ const require_primordials_number = require('../primordials/number.js');
31
31
  *
32
32
  * @returns The parsed number, or the default value if parsing fails
33
33
  */
34
- /* @__NO_SIDE_EFFECTS__ */
35
34
  function envAsNumber(value, defaultValueOrOptions = 0) {
36
35
  const { allowInfinity = false, defaultValue = 0, mode = "int" } = typeof defaultValueOrOptions === "number" ? { defaultValue: defaultValueOrOptions } : defaultValueOrOptions ?? {};
37
36
  if (value === void 0 || value === null) return defaultValue;
@@ -37,11 +37,10 @@ node_process = require_runtime.__toESM(node_process);
37
37
  *
38
38
  * @returns The detected package manager or null if unable to determine
39
39
  */
40
- /* @__NO_SIDE_EFFECTS__ */
41
40
  function detectPackageManager() {
42
- const userAgent = /* @__PURE__ */ getPackageManagerUserAgent();
41
+ const userAgent = getPackageManagerUserAgent();
43
42
  if (userAgent) {
44
- const match = userAgent.match(/^(npm|pnpm|yarn|bun)\//);
43
+ const match = userAgent.match(/^(bun|npm|pnpm|yarn)\//);
45
44
  if (match) return match[1];
46
45
  }
47
46
  /* c8 ignore start - argv0-based PM fallback only fires when
@@ -67,9 +66,8 @@ function detectPackageManager() {
67
66
  *
68
67
  * @returns Object with name and version, or null if not available
69
68
  */
70
- /* @__NO_SIDE_EFFECTS__ */
71
69
  function getPackageManagerInfo() {
72
- const userAgent = /* @__PURE__ */ getPackageManagerUserAgent();
70
+ const userAgent = getPackageManagerUserAgent();
73
71
  if (!userAgent) return;
74
72
  const match = userAgent.match(/^([^/]+)\/([^\s]+)/);
75
73
  if (match?.[1] && match[2]) return {
@@ -91,7 +89,6 @@ function getPackageManagerInfo() {
91
89
  *
92
90
  * @returns The user agent string or undefined
93
91
  */
94
- /* @__NO_SIDE_EFFECTS__ */
95
92
  function getPackageManagerUserAgent() {
96
93
  return require_env_rewire.getEnvValue("npm_config_user_agent");
97
94
  }
package/dist/env/path.js CHANGED
@@ -22,7 +22,6 @@ const require_env_rewire = require('./rewire.js');
22
22
  *
23
23
  * @returns The system executable search paths, or `undefined` if not set
24
24
  */
25
- /* @__NO_SIDE_EFFECTS__ */
26
25
  function getPath() {
27
26
  return require_env_rewire.getEnvValue("PATH");
28
27
  }
@@ -24,9 +24,8 @@ const require_env_rewire = require('./rewire.js');
24
24
  *
25
25
  * @returns `true` if running in a pre-commit hook, `false` otherwise
26
26
  */
27
- /* @__NO_SIDE_EFFECTS__ */
28
27
  function getPreCommit() {
29
- return /* @__PURE__ */ require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("PRE_COMMIT"));
28
+ return require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("PRE_COMMIT"));
30
29
  }
31
30
 
32
31
  //#endregion
@@ -8,12 +8,7 @@
8
8
  * - Compatible with vi.stubEnv() - reads from process.env as final fallback
9
9
  * - Thread-safe for concurrent test execution
10
10
  */
11
- /**
12
- * Lazily load the async_hooks module to avoid Webpack errors.
13
- *
14
- * @private
15
- */
16
- export declare function getAsyncHooks(): typeof import('node:async_hooks');
11
+ import type * as asyncHooksModule from 'node:async_hooks';
17
12
  /**
18
13
  * Clear a specific environment variable override.
19
14
  *
@@ -28,6 +23,12 @@ export declare function getAsyncHooks(): typeof import('node:async_hooks');
28
23
  * @param key - The environment variable name to clear.
29
24
  */
30
25
  export declare function clearEnv(key: string): void;
26
+ /**
27
+ * Lazily load the async_hooks module to avoid Webpack errors.
28
+ *
29
+ * @private
30
+ */
31
+ export declare function getAsyncHooks(): typeof asyncHooksModule;
31
32
  /**
32
33
  * Get an environment variable value, checking overrides first.
33
34
  *
@@ -20,23 +20,13 @@ node_process = require_runtime.__toESM(node_process);
20
20
  * - Compatible with vi.stubEnv() - reads from process.env as final fallback
21
21
  * - Thread-safe for concurrent test execution
22
22
  */
23
- let _async_hooks;
24
- /**
25
- * Lazily load the async_hooks module to avoid Webpack errors.
26
- *
27
- * @private
28
- */
29
- /* @__NO_SIDE_EFFECTS__ */
30
- function getAsyncHooks() {
31
- if (_async_hooks === void 0) _async_hooks = /* @__PURE__ */ require("node:async_hooks");
32
- return _async_hooks;
33
- }
34
- const { AsyncLocalStorage } = /* @__PURE__ */ getAsyncHooks();
23
+ let asyncHooks;
24
+ const { AsyncLocalStorage } = getAsyncHooks();
35
25
  const isolatedOverridesStorage = new AsyncLocalStorage();
36
26
  const sharedOverridesSymbol = Symbol.for("@socketsecurity/lib/env/rewire/test-overrides");
37
- const _globalThis = globalThis;
38
- if (/* @__PURE__ */ require_env_boolean.envAsBoolean(node_process.default.env["VITEST"]) && !_globalThis[sharedOverridesSymbol]) _globalThis[sharedOverridesSymbol] = new require_primordials_map_set.MapCtor();
39
- const sharedOverrides = _globalThis[sharedOverridesSymbol];
27
+ const globalThisRef = globalThis;
28
+ if (require_env_boolean.envAsBoolean(node_process.default.env["VITEST"]) && !globalThisRef[sharedOverridesSymbol]) globalThisRef[sharedOverridesSymbol] = new require_primordials_map_set.MapCtor();
29
+ const sharedOverrides = globalThisRef[sharedOverridesSymbol];
40
30
  /**
41
31
  * Clear a specific environment variable override.
42
32
  *
@@ -54,6 +44,15 @@ function clearEnv(key) {
54
44
  sharedOverrides?.delete(key);
55
45
  }
56
46
  /**
47
+ * Lazily load the async_hooks module to avoid Webpack errors.
48
+ *
49
+ * @private
50
+ */
51
+ function getAsyncHooks() {
52
+ if (asyncHooks === void 0) asyncHooks = /*@__PURE__*/ require("node:async_hooks");
53
+ return asyncHooks;
54
+ }
55
+ /**
57
56
  * Get an environment variable value, checking overrides first.
58
57
  *
59
58
  * Resolution order: 1. Isolated overrides (temporary - set via
@@ -116,7 +115,7 @@ function hasOverride(key) {
116
115
  function isInEnv(key) {
117
116
  if (isolatedOverridesStorage.getStore()?.has(key)) return true;
118
117
  if (sharedOverrides?.has(key)) return true;
119
- return /* @__PURE__ */ require_objects_predicates.hasOwn(node_process.default.env, key);
118
+ return require_objects_predicates.hasOwn(node_process.default.env, key);
120
119
  }
121
120
  /**
122
121
  * Clear all environment variable overrides. Useful in afterEach hooks to ensure
package/dist/env/shell.js CHANGED
@@ -22,7 +22,6 @@ const require_env_rewire = require('./rewire.js');
22
22
  *
23
23
  * @returns The user's default shell path, or `undefined` if not set
24
24
  */
25
- /* @__NO_SIDE_EFFECTS__ */
26
25
  function getShell() {
27
26
  return require_env_rewire.getEnvValue("SHELL");
28
27
  }
@@ -24,9 +24,8 @@ const require_env_number = require('./number.js');
24
24
  *
25
25
  * @returns Whether to accept all risks
26
26
  */
27
- /* @__NO_SIDE_EFFECTS__ */
28
27
  function getSocketCliAcceptRisks() {
29
- return /* @__PURE__ */ require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("SOCKET_CLI_ACCEPT_RISKS"));
28
+ return require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("SOCKET_CLI_ACCEPT_RISKS"));
30
29
  }
31
30
  /**
32
31
  * Socket CLI API base URL (alternative name). Checks SOCKET_CLI_API_BASE_URL
@@ -42,7 +41,6 @@ function getSocketCliAcceptRisks() {
42
41
  *
43
42
  * @returns API base URL or undefined
44
43
  */
45
- /* @__NO_SIDE_EFFECTS__ */
46
44
  function getSocketCliApiBaseUrl() {
47
45
  return require_env_rewire.getEnvValue("SOCKET_CLI_API_BASE_URL") || require_env_rewire.getEnvValue("SOCKET_SECURITY_API_BASE_URL");
48
46
  }
@@ -62,7 +60,6 @@ function getSocketCliApiBaseUrl() {
62
60
  *
63
61
  * @returns API proxy URL or undefined
64
62
  */
65
- /* @__NO_SIDE_EFFECTS__ */
66
63
  function getSocketCliApiProxy() {
67
64
  return require_env_rewire.getEnvValue("SOCKET_CLI_API_PROXY") || require_env_rewire.getEnvValue("SOCKET_SECURITY_API_PROXY") || require_env_rewire.getEnvValue("HTTPS_PROXY") || require_env_rewire.getEnvValue("https_proxy") || require_env_rewire.getEnvValue("HTTP_PROXY") || require_env_rewire.getEnvValue("http_proxy");
68
65
  }
@@ -79,9 +76,8 @@ function getSocketCliApiProxy() {
79
76
  *
80
77
  * @returns API timeout in milliseconds
81
78
  */
82
- /* @__NO_SIDE_EFFECTS__ */
83
79
  function getSocketCliApiTimeout() {
84
- return /* @__PURE__ */ require_env_number.envAsNumber(require_env_rewire.getEnvValue("SOCKET_CLI_API_TIMEOUT"));
80
+ return require_env_number.envAsNumber(require_env_rewire.getEnvValue("SOCKET_CLI_API_TIMEOUT"));
85
81
  }
86
82
  /**
87
83
  * Bootstrap cache directory path. Set by bootstrap wrappers to pass dlx cache
@@ -97,7 +93,6 @@ function getSocketCliApiTimeout() {
97
93
  *
98
94
  * @returns Bootstrap cache directory or undefined
99
95
  */
100
- /* @__NO_SIDE_EFFECTS__ */
101
96
  function getSocketCliBootstrapCacheDir() {
102
97
  return require_env_rewire.getEnvValue("SOCKET_CLI_BOOTSTRAP_CACHE_DIR");
103
98
  }
@@ -115,7 +110,6 @@ function getSocketCliBootstrapCacheDir() {
115
110
  *
116
111
  * @returns Bootstrap package spec or undefined
117
112
  */
118
- /* @__NO_SIDE_EFFECTS__ */
119
113
  function getSocketCliBootstrapSpec() {
120
114
  return require_env_rewire.getEnvValue("SOCKET_CLI_BOOTSTRAP_SPEC");
121
115
  }
@@ -132,7 +126,6 @@ function getSocketCliBootstrapSpec() {
132
126
  *
133
127
  * @returns Config file path or undefined
134
128
  */
135
- /* @__NO_SIDE_EFFECTS__ */
136
129
  function getSocketCliConfig() {
137
130
  return require_env_rewire.getEnvValue("SOCKET_CLI_CONFIG");
138
131
  }
@@ -149,7 +142,6 @@ function getSocketCliConfig() {
149
142
  *
150
143
  * @returns Fix mode value or undefined
151
144
  */
152
- /* @__NO_SIDE_EFFECTS__ */
153
145
  function getSocketCliFix() {
154
146
  return require_env_rewire.getEnvValue("SOCKET_CLI_FIX");
155
147
  }
@@ -167,7 +159,6 @@ function getSocketCliFix() {
167
159
  *
168
160
  * @returns GitHub token or undefined
169
161
  */
170
- /* @__NO_SIDE_EFFECTS__ */
171
162
  function getSocketCliGithubToken() {
172
163
  return require_env_rewire.getEnvValue("SOCKET_CLI_GITHUB_TOKEN") || require_env_rewire.getEnvValue("SOCKET_SECURITY_GITHUB_PAT") || require_env_rewire.getEnvValue("GITHUB_TOKEN");
173
164
  }
@@ -185,9 +176,8 @@ function getSocketCliGithubToken() {
185
176
  *
186
177
  * @returns Whether to skip API token requirement
187
178
  */
188
- /* @__NO_SIDE_EFFECTS__ */
189
179
  function getSocketCliNoApiToken() {
190
- return /* @__PURE__ */ require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("SOCKET_CLI_NO_API_TOKEN"));
180
+ return require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("SOCKET_CLI_NO_API_TOKEN"));
191
181
  }
192
182
  /**
193
183
  * Controls Socket CLI optimization mode.
@@ -203,9 +193,8 @@ function getSocketCliNoApiToken() {
203
193
  *
204
194
  * @returns Whether optimization mode is enabled
205
195
  */
206
- /* @__NO_SIDE_EFFECTS__ */
207
196
  function getSocketCliOptimize() {
208
- return /* @__PURE__ */ require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("SOCKET_CLI_OPTIMIZE"));
197
+ return require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("SOCKET_CLI_OPTIMIZE"));
209
198
  }
210
199
  /**
211
200
  * Socket CLI organization slug identifier (alternative name). Checks
@@ -221,7 +210,6 @@ function getSocketCliOptimize() {
221
210
  *
222
211
  * @returns Organization slug or undefined
223
212
  */
224
- /* @__NO_SIDE_EFFECTS__ */
225
213
  function getSocketCliOrgSlug() {
226
214
  return require_env_rewire.getEnvValue("SOCKET_CLI_ORG_SLUG") || require_env_rewire.getEnvValue("SOCKET_ORG_SLUG");
227
215
  }
@@ -239,9 +227,8 @@ function getSocketCliOrgSlug() {
239
227
  *
240
228
  * @returns Whether to view all risks
241
229
  */
242
- /* @__NO_SIDE_EFFECTS__ */
243
230
  function getSocketCliViewAllRisks() {
244
- return /* @__PURE__ */ require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("SOCKET_CLI_VIEW_ALL_RISKS"));
231
+ return require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("SOCKET_CLI_VIEW_ALL_RISKS"));
245
232
  }
246
233
 
247
234
  //#endregion
@@ -0,0 +1,114 @@
1
+ /**
2
+ * @file Socket MCP HTTP server environment variable getters. Covers the MCP
3
+ * transport (HTTP mode, port) and the OAuth credentials / proxy-trust
4
+ * settings the MCP HTTP server reads at startup.
5
+ */
6
+ /**
7
+ * Whether the MCP server should run in HTTP mode. MCP_HTTP_MODE — when set to
8
+ * the literal string `'true'`, the MCP server serves over HTTP instead of
9
+ * stdio. Returns `false` for any other value (including unset).
10
+ *
11
+ * @example
12
+ * ;```typescript
13
+ * import { getMcpHttpMode } from '@socketsecurity/lib/env/socket-mcp'
14
+ *
15
+ * if (getMcpHttpMode()) {
16
+ * startHttpServer()
17
+ * }
18
+ * ```
19
+ *
20
+ * @returns `true` if HTTP mode is enabled, `false` otherwise
21
+ */
22
+ export declare function getMcpHttpMode(): boolean;
23
+ /**
24
+ * MCP HTTP server listen port. MCP_PORT — port the MCP HTTP server binds to.
25
+ * Defaults to `3000` (matches socket-mcp's documented default). Invalid /
26
+ * non-numeric values also fall back to `3000`.
27
+ *
28
+ * @example
29
+ * ;```typescript
30
+ * import { getMcpPort } from '@socketsecurity/lib/env/socket-mcp'
31
+ *
32
+ * const port = getMcpPort()
33
+ * ```
34
+ *
35
+ * @returns The MCP server port (default `3000`)
36
+ */
37
+ export declare function getMcpPort(): number;
38
+ /**
39
+ * OAuth introspection client ID for the MCP HTTP server.
40
+ * SOCKET_OAUTH_INTROSPECTION_CLIENT_ID — client credential used to call the
41
+ * issuer's introspection endpoint. Empty string when unset.
42
+ *
43
+ * @example
44
+ * ;```typescript
45
+ * import { getSocketOauthIntrospectionClientId } from '@socketsecurity/lib/env/socket-mcp'
46
+ *
47
+ * const clientId = getSocketOauthIntrospectionClientId()
48
+ * ```
49
+ *
50
+ * @returns The OAuth client ID, or `''` if not set
51
+ */
52
+ export declare function getSocketOauthIntrospectionClientId(): string;
53
+ /**
54
+ * OAuth introspection client secret for the MCP HTTP server.
55
+ * SOCKET_OAUTH_INTROSPECTION_CLIENT_SECRET — paired with the client ID for
56
+ * authenticated introspection requests. Empty string when unset.
57
+ *
58
+ * @example
59
+ * ;```typescript
60
+ * import { getSocketOauthIntrospectionClientSecret } from '@socketsecurity/lib/env/socket-mcp'
61
+ *
62
+ * const clientSecret = getSocketOauthIntrospectionClientSecret()
63
+ * ```
64
+ *
65
+ * @returns The OAuth client secret, or `''` if not set
66
+ */
67
+ export declare function getSocketOauthIntrospectionClientSecret(): string;
68
+ /**
69
+ * OAuth issuer URL for the MCP HTTP server. SOCKET_OAUTH_ISSUER — issuer to
70
+ * validate inbound OAuth tokens against. Returns the empty string when unset;
71
+ * callers treat empty as "no issuer configured".
72
+ *
73
+ * @example
74
+ * ;```typescript
75
+ * import { getSocketOauthIssuer } from '@socketsecurity/lib/env/socket-mcp'
76
+ *
77
+ * const issuer = getSocketOauthIssuer()
78
+ * if (issuer) { ... }
79
+ * ```
80
+ *
81
+ * @returns The OAuth issuer URL, or `''` if not set
82
+ */
83
+ export declare function getSocketOauthIssuer(): string;
84
+ /**
85
+ * Required OAuth scopes for the MCP HTTP server. SOCKET_OAUTH_REQUIRED_SCOPES —
86
+ * whitespace-separated list of scopes inbound tokens must carry. Defaults to
87
+ * `'packages:list'` (the minimum scope socket-mcp's depscore tool needs).
88
+ *
89
+ * @example
90
+ * ;```typescript
91
+ * import { getSocketOauthRequiredScopes } from '@socketsecurity/lib/env/socket-mcp'
92
+ *
93
+ * const scopes = getSocketOauthRequiredScopes().split(/\s+/u)
94
+ * ```
95
+ *
96
+ * @returns The required-scopes string, defaulting to `'packages:list'`
97
+ */
98
+ export declare function getSocketOauthRequiredScopes(): string;
99
+ /**
100
+ * Whether the MCP HTTP server should trust upstream proxy headers. TRUST_PROXY
101
+ * — when set to the literal string `'true'`, the server honors
102
+ * `X-Forwarded-Host` / `X-Forwarded-Proto` when composing OAuth metadata URLs.
103
+ * Off by default to prevent header spoofing when no upstream proxy is present.
104
+ *
105
+ * @example
106
+ * ;```typescript
107
+ * import { getTrustProxy } from '@socketsecurity/lib/env/socket-mcp'
108
+ *
109
+ * if (getTrustProxy()) { ... }
110
+ * ```
111
+ *
112
+ * @returns `true` if proxy headers are trusted, `false` otherwise
113
+ */
114
+ export declare function getTrustProxy(): boolean;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_number = require('../primordials/number.js');
5
+ const require_env_rewire = require('./rewire.js');
6
+ const require_env_number = require('./number.js');
7
+
8
+ //#region src/env/socket-mcp.ts
9
+ /**
10
+ * @file Socket MCP HTTP server environment variable getters. Covers the MCP
11
+ * transport (HTTP mode, port) and the OAuth credentials / proxy-trust
12
+ * settings the MCP HTTP server reads at startup.
13
+ */
14
+ /**
15
+ * Whether the MCP server should run in HTTP mode. MCP_HTTP_MODE — when set to
16
+ * the literal string `'true'`, the MCP server serves over HTTP instead of
17
+ * stdio. Returns `false` for any other value (including unset).
18
+ *
19
+ * @example
20
+ * ;```typescript
21
+ * import { getMcpHttpMode } from '@socketsecurity/lib/env/socket-mcp'
22
+ *
23
+ * if (getMcpHttpMode()) {
24
+ * startHttpServer()
25
+ * }
26
+ * ```
27
+ *
28
+ * @returns `true` if HTTP mode is enabled, `false` otherwise
29
+ */
30
+ function getMcpHttpMode() {
31
+ return require_env_rewire.getEnvValue("MCP_HTTP_MODE") === "true";
32
+ }
33
+ /**
34
+ * MCP HTTP server listen port. MCP_PORT — port the MCP HTTP server binds to.
35
+ * Defaults to `3000` (matches socket-mcp's documented default). Invalid /
36
+ * non-numeric values also fall back to `3000`.
37
+ *
38
+ * @example
39
+ * ;```typescript
40
+ * import { getMcpPort } from '@socketsecurity/lib/env/socket-mcp'
41
+ *
42
+ * const port = getMcpPort()
43
+ * ```
44
+ *
45
+ * @returns The MCP server port (default `3000`)
46
+ */
47
+ function getMcpPort() {
48
+ const parsed = require_env_number.envAsNumber(require_env_rewire.getEnvValue("MCP_PORT"));
49
+ return require_primordials_number.NumberIsFinite(parsed) && parsed > 0 ? parsed : 3e3;
50
+ }
51
+ /**
52
+ * OAuth introspection client ID for the MCP HTTP server.
53
+ * SOCKET_OAUTH_INTROSPECTION_CLIENT_ID — client credential used to call the
54
+ * issuer's introspection endpoint. Empty string when unset.
55
+ *
56
+ * @example
57
+ * ;```typescript
58
+ * import { getSocketOauthIntrospectionClientId } from '@socketsecurity/lib/env/socket-mcp'
59
+ *
60
+ * const clientId = getSocketOauthIntrospectionClientId()
61
+ * ```
62
+ *
63
+ * @returns The OAuth client ID, or `''` if not set
64
+ */
65
+ function getSocketOauthIntrospectionClientId() {
66
+ return require_env_rewire.getEnvValue("SOCKET_OAUTH_INTROSPECTION_CLIENT_ID") ?? "";
67
+ }
68
+ /**
69
+ * OAuth introspection client secret for the MCP HTTP server.
70
+ * SOCKET_OAUTH_INTROSPECTION_CLIENT_SECRET — paired with the client ID for
71
+ * authenticated introspection requests. Empty string when unset.
72
+ *
73
+ * @example
74
+ * ;```typescript
75
+ * import { getSocketOauthIntrospectionClientSecret } from '@socketsecurity/lib/env/socket-mcp'
76
+ *
77
+ * const clientSecret = getSocketOauthIntrospectionClientSecret()
78
+ * ```
79
+ *
80
+ * @returns The OAuth client secret, or `''` if not set
81
+ */
82
+ function getSocketOauthIntrospectionClientSecret() {
83
+ return require_env_rewire.getEnvValue("SOCKET_OAUTH_INTROSPECTION_CLIENT_SECRET") ?? "";
84
+ }
85
+ /**
86
+ * OAuth issuer URL for the MCP HTTP server. SOCKET_OAUTH_ISSUER — issuer to
87
+ * validate inbound OAuth tokens against. Returns the empty string when unset;
88
+ * callers treat empty as "no issuer configured".
89
+ *
90
+ * @example
91
+ * ;```typescript
92
+ * import { getSocketOauthIssuer } from '@socketsecurity/lib/env/socket-mcp'
93
+ *
94
+ * const issuer = getSocketOauthIssuer()
95
+ * if (issuer) { ... }
96
+ * ```
97
+ *
98
+ * @returns The OAuth issuer URL, or `''` if not set
99
+ */
100
+ function getSocketOauthIssuer() {
101
+ return require_env_rewire.getEnvValue("SOCKET_OAUTH_ISSUER") ?? "";
102
+ }
103
+ /**
104
+ * Required OAuth scopes for the MCP HTTP server. SOCKET_OAUTH_REQUIRED_SCOPES —
105
+ * whitespace-separated list of scopes inbound tokens must carry. Defaults to
106
+ * `'packages:list'` (the minimum scope socket-mcp's depscore tool needs).
107
+ *
108
+ * @example
109
+ * ;```typescript
110
+ * import { getSocketOauthRequiredScopes } from '@socketsecurity/lib/env/socket-mcp'
111
+ *
112
+ * const scopes = getSocketOauthRequiredScopes().split(/\s+/u)
113
+ * ```
114
+ *
115
+ * @returns The required-scopes string, defaulting to `'packages:list'`
116
+ */
117
+ function getSocketOauthRequiredScopes() {
118
+ return require_env_rewire.getEnvValue("SOCKET_OAUTH_REQUIRED_SCOPES") ?? "packages:list";
119
+ }
120
+ /**
121
+ * Whether the MCP HTTP server should trust upstream proxy headers. TRUST_PROXY
122
+ * — when set to the literal string `'true'`, the server honors
123
+ * `X-Forwarded-Host` / `X-Forwarded-Proto` when composing OAuth metadata URLs.
124
+ * Off by default to prevent header spoofing when no upstream proxy is present.
125
+ *
126
+ * @example
127
+ * ;```typescript
128
+ * import { getTrustProxy } from '@socketsecurity/lib/env/socket-mcp'
129
+ *
130
+ * if (getTrustProxy()) { ... }
131
+ * ```
132
+ *
133
+ * @returns `true` if proxy headers are trusted, `false` otherwise
134
+ */
135
+ function getTrustProxy() {
136
+ return require_env_rewire.getEnvValue("TRUST_PROXY") === "true";
137
+ }
138
+
139
+ //#endregion
140
+ exports.getMcpHttpMode = getMcpHttpMode;
141
+ exports.getMcpPort = getMcpPort;
142
+ exports.getSocketOauthIntrospectionClientId = getSocketOauthIntrospectionClientId;
143
+ exports.getSocketOauthIntrospectionClientSecret = getSocketOauthIntrospectionClientSecret;
144
+ exports.getSocketOauthIssuer = getSocketOauthIssuer;
145
+ exports.getSocketOauthRequiredScopes = getSocketOauthRequiredScopes;
146
+ exports.getTrustProxy = getTrustProxy;