@socketsecurity/lib 6.0.3 → 6.0.5

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 (542) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/_virtual/_rolldown/runtime.js +45 -0
  3. package/dist/abort/signal.js +53 -59
  4. package/dist/ai/discover.js +110 -110
  5. package/dist/ai/profiles.js +94 -65
  6. package/dist/ai/spawn.js +172 -194
  7. package/dist/ai/types.js +1 -17
  8. package/dist/ai/worktree.js +160 -183
  9. package/dist/ansi/constants.js +16 -38
  10. package/dist/ansi/strip.js +44 -41
  11. package/dist/archives/_internal.js +64 -73
  12. package/dist/archives/detect.js +30 -43
  13. package/dist/archives/extract.js +43 -50
  14. package/dist/archives/tar.js +197 -228
  15. package/dist/archives/types.js +1 -17
  16. package/dist/archives/zip.js +85 -121
  17. package/dist/argv/flag-predicates.js +203 -101
  18. package/dist/argv/flag-types.js +96 -113
  19. package/dist/argv/parse-args-string.d.ts +16 -14
  20. package/dist/argv/parse-args-string.js +42 -39
  21. package/dist/argv/parse.js +145 -163
  22. package/dist/arrays/_internal.js +65 -48
  23. package/dist/arrays/chunk.js +51 -40
  24. package/dist/arrays/join.js +87 -35
  25. package/dist/arrays/predicates.js +46 -28
  26. package/dist/arrays/unique.js +45 -31
  27. package/dist/bin/_internal.js +34 -42
  28. package/dist/bin/check-primordials.js +175 -233
  29. package/dist/bin/check.js +51 -72
  30. package/dist/bin/exec.js +70 -74
  31. package/dist/bin/find.js +151 -134
  32. package/dist/bin/resolve.js +180 -246
  33. package/dist/bin/shadow.js +24 -33
  34. package/dist/bin/socket-lib.js +51 -73
  35. package/dist/bin/types.js +1 -17
  36. package/dist/bin/which.js +211 -146
  37. package/dist/cacache/_internal.js +25 -40
  38. package/dist/cacache/clear.js +79 -72
  39. package/dist/cacache/read.js +48 -46
  40. package/dist/cacache/tmp.js +29 -36
  41. package/dist/cacache/types.js +1 -17
  42. package/dist/cacache/write.js +43 -48
  43. package/dist/cache/ttl/store.js +232 -288
  44. package/dist/cache/ttl/types.js +1 -17
  45. package/dist/checks/primordials-defaults.js +83 -89
  46. package/dist/checks/primordials.js +225 -277
  47. package/dist/colors/convert.js +45 -37
  48. package/dist/colors/palette.js +88 -45
  49. package/dist/colors/socket-palette.js +74 -84
  50. package/dist/colors/types.js +1 -17
  51. package/dist/compression/_internal.js +57 -72
  52. package/dist/compression/brotli.js +94 -127
  53. package/dist/compression/gzip.js +95 -121
  54. package/dist/compression/types.js +1 -17
  55. package/dist/constants/agents.js +61 -113
  56. package/dist/constants/encoding.js +19 -42
  57. package/dist/constants/github.js +12 -30
  58. package/dist/constants/licenses.js +48 -63
  59. package/dist/constants/lifecycle-script-names.js +31 -45
  60. package/dist/constants/maintained-node-versions.js +22 -37
  61. package/dist/constants/node.js +226 -167
  62. package/dist/constants/package-default-node-range.js +16 -41
  63. package/dist/constants/package-default-socket-categories.js +12 -30
  64. package/dist/constants/packages.js +77 -126
  65. package/dist/constants/platform.js +27 -49
  66. package/dist/constants/sentinels.js +23 -48
  67. package/dist/constants/socket.js +42 -87
  68. package/dist/constants/testing.js +15 -34
  69. package/dist/constants/time.js +16 -36
  70. package/dist/constants/typescript.js +32 -52
  71. package/dist/cover/code.js +111 -142
  72. package/dist/cover/formatters.js +118 -101
  73. package/dist/cover/type.js +50 -76
  74. package/dist/cover/types.js +1 -17
  75. package/dist/crypto/hash.js +54 -46
  76. package/dist/debug/_internal.js +62 -71
  77. package/dist/debug/caller-info.js +53 -64
  78. package/dist/debug/namespace.js +80 -90
  79. package/dist/debug/output.js +172 -188
  80. package/dist/debug/types.js +1 -17
  81. package/dist/dlx/_internal.js +24 -43
  82. package/dist/dlx/arborist.js +162 -160
  83. package/dist/dlx/binary-cache.js +228 -200
  84. package/dist/dlx/binary-download.js +172 -211
  85. package/dist/dlx/binary-resolution.js +165 -157
  86. package/dist/dlx/binary-types.js +1 -17
  87. package/dist/dlx/binary.js +149 -189
  88. package/dist/dlx/cache.js +45 -30
  89. package/dist/dlx/detect.js +245 -159
  90. package/dist/dlx/dir.js +67 -51
  91. package/dist/dlx/firewall.js +62 -100
  92. package/dist/dlx/lockfile.js +122 -127
  93. package/dist/dlx/manifest.js +264 -274
  94. package/dist/dlx/package.js +241 -244
  95. package/dist/dlx/packages.js +99 -96
  96. package/dist/dlx/paths.js +73 -59
  97. package/dist/dlx/spec.js +52 -60
  98. package/dist/dlx/types.js +1 -17
  99. package/dist/eco/cargo/lockfile-format.js +19 -36
  100. package/dist/eco/cargo/manifest-format.js +17 -35
  101. package/dist/eco/cargo/parse-lockfile.js +210 -237
  102. package/dist/eco/manifest/analyze-lockfile.js +46 -63
  103. package/dist/eco/manifest/detect-format.js +66 -90
  104. package/dist/eco/manifest/find-packages.js +39 -64
  105. package/dist/eco/manifest/get-package-versions.js +27 -48
  106. package/dist/eco/manifest/get-package.js +21 -40
  107. package/dist/eco/manifest/manifest-error.js +14 -35
  108. package/dist/eco/manifest/parse-lockfile.js +40 -86
  109. package/dist/eco/manifest/parse-manifest.js +26 -43
  110. package/dist/eco/manifest/parse.js +26 -47
  111. package/dist/eco/manifest/types.js +1 -17
  112. package/dist/eco/npm/bun/exec.js +23 -32
  113. package/dist/eco/npm/manifest-format.js +21 -35
  114. package/dist/eco/npm/npm/exec.js +51 -61
  115. package/dist/eco/npm/npm/extract-package-name-from-path.js +28 -50
  116. package/dist/eco/npm/npm/flags.js +80 -52
  117. package/dist/eco/npm/npm/lockfile-format.js +21 -40
  118. package/dist/eco/npm/npm/parse-git-url.js +26 -40
  119. package/dist/eco/npm/npm/parse-lockfile.js +184 -210
  120. package/dist/eco/npm/parse-package-json.js +71 -102
  121. package/dist/eco/npm/pnpm/detect-pnpm-version.js +22 -43
  122. package/dist/eco/npm/pnpm/exec.js +51 -62
  123. package/dist/eco/npm/pnpm/flags.js +75 -68
  124. package/dist/eco/npm/pnpm/lockfile-format.js +19 -36
  125. package/dist/eco/npm/pnpm/parse-lockfile.js +235 -259
  126. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +37 -47
  127. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +36 -49
  128. package/dist/eco/npm/script.js +82 -90
  129. package/dist/eco/npm/vlt/exec.js +24 -32
  130. package/dist/eco/npm/yarnpkg/yarn/exec.js +60 -59
  131. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +20 -36
  132. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +194 -242
  133. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +37 -61
  134. package/dist/eco/purl.js +50 -60
  135. package/dist/eco/types.js +1 -17
  136. package/dist/effects/pulse-frames.js +64 -65
  137. package/dist/effects/shimmer-keyframes.js +71 -52
  138. package/dist/effects/shimmer-terminal.js +81 -50
  139. package/dist/effects/shimmer.js +290 -153
  140. package/dist/env/boolean.js +42 -43
  141. package/dist/env/case-insensitive.js +54 -39
  142. package/dist/env/ci.js +29 -31
  143. package/dist/env/debug.js +28 -31
  144. package/dist/env/github.js +144 -59
  145. package/dist/env/home.js +38 -31
  146. package/dist/env/locale.js +59 -39
  147. package/dist/env/node-auth-token.js +28 -31
  148. package/dist/env/node-env.js +28 -31
  149. package/dist/env/npm.js +94 -47
  150. package/dist/env/number.js +50 -51
  151. package/dist/env/package-manager.js +95 -83
  152. package/dist/env/path.js +28 -31
  153. package/dist/env/pre-commit.js +30 -32
  154. package/dist/env/proxy.js +121 -122
  155. package/dist/env/rewire.js +204 -96
  156. package/dist/env/shell.js +28 -31
  157. package/dist/env/socket-cli.js +233 -81
  158. package/dist/env/socket.js +521 -156
  159. package/dist/env/string.js +43 -44
  160. package/dist/env/temp-dir.js +59 -39
  161. package/dist/env/term.js +28 -31
  162. package/dist/env/test.js +65 -43
  163. package/dist/env/types.js +1 -17
  164. package/dist/env/windows.js +78 -43
  165. package/dist/env/xdg.js +62 -39
  166. package/dist/errors/message.js +40 -46
  167. package/dist/errors/predicates.js +61 -49
  168. package/dist/errors/stack.js +24 -36
  169. package/dist/events/exit/_internal.js +86 -103
  170. package/dist/events/exit/handler.js +48 -55
  171. package/dist/events/exit/intercept.js +49 -70
  172. package/dist/events/exit/lifecycle.js +92 -101
  173. package/dist/events/exit/signals.js +25 -31
  174. package/dist/events/exit/types.js +1 -17
  175. package/dist/events/warning/handler.js +43 -40
  176. package/dist/events/warning/suppress.js +111 -90
  177. package/dist/external/@npmcli/package-json/lib/read-package.js +132 -153
  178. package/dist/external/@npmcli/package-json/lib/sort.js +73 -105
  179. package/dist/external/@npmcli/package-json.js +12705 -15140
  180. package/dist/external/@npmcli/promise-spawn.js +451 -472
  181. package/dist/external/@sinclair/typebox/value.js +7443 -9002
  182. package/dist/external/@sinclair/typebox.js +7516 -7885
  183. package/dist/external/@socketregistry/is-unicode-supported.js +31 -39
  184. package/dist/external/@socketregistry/packageurl-js.js +6127 -7369
  185. package/dist/external/@socketregistry/yocto-spinner.js +394 -455
  186. package/dist/external/@yarnpkg/extensions.js +435 -1022
  187. package/dist/external/adm-zip.js +2313 -2673
  188. package/dist/external/debug.js +700 -687
  189. package/dist/external/external-pack.js +2658 -3171
  190. package/dist/external/fast-sort.js +124 -138
  191. package/dist/external/get-east-asian-width.js +70 -64
  192. package/dist/external/libnpmexec.js +28 -31
  193. package/dist/external/npm-pack.js +43617 -50137
  194. package/dist/external/p-map.js +198 -222
  195. package/dist/external/pico-pack.js +6735 -7304
  196. package/dist/external/pony-cause.js +143 -139
  197. package/dist/external/shell-quote.js +226 -0
  198. package/dist/external/spdx-pack.js +1283 -1403
  199. package/dist/external/streaming-iterables.js +835 -1052
  200. package/dist/external/tar-fs.js +2769 -3048
  201. package/dist/external/which.js +267 -251
  202. package/dist/external/yargs-parser.js +851 -1074
  203. package/dist/external-tools/bazel/asset-names.js +98 -90
  204. package/dist/external-tools/bazel/from-download.js +52 -46
  205. package/dist/external-tools/bazel/from-path.js +27 -38
  206. package/dist/external-tools/bazel/read-bazel-version-file.js +35 -57
  207. package/dist/external-tools/bazel/resolve-asset-url.js +24 -39
  208. package/dist/external-tools/bazel/resolve-bazel-version.js +34 -56
  209. package/dist/external-tools/bazel/resolve.js +44 -58
  210. package/dist/external-tools/bazel/types.js +1 -17
  211. package/dist/external-tools/cdxgen/asset-names.js +59 -66
  212. package/dist/external-tools/cdxgen/from-download.js +52 -80
  213. package/dist/external-tools/cdxgen/from-path.js +19 -37
  214. package/dist/external-tools/cdxgen/from-vfs.js +22 -43
  215. package/dist/external-tools/cdxgen/resolve.js +48 -63
  216. package/dist/external-tools/cdxgen/types.js +1 -17
  217. package/dist/external-tools/from-download.js +107 -67
  218. package/dist/external-tools/janus/asset-names.js +44 -51
  219. package/dist/external-tools/janus/from-download.js +45 -70
  220. package/dist/external-tools/janus/from-path.js +19 -37
  221. package/dist/external-tools/janus/from-vfs.js +22 -43
  222. package/dist/external-tools/janus/resolve.js +45 -63
  223. package/dist/external-tools/janus/types.js +1 -17
  224. package/dist/external-tools/jre/asset-names.js +109 -82
  225. package/dist/external-tools/jre/detect-platform-arch.js +25 -49
  226. package/dist/external-tools/jre/from-download.js +71 -67
  227. package/dist/external-tools/jre/from-java-home.js +27 -54
  228. package/dist/external-tools/jre/from-path.js +27 -49
  229. package/dist/external-tools/jre/from-vfs.js +39 -60
  230. package/dist/external-tools/jre/resolve.js +55 -68
  231. package/dist/external-tools/jre/types.js +1 -17
  232. package/dist/external-tools/manifest.js +130 -150
  233. package/dist/external-tools/opengrep/asset-names.js +60 -72
  234. package/dist/external-tools/opengrep/from-download.js +58 -80
  235. package/dist/external-tools/opengrep/from-path.js +19 -37
  236. package/dist/external-tools/opengrep/from-vfs.js +23 -43
  237. package/dist/external-tools/opengrep/resolve.js +43 -63
  238. package/dist/external-tools/opengrep/types.js +1 -17
  239. package/dist/external-tools/sbt/asset-names.js +21 -30
  240. package/dist/external-tools/sbt/from-download.js +50 -61
  241. package/dist/external-tools/sbt/from-path.js +23 -38
  242. package/dist/external-tools/sbt/from-vfs.js +30 -44
  243. package/dist/external-tools/sbt/resolve.js +45 -63
  244. package/dist/external-tools/sbt/types.js +1 -17
  245. package/dist/external-tools/synp/asset-names.js +11 -29
  246. package/dist/external-tools/synp/from-download.js +24 -41
  247. package/dist/external-tools/synp/from-path.js +19 -37
  248. package/dist/external-tools/synp/from-vfs.js +22 -43
  249. package/dist/external-tools/synp/resolve.js +43 -62
  250. package/dist/external-tools/synp/types.js +1 -17
  251. package/dist/external-tools/trivy/asset-names.js +51 -62
  252. package/dist/external-tools/trivy/from-download.js +42 -64
  253. package/dist/external-tools/trivy/from-path.js +19 -37
  254. package/dist/external-tools/trivy/from-vfs.js +22 -43
  255. package/dist/external-tools/trivy/resolve.js +43 -63
  256. package/dist/external-tools/trivy/types.js +1 -17
  257. package/dist/external-tools/trufflehog/asset-names.js +54 -66
  258. package/dist/external-tools/trufflehog/from-download.js +44 -62
  259. package/dist/external-tools/trufflehog/from-path.js +21 -37
  260. package/dist/external-tools/trufflehog/from-vfs.js +26 -43
  261. package/dist/external-tools/trufflehog/resolve.js +43 -63
  262. package/dist/external-tools/trufflehog/types.js +1 -17
  263. package/dist/external-tools/uv/asset-names.js +64 -74
  264. package/dist/external-tools/uv/from-download.js +44 -65
  265. package/dist/external-tools/uv/from-path.js +19 -37
  266. package/dist/external-tools/uv/from-vfs.js +22 -43
  267. package/dist/external-tools/uv/resolve.js +42 -63
  268. package/dist/external-tools/uv/types.js +1 -17
  269. package/dist/fs/_internal.js +40 -42
  270. package/dist/fs/access.js +57 -54
  271. package/dist/fs/encoding.js +80 -97
  272. package/dist/fs/find-up.js +126 -125
  273. package/dist/fs/inspect.js +168 -99
  274. package/dist/fs/path-cache.js +31 -32
  275. package/dist/fs/read-dir.js +102 -79
  276. package/dist/fs/read-file.js +177 -118
  277. package/dist/fs/read-json-cache.js +150 -134
  278. package/dist/fs/read-json.js +172 -187
  279. package/dist/fs/resolve-module.js +35 -58
  280. package/dist/fs/safe.js +278 -169
  281. package/dist/fs/types.js +1 -17
  282. package/dist/fs/unique.js +52 -48
  283. package/dist/fs/validate.js +56 -40
  284. package/dist/fs/write-json.js +109 -75
  285. package/dist/git/_internal.js +251 -216
  286. package/dist/git/changed.js +191 -74
  287. package/dist/git/repo.js +118 -104
  288. package/dist/git/staged.js +172 -62
  289. package/dist/git/types.js +1 -17
  290. package/dist/git/unstaged.js +175 -62
  291. package/dist/github/constants.js +25 -33
  292. package/dist/github/errors.js +46 -38
  293. package/dist/github/fetch.js +137 -82
  294. package/dist/github/ghsa.js +217 -151
  295. package/dist/github/refs-cache.js +54 -43
  296. package/dist/github/refs-graphql.js +97 -89
  297. package/dist/github/refs-rest.js +70 -101
  298. package/dist/github/refs.js +105 -64
  299. package/dist/github/token.js +96 -48
  300. package/dist/github/types.js +1 -17
  301. package/dist/globs/_internal.js +73 -82
  302. package/dist/globs/defaults.js +40 -59
  303. package/dist/globs/match.js +93 -77
  304. package/dist/globs/matcher.js +104 -92
  305. package/dist/globs/stream.js +43 -55
  306. package/dist/globs/types.js +1 -17
  307. package/dist/http-request/_internal.js +11 -38
  308. package/dist/http-request/browser-fetch.js +19 -29
  309. package/dist/http-request/browser.js +188 -206
  310. package/dist/http-request/checksums.js +101 -65
  311. package/dist/http-request/download-types.js +1 -17
  312. package/dist/http-request/download.js +195 -196
  313. package/dist/http-request/errors.js +39 -47
  314. package/dist/http-request/headers.js +95 -80
  315. package/dist/http-request/http-request.js +10 -35
  316. package/dist/http-request/node.js +71 -97
  317. package/dist/http-request/request-attempt.js +232 -285
  318. package/dist/http-request/request-types.js +1 -17
  319. package/dist/http-request/request.js +106 -108
  320. package/dist/http-request/response-reader.js +47 -51
  321. package/dist/http-request/response-types.js +22 -38
  322. package/dist/http-request/user-agent.js +73 -55
  323. package/dist/integrity.js +105 -106
  324. package/dist/ipc/_internal.js +34 -48
  325. package/dist/ipc/directory.js +55 -63
  326. package/dist/ipc/paths.js +52 -45
  327. package/dist/ipc/types.js +1 -17
  328. package/dist/ipc/write.js +81 -74
  329. package/dist/ipc-cli/get.js +29 -56
  330. package/dist/ipc-cli/types.js +1 -17
  331. package/dist/json/edit.js +182 -242
  332. package/dist/json/format.js +202 -103
  333. package/dist/json/parse.js +206 -109
  334. package/dist/json/types.js +1 -17
  335. package/dist/links/create.js +93 -60
  336. package/dist/links/types.js +1 -17
  337. package/dist/logger/_internal.js +109 -73
  338. package/dist/logger/browser.js +45 -56
  339. package/dist/logger/colors.js +31 -49
  340. package/dist/logger/console.js +89 -112
  341. package/dist/logger/default.js +19 -33
  342. package/dist/logger/logger.js +5 -29
  343. package/dist/logger/node.js +793 -854
  344. package/dist/logger/symbols-builder.js +54 -56
  345. package/dist/logger/symbols.js +135 -118
  346. package/dist/logger/types.js +1 -17
  347. package/dist/memo/_internal.js +39 -49
  348. package/dist/memo/async.js +133 -117
  349. package/dist/memo/clear.js +25 -34
  350. package/dist/memo/decorator.js +43 -37
  351. package/dist/memo/memoize.js +97 -88
  352. package/dist/memo/once.js +42 -41
  353. package/dist/memo/types.js +1 -17
  354. package/dist/memo/weak.js +45 -41
  355. package/dist/node/async-hooks.js +9 -30
  356. package/dist/node/child-process.js +9 -30
  357. package/dist/node/crypto.js +9 -30
  358. package/dist/node/events.js +9 -30
  359. package/dist/node/fs-promises.js +9 -30
  360. package/dist/node/fs.js +9 -30
  361. package/dist/node/http.js +9 -30
  362. package/dist/node/https.js +9 -30
  363. package/dist/node/module.js +20 -34
  364. package/dist/node/os.js +9 -30
  365. package/dist/node/path.js +9 -30
  366. package/dist/node/timers-promises.js +9 -30
  367. package/dist/node/url.js +9 -30
  368. package/dist/node/util.js +9 -30
  369. package/dist/objects/getters.js +185 -126
  370. package/dist/objects/inspect.js +85 -52
  371. package/dist/objects/mutate.js +96 -76
  372. package/dist/objects/predicates.js +112 -59
  373. package/dist/objects/sort.js +120 -76
  374. package/dist/objects/types.js +1 -17
  375. package/dist/packages/edit-class.js +198 -265
  376. package/dist/packages/edit.js +79 -86
  377. package/dist/packages/exports.js +146 -157
  378. package/dist/packages/isolation.js +159 -209
  379. package/dist/packages/licenses.js +207 -189
  380. package/dist/packages/manifest.js +134 -172
  381. package/dist/packages/normalize.js +91 -102
  382. package/dist/packages/operations.d.ts +2 -0
  383. package/dist/packages/operations.js +283 -254
  384. package/dist/packages/provenance.js +195 -245
  385. package/dist/packages/specs.js +94 -84
  386. package/dist/packages/types.js +1 -17
  387. package/dist/packages/validation.js +49 -50
  388. package/dist/paths/_internal.js +82 -86
  389. package/dist/paths/conversion.js +112 -65
  390. package/dist/paths/dirnames.js +17 -42
  391. package/dist/paths/exts.js +23 -54
  392. package/dist/paths/filenames.js +21 -50
  393. package/dist/paths/globs.js +15 -38
  394. package/dist/paths/normalize.js +215 -236
  395. package/dist/paths/packages.js +34 -49
  396. package/dist/paths/predicates.js +184 -106
  397. package/dist/paths/resolve.js +146 -128
  398. package/dist/paths/rewire.js +108 -72
  399. package/dist/paths/socket.js +252 -132
  400. package/dist/paths/walk.js +55 -60
  401. package/dist/perf/_internal.js +10 -28
  402. package/dist/perf/enabled.js +21 -30
  403. package/dist/perf/metrics.js +81 -67
  404. package/dist/perf/report.js +79 -80
  405. package/dist/perf/timer.js +180 -126
  406. package/dist/perf/types.js +1 -17
  407. package/dist/pkg-ext/data.js +29 -82
  408. package/dist/pkg-ext/types.js +1 -17
  409. package/dist/primordials/array.js +120 -198
  410. package/dist/primordials/buffer.js +28 -51
  411. package/dist/primordials/date.js +26 -51
  412. package/dist/primordials/error.js +33 -59
  413. package/dist/primordials/function.js +21 -41
  414. package/dist/primordials/globals.js +25 -48
  415. package/dist/primordials/json.js +14 -30
  416. package/dist/primordials/map-set.js +88 -152
  417. package/dist/primordials/math.js +59 -116
  418. package/dist/primordials/number.js +41 -76
  419. package/dist/primordials/object.js +56 -116
  420. package/dist/primordials/promise.js +28 -52
  421. package/dist/primordials/reflect.js +24 -52
  422. package/dist/primordials/regexp.js +25 -47
  423. package/dist/primordials/string.js +114 -167
  424. package/dist/primordials/symbol.js +40 -72
  425. package/dist/primordials/uncurry.js +38 -55
  426. package/dist/primordials/url.js +27 -66
  427. package/dist/process/_internal.js +7 -32
  428. package/dist/process/abort.js +29 -35
  429. package/dist/process/lock-instance.js +26 -30
  430. package/dist/process/lock-manager.js +279 -307
  431. package/dist/process/lock-types.js +1 -17
  432. package/dist/process/spawn/_internal.js +43 -55
  433. package/dist/process/spawn/child.js +172 -211
  434. package/dist/process/spawn/errors.js +116 -113
  435. package/dist/process/spawn/stdio.js +51 -35
  436. package/dist/process/spawn/types.js +1 -17
  437. package/dist/process/transient.js +49 -66
  438. package/dist/promises/_internal.js +31 -34
  439. package/dist/promises/iterate.js +238 -102
  440. package/dist/promises/options.js +123 -101
  441. package/dist/promises/queue.js +115 -136
  442. package/dist/promises/resolvers.js +77 -46
  443. package/dist/promises/retry.js +156 -101
  444. package/dist/promises/types.js +1 -17
  445. package/dist/regexps/escape.js +32 -30
  446. package/dist/regexps/hex.js +16 -33
  447. package/dist/regexps/spec.js +53 -81
  448. package/dist/releases/github-archives.js +127 -118
  449. package/dist/releases/github-asset-url.js +162 -146
  450. package/dist/releases/github-assets.js +37 -49
  451. package/dist/releases/github-auth.js +32 -48
  452. package/dist/releases/github-downloads.js +118 -138
  453. package/dist/releases/github-listing.js +175 -145
  454. package/dist/releases/github-retry-config.js +41 -47
  455. package/dist/releases/github-types.js +1 -17
  456. package/dist/releases/socket-btm.js +273 -192
  457. package/dist/schema/parse.js +35 -36
  458. package/dist/schema/types.js +1 -17
  459. package/dist/schema/validate.js +118 -99
  460. package/dist/sea/detect.js +57 -52
  461. package/dist/secrets/_internal.js +86 -67
  462. package/dist/secrets/find.js +96 -77
  463. package/dist/secrets/keychain.js +315 -309
  464. package/dist/secrets/linux.js +133 -135
  465. package/dist/secrets/macos.js +151 -147
  466. package/dist/secrets/rc.js +182 -181
  467. package/dist/secrets/socket-api-token.js +28 -43
  468. package/dist/secrets/types.js +1 -17
  469. package/dist/secrets/windows.js +184 -242
  470. package/dist/shadow/skip.js +51 -70
  471. package/dist/shadow/types.js +1 -17
  472. package/dist/shell/parse.d.ts +26 -0
  473. package/dist/shell/parse.js +35 -0
  474. package/dist/shell/quote.d.ts +19 -0
  475. package/dist/shell/quote.js +30 -0
  476. package/dist/smol/detect.js +67 -43
  477. package/dist/smol/http.js +33 -37
  478. package/dist/smol/https.js +31 -37
  479. package/dist/smol/manifest.js +33 -37
  480. package/dist/smol/path.js +33 -37
  481. package/dist/smol/primordial.js +35 -37
  482. package/dist/smol/purl.js +34 -37
  483. package/dist/smol/versions.js +31 -37
  484. package/dist/smol/vfs.js +46 -38
  485. package/dist/sorts/_internal.js +14 -40
  486. package/dist/sorts/natural.js +57 -64
  487. package/dist/sorts/semver.js +33 -43
  488. package/dist/sorts/strings.js +24 -30
  489. package/dist/sorts/types.js +1 -17
  490. package/dist/spinner/default.js +72 -63
  491. package/dist/spinner/format.js +86 -71
  492. package/dist/spinner/spinner.js +749 -797
  493. package/dist/spinner/types.js +1 -17
  494. package/dist/spinner/with.js +193 -137
  495. package/dist/ssri/convert.js +64 -47
  496. package/dist/ssri/parse.js +38 -37
  497. package/dist/ssri/validate.js +51 -34
  498. package/dist/stdio/_internal.js +50 -46
  499. package/dist/stdio/clear.js +208 -86
  500. package/dist/stdio/divider.js +170 -97
  501. package/dist/stdio/footer.js +116 -110
  502. package/dist/stdio/header.js +117 -90
  503. package/dist/stdio/progress.js +189 -218
  504. package/dist/stdio/prompts.js +244 -168
  505. package/dist/stdio/stderr.js +173 -78
  506. package/dist/stdio/stdout.js +177 -94
  507. package/dist/streams/parallel.js +58 -50
  508. package/dist/streams/transform.js +36 -45
  509. package/dist/strings/format.js +145 -63
  510. package/dist/strings/predicates.js +56 -34
  511. package/dist/strings/search.js +52 -42
  512. package/dist/strings/transform.js +113 -72
  513. package/dist/strings/types.js +1 -17
  514. package/dist/strings/width.js +89 -82
  515. package/dist/tables/bordered.js +81 -81
  516. package/dist/tables/padding.js +36 -46
  517. package/dist/tables/simple.js +62 -70
  518. package/dist/tables/types.js +1 -17
  519. package/dist/temporal/instant.js +72 -81
  520. package/dist/temporal/now.js +40 -31
  521. package/dist/temporal/slots.js +42 -36
  522. package/dist/temporal/system.js +36 -36
  523. package/dist/temporal/temporal.js +11 -41
  524. package/dist/themes/context.js +131 -69
  525. package/dist/themes/resolve.js +207 -132
  526. package/dist/themes/themes.js +225 -194
  527. package/dist/themes/types.js +1 -17
  528. package/dist/url/parse.js +48 -51
  529. package/dist/url/predicates.js +24 -31
  530. package/dist/url/search-params.js +133 -101
  531. package/dist/url/types.js +1 -17
  532. package/dist/versions/_internal.js +31 -33
  533. package/dist/versions/compare.js +80 -58
  534. package/dist/versions/modify.js +41 -39
  535. package/dist/versions/parse.js +88 -64
  536. package/dist/versions/range.js +58 -41
  537. package/dist/versions/types.js +1 -17
  538. package/dist/words/article.js +22 -30
  539. package/dist/words/capitalize.js +25 -34
  540. package/dist/words/pluralize.js +23 -31
  541. package/dist/words/types.js +1 -17
  542. package/package.json +17 -5
