@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
@@ -1,304 +0,0 @@
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_primordials_string = require('../primordials/string.js');
6
- const require_fs_read_json = require('../fs/read-json.js');
7
- const require_process_abort = require('../process/abort.js');
8
- const require_objects_predicates = require('../objects/predicates.js');
9
- const require_objects_mutate = require('../objects/mutate.js');
10
- const require_constants_socket = require('../constants/socket.js');
11
- const require_constants_packages = require('../constants/packages.js');
12
- const require_smol_purl = require('../smol/purl.js');
13
- const require_packages_normalize = require('./normalize.js');
14
- const require_paths_packages = require('../paths/packages.js');
15
- const require_packages_specs = require('./specs.js');
16
- const require_packages_edit = require('./edit.js');
17
- let src_external_cacache = require("../external/cacache");
18
- src_external_cacache = require_runtime.__toESM(src_external_cacache);
19
- let src_external_semver = require("../external/semver");
20
- src_external_semver = require_runtime.__toESM(src_external_semver);
21
- let src_external_pacote = require("../external/pacote");
22
- src_external_pacote = require_runtime.__toESM(src_external_pacote);
23
- let src_external_libnpmpack = require("../external/libnpmpack");
24
- src_external_libnpmpack = require_runtime.__toESM(src_external_libnpmpack);
25
- let src_external_make_fetch_happen = require("../external/make-fetch-happen");
26
- src_external_make_fetch_happen = require_runtime.__toESM(src_external_make_fetch_happen);
27
- let src_external_npm_package_arg = require("../external/npm-package-arg");
28
- src_external_npm_package_arg = require_runtime.__toESM(src_external_npm_package_arg);
29
- let src_external__socketregistry_packageurl_js = require("../external/@socketregistry/packageurl-js");
30
-
31
- //#region src/packages/operations.ts
32
- /**
33
- * @file Package operations including extraction, packing, and I/O.
34
- */
35
- const abortSignal = require_process_abort.getAbortSignal();
36
- const packageExtensions = /* @__PURE__ */ require_constants_packages.getPackageExtensions();
37
- const packumentCache = /* @__PURE__ */ require_constants_packages.getPackumentCache();
38
- const pacoteCachePath = /* @__PURE__ */ require_constants_packages.getPacoteCachePath();
39
- let _fetcher;
40
- /**
41
- * Extract a package to a destination directory.
42
- *
43
- * @example
44
- * ;```typescript
45
- * await extractPackage('lodash@4.17.21', { dest: '/tmp/lodash' })
46
- * ```
47
- */
48
- /* @__NO_SIDE_EFFECTS__ */
49
- async function extractPackage(pkgNameOrId, options, callback) {
50
- let actualCallback = callback;
51
- let actualOptions = options;
52
- if (arguments.length === 2 && typeof options === "function") {
53
- actualCallback = options;
54
- actualOptions = void 0;
55
- }
56
- const { dest, tmpPrefix, ...extractOptions_ } = {
57
- __proto__: null,
58
- ...actualOptions
59
- };
60
- const extractOptions = {
61
- packumentCache,
62
- preferOffline: true,
63
- ...extractOptions_
64
- };
65
- /* c8 ignore start - External package registry extraction */
66
- if (typeof dest === "string") {
67
- await src_external_pacote.default.extract(pkgNameOrId, dest, extractOptions);
68
- if (typeof actualCallback === "function") await actualCallback(dest);
69
- } else await src_external_cacache.default.tmp.withTmp(pacoteCachePath, { tmpPrefix }, async (tmpDirPath) => {
70
- await src_external_pacote.default.extract(pkgNameOrId, tmpDirPath, extractOptions);
71
- if (typeof actualCallback === "function") await actualCallback(tmpDirPath);
72
- });
73
- /* c8 ignore stop */
74
- }
75
- /**
76
- * Find package extensions for a given package.
77
- *
78
- * @example
79
- * ;```typescript
80
- * const extensions = findPackageExtensions('my-pkg', '1.0.0')
81
- * ```
82
- */
83
- /* @__NO_SIDE_EFFECTS__ */
84
- function findPackageExtensions(pkgName, pkgVer) {
85
- let result;
86
- for (const entry of packageExtensions) {
87
- const selector = String(entry[0]);
88
- const ext = entry[1];
89
- const lastAtSignIndex = selector.lastIndexOf("@");
90
- if (pkgName === selector.slice(0, lastAtSignIndex)) {
91
- const range = selector.slice(lastAtSignIndex + 1);
92
- if (src_external_semver.satisfies(pkgVer, range)) {
93
- if (result === void 0) result = {};
94
- if (typeof ext === "object" && ext !== null) /* @__PURE__ */ require_objects_mutate.merge(result, ext);
95
- }
96
- }
97
- }
98
- return result;
99
- }
100
- function getFetcher() {
101
- if (_fetcher === void 0) _fetcher = src_external_make_fetch_happen.default.defaults({
102
- cachePath: pacoteCachePath,
103
- cache: "force-cache"
104
- });
105
- return _fetcher;
106
- }
107
- /**
108
- * Get the release tag for a version.
109
- *
110
- * @example
111
- * ;```typescript
112
- * getReleaseTag('lodash@latest') // 'latest'
113
- * getReleaseTag('@scope/pkg@beta') // 'beta'
114
- * getReleaseTag('lodash') // ''
115
- * ```
116
- */
117
- /* @__NO_SIDE_EFFECTS__ */
118
- function getReleaseTag(spec) {
119
- if (!spec) return "";
120
- let atIndex = -1;
121
- if (require_primordials_string.StringPrototypeStartsWith(spec, "@")) atIndex = require_primordials_string.StringPrototypeIndexOf(spec, "@", 1);
122
- else atIndex = require_primordials_string.StringPrototypeIndexOf(spec, "@");
123
- if (atIndex !== -1) return require_primordials_string.StringPrototypeSlice(spec, atIndex + 1);
124
- return "";
125
- }
126
- /**
127
- * Pack a package tarball using pacote.
128
- *
129
- * @example
130
- * ;```typescript
131
- * const tarball = await packPackage('lodash@4.17.21')
132
- * ```
133
- */
134
- /* @__NO_SIDE_EFFECTS__ */
135
- async function packPackage(spec, options) {
136
- /* c8 ignore start - External package registry packing */
137
- return await (0, src_external_libnpmpack.default)(spec, {
138
- __proto__: null,
139
- signal: abortSignal,
140
- ...options,
141
- packumentCache,
142
- preferOffline: true
143
- });
144
- /* c8 ignore stop */
145
- }
146
- /**
147
- * Slugify an npm package name into a hyphenated identifier suitable for
148
- * User-Agent tokens, log namespaces, file paths, and other contexts where `@`
149
- * and `/` are not welcome.
150
- *
151
- * @example
152
- * ;```typescript
153
- * pkgNameToSlug('@socketsecurity/lib') // 'socketsecurity-lib'
154
- * pkgNameToSlug('@cyclonedx/cdxgen') // 'cyclonedx-cdxgen'
155
- * pkgNameToSlug('lodash') // 'lodash'
156
- * ```
157
- */
158
- /* @__NO_SIDE_EFFECTS__ */
159
- function pkgNameToSlug(pkgName) {
160
- return pkgName.charCodeAt(0) === 64 ? `${pkgName.slice(1).replace("/", "-")}` : pkgName;
161
- }
162
- /**
163
- * Read and parse a package.json file asynchronously.
164
- *
165
- * @example
166
- * ;```typescript
167
- * const pkgJson = await readPackageJson('/tmp/my-project')
168
- * console.log(pkgJson?.name)
169
- * ```
170
- */
171
- /* @__NO_SIDE_EFFECTS__ */
172
- async function readPackageJson(filepath, options) {
173
- const { editable, normalize, throws, ...normalizeOptions } = {
174
- __proto__: null,
175
- ...options
176
- };
177
- const pkgJson = await /* @__PURE__ */ require_fs_read_json.readJson(/* @__PURE__ */ require_paths_packages.resolvePackageJsonPath(filepath), { throws });
178
- if (pkgJson) {
179
- if (editable) return await /* @__PURE__ */ require_packages_edit.toEditablePackageJson(pkgJson, {
180
- path: filepath,
181
- normalize,
182
- ...normalizeOptions
183
- });
184
- return normalize ? /* @__PURE__ */ require_packages_normalize.normalizePackageJson(pkgJson, normalizeOptions) : pkgJson;
185
- }
186
- }
187
- /**
188
- * Read and parse package.json from a file path synchronously.
189
- *
190
- * @example
191
- * ;```typescript
192
- * const pkgJson = readPackageJsonSync('/tmp/my-project')
193
- * console.log(pkgJson?.name)
194
- * ```
195
- */
196
- /* @__NO_SIDE_EFFECTS__ */
197
- function readPackageJsonSync(filepath, options) {
198
- const { editable, normalize, throws, ...normalizeOptions } = {
199
- __proto__: null,
200
- ...options
201
- };
202
- const pkgJson = /* @__PURE__ */ require_fs_read_json.readJsonSync(/* @__PURE__ */ require_paths_packages.resolvePackageJsonPath(filepath), { throws });
203
- if (pkgJson) {
204
- if (editable) return /* @__PURE__ */ require_packages_edit.toEditablePackageJsonSync(pkgJson, {
205
- path: filepath,
206
- normalize,
207
- ...normalizeOptions
208
- });
209
- return normalize ? /* @__PURE__ */ require_packages_normalize.normalizePackageJson(pkgJson, normalizeOptions) : pkgJson;
210
- }
211
- }
212
- /**
213
- * Resolve GitHub tarball URL for a package specifier.
214
- *
215
- * @example
216
- * ;```typescript
217
- * const url = await resolveGitHubTgzUrl('my-pkg@1.0.0', '/tmp/my-project')
218
- * ```
219
- */
220
- /* @__NO_SIDE_EFFECTS__ */
221
- async function resolveGitHubTgzUrl(pkgNameOrId, where) {
222
- const whereIsPkgJson = /* @__PURE__ */ require_objects_predicates.isPlainObject(where);
223
- const pkgJson = whereIsPkgJson ? where : await /* @__PURE__ */ readPackageJson(where, { normalize: true });
224
- if (!pkgJson) return "";
225
- const { version } = pkgJson;
226
- const parsedSpec = (0, src_external_npm_package_arg.default)(pkgNameOrId, whereIsPkgJson ? void 0 : where);
227
- if (/* @__PURE__ */ require_packages_specs.isGitHubTgzSpec(parsedSpec)) return parsedSpec.saveSpec || "";
228
- const isGitHubUrl = /* @__PURE__ */ require_packages_specs.isGitHubUrlSpec(parsedSpec);
229
- const repository = pkgJson.repository;
230
- const { project, user } = (isGitHubUrl ? parsedSpec.hosted : /* @__PURE__ */ require_packages_specs.getRepoUrlDetails(repository?.url)) || {
231
- project: "",
232
- user: ""
233
- };
234
- /* c8 ignore start - External GitHub API calls */
235
- if (user && project) {
236
- const fetcher = getFetcher();
237
- let apiUrl = "";
238
- if (isGitHubUrl) apiUrl = /* @__PURE__ */ require_packages_specs.gitHubTagRefUrl(user, project, parsedSpec.gitCommittish || "");
239
- else {
240
- const versionStr = version;
241
- apiUrl = /* @__PURE__ */ require_packages_specs.gitHubTagRefUrl(user, project, `v${versionStr}`);
242
- if (!(await fetcher(apiUrl, { method: "head" })).ok) {
243
- apiUrl = /* @__PURE__ */ require_packages_specs.gitHubTagRefUrl(user, project, versionStr);
244
- if (!(await fetcher(apiUrl, { method: "head" })).ok) apiUrl = "";
245
- }
246
- }
247
- if (apiUrl) {
248
- const resp = await fetcher(apiUrl);
249
- let json;
250
- try {
251
- json = await resp.json();
252
- } catch {
253
- json = void 0;
254
- }
255
- const sha = json?.object?.sha;
256
- if (sha) return /* @__PURE__ */ require_packages_specs.gitHubTgzUrl(user, project, sha);
257
- }
258
- }
259
- /* c8 ignore stop */
260
- return "";
261
- }
262
- /**
263
- * Resolve full package name from a PURL object with custom delimiter.
264
- *
265
- * @example
266
- * ;```typescript
267
- * resolvePackageName({ name: 'core', namespace: '@babel' }) // '@babel/core'
268
- * resolvePackageName({ name: 'lodash' }) // 'lodash'
269
- * ```
270
- */
271
- /* @__NO_SIDE_EFFECTS__ */
272
- function resolvePackageName(purlObj, delimiter = "/") {
273
- const { name, namespace } = purlObj;
274
- return `${namespace ? `${namespace}${delimiter}` : ""}${name}`;
275
- }
276
- /**
277
- * Convert npm package name to Socket registry format with delimiter.
278
- *
279
- * @example
280
- * ;```typescript
281
- * resolveRegistryPackageName('@babel/core') // 'babel__core'
282
- * resolveRegistryPackageName('lodash') // 'lodash'
283
- * ```
284
- */
285
- /* @__NO_SIDE_EFFECTS__ */
286
- function resolveRegistryPackageName(pkgName) {
287
- const input = `pkg:npm/${pkgName}`;
288
- const smolPurl = /* @__PURE__ */ require_smol_purl.getSmolPurl();
289
- const purlObj = smolPurl ? smolPurl.parse(input) : src_external__socketregistry_packageurl_js.PackageURL.fromString(input);
290
- return purlObj.namespace ? `${purlObj.namespace.slice(1)}${"__"}${purlObj.name}` : pkgName;
291
- }
292
-
293
- //#endregion
294
- exports.extractPackage = extractPackage;
295
- exports.findPackageExtensions = findPackageExtensions;
296
- exports.getFetcher = getFetcher;
297
- exports.getReleaseTag = getReleaseTag;
298
- exports.packPackage = packPackage;
299
- exports.pkgNameToSlug = pkgNameToSlug;
300
- exports.readPackageJson = readPackageJson;
301
- exports.readPackageJsonSync = readPackageJsonSync;
302
- exports.resolveGitHubTgzUrl = resolveGitHubTgzUrl;
303
- exports.resolvePackageName = resolvePackageName;
304
- exports.resolveRegistryPackageName = resolveRegistryPackageName;
@@ -1,48 +0,0 @@
1
- /**
2
- * @file SSRI ↔ hex digest conversion helpers — `hexToSsri` wraps a hex digest
3
- * in `<algorithm>-<base64>` form, `ssriToHex` decodes the base64 half back to
4
- * hex.
5
- */
6
- /**
7
- * Convert hex format hash to SSRI format.
8
- *
9
- * Takes a hash in hex format and converts it to SSRI format with the specified
10
- * algorithm prefix (defaults to sha256).
11
- *
12
- * @example
13
- * ;```typescript
14
- * const ssri = hexToSsri(
15
- * '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856',
16
- * )
17
- * // Returns: 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY='
18
- * ```
19
- *
20
- * @param hex - Hash in hex format.
21
- * @param algorithm - Hash algorithm (default: 'sha256')
22
- *
23
- * @returns SSRI format hash (algorithm-base64)
24
- *
25
- * @throws Error if hex format is invalid
26
- */
27
- export declare function hexToSsri(hex: string, algorithm?: string): string;
28
- /**
29
- * Convert SSRI format hash to hex format.
30
- *
31
- * Takes a hash in SSRI format (e.g., "sha256-base64hash") and converts it to
32
- * standard hex format (e.g., "hexstring").
33
- *
34
- * @example
35
- * ;```typescript
36
- * const hex = ssriToHex(
37
- * 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=',
38
- * )
39
- * // Returns: '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856'
40
- * ```
41
- *
42
- * @param ssri - Hash in SSRI format (algorithm-base64)
43
- *
44
- * @returns Hex string representation of the hash
45
- *
46
- * @throws Error if SSRI format is invalid
47
- */
48
- export declare function ssriToHex(ssri: string): string;
@@ -1,69 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_buffer = require('../primordials/buffer.js');
5
- const require_primordials_error = require('../primordials/error.js');
6
-
7
- //#region src/ssri/convert.ts
8
- /**
9
- * @file SSRI ↔ hex digest conversion helpers — `hexToSsri` wraps a hex digest
10
- * in `<algorithm>-<base64>` form, `ssriToHex` decodes the base64 half back to
11
- * hex.
12
- */
13
- /**
14
- * Convert hex format hash to SSRI format.
15
- *
16
- * Takes a hash in hex format and converts it to SSRI format with the specified
17
- * algorithm prefix (defaults to sha256).
18
- *
19
- * @example
20
- * ;```typescript
21
- * const ssri = hexToSsri(
22
- * '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856',
23
- * )
24
- * // Returns: 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY='
25
- * ```
26
- *
27
- * @param hex - Hash in hex format.
28
- * @param algorithm - Hash algorithm (default: 'sha256')
29
- *
30
- * @returns SSRI format hash (algorithm-base64)
31
- *
32
- * @throws Error if hex format is invalid
33
- */
34
- /* @__NO_SIDE_EFFECTS__ */
35
- function hexToSsri(hex, algorithm = "sha256") {
36
- if (!/^[a-f0-9]+$/i.test(hex)) throw new require_primordials_error.ErrorCtor(`Invalid hex format: ${hex}`);
37
- return `${algorithm}-${require_primordials_buffer.BufferPrototypeToString(require_primordials_buffer.BufferFrom(hex, "hex"), "base64")}`;
38
- }
39
- /**
40
- * Convert SSRI format hash to hex format.
41
- *
42
- * Takes a hash in SSRI format (e.g., "sha256-base64hash") and converts it to
43
- * standard hex format (e.g., "hexstring").
44
- *
45
- * @example
46
- * ;```typescript
47
- * const hex = ssriToHex(
48
- * 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=',
49
- * )
50
- * // Returns: '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856'
51
- * ```
52
- *
53
- * @param ssri - Hash in SSRI format (algorithm-base64)
54
- *
55
- * @returns Hex string representation of the hash
56
- *
57
- * @throws Error if SSRI format is invalid
58
- */
59
- /* @__NO_SIDE_EFFECTS__ */
60
- function ssriToHex(ssri) {
61
- const match = /^([a-z0-9]+)-([A-Za-z0-9+/]+=*)$/i.exec(ssri);
62
- if (!match || !match[2] || match[2].length < 2) throw new require_primordials_error.ErrorCtor(`Invalid SSRI format: ${ssri}`);
63
- const base64Hash = match[2];
64
- return require_primordials_buffer.BufferPrototypeToString(require_primordials_buffer.BufferFrom(base64Hash, "base64"), "hex");
65
- }
66
-
67
- //#endregion
68
- exports.hexToSsri = hexToSsri;
69
- exports.ssriToHex = ssriToHex;
@@ -1,27 +0,0 @@
1
- /**
2
- * @file SSRI parser — splits a `<algorithm>-<base64hash>` string into its
3
- * component fields.
4
- */
5
- /**
6
- * Parse SSRI format into components.
7
- *
8
- * Extracts the algorithm and base64 hash from an SSRI string.
9
- *
10
- * @example
11
- * ;```typescript
12
- * const { algorithm, base64Hash } = parseSsri(
13
- * 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=',
14
- * )
15
- * // Returns: { algorithm: 'sha256', base64Hash: 'dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=' }
16
- * ```
17
- *
18
- * @param ssri - Hash in SSRI format.
19
- *
20
- * @returns Object with algorithm and base64Hash properties
21
- *
22
- * @throws Error if SSRI format is invalid
23
- */
24
- export declare function parseSsri(ssri: string): {
25
- algorithm: string;
26
- base64Hash: string;
27
- };
@@ -1,41 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_error = require('../primordials/error.js');
5
-
6
- //#region src/ssri/parse.ts
7
- /**
8
- * @file SSRI parser — splits a `<algorithm>-<base64hash>` string into its
9
- * component fields.
10
- */
11
- /**
12
- * Parse SSRI format into components.
13
- *
14
- * Extracts the algorithm and base64 hash from an SSRI string.
15
- *
16
- * @example
17
- * ;```typescript
18
- * const { algorithm, base64Hash } = parseSsri(
19
- * 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=',
20
- * )
21
- * // Returns: { algorithm: 'sha256', base64Hash: 'dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=' }
22
- * ```
23
- *
24
- * @param ssri - Hash in SSRI format.
25
- *
26
- * @returns Object with algorithm and base64Hash properties
27
- *
28
- * @throws Error if SSRI format is invalid
29
- */
30
- /* @__NO_SIDE_EFFECTS__ */
31
- function parseSsri(ssri) {
32
- const match = /^([a-z0-9]+)-([A-Za-z0-9+/]+=*)$/i.exec(ssri);
33
- if (!match || !match[1] || !match[2] || match[2].length < 2) throw new require_primordials_error.ErrorCtor(`Invalid SSRI format: ${ssri}`);
34
- return {
35
- algorithm: match[1],
36
- base64Hash: match[2]
37
- };
38
- }
39
-
40
- //#endregion
41
- exports.parseSsri = parseSsri;
@@ -1,41 +0,0 @@
1
- /**
2
- * @file SSRI/hex format validators — predicates that report whether a string
3
- * looks like a hex digest or an SSRI integrity string. Validation is purely
4
- * lexical; the predicates do not verify algorithm strength or digest length.
5
- */
6
- /**
7
- * Check if a string is valid hex format.
8
- *
9
- * Validates that a string contains only hexadecimal characters (0-9, a-f). Does
10
- * not verify hash length or algorithm.
11
- *
12
- * @example
13
- * ;```typescript
14
- * isValidHex(
15
- * '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856',
16
- * ) // true
17
- * isValidHex('sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=') // false
18
- * ```
19
- *
20
- * @param value - String to validate.
21
- *
22
- * @returns True if string is valid hex format
23
- */
24
- export declare function isValidHex(value: string): boolean;
25
- /**
26
- * Check if a string is valid SSRI format.
27
- *
28
- * Validates that a string matches the SSRI format pattern (algorithm-base64).
29
- * Does not verify that the base64 encoding is valid.
30
- *
31
- * @example
32
- * ;```typescript
33
- * isValidSsri('sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=') // true
34
- * isValidSsri('76682a9f...') // false
35
- * ```
36
- *
37
- * @param value - String to validate.
38
- *
39
- * @returns True if string matches SSRI format
40
- */
41
- export declare function isValidSsri(value: string): boolean;
@@ -1,56 +0,0 @@
1
- "use strict";
2
- /* Socket Lib - Built with rolldown */
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
-
5
- //#region src/ssri/validate.ts
6
- /**
7
- * @file SSRI/hex format validators — predicates that report whether a string
8
- * looks like a hex digest or an SSRI integrity string. Validation is purely
9
- * lexical; the predicates do not verify algorithm strength or digest length.
10
- */
11
- /**
12
- * Check if a string is valid hex format.
13
- *
14
- * Validates that a string contains only hexadecimal characters (0-9, a-f). Does
15
- * not verify hash length or algorithm.
16
- *
17
- * @example
18
- * ;```typescript
19
- * isValidHex(
20
- * '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856',
21
- * ) // true
22
- * isValidHex('sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=') // false
23
- * ```
24
- *
25
- * @param value - String to validate.
26
- *
27
- * @returns True if string is valid hex format
28
- */
29
- /* @__NO_SIDE_EFFECTS__ */
30
- function isValidHex(value) {
31
- return /^[a-f0-9]+$/i.test(value);
32
- }
33
- /**
34
- * Check if a string is valid SSRI format.
35
- *
36
- * Validates that a string matches the SSRI format pattern (algorithm-base64).
37
- * Does not verify that the base64 encoding is valid.
38
- *
39
- * @example
40
- * ;```typescript
41
- * isValidSsri('sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=') // true
42
- * isValidSsri('76682a9f...') // false
43
- * ```
44
- *
45
- * @param value - String to validate.
46
- *
47
- * @returns True if string matches SSRI format
48
- */
49
- /* @__NO_SIDE_EFFECTS__ */
50
- function isValidSsri(value) {
51
- return /^[a-z0-9]+-[A-Za-z0-9+/]{2,}=*$/i.test(value);
52
- }
53
-
54
- //#endregion
55
- exports.isValidHex = isValidHex;
56
- exports.isValidSsri = isValidSsri;
File without changes
File without changes
File without changes
File without changes