@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
@@ -23,7 +23,6 @@ const pnpmInstallCommands = new require_primordials_map_set.SetCtor(["install",
23
23
  * isPnpmFrozenLockfileFlag('--save') // false
24
24
  * ```
25
25
  */
26
- /* @__NO_SIDE_EFFECTS__ */
27
26
  function isPnpmFrozenLockfileFlag(cmdArg) {
28
27
  return pnpmFrozenLockfileFlags.has(cmdArg);
29
28
  }
@@ -37,7 +36,6 @@ function isPnpmFrozenLockfileFlag(cmdArg) {
37
36
  * isPnpmIgnoreScriptsFlag('--save') // false
38
37
  * ```
39
38
  */
40
- /* @__NO_SIDE_EFFECTS__ */
41
39
  function isPnpmIgnoreScriptsFlag(cmdArg) {
42
40
  return pnpmIgnoreScriptsFlags.has(cmdArg);
43
41
  }
@@ -51,7 +49,6 @@ function isPnpmIgnoreScriptsFlag(cmdArg) {
51
49
  * isPnpmInstallCommand('run') // false
52
50
  * ```
53
51
  */
54
- /* @__NO_SIDE_EFFECTS__ */
55
52
  function isPnpmInstallCommand(cmdArg) {
56
53
  return pnpmInstallCommands.has(cmdArg);
57
54
  }
@@ -24,7 +24,7 @@
24
24
  * https://github.com/CycloneDX/cdxgen/blob/v11.11.0/lib/parsers/js.js
25
25
  * (parsePnpmLock)
26
26
  * 4. **pnpm lockfile spec** + reference implementation:
27
- * https://github.com/pnpm/spec/blob/master/lockfile/9.0.md
27
+ * https://github.com/pnpm/spec/blob/834f2815cc61917fa133e10869a2d4e9391c36bf/lockfile/9.0.md
28
28
  * https://github.com/pnpm/pnpm/blob/main/packages/lockfile-file/ Bug fixes
29
29
  * implemented here (and in the native parser):
30
30
  *
@@ -37,7 +37,7 @@ const require_eco_npm_pnpm_parse_pnpm_package_id_v6_v9 = require('./parse-pnpm-p
37
37
  * https://github.com/CycloneDX/cdxgen/blob/v11.11.0/lib/parsers/js.js
38
38
  * (parsePnpmLock)
39
39
  * 4. **pnpm lockfile spec** + reference implementation:
40
- * https://github.com/pnpm/spec/blob/master/lockfile/9.0.md
40
+ * https://github.com/pnpm/spec/blob/834f2815cc61917fa133e10869a2d4e9391c36bf/lockfile/9.0.md
41
41
  * https://github.com/pnpm/pnpm/blob/main/packages/lockfile-file/ Bug fixes
42
42
  * implemented here (and in the native parser):
43
43
  *
@@ -71,7 +71,7 @@ function freezeEntry(entry) {
71
71
  }
72
72
  function indentOf(line) {
73
73
  let indent = 0;
74
- while (indent < line.length && (line[indent] === " " || line[indent] === " ")) indent++;
74
+ while (indent < line.length && (line[indent] === " " || line[indent] === " ")) indent++;
75
75
  return indent;
76
76
  }
77
77
  function jsParsePnpmLock(content) {
@@ -237,8 +237,8 @@ function stripPeerSuffix(version) {
237
237
  const parenIdx = require_primordials_string.StringPrototypeIndexOf(noUnderscore, "(");
238
238
  return parenIdx !== -1 ? require_primordials_string.StringPrototypeSlice(noUnderscore, 0, parenIdx) : noUnderscore;
239
239
  }
240
- const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
241
- const parsePnpmLock = _smol ? (content) => _smol.parseLockfile(content, "npm", "pnpm") : jsParsePnpmLock;
240
+ const smol = require_smol_manifest.getSmolManifest();
241
+ const parsePnpmLock = smol ? (content) => smol.parseLockfile(content, "npm", "pnpm") : jsParsePnpmLock;
242
242
 
243
243
  //#endregion
244
244
  exports.addToPnpmIndex = addToPnpmIndex;
@@ -2,12 +2,13 @@
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_runtime = require('../../_virtual/_rolldown/runtime.js');
5
+ const require_primordials_error = require('../../primordials/error.js');
5
6
  const require_primordials_array = require('../../primordials/array.js');
6
7
  const require_objects_inspect = require('../../objects/inspect.js');
7
8
  const require_process_spawn_child = require('../../process/spawn/child.js');
8
9
  const require_constants_agents = require('../../constants/agents.js');
9
10
  const require_constants_node = require('../../constants/node.js');
10
- const require_fs_find_up = require('../../fs/find-up.js');
11
+ const require_fs_find = require('../../fs/find.js');
11
12
  const require_eco_npm_npm_exec = require('./npm/exec.js');
12
13
  const require_eco_npm_pnpm_exec = require('./pnpm/exec.js');
13
14
  const require_eco_npm_yarnpkg_yarn_exec = require('./yarnpkg/yarn/exec.js');
@@ -54,27 +55,29 @@ function execScript(scriptName, args, options) {
54
55
  };
55
56
  if (spawnOptions.shell === true) return require_process_spawn_child.spawn(scriptName, resolvedArgs, spawnOptions);
56
57
  const useNodeRun = !prepost && require_constants_node.supportsNodeRun();
57
- const cwd = /* @__PURE__ */ require_objects_inspect.getOwn(spawnOptions, "cwd") ?? node_process.default.cwd();
58
- if (/* @__PURE__ */ require_fs_find_up.findUpSync("pnpm-lock.yaml", { cwd })) return require_eco_npm_pnpm_exec.execPnpm([
58
+ const cwd = require_objects_inspect.getOwn(spawnOptions, "cwd") ?? node_process.default.cwd();
59
+ if (require_fs_find.findUpSync("pnpm-lock.yaml", { cwd })) return require_eco_npm_pnpm_exec.execPnpm([
59
60
  "run",
60
61
  scriptName,
61
62
  ...resolvedArgs
62
63
  ], spawnOptions);
63
- if (/* @__PURE__ */ require_fs_find_up.findUpSync("package-lock.json", { cwd })) return require_eco_npm_npm_exec.execNpm([
64
+ if (require_fs_find.findUpSync("package-lock.json", { cwd })) return require_eco_npm_npm_exec.execNpm([
64
65
  "run",
65
66
  scriptName,
66
67
  ...resolvedArgs
67
68
  ], spawnOptions);
68
- if (/* @__PURE__ */ require_fs_find_up.findUpSync("yarn.lock", { cwd })) return require_eco_npm_yarnpkg_yarn_exec.execYarn([
69
+ if (require_fs_find.findUpSync("yarn.lock", { cwd })) return require_eco_npm_yarnpkg_yarn_exec.execYarn([
69
70
  "run",
70
71
  scriptName,
71
72
  ...resolvedArgs
72
73
  ], spawnOptions);
73
74
  /* c8 ignore stop */
74
75
  /* c8 ignore start */
76
+ if (!useNodeRun && !require_constants_agents.NPM_REAL_EXEC_PATH) throw new require_primordials_error.ErrorCtor(`Cannot run script "${scriptName}": no npm executable found and this Node.js lacks \`node --run\`. Install npm or upgrade to Node 22.5+ for \`--run\` support.`);
77
+ const runnerArgs = useNodeRun ? ["--run"] : [require_constants_agents.NPM_REAL_EXEC_PATH, "run"];
75
78
  return require_process_spawn_child.spawn(require_constants_node.getExecPath(), [
76
79
  ...require_constants_node.getNodeNoWarningsFlags(),
77
- ...useNodeRun ? ["--run"] : [require_constants_agents.NPM_REAL_EXEC_PATH, "run"],
80
+ ...runnerArgs,
78
81
  scriptName,
79
82
  ...resolvedArgs
80
83
  ], { ...spawnOptions });
@@ -38,9 +38,9 @@ const yarnInstallLikeCommands = new require_primordials_map_set.SetCtor([
38
38
  * ```
39
39
  */
40
40
  function execYarn(args, options) {
41
- const useDebug = /* @__PURE__ */ require_debug_namespace.isDebug();
41
+ const useDebug = require_debug_namespace.isDebug();
42
42
  const terminatorPos = require_primordials_array.ArrayPrototypeIndexOf(args, "--");
43
- const yarnArgs = (terminatorPos === -1 ? args : require_primordials_array.ArrayPrototypeSlice(args, 0, terminatorPos)).filter((a) => !/* @__PURE__ */ require_eco_npm_npm_flags.isNpmProgressFlag(a));
43
+ const yarnArgs = (terminatorPos === -1 ? args : require_primordials_array.ArrayPrototypeSlice(args, 0, terminatorPos)).filter((a) => !require_eco_npm_npm_flags.isNpmProgressFlag(a));
44
44
  const otherArgs = terminatorPos === -1 ? [] : require_primordials_array.ArrayPrototypeSlice(args, terminatorPos);
45
45
  const firstArg = yarnArgs[0];
46
46
  /* c8 ignore start */
@@ -49,7 +49,7 @@ function execYarn(args, options) {
49
49
  const hasIgnoreScriptsFlag = yarnArgs.some(require_eco_npm_pnpm_flags.isPnpmIgnoreScriptsFlag);
50
50
  const ignoreScriptsArgs = !supportsIgnoreScripts || hasIgnoreScriptsFlag ? [] : ["--ignore-scripts"];
51
51
  /* c8 ignore stop */
52
- return /* @__PURE__ */ require_bin_exec.execBin("yarn", [
52
+ return require_bin_exec.execBin("yarn", [
53
53
  ...logLevelArgs,
54
54
  ...ignoreScriptsArgs,
55
55
  ...yarnArgs,
@@ -22,8 +22,8 @@
22
22
  * https://github.com/CycloneDX/cdxgen/blob/v11.11.0/lib/parsers/js.js
23
23
  * (parseYarnLock)
24
24
  * 4. **yarn format docs**: classic (v1):
25
- * https://github.com/yarnpkg/yarn/blob/master/src/lockfile/parse.js berry
26
- * (v2+): https://yarnpkg.com/configuration/yarnrc#lockfileVersion
25
+ * https://github.com/yarnpkg/yarn/blob/v1.22.22/src/lockfile/parse.js
26
+ * berry (v2+): https://yarnpkg.com/configuration/yarnrc#lockfileVersion
27
27
  * protocols: https://yarnpkg.com/protocol/ Bug fixes implemented here (and
28
28
  * in the native parser):
29
29
  *
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_string = require('../../../../primordials/string.js');
5
4
  const require_primordials_math = require('../../../../primordials/math.js');
5
+ const require_primordials_string = require('../../../../primordials/string.js');
6
6
  const require_primordials_array = require('../../../../primordials/array.js');
7
7
  const require_primordials_object = require('../../../../primordials/object.js');
8
8
  const require_smol_manifest = require('../../../../smol/manifest.js');
@@ -33,8 +33,8 @@ const require_eco_npm_yarnpkg_yarn_parse_yarn_descriptor = require('./parse-yarn
33
33
  * https://github.com/CycloneDX/cdxgen/blob/v11.11.0/lib/parsers/js.js
34
34
  * (parseYarnLock)
35
35
  * 4. **yarn format docs**: classic (v1):
36
- * https://github.com/yarnpkg/yarn/blob/master/src/lockfile/parse.js berry
37
- * (v2+): https://yarnpkg.com/configuration/yarnrc#lockfileVersion
36
+ * https://github.com/yarnpkg/yarn/blob/v1.22.22/src/lockfile/parse.js
37
+ * berry (v2+): https://yarnpkg.com/configuration/yarnrc#lockfileVersion
38
38
  * protocols: https://yarnpkg.com/protocol/ Bug fixes implemented here (and
39
39
  * in the native parser):
40
40
  *
@@ -86,7 +86,7 @@ function consumeEntryProperties(content, startPos, entry) {
86
86
  const eol = require_primordials_string.StringPrototypeIndexOf(content, "\n", pos);
87
87
  const end = eol === -1 ? content.length : eol;
88
88
  const line = require_primordials_string.StringPrototypeSlice(content, pos, end);
89
- if (line.length === 0 || line[0] !== " " && line[0] !== " ") break;
89
+ if (line.length === 0 || line[0] !== " " && line[0] !== " ") break;
90
90
  const propLine = require_primordials_string.StringPrototypeTrim(line);
91
91
  pos = end + 1;
92
92
  if (require_primordials_string.StringPrototypeIndexOf(propLine, "version ") === 0 || require_primordials_string.StringPrototypeIndexOf(propLine, "version:") === 0) entry.version = stripQuotes(valueAfterKey(propLine, 8));
@@ -122,7 +122,7 @@ function jsParseYarnLock(content) {
122
122
  pos = skipIndentedBlock(content, pos);
123
123
  continue;
124
124
  }
125
- if (line[0] === " " || line[0] === " ") continue;
125
+ if (line[0] === " " || line[0] === " ") continue;
126
126
  const trimmed = require_primordials_string.StringPrototypeTrim(line);
127
127
  if (!require_primordials_string.StringPrototypeEndsWith(trimmed, ":")) continue;
128
128
  let header = stripQuotes(require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(trimmed, 0, -1)));
@@ -182,7 +182,7 @@ function skipIndentedBlock(content, startPos) {
182
182
  const eol = require_primordials_string.StringPrototypeIndexOf(content, "\n", pos);
183
183
  const end = eol === -1 ? content.length : eol;
184
184
  const line = require_primordials_string.StringPrototypeSlice(content, pos, end);
185
- if (line.length === 0 || line[0] !== " " && line[0] !== " ") return pos;
185
+ if (line.length === 0 || line[0] !== " " && line[0] !== " ") return pos;
186
186
  pos = end + 1;
187
187
  }
188
188
  return pos;
@@ -197,8 +197,8 @@ function stripQuotes(s) {
197
197
  function valueAfterKey(line, keyLen) {
198
198
  return require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(line, keyLen));
199
199
  }
200
- const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
201
- const parseYarnLock = _smol ? (content) => _smol.parseLockfile(content, "npm", "yarn") : jsParseYarnLock;
200
+ const smol = require_smol_manifest.getSmolManifest();
201
+ const parseYarnLock = smol ? (content) => smol.parseLockfile(content, "npm", "yarn") : jsParseYarnLock;
202
202
 
203
203
  //#endregion
204
204
  exports.addToYarnIndex = addToYarnIndex;
@@ -3,6 +3,8 @@
3
3
  * animation frames using sparkles (✧ ✦) and lightning (⚡). Follows the
4
4
  * cli-spinners format: https://github.com/sindresorhus/cli-spinners.
5
5
  */
6
+ import type { ThemeName } from '../themes/themes';
7
+ import type { Theme } from '../themes/types';
6
8
  export type SocketFramesOptions = {
7
9
  readonly baseColor?: readonly [number, number, number] | undefined;
8
10
  readonly interval?: number | undefined;
@@ -11,7 +13,7 @@ export type SocketFramesOptions = {
11
13
  * etc.) or a Theme object. Note: Currently frames only contain brightness
12
14
  * modifiers. Colors are applied by yocto-spinner based on spinner.color.
13
15
  */
14
- readonly theme?: import('../themes/types').Theme | import('../themes/themes').ThemeName | undefined;
16
+ readonly theme?: Theme | ThemeName | undefined;
15
17
  };
16
18
  /**
17
19
  * Generate Socket pulse animation frames. Creates a pulsing throbber using
@@ -20,7 +20,7 @@
20
20
  * // dur="3s" repeatCount="indefinite" />
21
21
  * ```
22
22
  */
23
- import { type ShimmerSpec } from './shimmer';
23
+ import type { ShimmerSpec } from './shimmer';
24
24
  /**
25
25
  * Keyframe track for a single character. `times[i]` is in [0, 1] and pairs with
26
26
  * `values[i]` (an `rgb(R,G,B)` string). Use directly as SMIL `<animate>`
@@ -23,7 +23,7 @@
23
23
  * ```
24
24
  */
25
25
  import { ANSI_RESET } from '../ansi/constants';
26
- import { type RGB, type ShimmerSpec } from './shimmer';
26
+ import type { RGB, ShimmerSpec } from './shimmer';
27
27
  /**
28
28
  * ANSI "reset all attributes" sequence. Re-exported from `../ansi` for
29
29
  * convenience so callers don't need a separate import for the canonical value.
@@ -28,7 +28,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
28
28
  * @returns `true` if value is '1', 'true', or 'yes' (case-insensitive), `false`
29
29
  * otherwise.
30
30
  */
31
- /* @__NO_SIDE_EFFECTS__ */
32
31
  function envAsBoolean(value, defaultValueOrOptions = false) {
33
32
  const { defaultValue = false, trim = true } = typeof defaultValueOrOptions === "boolean" ? { defaultValue: defaultValueOrOptions } : defaultValueOrOptions ?? {};
34
33
  if (typeof value === "string") {
package/dist/env/ci.js CHANGED
@@ -23,7 +23,6 @@ const require_env_rewire = require('./rewire.js');
23
23
  *
24
24
  * @returns `true` if running in a CI environment, `false` otherwise
25
25
  */
26
- /* @__NO_SIDE_EFFECTS__ */
27
26
  function getCI() {
28
27
  return require_env_rewire.isInEnv("CI");
29
28
  }
package/dist/env/debug.js CHANGED
@@ -22,7 +22,6 @@ const require_env_rewire = require('./rewire.js');
22
22
  *
23
23
  * @returns The debug filter string, or `undefined` if not set
24
24
  */
25
- /* @__NO_SIDE_EFFECTS__ */
26
25
  function getDebug() {
27
26
  return require_env_rewire.getEnvValue("DEBUG");
28
27
  }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @file Probe githubstatus.com to detect platform degradation before making
3
+ * GitHub API calls. Useful in scripts, release tooling, and CI pre-flight
4
+ * checks where a cryptic "operation was canceled" error would otherwise mask
5
+ * an upstream GitHub outage. Component IDs are stable GitHub-assigned
6
+ * identifiers from githubstatus.com/api/v2/components.json. The probe adds at
7
+ * most 8 seconds to startup (configurable timeout) and fails open on network
8
+ * error so a down status page never blocks a healthy workflow.
9
+ */
10
+ export type GitHubComponentStatus = 'degraded_performance' | 'major_outage' | 'operational' | 'partial_outage' | 'under_maintenance';
11
+ export type GitHubStatusResult = {
12
+ /**
13
+ * Worst-case status across all monitored components.
14
+ */
15
+ status: GitHubComponentStatus | 'unknown';
16
+ /**
17
+ * Whether any monitored component is not fully operational.
18
+ */
19
+ degraded: boolean;
20
+ /**
21
+ * Human-readable summary, e.g. "Actions: degraded_performance".
22
+ */
23
+ summary: string;
24
+ /**
25
+ * Per-component breakdown for the monitored set.
26
+ */
27
+ components: Array<{
28
+ id: string;
29
+ name: string;
30
+ status: GitHubComponentStatus;
31
+ }>;
32
+ };
33
+ /**
34
+ * Probe githubstatus.com and return the health of GitHub Actions, Git
35
+ * Operations, and API Requests. Fails open (returns `{ status: 'unknown' }`)
36
+ * when the probe itself fails — so a down status page never blocks a healthy
37
+ * workflow.
38
+ *
39
+ * @example
40
+ * ;```typescript
41
+ * import { probeGitHubStatus } from '@socketsecurity/lib/env/github-status'
42
+ *
43
+ * const health = await probeGitHubStatus()
44
+ * if (health.degraded) {
45
+ * console.warn(`GitHub degraded: ${health.summary}`)
46
+ * }
47
+ * ```
48
+ *
49
+ * @param timeoutMs - Maximum milliseconds to wait for the probe. Default 8000.
50
+ */
51
+ export declare function probeGitHubStatus(timeoutMs?: number): Promise<GitHubStatusResult>;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_http_request_node = require('../http-request/node.js');
5
+
6
+ //#region src/env/github-status.ts
7
+ /**
8
+ * @file Probe githubstatus.com to detect platform degradation before making
9
+ * GitHub API calls. Useful in scripts, release tooling, and CI pre-flight
10
+ * checks where a cryptic "operation was canceled" error would otherwise mask
11
+ * an upstream GitHub outage. Component IDs are stable GitHub-assigned
12
+ * identifiers from githubstatus.com/api/v2/components.json. The probe adds at
13
+ * most 8 seconds to startup (configurable timeout) and fails open on network
14
+ * error so a down status page never blocks a healthy workflow.
15
+ */
16
+ const MONITORED_COMPONENT_IDS = new Map([
17
+ ["br0l2tvcx85d", "Actions"],
18
+ ["8l4ygp009s5s", "Git Operations"],
19
+ ["brv1bkgrwx7q", "API Requests"]
20
+ ]);
21
+ const SEVERITY = new Map([
22
+ ["major_outage", 4],
23
+ ["partial_outage", 3],
24
+ ["degraded_performance", 2],
25
+ ["under_maintenance", 1],
26
+ ["operational", 0]
27
+ ]);
28
+ const STATUS_API_URL = "https://www.githubstatus.com/api/v2/components.json";
29
+ /**
30
+ * Probe githubstatus.com and return the health of GitHub Actions, Git
31
+ * Operations, and API Requests. Fails open (returns `{ status: 'unknown' }`)
32
+ * when the probe itself fails — so a down status page never blocks a healthy
33
+ * workflow.
34
+ *
35
+ * @example
36
+ * ;```typescript
37
+ * import { probeGitHubStatus } from '@socketsecurity/lib/env/github-status'
38
+ *
39
+ * const health = await probeGitHubStatus()
40
+ * if (health.degraded) {
41
+ * console.warn(`GitHub degraded: ${health.summary}`)
42
+ * }
43
+ * ```
44
+ *
45
+ * @param timeoutMs - Maximum milliseconds to wait for the probe. Default 8000.
46
+ */
47
+ async function probeGitHubStatus(timeoutMs = 8e3) {
48
+ let body;
49
+ try {
50
+ body = await require_http_request_node.httpJson(STATUS_API_URL, { timeout: timeoutMs });
51
+ } catch {
52
+ return {
53
+ status: "unknown",
54
+ degraded: false,
55
+ summary: "githubstatus.com unreachable — cannot confirm GitHub health",
56
+ components: []
57
+ };
58
+ }
59
+ const allComponents = body.components ?? [];
60
+ const monitored = [];
61
+ let worstSeverity = 0;
62
+ let worstStatus = "operational";
63
+ for (const c of allComponents) {
64
+ const name = MONITORED_COMPONENT_IDS.get(c.id);
65
+ if (!name) continue;
66
+ const status = c.status;
67
+ const sev = SEVERITY.get(status) ?? 0;
68
+ if (sev > worstSeverity) {
69
+ worstSeverity = sev;
70
+ worstStatus = status;
71
+ }
72
+ monitored.push({
73
+ id: c.id,
74
+ name,
75
+ status
76
+ });
77
+ }
78
+ const degradedComponents = monitored.filter((c) => c.status !== "operational");
79
+ const degraded = degradedComponents.length > 0;
80
+ const summary = degraded ? degradedComponents.map((c) => `${c.name}: ${c.status}`).join(", ") : "All monitored GitHub components operational";
81
+ return {
82
+ status: worstStatus,
83
+ degraded,
84
+ summary,
85
+ components: monitored
86
+ };
87
+ }
88
+
89
+ //#endregion
90
+ exports.probeGitHubStatus = probeGitHubStatus;
@@ -22,7 +22,6 @@ const require_env_rewire = require('./rewire.js');
22
22
  *
23
23
  * @returns The GH CLI token, or `undefined` if not set
24
24
  */
25
- /* @__NO_SIDE_EFFECTS__ */
26
25
  function getGhToken() {
27
26
  return require_env_rewire.getEnvValue("GH_TOKEN");
28
27
  }
@@ -40,7 +39,6 @@ function getGhToken() {
40
39
  *
41
40
  * @returns The GitHub API URL, or `undefined` if not set
42
41
  */
43
- /* @__NO_SIDE_EFFECTS__ */
44
42
  function getGithubApiUrl() {
45
43
  return require_env_rewire.getEnvValue("GITHUB_API_URL");
46
44
  }
@@ -57,7 +55,6 @@ function getGithubApiUrl() {
57
55
  *
58
56
  * @returns The pull request base branch name, or `undefined` if not set
59
57
  */
60
- /* @__NO_SIDE_EFFECTS__ */
61
58
  function getGithubBaseRef() {
62
59
  return require_env_rewire.getEnvValue("GITHUB_BASE_REF");
63
60
  }
@@ -74,7 +71,6 @@ function getGithubBaseRef() {
74
71
  *
75
72
  * @returns The branch or tag name, or `undefined` if not set
76
73
  */
77
- /* @__NO_SIDE_EFFECTS__ */
78
74
  function getGithubRefName() {
79
75
  return require_env_rewire.getEnvValue("GITHUB_REF_NAME");
80
76
  }
@@ -91,7 +87,6 @@ function getGithubRefName() {
91
87
  *
92
88
  * @returns The ref type ('branch' or 'tag'), or `undefined` if not set
93
89
  */
94
- /* @__NO_SIDE_EFFECTS__ */
95
90
  function getGithubRefType() {
96
91
  return require_env_rewire.getEnvValue("GITHUB_REF_TYPE");
97
92
  }
@@ -109,7 +104,6 @@ function getGithubRefType() {
109
104
  *
110
105
  * @returns The repository name, or `undefined` if not set
111
106
  */
112
- /* @__NO_SIDE_EFFECTS__ */
113
107
  function getGithubRepository() {
114
108
  return require_env_rewire.getEnvValue("GITHUB_REPOSITORY");
115
109
  }
@@ -127,7 +121,6 @@ function getGithubRepository() {
127
121
  *
128
122
  * @returns The GitHub server URL, or `undefined` if not set
129
123
  */
130
- /* @__NO_SIDE_EFFECTS__ */
131
124
  function getGithubServerUrl() {
132
125
  return require_env_rewire.getEnvValue("GITHUB_SERVER_URL");
133
126
  }
@@ -145,7 +138,6 @@ function getGithubServerUrl() {
145
138
  *
146
139
  * @returns The GitHub token, or `undefined` if not set
147
140
  */
148
- /* @__NO_SIDE_EFFECTS__ */
149
141
  function getGithubToken() {
150
142
  return require_env_rewire.getEnvValue("GITHUB_TOKEN");
151
143
  }
package/dist/env/home.js CHANGED
@@ -32,7 +32,6 @@ const require_env_rewire = require('./rewire.js');
32
32
  *
33
33
  * @returns The user's home directory path, or `undefined` if not resolvable
34
34
  */
35
- /* @__NO_SIDE_EFFECTS__ */
36
35
  function getHome() {
37
36
  return require_env_rewire.getEnvValue("HOME") ?? require_env_rewire.getEnvValue("USERPROFILE");
38
37
  }
@@ -21,7 +21,6 @@ const require_env_rewire = require('./rewire.js');
21
21
  *
22
22
  * @returns The system locale string, or `undefined` if not set
23
23
  */
24
- /* @__NO_SIDE_EFFECTS__ */
25
24
  function getLang() {
26
25
  return require_env_rewire.getEnvValue("LANG");
27
26
  }
@@ -38,7 +37,6 @@ function getLang() {
38
37
  *
39
38
  * @returns The locale override string, or `undefined` if not set
40
39
  */
41
- /* @__NO_SIDE_EFFECTS__ */
42
40
  function getLcAll() {
43
41
  return require_env_rewire.getEnvValue("LC_ALL");
44
42
  }
@@ -55,7 +53,6 @@ function getLcAll() {
55
53
  *
56
54
  * @returns The messages locale string, or `undefined` if not set
57
55
  */
58
- /* @__NO_SIDE_EFFECTS__ */
59
56
  function getLcMessages() {
60
57
  return require_env_rewire.getEnvValue("LC_MESSAGES");
61
58
  }
@@ -22,7 +22,6 @@ const require_env_rewire = require('./rewire.js');
22
22
  *
23
23
  * @returns The Node.js registry auth token, or `undefined` if not set
24
24
  */
25
- /* @__NO_SIDE_EFFECTS__ */
26
25
  function getNodeAuthToken() {
27
26
  return require_env_rewire.getEnvValue("NODE_AUTH_TOKEN");
28
27
  }
@@ -22,7 +22,6 @@ const require_env_rewire = require('./rewire.js');
22
22
  *
23
23
  * @returns The Node.js environment mode, or `undefined` if not set
24
24
  */
25
- /* @__NO_SIDE_EFFECTS__ */
26
25
  function getNodeEnv() {
27
26
  return require_env_rewire.getEnvValue("NODE_ENV");
28
27
  }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @file Detect which Node version manager is active on this machine and emit a
3
+ * targeted upgrade hint. Used when a tool needs Node ≥ X and wants to tell
4
+ * the user the exact command to run instead of a generic "install newer Node"
5
+ * line. Detection is best-effort:
6
+ *
7
+ * 1. **process.execPath** — the running Node binary's path is the most reliable
8
+ * signal. `~/.nvm/versions/node/...`, `~/.volta/tools/...`, `~/.fnm/...`,
9
+ * `~/.asdf/installs/nodejs/...`, `~/n/...` each have well-known directory
10
+ * shapes.
11
+ * 2. **Environment variables** — `NVM_DIR`, `FNM_DIR`, `FNM_MULTISHELL_PATH`,
12
+ * `VOLTA_HOME`, `ASDF_DIR`, `N_PREFIX`. These are set by the shell
13
+ * integration each manager ships.
14
+ * 3. **Corepack** — Node's bundled package-manager shim. Detected via
15
+ * `COREPACK_*` env vars or by the Node binary being under
16
+ * `corepack/shims/`. If none match, the manager is reported as `'system'`
17
+ * (Homebrew, apt, the .pkg installer, etc.) — for those, the upgrade hint
18
+ * is generic. This module does NOT shell out — every probe is in-process
19
+ * (env reads + path string inspection). That keeps it cheap to call and
20
+ * safe for the native-messaging host context, where stdout is reserved for
21
+ * the Chrome protocol.
22
+ */
23
+ export type NodeVersionManager = 'asdf' | 'corepack' | 'fnm' | 'n' | 'nvm' | 'system' | 'volta';
24
+ /**
25
+ * Detect the Node version manager currently providing `process.execPath`.
26
+ * Returns `'system'` when no manager is detected — the user is running a Node
27
+ * installed by the OS package manager, the official .pkg/.msi installer, or a
28
+ * manually placed binary.
29
+ *
30
+ * @example
31
+ * ;```typescript
32
+ * detectActiveNodeManager() // 'nvm' | 'fnm' | 'volta' | 'asdf' | 'n' | 'corepack' | 'system'
33
+ * ```
34
+ */
35
+ export declare function detectActiveNodeManager(): NodeVersionManager;
36
+ /**
37
+ * Produce the exact shell command a user should run to install + activate
38
+ * `targetVersion` under the named manager. The command is single-line and
39
+ * intended to be embedded in an error message verbatim.
40
+ *
41
+ * @example
42
+ * ;```typescript
43
+ * nodeManagerUpgradeHint('nvm', '22.6.0')
44
+ * // 'nvm install 22.6.0 && nvm use 22.6.0'
45
+ *
46
+ * nodeManagerUpgradeHint('system', '22.6.0')
47
+ * // 'Install Node 22.6.0+ from https://nodejs.org/'
48
+ * ```
49
+ *
50
+ * @param manager - The detected Node version manager.
51
+ * @param targetVersion - Semver-shaped version, e.g. `'22.6.0'` or `'22'`.
52
+ */
53
+ export declare function nodeManagerUpgradeHint(manager: NodeVersionManager, targetVersion: string): string;