@@ -1,182 +1,319 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var shimmer_exports = {};
22
- __export(shimmer_exports, {
23
- DEFAULT_BASE_COLOR: () => DEFAULT_BASE_COLOR,
24
- WHITE: () => WHITE,
25
- bidirectionalSweep: () => bidirectionalSweep,
26
- blendRgb: () => blendRgb,
27
- blockKernel: () => blockKernel,
28
- configToSpec: () => configToSpec,
29
- directionToSweep: () => directionToSweep,
30
- frameColors: () => frameColors,
31
- gradient: () => gradient,
32
- ltrSweep: () => ltrSweep,
33
- noSweep: () => noSweep,
34
- randomSweep: () => randomSweep,
35
- resolvePalette: () => resolvePalette,
36
- rtlSweep: () => rtlSweep,
37
- smoothKernel: () => smoothKernel,
38
- solidColor: () => solidColor
39
- });
40
- module.exports = __toCommonJS(shimmer_exports);
41
- var import_array = require("../primordials/array");
42
- var import_error = require("../primordials/error");
43
- var import_math = require("../primordials/math");
44
- const DEFAULT_BASE_COLOR = [140, 82, 255];
45
- const WHITE = [255, 255, 255];
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_error = require('../primordials/error.js');
5
+ const require_primordials_math = require('../primordials/math.js');
6
+ const require_primordials_array = require('../primordials/array.js');
7
+
8
+ //#region src/effects/shimmer.ts
9
+ /**
10
+ * @file Shimmer animation engine — pure functions, zero deps. Animates a "wave"
11
+ * of color sweeping across a string. Designed for terminal spinners but the
12
+ * engine output is just `RGB[]`, so adapters can render to ANSI, SVG
13
+ * keyframes, Ink components, or anything else. The engine is one function:
14
+ * `frameColors(spec, length, frame) → RGB[]`. It is pure — same inputs
15
+ * produce the same output, no shared state. A {@link ShimmerSpec} bundles
16
+ * three orthogonal pieces:
17
+ *
18
+ * 1. `positionAt(frame)` — the wave's center at frame N (in char units; negative
19
+ * = off-screen left, > textLength = off-screen right). Built-ins:
20
+ * {@link ltrSweep}, {@link rtlSweep}, {@link bidirectionalSweep},
21
+ * {@link randomSweep}, {@link noSweep}.
22
+ * 2. `kernel(signedDistance, ctx)` — given a char's signed distance from the
23
+ * wave center, produce its color. Built-ins: {@link blockKernel} (hard
24
+ * on/off) and {@link smoothKernel} (soft glow).
25
+ * 3. `baseColor(i)` / `highlightColor(i)` — per-char palette anchors fed to the
26
+ * kernel as `ctx.baseColor` and `ctx.highlightColor`. Build these with
27
+ * {@link solidColor} (one color for every char) or {@link gradient} (cycle
28
+ * through a palette). Most callers don't build a spec by hand.
29
+ * {@link configToSpec} translates the flat {@link ShimmerConfig} (`{
30
+ * color, dir, speed, … }`) into a spec using sensible defaults. The
31
+ * spinner uses this internally. Adapters in `shimmer-terminal.ts` and
32
+ * `shimmer-keyframes.ts` consume the engine's `RGB[]` output and render it
33
+ * to ANSI escape sequences or SVG SMIL keyframes respectively.
34
+ *
35
+ * @example
36
+ * Smooth socket-lib-style shimmer over a single color:
37
+ * ```ts
38
+ * import { configToSpec, frameColors } from '@socketsecurity/lib/effects/shimmer'
39
+ * const spec = configToSpec({ color: [140, 82, 255], dir: 'ltr' }, 'Loading'.length)
40
+ * const colorsAtFrame0 = frameColors(spec, 7, 0)
41
+ * ```
42
+ *
43
+ * @example
44
+ * Discrete claude-code-style shimmer with a rainbow gradient:
45
+ * ```ts
46
+ * import { configToSpec } from '@socketsecurity/lib/effects/shimmer'
47
+ * import { RAINBOW_GRADIENT } from '@socketsecurity/lib/themes/resolve'
48
+ * const spec = configToSpec(
49
+ * { color: RAINBOW_GRADIENT, dir: 'ltr', kernel: 'block' },
50
+ * 'ultrathink'.length,
51
+ * )
52
+ * ```
53
+ */
54
+ /**
55
+ * Default base color used by {@link configToSpec} when `color` is omitted.
56
+ * Socket purple — matches the spinner's default color.
57
+ */
58
+ const DEFAULT_BASE_COLOR = [
59
+ 140,
60
+ 82,
61
+ 255
62
+ ];
63
+ /**
64
+ * Default highlight color used by {@link configToSpec} when `highlight` is
65
+ * omitted. Pure white.
66
+ */
67
+ const WHITE = [
68
+ 255,
69
+ 255,
70
+ 255
71
+ ];
72
+ /**
73
+ * Build a position function for bidirectional motion: the wave does one
74
+ * left-to-right pass, then one right-to-left pass, then loops.
75
+ *
76
+ * @default padding=2
77
+ *
78
+ * @param textLength Number of chars in the target string.
79
+ * @param padding Off-screen chars on each side.
80
+ */
46
81
  function bidirectionalSweep(textLength, padding = 2) {
47
- const cycle = textLength + 2 * padding;
48
- const fullCycle = cycle * 2;
49
- return (frame) => {
50
- const f = (frame % fullCycle + fullCycle) % fullCycle;
51
- if (f < cycle) {
52
- return f - padding;
53
- }
54
- return textLength + padding - 1 - (f - cycle);
55
- };
82
+ const cycle = textLength + 2 * padding;
83
+ const fullCycle = cycle * 2;
84
+ return (frame) => {
85
+ const f = (frame % fullCycle + fullCycle) % fullCycle;
86
+ if (f < cycle) return f - padding;
87
+ return textLength + padding - 1 - (f - cycle);
88
+ };
56
89
  }
90
+ /**
91
+ * Linearly interpolate between two RGB colors. `t` is clamped to [0, 1].
92
+ *
93
+ * @param a Color at `t=0`
94
+ * @param b Color at `t=1`
95
+ * @param t Blend factor; values outside [0, 1] are clamped.
96
+ *
97
+ * @returns Blended RGB with each channel rounded to integer
98
+ */
57
99
  function blendRgb(a, b, t) {
58
- const k = t < 0 ? 0 : t > 1 ? 1 : t;
59
- return [
60
- (0, import_math.MathRound)(a[0] + (b[0] - a[0]) * k),
61
- (0, import_math.MathRound)(a[1] + (b[1] - a[1]) * k),
62
- (0, import_math.MathRound)(a[2] + (b[2] - a[2]) * k)
63
- ];
100
+ const k = t < 0 ? 0 : t > 1 ? 1 : t;
101
+ return [
102
+ require_primordials_math.MathRound(a[0] + (b[0] - a[0]) * k),
103
+ require_primordials_math.MathRound(a[1] + (b[1] - a[1]) * k),
104
+ require_primordials_math.MathRound(a[2] + (b[2] - a[2]) * k)
105
+ ];
64
106
  }
107
+ /**
108
+ * Discrete on/off kernel — each char is either fully `highlightColor` (within
109
+ * `halfWidth` of the wave center) or fully `baseColor`. No blend.
110
+ *
111
+ * Matches claude-code's spinner behavior at `halfWidth=1` (a 3-char bright
112
+ * zone: the char at the wave center plus its left and right neighbors).
113
+ *
114
+ * @default halfWidth=1
115
+ *
116
+ * @param halfWidth Chars on each side of the wave center to highlight.
117
+ */
65
118
  function blockKernel(halfWidth = 1) {
66
- return (d, ctx) => (0, import_math.MathAbs)(d) <= halfWidth ? ctx.highlightColor : ctx.baseColor;
119
+ return (d, ctx) => require_primordials_math.MathAbs(d) <= halfWidth ? ctx.highlightColor : ctx.baseColor;
67
120
  }
121
+ /**
122
+ * Translate a flat {@link ShimmerConfig} into a {@link ShimmerSpec}. Applies
123
+ * defaults for omitted fields; resolves `color` and `highlight` (which may be a
124
+ * single RGB or a palette) into per-char palette functions.
125
+ *
126
+ * The spinner uses this internally; callers who only need the standard shape
127
+ * can call this directly. Advanced callers can construct a `ShimmerSpec` by
128
+ * hand to plug in custom kernels or position generators.
129
+ */
68
130
  function configToSpec(config, textLength) {
69
- const dir = config.dir ?? "ltr";
70
- const padding = config.padding ?? 2;
71
- const speed = config.speed ?? 1 / 3;
72
- const baseColor = resolvePalette(config.color, DEFAULT_BASE_COLOR);
73
- const highlightColor = resolvePalette(config.highlight, WHITE);
74
- const kernel = config.kernel === "block" ? blockKernel(1) : smoothKernel(config.width ?? 2.5);
75
- const sweep = directionToSweep(dir, textLength, padding);
76
- return {
77
- positionAt: (frame) => sweep(frame * speed),
78
- kernel,
79
- baseColor,
80
- highlightColor
81
- };
131
+ const dir = config.dir ?? "ltr";
132
+ const padding = config.padding ?? 2;
133
+ const speed = config.speed ?? 1 / 3;
134
+ const baseColor = resolvePalette(config.color, DEFAULT_BASE_COLOR);
135
+ const highlightColor = resolvePalette(config.highlight, WHITE);
136
+ const kernel = config.kernel === "block" ? blockKernel(1) : smoothKernel(config.width ?? 2.5);
137
+ const sweep = directionToSweep(dir, textLength, padding);
138
+ return {
139
+ positionAt: (frame) => sweep(frame * speed),
140
+ kernel,
141
+ baseColor,
142
+ highlightColor
143
+ };
82
144
  }
145
+ /**
146
+ * Translate a {@link ShimmerDirection} string to its position-generator
147
+ * function. Used by {@link configToSpec}; exported for callers that want to swap
148
+ * kernel or palette while keeping the standard sweep mapping.
149
+ */
83
150
  function directionToSweep(dir, textLength, padding) {
84
- switch (dir) {
85
- case "rtl":
86
- return rtlSweep(textLength, padding);
87
- case "bi":
88
- return bidirectionalSweep(textLength, padding);
89
- case "random":
90
- return randomSweep(textLength, padding);
91
- case "none":
92
- return noSweep();
93
- default:
94
- return ltrSweep(textLength, padding);
95
- }
151
+ switch (dir) {
152
+ case "rtl": return rtlSweep(textLength, padding);
153
+ case "bi": return bidirectionalSweep(textLength, padding);
154
+ case "random": return randomSweep(textLength, padding);
155
+ case "none": return noSweep();
156
+ default: return ltrSweep(textLength, padding);
157
+ }
96
158
  }
159
+ /**
160
+ * Compute per-character colors for a single frame. This is the engine.
161
+ *
162
+ * @example
163
+ * ;```ts
164
+ * const colors = frameColors(spec, 'Loading'.length, frameCounter)
165
+ * // colors[0] = the color of 'L' at this frame
166
+ * // colors[6] = the color of 'g' at this frame
167
+ * ```
168
+ *
169
+ * @param spec Functional shimmer specification.
170
+ * @param textLength Number of chars to color.
171
+ * @param frame Caller-controlled frame counter (any number; the position
172
+ * generator handles wrapping)
173
+ *
174
+ * @returns One RGB tuple per char index, in order
175
+ */
97
176
  function frameColors(spec, textLength, frame) {
98
- const wavePos = spec.positionAt(frame);
99
- const out = [];
100
- for (let i = 0; i < textLength; i++) {
101
- const ctx = {
102
- __proto__: null,
103
- baseColor: spec.baseColor(i),
104
- highlightColor: spec.highlightColor(i)
105
- };
106
- out.push(spec.kernel(i - wavePos, ctx));
107
- }
108
- return out;
177
+ const wavePos = spec.positionAt(frame);
178
+ const out = [];
179
+ for (let i = 0; i < textLength; i++) {
180
+ const ctx = {
181
+ __proto__: null,
182
+ baseColor: spec.baseColor(i),
183
+ highlightColor: spec.highlightColor(i)
184
+ };
185
+ out.push(spec.kernel(i - wavePos, ctx));
186
+ }
187
+ return out;
109
188
  }
189
+ /**
190
+ * Build a per-char palette function that cycles through a fixed palette: `(i)
191
+ * => palette[i % palette.length]`.
192
+ *
193
+ * @throws {Error} If `palette` is empty
194
+ */
110
195
  function gradient(palette) {
111
- if (palette.length === 0) {
112
- throw new import_error.ErrorCtor("gradient palette must not be empty");
113
- }
114
- return (i) => palette[i % palette.length];
196
+ if (palette.length === 0) throw new require_primordials_error.ErrorCtor("gradient palette must not be empty");
197
+ return (i) => palette[i % palette.length];
115
198
  }
199
+ /**
200
+ * Build a position function for left-to-right motion: the wave starts at
201
+ * `-padding` (off-screen left), advances by 1 per frame, exits at `textLength +
202
+ * padding`, then wraps.
203
+ *
204
+ * @default padding=2
205
+ *
206
+ * @param textLength Number of chars in the target string.
207
+ * @param padding Off-screen chars on each side.
208
+ */
116
209
  function ltrSweep(textLength, padding = 2) {
117
- const cycle = textLength + 2 * padding;
118
- return (frame) => (frame % cycle + cycle) % cycle - padding;
210
+ const cycle = textLength + 2 * padding;
211
+ return (frame) => (frame % cycle + cycle) % cycle - padding;
119
212
  }
213
+ /**
214
+ * Build a position function that hides the wave forever. Returns `-Infinity`
215
+ * for every frame so the kernel always sees `signedDistance` > `halfWidth` and
216
+ * produces base colors. Used by `configToSpec` when `dir: 'none'`.
217
+ */
120
218
  function noSweep() {
121
- return () => -Infinity;
219
+ return () => -Infinity;
122
220
  }
221
+ /**
222
+ * Build a position function that randomly picks LTR or RTL at each cycle
223
+ * boundary. The PRNG is configurable (defaults to `Math.random`) so callers can
224
+ * seed it for reproducible animations.
225
+ *
226
+ * @default padding=2, random=Math.random
227
+ *
228
+ * @param textLength Number of chars in the target string.
229
+ * @param padding Off-screen chars on each side.
230
+ * @param random PRNG returning [0, 1); defaults to `Math.random`
231
+ */
123
232
  function randomSweep(textLength, padding = 2, random = Math.random) {
124
- const cycle = textLength + 2 * padding;
125
- let dir = random() < 0.5 ? "ltr" : "rtl";
126
- let lastCycleIndex = 0;
127
- return (frame) => {
128
- const f = (frame % (cycle * 2 ** 30) + cycle * 2 ** 30) % (cycle * 2 ** 30);
129
- const cycleIndex = (0, import_math.MathFloor)(f / cycle);
130
- if (cycleIndex !== lastCycleIndex) {
131
- dir = random() < 0.5 ? "ltr" : "rtl";
132
- lastCycleIndex = cycleIndex;
133
- }
134
- const inCycle = f % cycle;
135
- return dir === "ltr" ? inCycle - padding : textLength + padding - 1 - inCycle;
136
- };
233
+ const cycle = textLength + 2 * padding;
234
+ let dir = random() < .5 ? "ltr" : "rtl";
235
+ let lastCycleIndex = 0;
236
+ return (frame) => {
237
+ const f = (frame % (cycle * 2 ** 30) + cycle * 2 ** 30) % (cycle * 2 ** 30);
238
+ const cycleIndex = require_primordials_math.MathFloor(f / cycle);
239
+ if (cycleIndex !== lastCycleIndex) {
240
+ dir = random() < .5 ? "ltr" : "rtl";
241
+ lastCycleIndex = cycleIndex;
242
+ }
243
+ const inCycle = f % cycle;
244
+ return dir === "ltr" ? inCycle - padding : textLength + padding - 1 - inCycle;
245
+ };
137
246
  }
247
+ /**
248
+ * Resolve a {@link ShimmerConfig.color}-shaped input into a per-char palette
249
+ * function. Accepts a single RGB tuple, an ordered palette, or `undefined` (in
250
+ * which case `defaultColor` is used).
251
+ *
252
+ * Used internally by {@link configToSpec}; exported so callers can build partial
253
+ * specs that share the same input-shape rules.
254
+ */
138
255
  function resolvePalette(source, defaultColor) {
139
- if (source === void 0) {
140
- return solidColor(defaultColor);
141
- }
142
- if ((0, import_array.ArrayIsArray)(source[0])) {
143
- return gradient(source);
144
- }
145
- return solidColor(source);
256
+ if (source === void 0) return solidColor(defaultColor);
257
+ if (require_primordials_array.ArrayIsArray(source[0])) return gradient(source);
258
+ return solidColor(source);
146
259
  }
260
+ /**
261
+ * Build a position function for right-to-left motion: the wave starts at the
262
+ * right edge, decreases by 1 per frame, exits at `-padding` left of char 0,
263
+ * then wraps.
264
+ *
265
+ * @default padding=2
266
+ *
267
+ * @param textLength Number of chars in the target string.
268
+ * @param padding Off-screen chars on each side.
269
+ */
147
270
  function rtlSweep(textLength, padding = 2) {
148
- const cycle = textLength + 2 * padding;
149
- return (frame) => textLength + padding - 1 - (frame % cycle + cycle) % cycle;
271
+ const cycle = textLength + 2 * padding;
272
+ return (frame) => textLength + padding - 1 - (frame % cycle + cycle) % cycle;
150
273
  }
274
+ /**
275
+ * Smooth blend kernel — char's color blends from `baseColor` toward
276
+ * `highlightColor` as it approaches the wave center. Falloff curve is `(1 -
277
+ * |d|/halfWidth)^falloff`, giving a soft glow with a wider radius than
278
+ * `blockKernel`.
279
+ *
280
+ * Matches socket-lib's previous default at `halfWidth=2.5, falloff=2.5`.
281
+ *
282
+ * @default halfWidth=2.5, falloff=2.5
283
+ *
284
+ * @param halfWidth Chars on each side affected by the wave.
285
+ * @param falloff Intensity exponent (higher = sharper peak)
286
+ */
151
287
  function smoothKernel(halfWidth = 2.5, falloff = 2.5) {
152
- return (d, ctx) => {
153
- const dist = (0, import_math.MathAbs)(d);
154
- if (dist >= halfWidth) {
155
- return ctx.baseColor;
156
- }
157
- const t = (1 - dist / halfWidth) ** falloff;
158
- return blendRgb(ctx.baseColor, ctx.highlightColor, t);
159
- };
288
+ return (d, ctx) => {
289
+ const dist = require_primordials_math.MathAbs(d);
290
+ if (dist >= halfWidth) return ctx.baseColor;
291
+ const t = (1 - dist / halfWidth) ** falloff;
292
+ return blendRgb(ctx.baseColor, ctx.highlightColor, t);
293
+ };
160
294
  }
295
+ /**
296
+ * Build a per-char palette function that returns the same color for every char
297
+ * index. Useful when shimmering text with a single base color.
298
+ */
161
299
  function solidColor(color) {
162
- return () => color;
300
+ return () => color;
163
301
  }
164
- // Annotate the CommonJS export names for ESM import in node:
165
- 0 && (module.exports = {
166
- DEFAULT_BASE_COLOR,
167
- WHITE,
168
- bidirectionalSweep,
169
- blendRgb,
170
- blockKernel,
171
- configToSpec,
172
- directionToSweep,
173
- frameColors,
174
- gradient,
175
- ltrSweep,
176
- noSweep,
177
- randomSweep,
178
- resolvePalette,
179
- rtlSweep,
180
- smoothKernel,
181
- solidColor
182
- });
302
+
303
+ //#endregion
304
+ exports.DEFAULT_BASE_COLOR = DEFAULT_BASE_COLOR;
305
+ exports.WHITE = WHITE;
306
+ exports.bidirectionalSweep = bidirectionalSweep;
307
+ exports.blendRgb = blendRgb;
308
+ exports.blockKernel = blockKernel;
309
+ exports.configToSpec = configToSpec;
310
+ exports.directionToSweep = directionToSweep;
311
+ exports.frameColors = frameColors;
312
+ exports.gradient = gradient;
313
+ exports.ltrSweep = ltrSweep;
314
+ exports.noSweep = noSweep;
315
+ exports.randomSweep = randomSweep;
316
+ exports.resolvePalette = resolvePalette;
317
+ exports.rtlSweep = rtlSweep;
318
+ exports.smoothKernel = smoothKernel;
319
+ exports.solidColor = solidColor;
@@ -1,46 +1,45 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var boolean_exports = {};
22
- __export(boolean_exports, {
23
- envAsBoolean: () => envAsBoolean
24
- });
25
- module.exports = __toCommonJS(boolean_exports);
26
- // @__NO_SIDE_EFFECTS__
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ //#region src/env/boolean.ts
6
+ /**
7
+ * Convert an environment variable value to a boolean.
8
+ *
9
+ * Back-compat overload: passing a bare boolean as the second argument is
10
+ * equivalent to `{ defaultValue: B }`.
11
+ *
12
+ * @example
13
+ * ;```typescript
14
+ * import { envAsBoolean } from '@socketsecurity/lib/env/boolean'
15
+ *
16
+ * envAsBoolean('true') // true
17
+ * envAsBoolean('1') // true
18
+ * envAsBoolean('yes') // true
19
+ * envAsBoolean(' true ') // true (trimmed)
20
+ * envAsBoolean(' true ', { trim: false }) // false (strict)
21
+ * envAsBoolean(undefined) // false
22
+ * envAsBoolean(undefined, true) // true (legacy positional default)
23
+ * ```
24
+ *
25
+ * @param value - The value to convert.
26
+ * @param defaultValueOrOptions - Default (boolean) or options object.
27
+ *
28
+ * @returns `true` if value is '1', 'true', or 'yes' (case-insensitive), `false`
29
+ * otherwise.
30
+ */
31
+ /* @__NO_SIDE_EFFECTS__ */
27
32
  function envAsBoolean(value, defaultValueOrOptions = false) {
28
- const opts = typeof defaultValueOrOptions === "boolean" ? { defaultValue: defaultValueOrOptions } : defaultValueOrOptions ?? {};
29
- const { defaultValue = false, trim = true } = opts;
30
- if (typeof value === "string") {
31
- const candidate = trim ? value.trim() : value;
32
- if (!candidate) {
33
- return !!defaultValue;
34
- }
35
- const lower = candidate.toLowerCase();
36
- return lower === "1" || lower === "true" || lower === "yes";
37
- }
38
- if (value === null || value === void 0) {
39
- return !!defaultValue;
40
- }
41
- return !!value;
33
+ const { defaultValue = false, trim = true } = typeof defaultValueOrOptions === "boolean" ? { defaultValue: defaultValueOrOptions } : defaultValueOrOptions ?? {};
34
+ if (typeof value === "string") {
35
+ const candidate = trim ? value.trim() : value;
36
+ if (!candidate) return !!defaultValue;
37
+ const lower = candidate.toLowerCase();
38
+ return lower === "1" || lower === "true" || lower === "yes";
39
+ }
40
+ if (value === null || value === void 0) return !!defaultValue;
41
+ return !!value;
42
42
  }
43
- // Annotate the CommonJS export names for ESM import in node:
44
- 0 && (module.exports = {
45
- envAsBoolean
46
- });
43
+
44
+ //#endregion
45
+ exports.envAsBoolean = envAsBoolean;