@socketsecurity/lib 6.0.6 → 6.0.8

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 (619) hide show
  1. package/CHANGELOG.md +46 -1
  2. package/README.md +1 -1
  3. package/dist/ai/agent-context.d.mts +103 -0
  4. package/dist/ai/agent-context.js +157 -0
  5. package/dist/ai/backends.d.mts +83 -0
  6. package/dist/ai/backends.js +173 -0
  7. package/dist/ai/credentials.d.mts +49 -0
  8. package/dist/ai/credentials.js +82 -0
  9. package/dist/ai/discover.d.mts +6 -2
  10. package/dist/ai/discover.js +4 -3
  11. package/dist/ai/exec.d.mts +52 -0
  12. package/dist/ai/exec.js +92 -0
  13. package/dist/ai/http.d.mts +132 -0
  14. package/dist/ai/http.js +130 -0
  15. package/dist/ai/profiles.d.mts +41 -6
  16. package/dist/ai/profiles.js +52 -10
  17. package/dist/ai/route.d.mts +69 -0
  18. package/dist/ai/route.js +156 -0
  19. package/dist/ai/spawn.d.mts +10 -2
  20. package/dist/ai/spawn.js +56 -31
  21. package/dist/ai/subagent-status.d.mts +48 -0
  22. package/dist/ai/subagent-status.js +57 -0
  23. package/dist/ai/tier.d.mts +60 -0
  24. package/dist/ai/tier.js +53 -0
  25. package/dist/ai/types.d.mts +31 -6
  26. package/dist/ai/worktree.d.mts +6 -6
  27. package/dist/ai/worktree.js +5 -1
  28. package/dist/ansi/strip.d.ts +1 -1
  29. package/dist/ansi/strip.js +0 -2
  30. package/dist/archives/_internal.js +7 -9
  31. package/dist/archives/extract.js +1 -1
  32. package/dist/archives/tar.js +7 -7
  33. package/dist/archives/zip.js +5 -7
  34. package/dist/argv/flag-predicates.d.ts +12 -12
  35. package/dist/argv/flag-predicates.js +17 -17
  36. package/dist/argv/flag-types.d.ts +18 -18
  37. package/dist/argv/flag-types.js +4 -4
  38. package/dist/argv/parse.d.ts +20 -3
  39. package/dist/argv/parse.js +1 -1
  40. package/dist/arrays/_internal.js +11 -12
  41. package/dist/arrays/chunk.js +0 -1
  42. package/dist/arrays/join.d.ts +37 -3
  43. package/dist/arrays/join.js +47 -7
  44. package/dist/arrays/unique.js +0 -1
  45. package/dist/bin/_internal.d.ts +1 -1
  46. package/dist/bin/_internal.js +1 -1
  47. package/dist/bin/exec.js +2 -3
  48. package/dist/bin/find.js +17 -17
  49. package/dist/bin/prim.cjs +36175 -35861
  50. package/dist/bin/resolve.js +13 -14
  51. package/dist/bin/which.js +8 -8
  52. package/dist/cache/ttl/store.js +6 -6
  53. package/dist/checks/primordials-defaults.d.ts +3 -3
  54. package/dist/checks/primordials-defaults.js +3 -3
  55. package/dist/checks/primordials.js +4 -3
  56. package/dist/{bin → cli}/check-primordials.d.ts +18 -13
  57. package/dist/{bin → cli}/check-primordials.js +58 -55
  58. package/dist/{bin → cli}/check.js +3 -3
  59. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  60. package/dist/{bin → cli}/socket-lib.js +4 -4
  61. package/dist/colors/socket-palette.js +7 -9
  62. package/dist/compression/_internal.d.ts +12 -12
  63. package/dist/compression/_internal.js +18 -18
  64. package/dist/compression/brotli.d.ts +26 -27
  65. package/dist/compression/brotli.js +39 -35
  66. package/dist/compression/gzip.d.ts +23 -23
  67. package/dist/compression/gzip.js +46 -42
  68. package/dist/constants/agents.d.ts +3 -1
  69. package/dist/constants/agents.js +15 -11
  70. package/dist/constants/licenses.js +3 -3
  71. package/dist/constants/node.d.ts +23 -0
  72. package/dist/constants/node.js +47 -15
  73. package/dist/constants/packages.d.ts +3 -0
  74. package/dist/constants/packages.js +24 -29
  75. package/dist/constants/platform.d.ts +30 -3
  76. package/dist/constants/platform.js +72 -12
  77. package/dist/constants/runtime.d.ts +22 -0
  78. package/dist/constants/runtime.js +32 -0
  79. package/dist/constants/socket.d.ts +2 -6
  80. package/dist/constants/socket.js +12 -14
  81. package/dist/cover/code.js +10 -10
  82. package/dist/cover/formatters.js +5 -5
  83. package/dist/crypto/hash.d.ts +30 -2
  84. package/dist/crypto/hash.js +47 -13
  85. package/dist/debug/_internal.js +4 -6
  86. package/dist/debug/caller-info.js +3 -4
  87. package/dist/debug/namespace.d.ts +7 -0
  88. package/dist/debug/namespace.js +21 -12
  89. package/dist/debug/output.js +21 -24
  90. package/dist/debug/types.d.ts +4 -4
  91. package/dist/dlx/arborist.js +18 -8
  92. package/dist/dlx/binary-cache.js +15 -15
  93. package/dist/dlx/binary-download.d.ts +1 -1
  94. package/dist/dlx/binary-download.js +11 -11
  95. package/dist/dlx/binary-resolution.js +17 -15
  96. package/dist/dlx/binary-types.d.ts +5 -5
  97. package/dist/dlx/binary.js +5 -5
  98. package/dist/dlx/cache.js +1 -1
  99. package/dist/dlx/detect.d.ts +42 -25
  100. package/dist/dlx/detect.js +86 -77
  101. package/dist/dlx/dir.js +2 -2
  102. package/dist/dlx/firewall.d.ts +9 -1
  103. package/dist/dlx/firewall.js +1 -1
  104. package/dist/dlx/lockfile.d.ts +19 -18
  105. package/dist/dlx/lockfile.js +19 -16
  106. package/dist/dlx/manifest.d.ts +6 -6
  107. package/dist/dlx/manifest.js +5 -5
  108. package/dist/dlx/package.d.ts +10 -10
  109. package/dist/dlx/package.js +20 -16
  110. package/dist/dlx/packages.js +4 -4
  111. package/dist/dlx/paths.js +7 -7
  112. package/dist/dlx/spec.js +1 -1
  113. package/dist/dlx/types.d.ts +28 -27
  114. package/dist/eco/cargo/parse-lockfile.d.ts +2 -3
  115. package/dist/eco/cargo/parse-lockfile.js +5 -5
  116. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  117. package/dist/eco/manifest/detect-format.js +5 -5
  118. package/dist/eco/manifest/find-packages.js +2 -2
  119. package/dist/eco/manifest/get-package-versions.js +2 -2
  120. package/dist/eco/manifest/get-package.js +2 -2
  121. package/dist/eco/manifest/parse-lockfile.js +2 -2
  122. package/dist/eco/manifest/parse-manifest.js +2 -2
  123. package/dist/eco/manifest/parse.js +2 -2
  124. package/dist/eco/npm/npm/exec.js +2 -2
  125. package/dist/eco/npm/npm/flags.js +7 -12
  126. package/dist/eco/npm/npm/parse-lockfile.d.ts +17 -18
  127. package/dist/eco/npm/npm/parse-lockfile.js +4 -4
  128. package/dist/eco/npm/parse-package-json.d.ts +11 -0
  129. package/dist/eco/npm/parse-package-json.js +3 -3
  130. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  131. package/dist/eco/npm/pnpm/exec.js +5 -5
  132. package/dist/eco/npm/pnpm/flags.js +0 -3
  133. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +6 -4
  134. package/dist/eco/npm/pnpm/parse-lockfile.js +7 -7
  135. package/dist/eco/npm/script.js +9 -6
  136. package/dist/eco/npm/yarnpkg/yarn/exec.js +4 -4
  137. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +3 -4
  138. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +9 -9
  139. package/dist/effects/pulse-frames.d.ts +3 -1
  140. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  141. package/dist/effects/shimmer-terminal.d.ts +1 -1
  142. package/dist/env/boolean.js +0 -1
  143. package/dist/env/ci.js +0 -1
  144. package/dist/env/debug.js +0 -1
  145. package/dist/env/github-status.d.ts +51 -0
  146. package/dist/env/github-status.js +90 -0
  147. package/dist/env/github.js +0 -8
  148. package/dist/env/home.js +0 -1
  149. package/dist/env/locale.js +0 -3
  150. package/dist/env/node-auth-token.js +0 -1
  151. package/dist/env/node-env.js +0 -1
  152. package/dist/env/node-version-managers.d.ts +53 -0
  153. package/dist/env/node-version-managers.js +90 -0
  154. package/dist/env/npm.js +0 -5
  155. package/dist/env/number.js +0 -1
  156. package/dist/env/package-manager.js +3 -6
  157. package/dist/env/path.js +0 -1
  158. package/dist/env/pre-commit.js +1 -2
  159. package/dist/env/proxy.js +1 -1
  160. package/dist/env/rewire.d.ts +8 -6
  161. package/dist/env/rewire.js +16 -17
  162. package/dist/env/shell.js +0 -1
  163. package/dist/env/socket-cli.js +5 -18
  164. package/dist/env/socket-mcp.d.ts +114 -0
  165. package/dist/env/socket-mcp.js +146 -0
  166. package/dist/env/socket.d.ts +8 -109
  167. package/dist/env/socket.js +22 -167
  168. package/dist/env/string.js +0 -1
  169. package/dist/env/temp-dir.js +0 -3
  170. package/dist/env/term.js +0 -1
  171. package/dist/env/test.js +3 -6
  172. package/dist/env/windows.js +0 -4
  173. package/dist/env/xdg.js +0 -3
  174. package/dist/errors/predicates.js +1 -1
  175. package/dist/events/exit/_internal.d.ts +11 -9
  176. package/dist/events/exit/_internal.js +31 -35
  177. package/dist/events/exit/handler.js +3 -4
  178. package/dist/events/exit/intercept.js +4 -6
  179. package/dist/events/exit/lifecycle.js +16 -18
  180. package/dist/events/exit/signals.js +1 -2
  181. package/dist/events/exit/types.d.ts +6 -5
  182. package/dist/external/@npmcli/package-json.js +2 -2
  183. package/dist/external/@npmcli/promise-spawn.js +3 -1
  184. package/dist/external/npm-pack.js +2 -2
  185. package/dist/external/pico-pack.js +4 -2
  186. package/dist/external/which.js +3 -1
  187. package/dist/external-tools/bazel/asset-names.d.ts +1 -1
  188. package/dist/external-tools/bazel/asset-names.js +5 -2
  189. package/dist/external-tools/bazel/from-download.d.ts +1 -1
  190. package/dist/external-tools/bazel/from-download.js +5 -2
  191. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  192. package/dist/external-tools/bazel/resolve-bazel-version.js +4 -0
  193. package/dist/external-tools/bazel/resolve.d.ts +3 -3
  194. package/dist/external-tools/bazel/resolve.js +16 -8
  195. package/dist/external-tools/bazel/types.d.ts +1 -1
  196. package/dist/external-tools/cdxgen/asset-names.d.ts +1 -1
  197. package/dist/external-tools/cdxgen/asset-names.js +5 -2
  198. package/dist/external-tools/cdxgen/from-download.d.ts +1 -1
  199. package/dist/external-tools/cdxgen/from-download.js +7 -4
  200. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  201. package/dist/external-tools/cdxgen/resolve.d.ts +3 -3
  202. package/dist/external-tools/cdxgen/resolve.js +16 -8
  203. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  204. package/dist/external-tools/from-download.d.ts +3 -3
  205. package/dist/external-tools/from-download.js +12 -6
  206. package/dist/external-tools/from-pip-venv.d.ts +1 -1
  207. package/dist/external-tools/from-pip-venv.js +12 -5
  208. package/dist/external-tools/janus/asset-names.d.ts +1 -1
  209. package/dist/external-tools/janus/asset-names.js +5 -2
  210. package/dist/external-tools/janus/from-download.d.ts +1 -1
  211. package/dist/external-tools/janus/from-download.js +5 -2
  212. package/dist/external-tools/janus/from-vfs.js +1 -1
  213. package/dist/external-tools/janus/resolve.d.ts +3 -3
  214. package/dist/external-tools/janus/resolve.js +16 -8
  215. package/dist/external-tools/janus/types.d.ts +1 -1
  216. package/dist/external-tools/jre/asset-names.d.ts +1 -1
  217. package/dist/external-tools/jre/asset-names.js +5 -2
  218. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  219. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  220. package/dist/external-tools/jre/from-download.d.ts +1 -1
  221. package/dist/external-tools/jre/from-download.js +7 -4
  222. package/dist/external-tools/jre/from-java-home.js +2 -2
  223. package/dist/external-tools/jre/from-vfs.js +3 -3
  224. package/dist/external-tools/jre/resolve.d.ts +3 -3
  225. package/dist/external-tools/jre/resolve.js +16 -8
  226. package/dist/external-tools/jre/types.d.ts +1 -1
  227. package/dist/external-tools/manifest.d.ts +25 -7
  228. package/dist/external-tools/manifest.js +13 -13
  229. package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
  230. package/dist/external-tools/opengrep/asset-names.js +5 -2
  231. package/dist/external-tools/opengrep/from-download.d.ts +1 -1
  232. package/dist/external-tools/opengrep/from-download.js +5 -2
  233. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  234. package/dist/external-tools/opengrep/resolve.d.ts +3 -3
  235. package/dist/external-tools/opengrep/resolve.js +16 -8
  236. package/dist/external-tools/opengrep/types.d.ts +1 -1
  237. package/dist/external-tools/python/asset-names.d.ts +76 -0
  238. package/dist/external-tools/python/asset-names.js +111 -0
  239. package/dist/external-tools/python/dlx.d.ts +80 -0
  240. package/dist/external-tools/python/dlx.js +98 -0
  241. package/dist/external-tools/python/from-download.d.ts +53 -0
  242. package/dist/external-tools/python/from-download.js +75 -0
  243. package/dist/external-tools/python/from-path.d.ts +7 -0
  244. package/dist/external-tools/python/from-path.js +23 -0
  245. package/dist/external-tools/python/pin.d.ts +121 -0
  246. package/dist/external-tools/python/pin.js +176 -0
  247. package/dist/external-tools/python/pip-install.d.ts +75 -0
  248. package/dist/external-tools/python/pip-install.js +142 -0
  249. package/dist/external-tools/python/resolve.d.ts +42 -0
  250. package/dist/external-tools/python/resolve.js +66 -0
  251. package/dist/external-tools/python/types.d.ts +49 -0
  252. package/dist/external-tools/sbt/asset-names.d.ts +1 -1
  253. package/dist/external-tools/sbt/asset-names.js +5 -2
  254. package/dist/external-tools/sbt/from-download.d.ts +1 -1
  255. package/dist/external-tools/sbt/from-download.js +5 -2
  256. package/dist/external-tools/sbt/from-vfs.js +1 -1
  257. package/dist/external-tools/sbt/resolve.d.ts +3 -3
  258. package/dist/external-tools/sbt/resolve.js +16 -8
  259. package/dist/external-tools/sbt/types.d.ts +1 -1
  260. package/dist/external-tools/skillspector/from-dlx.d.ts +1 -1
  261. package/dist/external-tools/skillspector/from-dlx.js +10 -3
  262. package/dist/external-tools/skillspector/from-path.js +3 -5
  263. package/dist/external-tools/skillspector/from-vfs.js +1 -1
  264. package/dist/external-tools/skillspector/resolve.d.ts +2 -2
  265. package/dist/external-tools/skillspector/resolve.js +14 -6
  266. package/dist/external-tools/synp/asset-names.d.ts +1 -1
  267. package/dist/external-tools/synp/asset-names.js +6 -2
  268. package/dist/external-tools/synp/from-download.d.ts +1 -1
  269. package/dist/external-tools/synp/from-download.js +7 -4
  270. package/dist/external-tools/synp/from-vfs.js +1 -1
  271. package/dist/external-tools/synp/resolve.d.ts +3 -3
  272. package/dist/external-tools/synp/resolve.js +16 -8
  273. package/dist/external-tools/trivy/asset-names.d.ts +1 -1
  274. package/dist/external-tools/trivy/asset-names.js +5 -2
  275. package/dist/external-tools/trivy/from-download.d.ts +1 -1
  276. package/dist/external-tools/trivy/from-download.js +7 -4
  277. package/dist/external-tools/trivy/from-vfs.js +1 -1
  278. package/dist/external-tools/trivy/resolve.d.ts +3 -3
  279. package/dist/external-tools/trivy/resolve.js +16 -8
  280. package/dist/external-tools/trivy/types.d.ts +1 -1
  281. package/dist/external-tools/trufflehog/asset-names.d.ts +1 -1
  282. package/dist/external-tools/trufflehog/asset-names.js +5 -2
  283. package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
  284. package/dist/external-tools/trufflehog/from-download.js +7 -4
  285. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  286. package/dist/external-tools/trufflehog/resolve.d.ts +3 -3
  287. package/dist/external-tools/trufflehog/resolve.js +16 -8
  288. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  289. package/dist/fs/_internal.d.ts +1 -1
  290. package/dist/fs/_internal.js +7 -7
  291. package/dist/fs/access.js +5 -9
  292. package/dist/fs/allowed-dirs-cache.d.ts +47 -0
  293. package/dist/fs/allowed-dirs-cache.js +69 -0
  294. package/dist/fs/encoding.js +5 -7
  295. package/dist/fs/{find-up.js → find.js} +12 -14
  296. package/dist/fs/inspect.js +7 -13
  297. package/dist/fs/read-dir.js +7 -10
  298. package/dist/fs/read-file.js +8 -14
  299. package/dist/fs/read-json-cache.d.ts +13 -4
  300. package/dist/fs/read-json-cache.js +9 -6
  301. package/dist/fs/read-json.js +4 -6
  302. package/dist/fs/resolve-module.js +7 -3
  303. package/dist/fs/safe.d.ts +1 -1
  304. package/dist/fs/safe.js +13 -14
  305. package/dist/fs/unique.js +4 -5
  306. package/dist/fs/validate.js +1 -2
  307. package/dist/fs/write-json.js +4 -5
  308. package/dist/git/_internal.js +11 -11
  309. package/dist/git/changed.js +4 -4
  310. package/dist/git/repo.js +5 -7
  311. package/dist/git/staged.js +12 -4
  312. package/dist/git/tracked.d.ts +84 -0
  313. package/dist/git/tracked.js +163 -0
  314. package/dist/git/unstaged.js +12 -4
  315. package/dist/github/ghsa.js +2 -2
  316. package/dist/github/refs-cache.d.ts +1 -1
  317. package/dist/github/refs-cache.js +5 -5
  318. package/dist/github/refs-graphql.js +4 -0
  319. package/dist/github/refs-rest.js +9 -5
  320. package/dist/github/refs.js +15 -10
  321. package/dist/github/{fetch.js → request.js} +13 -2
  322. package/dist/github/token.js +1 -1
  323. package/dist/github/types.d.ts +1 -1
  324. package/dist/globs/_internal.js +8 -10
  325. package/dist/globs/match.js +13 -7
  326. package/dist/globs/matcher.d.ts +3 -3
  327. package/dist/globs/matcher.js +16 -14
  328. package/dist/globs/stream.js +1 -2
  329. package/dist/globs/types.d.ts +24 -24
  330. package/dist/http-request/_internal.d.ts +1 -1
  331. package/dist/http-request/browser.js +10 -4
  332. package/dist/http-request/checksum-file.d.ts +55 -0
  333. package/dist/http-request/checksum-file.js +95 -0
  334. package/dist/http-request/download-types.d.ts +15 -23
  335. package/dist/http-request/download.js +3 -3
  336. package/dist/http-request/{browser-fetch.d.ts → fetch/browser.d.ts} +2 -2
  337. package/dist/http-request/{browser-fetch.js → fetch/browser.js} +4 -4
  338. package/dist/http-request/headers.js +1 -2
  339. package/dist/http-request/request-attempt.js +38 -34
  340. package/dist/http-request/request-types.d.ts +2 -2
  341. package/dist/http-request/request.js +1 -1
  342. package/dist/http-request/user-agent.js +4 -5
  343. package/dist/integrity.d.ts +92 -18
  344. package/dist/integrity.js +125 -30
  345. package/dist/ipc/directory.js +2 -2
  346. package/dist/ipc/paths.js +1 -1
  347. package/dist/ipc/write.js +1 -1
  348. package/dist/ipc-cli/get.js +12 -12
  349. package/dist/json/edit.js +51 -44
  350. package/dist/json/format.js +1 -1
  351. package/dist/json/parse.d.ts +1 -1
  352. package/dist/json/parse.js +3 -7
  353. package/dist/logger/_internal.d.ts +4 -4
  354. package/dist/logger/_internal.js +3 -3
  355. package/dist/logger/colors.js +4 -3
  356. package/dist/logger/console-methods.d.ts +132 -0
  357. package/dist/logger/console-methods.js +169 -0
  358. package/dist/logger/console.d.ts +12 -0
  359. package/dist/logger/console.js +42 -11
  360. package/dist/logger/indentation-methods.d.ts +81 -0
  361. package/dist/logger/indentation-methods.js +121 -0
  362. package/dist/logger/node.d.ts +16 -338
  363. package/dist/logger/node.js +75 -608
  364. package/dist/logger/options.d.ts +39 -0
  365. package/dist/logger/options.js +47 -0
  366. package/dist/logger/semantic-methods.d.ts +63 -0
  367. package/dist/logger/semantic-methods.js +108 -0
  368. package/dist/logger/stream-methods.d.ts +63 -0
  369. package/dist/logger/stream-methods.js +101 -0
  370. package/dist/logger/stream.d.ts +37 -0
  371. package/dist/logger/stream.js +42 -0
  372. package/dist/logger/symbols-builder.js +9 -9
  373. package/dist/logger/symbols.d.ts +2 -25
  374. package/dist/logger/symbols.js +53 -74
  375. package/dist/logger/types.d.ts +1 -1
  376. package/dist/memo/types.d.ts +6 -6
  377. package/dist/native-messaging/host.d.ts +20 -0
  378. package/dist/native-messaging/host.js +120 -0
  379. package/dist/native-messaging/index.d.ts +5 -0
  380. package/dist/native-messaging/index.js +22 -0
  381. package/dist/native-messaging/install.d.ts +60 -0
  382. package/dist/native-messaging/install.js +144 -0
  383. package/dist/native-messaging/rate-limit.d.ts +69 -0
  384. package/dist/native-messaging/rate-limit.js +119 -0
  385. package/dist/native-messaging/run.d.ts +10 -0
  386. package/dist/native-messaging/run.js +17 -0
  387. package/dist/node/async-hooks.js +4 -3
  388. package/dist/node/child-process.js +4 -3
  389. package/dist/node/crypto.js +4 -3
  390. package/dist/node/events.js +4 -3
  391. package/dist/node/fs-promises.js +4 -3
  392. package/dist/node/fs.d.ts +22 -6
  393. package/dist/node/fs.js +17 -3
  394. package/dist/node/http.js +4 -3
  395. package/dist/node/https.js +4 -3
  396. package/dist/node/module.js +10 -6
  397. package/dist/node/os.d.ts +10 -2
  398. package/dist/node/os.js +12 -4
  399. package/dist/node/path.d.ts +11 -2
  400. package/dist/node/path.js +18 -4
  401. package/dist/node/timers-promises.js +4 -3
  402. package/dist/node/url.js +4 -3
  403. package/dist/node/util.js +4 -3
  404. package/dist/objects/getters.js +6 -8
  405. package/dist/objects/inspect.js +1 -4
  406. package/dist/objects/mutate.js +4 -5
  407. package/dist/objects/predicates.js +1 -5
  408. package/dist/objects/sort.js +3 -7
  409. package/dist/packages/edit-class.d.ts +2 -3
  410. package/dist/packages/edit-class.js +53 -48
  411. package/dist/packages/edit.js +12 -14
  412. package/dist/packages/exports.js +15 -21
  413. package/dist/packages/fetch.d.ts +16 -0
  414. package/dist/packages/fetch.js +81 -0
  415. package/dist/packages/find.d.ts +55 -0
  416. package/dist/packages/find.js +65 -0
  417. package/dist/packages/isolation.js +14 -14
  418. package/dist/packages/licenses.js +18 -18
  419. package/dist/packages/manifest.js +16 -19
  420. package/dist/packages/metadata-extensions.d.ts +14 -0
  421. package/dist/packages/metadata-extensions.js +43 -0
  422. package/dist/packages/normalize.js +6 -10
  423. package/dist/packages/provenance.js +17 -19
  424. package/dist/packages/read.d.ts +29 -0
  425. package/dist/packages/read.js +66 -0
  426. package/dist/packages/specs.d.ts +48 -1
  427. package/dist/packages/specs.js +75 -12
  428. package/dist/packages/tarball.d.ts +24 -0
  429. package/dist/packages/tarball.js +81 -0
  430. package/dist/packages/types.d.ts +22 -22
  431. package/dist/packages/validation.js +0 -3
  432. package/dist/paths/_internal.d.ts +2 -1
  433. package/dist/paths/_internal.js +7 -19
  434. package/dist/paths/conversion.js +5 -9
  435. package/dist/paths/dirnames.d.ts +1 -0
  436. package/dist/paths/dirnames.js +2 -0
  437. package/dist/paths/filenames.d.ts +0 -1
  438. package/dist/paths/filenames.js +0 -2
  439. package/dist/paths/normalize.js +4 -5
  440. package/dist/paths/packages.js +4 -7
  441. package/dist/paths/predicates.js +9 -16
  442. package/dist/paths/resolve.js +17 -25
  443. package/dist/paths/rewire.d.ts +5 -0
  444. package/dist/paths/rewire.js +3 -3
  445. package/dist/paths/socket.d.ts +74 -111
  446. package/dist/paths/socket.js +106 -139
  447. package/dist/paths/walk.d.ts +1 -1
  448. package/dist/paths/walk.js +4 -4
  449. package/dist/perf/report.js +2 -2
  450. package/dist/perf/types.d.ts +1 -1
  451. package/dist/pkg-ext/data.js +1 -1
  452. package/dist/primordials/array.js +9 -9
  453. package/dist/primordials/date.js +2 -2
  454. package/dist/primordials/error.js +3 -3
  455. package/dist/primordials/headers.d.ts +10 -0
  456. package/dist/primordials/headers.js +23 -0
  457. package/dist/primordials/intl.d.ts +13 -0
  458. package/dist/primordials/intl.js +26 -0
  459. package/dist/primordials/math.js +33 -33
  460. package/dist/primordials/number.js +9 -9
  461. package/dist/primordials/object.js +5 -5
  462. package/dist/primordials/process.d.ts +88 -0
  463. package/dist/primordials/process.js +132 -0
  464. package/dist/primordials/string.d.ts +2 -2
  465. package/dist/primordials/string.js +6 -6
  466. package/dist/primordials/symbol.js +3 -3
  467. package/dist/primordials/uncurry.d.ts +1 -2
  468. package/dist/primordials/uncurry.js +9 -9
  469. package/dist/process/abort.js +3 -3
  470. package/dist/process/lock-manager.js +8 -8
  471. package/dist/process/spawn/_internal.js +6 -8
  472. package/dist/process/spawn/child.js +20 -14
  473. package/dist/process/spawn/errors.js +3 -5
  474. package/dist/process/spawn/kill-tree.d.ts +53 -0
  475. package/dist/process/spawn/kill-tree.js +85 -0
  476. package/dist/process/spawn/stdio.js +0 -1
  477. package/dist/process/spawn/types.d.ts +5 -5
  478. package/dist/process/transient.js +2 -2
  479. package/dist/promises/_internal.d.ts +2 -1
  480. package/dist/promises/_internal.js +2 -6
  481. package/dist/promises/iterate.js +11 -15
  482. package/dist/promises/options.js +3 -6
  483. package/dist/promises/retry.js +4 -5
  484. package/dist/promises/timers.d.ts +30 -0
  485. package/dist/promises/timers.js +48 -0
  486. package/dist/regexps/spec.js +1 -1
  487. package/dist/releases/github-archives.d.ts +6 -6
  488. package/dist/releases/github-archives.js +3 -3
  489. package/dist/releases/github-asset-url.d.ts +1 -1
  490. package/dist/releases/github-asset-url.js +5 -5
  491. package/dist/releases/github-downloads.d.ts +1 -1
  492. package/dist/releases/github-downloads.js +3 -3
  493. package/dist/releases/github-listing.d.ts +12 -4
  494. package/dist/releases/github-listing.js +20 -7
  495. package/dist/releases/github-retry-config.js +1 -1
  496. package/dist/releases/github-types.d.ts +6 -6
  497. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  498. package/dist/releases/socket-btm-binary-naming.js +155 -0
  499. package/dist/releases/socket-btm.d.ts +8 -115
  500. package/dist/releases/socket-btm.js +16 -159
  501. package/dist/schema/types.d.ts +4 -5
  502. package/dist/schema/validate.js +1 -1
  503. package/dist/sea/detect.js +6 -6
  504. package/dist/secrets/_internal.d.ts +2 -2
  505. package/dist/secrets/_internal.js +2 -2
  506. package/dist/secrets/compare.d.ts +45 -0
  507. package/dist/secrets/compare.js +61 -0
  508. package/dist/secrets/find.d.ts +2 -2
  509. package/dist/secrets/find.js +10 -4
  510. package/dist/secrets/keychain.d.ts +1 -1
  511. package/dist/secrets/keychain.js +6 -4
  512. package/dist/secrets/linux.js +40 -52
  513. package/dist/secrets/macos.d.ts +2 -3
  514. package/dist/secrets/macos.js +24 -33
  515. package/dist/secrets/rc.d.ts +4 -4
  516. package/dist/secrets/rc.js +27 -17
  517. package/dist/secrets/socket-api-token.d.ts +4 -4
  518. package/dist/secrets/socket-api-token.js +26 -9
  519. package/dist/secrets/windows.js +32 -37
  520. package/dist/shadow/skip.js +2 -2
  521. package/dist/shell/parse.d.ts +32 -0
  522. package/dist/shell/parse.js +60 -0
  523. package/dist/smol/detect.js +9 -10
  524. package/dist/smol/http.js +6 -7
  525. package/dist/smol/https.js +6 -7
  526. package/dist/smol/manifest.d.ts +1 -1
  527. package/dist/smol/manifest.js +6 -7
  528. package/dist/smol/path.d.ts +1 -1
  529. package/dist/smol/path.js +7 -8
  530. package/dist/smol/primordial.d.ts +4 -0
  531. package/dist/smol/primordial.js +6 -7
  532. package/dist/smol/purl.d.ts +1 -1
  533. package/dist/smol/purl.js +7 -8
  534. package/dist/smol/versions.js +6 -7
  535. package/dist/smol/vfs.js +6 -7
  536. package/dist/sorts/_internal.js +6 -8
  537. package/dist/sorts/natural.js +10 -12
  538. package/dist/sorts/semver.js +1 -2
  539. package/dist/sorts/strings.js +0 -1
  540. package/dist/sorts/types.d.ts +1 -1
  541. package/dist/spinner/create-spinner-class.d.ts +38 -0
  542. package/dist/spinner/create-spinner-class.js +302 -0
  543. package/dist/spinner/default.js +8 -9
  544. package/dist/spinner/spinner-internals.d.ts +36 -0
  545. package/dist/spinner/spinner-internals.js +105 -0
  546. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  547. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  548. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  549. package/dist/spinner/spinner-status-methods.js +133 -0
  550. package/dist/spinner/spinner.d.ts +8 -5
  551. package/dist/spinner/spinner.js +19 -706
  552. package/dist/spinner/types.d.ts +3 -1
  553. package/dist/spinner/with.d.ts +10 -0
  554. package/dist/spinner/with.js +16 -2
  555. package/dist/stdio/divider.js +1 -1
  556. package/dist/stdio/footer.js +3 -3
  557. package/dist/stdio/header.js +4 -4
  558. package/dist/stdio/progress.js +10 -6
  559. package/dist/stdio/prompts.d.ts +7 -5
  560. package/dist/stdio/prompts.js +7 -8
  561. package/dist/stdio/stdout.js +3 -3
  562. package/dist/streams/parallel.js +3 -5
  563. package/dist/streams/transform.js +2 -3
  564. package/dist/strings/format.js +2 -6
  565. package/dist/strings/predicates.js +0 -2
  566. package/dist/strings/search.js +1 -2
  567. package/dist/strings/transform.js +0 -3
  568. package/dist/strings/width.js +9 -10
  569. package/dist/tables/bordered.js +4 -3
  570. package/dist/tables/padding.js +1 -1
  571. package/dist/tables/simple.js +8 -5
  572. package/dist/temporal/instant.js +1 -1
  573. package/dist/temporal/slots.js +6 -6
  574. package/dist/temporal/system.js +9 -9
  575. package/dist/themes/context.d.ts +3 -2
  576. package/dist/themes/context.js +4 -5
  577. package/dist/themes/themes.js +15 -15
  578. package/dist/themes/types.d.ts +3 -3
  579. package/dist/url/assert-safe.d.ts +29 -0
  580. package/dist/url/assert-safe.js +54 -0
  581. package/dist/url/parse.js +0 -2
  582. package/dist/url/predicates.d.ts +31 -1
  583. package/dist/url/predicates.js +43 -3
  584. package/dist/url/search-params.js +3 -9
  585. package/dist/url/types.d.ts +9 -5
  586. package/dist/versions/_internal.js +3 -3
  587. package/dist/words/article.js +0 -1
  588. package/dist/words/capitalize.js +0 -1
  589. package/dist/words/pluralize.js +15 -5
  590. package/package.json +419 -216
  591. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  592. package/dist/external-tools/uv/asset-names.js +0 -70
  593. package/dist/external-tools/uv/from-download.d.ts +0 -17
  594. package/dist/external-tools/uv/from-download.js +0 -47
  595. package/dist/external-tools/uv/from-path.d.ts +0 -5
  596. package/dist/external-tools/uv/from-path.js +0 -22
  597. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  598. package/dist/external-tools/uv/from-vfs.js +0 -26
  599. package/dist/external-tools/uv/resolve.d.ts +0 -25
  600. package/dist/external-tools/uv/resolve.js +0 -53
  601. package/dist/external-tools/uv/types.d.ts +0 -24
  602. package/dist/fs/path-cache.d.ts +0 -21
  603. package/dist/fs/path-cache.js +0 -34
  604. package/dist/http-request/checksums.d.ts +0 -69
  605. package/dist/http-request/checksums.js +0 -108
  606. package/dist/http-request/http-request.d.ts +0 -12
  607. package/dist/http-request/http-request.js +0 -11
  608. package/dist/packages/operations.d.ts +0 -113
  609. package/dist/packages/operations.js +0 -304
  610. package/dist/ssri/convert.d.ts +0 -48
  611. package/dist/ssri/convert.js +0 -69
  612. package/dist/ssri/parse.d.ts +0 -27
  613. package/dist/ssri/parse.js +0 -41
  614. package/dist/ssri/validate.d.ts +0 -41
  615. package/dist/ssri/validate.js +0 -56
  616. /package/dist/{bin → cli}/check.d.ts +0 -0
  617. /package/dist/external-tools/{uv → python}/types.js +0 -0
  618. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  619. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -0,0 +1,302 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_math = require('../primordials/math.js');
5
+ const require_primordials_object = require('../primordials/object.js');
6
+ const require_primordials_array = require('../primordials/array.js');
7
+ const require_process_abort = require('../process/abort.js');
8
+ const require_logger_symbols = require('../logger/symbols.js');
9
+ const require_strings_predicates = require('../strings/predicates.js');
10
+ const require_colors_convert = require('../colors/convert.js');
11
+ const require_strings_width = require('../strings/width.js');
12
+ const require_spinner_format = require('./format.js');
13
+ const require_spinner_spinner_internals = require('./spinner-internals.js');
14
+ const require_spinner_spinner_shimmer_methods = require('./spinner-shimmer-methods.js');
15
+ const require_spinner_spinner_status_methods = require('./spinner-status-methods.js');
16
+
17
+ //#region src/spinner/create-spinner-class.ts
18
+ /**
19
+ * Build the Socket `Spinner` class as a subclass of the live `yocto-spinner`
20
+ * constructor. Passing the parent class in keeps the `super()` binding against
21
+ * the runtime constructor while letting the bulk of the class body live outside
22
+ * the factory module.
23
+ *
24
+ * @param YoctoSpinnerClass - Runtime `yocto-spinner` constructor to extend.
25
+ * @param logger - Default logger used for status output.
26
+ *
27
+ * @returns The constructed Socket spinner constructor.
28
+ */
29
+ function createSpinnerClass(YoctoSpinnerClass, logger) {
30
+ const SpinnerCtor = class SpinnerClass extends YoctoSpinnerClass {
31
+ #baseText = "";
32
+ #indentation = "";
33
+ #progress;
34
+ #shimmer;
35
+ #shimmerSavedConfig;
36
+ constructor(ctorOptions) {
37
+ const opts = {
38
+ __proto__: null,
39
+ ...ctorOptions
40
+ };
41
+ const spinnerColorRgb = require_spinner_spinner_internals.resolveSpinnerColorRgb(opts);
42
+ const shimmerInfo = require_spinner_spinner_internals.parseShimmerOption(opts.shimmer);
43
+ super({
44
+ signal: require_process_abort.getAbortSignal(),
45
+ ...opts,
46
+ color: spinnerColorRgb,
47
+ onRenderFrame: (frame, text, applyColor) => {
48
+ const spacing = require_strings_width.stringWidth(frame) === 1 ? " " : " ";
49
+ return frame ? `${applyColor(frame)}${spacing}${text}` : text;
50
+ },
51
+ onFrameUpdate: shimmerInfo ? () => {
52
+ if (this.#baseText) super["text"] = this.#buildDisplayText();
53
+ } : void 0
54
+ });
55
+ this.#shimmer = shimmerInfo;
56
+ this.#shimmerSavedConfig = shimmerInfo;
57
+ }
58
+ get color() {
59
+ const value = super.color;
60
+ return require_colors_convert.isRgbTuple(value) ? value : require_colors_convert.toRgb(value);
61
+ }
62
+ set color(value) {
63
+ super.color = require_colors_convert.isRgbTuple(value) ? value : require_colors_convert.toRgb(value);
64
+ }
65
+ /**
66
+ * Apply a yocto-spinner method and update logger state. Handles text
67
+ * normalization, extra arguments, and logger tracking. Exposed under
68
+ * `applyStatusSymbol` so the status methods installed from
69
+ * `spinner-status-methods.ts` can drive it.
70
+ */
71
+ [require_spinner_spinner_status_methods.applyStatusSymbol](methodName, args) {
72
+ let extras;
73
+ let text = require_primordials_array.ArrayPrototypeAt(args, 0);
74
+ if (typeof text === "string") extras = require_primordials_array.ArrayPrototypeSlice(args, 1);
75
+ else {
76
+ extras = args;
77
+ text = "";
78
+ }
79
+ const wasSpinning = this.isSpinning;
80
+ const normalized = require_spinner_format.normalizeText(text);
81
+ const superMethod = super[methodName];
82
+ if (methodName === "stop" && !normalized) superMethod.call(this);
83
+ else superMethod.call(this, normalized);
84
+ if (methodName === "stop") {
85
+ if (wasSpinning && normalized) {
86
+ logger[require_logger_symbols.lastWasBlankSymbol](require_strings_predicates.isBlankString(normalized));
87
+ logger[require_logger_symbols.incLogCallCountSymbol]();
88
+ }
89
+ } else {
90
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
91
+ logger[require_logger_symbols.incLogCallCountSymbol]();
92
+ }
93
+ /* c8 ignore start - extras-empty no-op arm fires when log called without extras */
94
+ if (extras.length) {
95
+ logger.log(...extras);
96
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
97
+ }
98
+ /* c8 ignore stop */
99
+ return this;
100
+ }
101
+ /**
102
+ * Build the complete display text with progress, shimmer, and indentation.
103
+ * Combines base text, progress bar, shimmer effects, and indentation.
104
+ *
105
+ * @private
106
+ */
107
+ #buildDisplayText() {
108
+ let displayText = this.#baseText;
109
+ /* c8 ignore start - progress + shimmer paths fire only when caller seeded those configs */
110
+ if (this.#progress) {
111
+ const progressText = require_spinner_format.formatProgress(this.#progress);
112
+ displayText = displayText ? `${displayText} ${progressText}` : progressText;
113
+ }
114
+ if (displayText && this.#shimmer) displayText = require_spinner_spinner_internals.applyShimmer(displayText, this.#shimmer, this.color);
115
+ if (this.#indentation && displayText) displayText = this.#indentation + displayText;
116
+ /* c8 ignore stop */
117
+ return displayText;
118
+ }
119
+ /**
120
+ * Show a status message without stopping the spinner. Outputs the symbol
121
+ * and message to stderr, then continues spinning. Exposed under
122
+ * `showStatusSymbol` so the status methods installed from
123
+ * `spinner-status-methods.ts` can drive it.
124
+ */
125
+ [require_spinner_spinner_status_methods.showStatusSymbol](symbolType, args) {
126
+ let text = require_primordials_array.ArrayPrototypeAt(args, 0);
127
+ let extras;
128
+ if (typeof text === "string") extras = require_primordials_array.ArrayPrototypeSlice(args, 1);
129
+ else {
130
+ extras = args;
131
+ text = "";
132
+ }
133
+ logger.error(`${require_logger_symbols.LOG_SYMBOLS[symbolType]} ${text}`, ...extras);
134
+ return this;
135
+ }
136
+ /**
137
+ * Update the spinner's displayed text. Rebuilds display text and triggers
138
+ * render.
139
+ *
140
+ * @private
141
+ */
142
+ #updateSpinnerText() {
143
+ super["text"] = this.#buildDisplayText();
144
+ }
145
+ [require_spinner_spinner_shimmer_methods.getShimmerSymbol]() {
146
+ return this.#shimmer;
147
+ }
148
+ [require_spinner_spinner_shimmer_methods.setShimmerSymbol](value) {
149
+ this.#shimmer = value;
150
+ }
151
+ [require_spinner_spinner_shimmer_methods.getSavedShimmerSymbol]() {
152
+ return this.#shimmerSavedConfig;
153
+ }
154
+ [require_spinner_spinner_shimmer_methods.setSavedShimmerSymbol](value) {
155
+ this.#shimmerSavedConfig = value;
156
+ }
157
+ [require_spinner_spinner_shimmer_methods.updateTextSymbol]() {
158
+ this.#updateSpinnerText();
159
+ }
160
+ /**
161
+ * Decrease indentation level by removing spaces from the left. Pass 0 to
162
+ * reset indentation to zero completely.
163
+ *
164
+ * @default spaces=2
165
+ *
166
+ * @param spaces - Number of spaces to remove.
167
+ *
168
+ * @returns This spinner for chaining
169
+ */
170
+ dedent(spaces) {
171
+ if (spaces === 0) this.#indentation = "";
172
+ else {
173
+ const amount = spaces ?? 2;
174
+ const newLength = require_primordials_math.MathMax(0, this.#indentation.length - amount);
175
+ this.#indentation = this.#indentation.slice(0, newLength);
176
+ }
177
+ this.#updateSpinnerText();
178
+ return this;
179
+ }
180
+ /**
181
+ * Increase indentation level by adding spaces to the left. Pass 0 to reset
182
+ * indentation to zero completely.
183
+ *
184
+ * @default spaces=2
185
+ *
186
+ * @param spaces - Number of spaces to add.
187
+ *
188
+ * @returns This spinner for chaining
189
+ */
190
+ indent(spaces) {
191
+ /* c8 ignore start - spaces===0 fires when caller passes 0; else-branch + default fire for omitted/non-zero */
192
+ if (spaces === 0) this.#indentation = "";
193
+ else {
194
+ const amount = spaces ?? 2;
195
+ this.#indentation += " ".repeat(amount);
196
+ }
197
+ /* c8 ignore stop */
198
+ this.#updateSpinnerText();
199
+ return this;
200
+ }
201
+ /**
202
+ * Update progress information displayed with the spinner. Shows a progress
203
+ * bar with percentage and optional unit label.
204
+ *
205
+ * @param current - Current progress value.
206
+ * @param total - Total/maximum progress value.
207
+ * @param unit - Optional unit label (e.g., 'files', 'items')
208
+ *
209
+ * @returns This spinner for chaining
210
+ */
211
+ progress = (current, total, unit) => {
212
+ this.#progress = {
213
+ __proto__: null,
214
+ current,
215
+ total,
216
+ ...unit ? { unit } : {}
217
+ };
218
+ this.#updateSpinnerText();
219
+ return this;
220
+ };
221
+ /**
222
+ * Increment progress by a specified amount. Updates the progress bar
223
+ * displayed with the spinner. Clamps the result between 0 and the total
224
+ * value.
225
+ *
226
+ * @default amount=1
227
+ *
228
+ * @param amount - Amount to increment by.
229
+ *
230
+ * @returns This spinner for chaining
231
+ */
232
+ progressStep(amount = 1) {
233
+ /* c8 ignore start - no-progress no-op fires before progress() seed; unit-spread arm fires when seeded with unit */
234
+ if (this.#progress) {
235
+ const newCurrent = this.#progress.current + amount;
236
+ this.#progress = {
237
+ __proto__: null,
238
+ current: require_primordials_math.MathMax(0, Math.min(newCurrent, this.#progress.total)),
239
+ total: this.#progress.total,
240
+ ...this.#progress.unit ? { unit: this.#progress.unit } : {}
241
+ };
242
+ this.#updateSpinnerText();
243
+ }
244
+ return this;
245
+ /* c8 ignore stop */
246
+ }
247
+ /**
248
+ * Start the spinner animation with optional text. Begins displaying the
249
+ * animated spinner on stderr.
250
+ *
251
+ * @param text - Optional text to display with the spinner.
252
+ *
253
+ * @returns This spinner for chaining
254
+ */
255
+ start(...args) {
256
+ /* c8 ignore start - args-length and normalized-falsy arms exercised across calls; some test paths skip both */
257
+ if (args.length) {
258
+ const normalized = require_spinner_format.normalizeText(require_primordials_array.ArrayPrototypeAt(args, 0));
259
+ if (!normalized) {
260
+ this.#baseText = "";
261
+ super["text"] = "";
262
+ } else this.#baseText = normalized;
263
+ }
264
+ /* c8 ignore stop */
265
+ this.#updateSpinnerText();
266
+ return this[require_spinner_spinner_status_methods.applyStatusSymbol]("start", []);
267
+ }
268
+ /**
269
+ * Stop the spinner animation and clear internal state. Auto-clears the
270
+ * spinner line via yocto-spinner.stop(). Resets progress, shimmer, and text
271
+ * state.
272
+ *
273
+ * @param text - Optional final text to display after stopping.
274
+ *
275
+ * @returns This spinner for chaining
276
+ */
277
+ stop(...args) {
278
+ this.#baseText = "";
279
+ this.#progress = void 0;
280
+ this.#shimmer = void 0;
281
+ return this[require_spinner_spinner_status_methods.applyStatusSymbol]("stop", args);
282
+ }
283
+ text(value) {
284
+ if (arguments.length === 0) return this.#baseText;
285
+ this.#baseText = value ?? "";
286
+ this.#updateSpinnerText();
287
+ return this;
288
+ }
289
+ };
290
+ require_spinner_spinner_status_methods.installStatusMethods(SpinnerCtor.prototype, logger);
291
+ require_spinner_spinner_shimmer_methods.installShimmerMethods(SpinnerCtor.prototype);
292
+ require_primordials_object.ObjectDefineProperties(SpinnerCtor.prototype, {
293
+ error: require_spinner_format.desc(SpinnerCtor.prototype.fail),
294
+ errorAndStop: require_spinner_format.desc(SpinnerCtor.prototype.failAndStop),
295
+ warning: require_spinner_format.desc(SpinnerCtor.prototype.warn),
296
+ warningAndStop: require_spinner_format.desc(SpinnerCtor.prototype.warnAndStop)
297
+ });
298
+ return SpinnerCtor;
299
+ }
300
+
301
+ //#endregion
302
+ exports.createSpinnerClass = createSpinnerClass;
@@ -16,8 +16,8 @@ src_external__socketregistry_yocto_spinner = require_runtime.__toESM(src_externa
16
16
  * and memoized; `getDefaultSpinner()` defers `Spinner()` construction until
17
17
  * first call so module initialization stays cheap.
18
18
  */
19
- let _cliSpinners;
20
- let _spinner;
19
+ let cliSpinners;
20
+ let spinner;
21
21
  /**
22
22
  * Get available CLI spinner styles or a specific style by name. Extends the
23
23
  * standard cli-spinners collection with Socket custom spinners.
@@ -42,17 +42,16 @@ let _spinner;
42
42
  *
43
43
  * @see https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json
44
44
  */
45
- /*@__NO_SIDE_EFFECTS__*/
46
45
  function getCliSpinners(styleName) {
47
- if (_cliSpinners === void 0)
46
+ if (cliSpinners === void 0)
48
47
  /* c8 ignore stop */
49
- _cliSpinners = {
48
+ cliSpinners = {
50
49
  __proto__: null,
51
50
  ...(0, src_external__socketregistry_yocto_spinner.default)({}).constructor.spinners,
52
51
  socket: require_effects_pulse_frames.generateSocketSpinnerFrames()
53
52
  };
54
- if (typeof styleName === "string" && _cliSpinners) return /* @__PURE__ */ require_objects_predicates.hasOwn(_cliSpinners, styleName) ? _cliSpinners[styleName] : void 0;
55
- return _cliSpinners;
53
+ if (typeof styleName === "string" && cliSpinners) return require_objects_predicates.hasOwn(cliSpinners, styleName) ? cliSpinners[styleName] : void 0;
54
+ return cliSpinners;
56
55
  }
57
56
  /**
58
57
  * Get the default spinner instance. Lazily creates the spinner to avoid
@@ -70,8 +69,8 @@ function getCliSpinners(styleName) {
70
69
  * @returns Shared default spinner instance
71
70
  */
72
71
  function getDefaultSpinner() {
73
- if (_spinner === void 0) _spinner = /* @__PURE__ */ require_spinner_spinner.Spinner();
74
- return _spinner;
72
+ if (spinner === void 0) spinner = require_spinner_spinner.Spinner();
73
+ return spinner;
75
74
  }
76
75
 
77
76
  //#endregion
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @file Pure helpers extracted from the Socket `Spinner` class body: option
3
+ * parsing (theme/color resolution, shimmer config) and the shimmer rendering
4
+ * pass. Keeping these side-effect-free and outside the class keeps the class
5
+ * module focused on method wiring and under the file-size cap.
6
+ */
7
+ import type { ColorRgb } from '../colors/types';
8
+ import type { ShimmerInfo, SpinnerOptions } from './types';
9
+ /**
10
+ * Apply the shimmer effect to display text. Mutates the shimmer frame counter
11
+ * as it advances. Skips work in CI or when the direction is 'none'.
12
+ *
13
+ * @param displayText - Text to colorize.
14
+ * @param shimmer - Mutable shimmer state (frame counter is advanced).
15
+ * @param currentColor - The spinner's current RGB color (used for inherit).
16
+ *
17
+ * @returns Colorized text, or the input unchanged when shimmer is skipped.
18
+ */
19
+ export declare function applyShimmer(displayText: string, shimmer: ShimmerInfo, currentColor: ColorRgb): string;
20
+ /**
21
+ * Parse the shimmer option (object or direction string) into a `ShimmerInfo`.
22
+ *
23
+ * @param shimmer - The `shimmer` option value.
24
+ *
25
+ * @returns Parsed shimmer state, or undefined when shimmer is disabled.
26
+ */
27
+ export declare function parseShimmerOption(shimmer: SpinnerOptions['shimmer']): ShimmerInfo | undefined;
28
+ /**
29
+ * Resolve the spinner's RGB color from options and the active theme. Validates
30
+ * RGB tuples and falls back to the theme's primary color.
31
+ *
32
+ * @param opts - Normalized spinner options.
33
+ *
34
+ * @returns Resolved RGB color tuple.
35
+ */
36
+ export declare function resolveSpinnerColorRgb(options: SpinnerOptions): ColorRgb;
@@ -0,0 +1,105 @@
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
+ const require_primordials_array = require('../primordials/array.js');
6
+ const require_env_ci = require('../env/ci.js');
7
+ const require_themes_themes = require('../themes/themes.js');
8
+ const require_themes_context = require('../themes/context.js');
9
+ const require_colors_convert = require('../colors/convert.js');
10
+ const require_spinner_format = require('./format.js');
11
+ const require_effects_shimmer = require('../effects/shimmer.js');
12
+ const require_effects_shimmer_terminal = require('../effects/shimmer-terminal.js');
13
+ const require_themes_resolve = require('../themes/resolve.js');
14
+
15
+ //#region src/spinner/spinner-internals.ts
16
+ /**
17
+ * Apply the shimmer effect to display text. Mutates the shimmer frame counter
18
+ * as it advances. Skips work in CI or when the direction is 'none'.
19
+ *
20
+ * @param displayText - Text to colorize.
21
+ * @param shimmer - Mutable shimmer state (frame counter is advanced).
22
+ * @param currentColor - The spinner's current RGB color (used for inherit).
23
+ *
24
+ * @returns Colorized text, or the input unchanged when shimmer is skipped.
25
+ */
26
+ function applyShimmer(displayText, shimmer, currentColor) {
27
+ let shimmerColor;
28
+ if (shimmer.color === "inherit") shimmerColor = currentColor;
29
+ else if (require_primordials_array.ArrayIsArray(shimmer.color[0])) shimmerColor = shimmer.color;
30
+ else shimmerColor = require_colors_convert.toRgb(shimmer.color);
31
+ if (!require_env_ci.getCI() && shimmer.direction !== "none") {
32
+ const chars = [...displayText];
33
+ const colors = require_effects_shimmer.frameColors(require_effects_shimmer.configToSpec({
34
+ color: shimmerColor,
35
+ dir: shimmer.direction,
36
+ speed: shimmer.speed
37
+ }, chars.length), chars.length, shimmer.frame);
38
+ shimmer.frame++;
39
+ return require_effects_shimmer_terminal.colorsToAnsi(displayText, colors);
40
+ }
41
+ return displayText;
42
+ }
43
+ /**
44
+ * Parse the shimmer option (object or direction string) into a `ShimmerInfo`.
45
+ *
46
+ * @param shimmer - The `shimmer` option value.
47
+ *
48
+ * @returns Parsed shimmer state, or undefined when shimmer is disabled.
49
+ */
50
+ function parseShimmerOption(shimmer) {
51
+ if (!shimmer) return;
52
+ let shimmerDir;
53
+ let shimmerColor;
54
+ let shimmerSpeed = 1 / 3;
55
+ if (typeof shimmer === "string") {
56
+ shimmerDir = shimmer;
57
+ shimmerColor = require_spinner_format.COLOR_INHERIT;
58
+ } else {
59
+ const shimmerConfig = {
60
+ __proto__: null,
61
+ ...shimmer
62
+ };
63
+ shimmerDir = shimmerConfig.dir ?? "ltr";
64
+ shimmerColor = shimmerConfig.color ?? "inherit";
65
+ shimmerSpeed = shimmerConfig.speed ?? 1 / 3;
66
+ }
67
+ return {
68
+ __proto__: null,
69
+ color: shimmerColor,
70
+ direction: shimmerDir,
71
+ speed: shimmerSpeed,
72
+ frame: 0
73
+ };
74
+ }
75
+ /**
76
+ * Resolve the spinner's RGB color from options and the active theme. Validates
77
+ * RGB tuples and falls back to the theme's primary color.
78
+ *
79
+ * @param opts - Normalized spinner options.
80
+ *
81
+ * @returns Resolved RGB color tuple.
82
+ */
83
+ function resolveSpinnerColorRgb(options) {
84
+ options = {
85
+ __proto__: null,
86
+ ...options
87
+ };
88
+ let theme = require_themes_context.getTheme();
89
+ if (options.theme) if (typeof options.theme === "string") theme = require_themes_themes.THEMES[options.theme] ?? theme;
90
+ else theme = options.theme;
91
+ let defaultColor = theme.colors.primary;
92
+ if (theme.effects?.spinner?.color) {
93
+ const resolved = require_themes_resolve.resolveColor(theme.effects.spinner.color, theme.colors);
94
+ if (resolved === "inherit" || require_primordials_array.ArrayIsArray(resolved[0])) defaultColor = theme.colors.primary;
95
+ else defaultColor = resolved;
96
+ }
97
+ const spinnerColor = options.color ?? defaultColor;
98
+ if (require_colors_convert.isRgbTuple(spinnerColor) && (spinnerColor.length !== 3 || !spinnerColor.every((n) => typeof n === "number" && n >= 0 && n <= 255))) throw new require_primordials_error.TypeErrorCtor("RGB color must be an array of 3 numbers between 0 and 255");
99
+ return require_colors_convert.toRgb(spinnerColor);
100
+ }
101
+
102
+ //#endregion
103
+ exports.applyShimmer = applyShimmer;
104
+ exports.parseShimmerOption = parseShimmerOption;
105
+ exports.resolveSpinnerColorRgb = resolveSpinnerColorRgb;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @file Shimmer-configuration methods for the Socket `Spinner` class, split out
3
+ * of `create-spinner-class.ts` to keep that module under the file-size cap.
4
+ * The methods read and write the spinner's shimmer state through well-known
5
+ * symbols (`getShimmerSymbol`, `setShimmerSymbol`, `getSavedShimmerSymbol`,
6
+ * `setSavedShimmerSymbol`, `updateTextSymbol`) the class exposes, so they
7
+ * share the same private state without crossing the private-field boundary.
8
+ * `installShimmerMethods()` defines them on the prototype after the class is
9
+ * built.
10
+ */
11
+ import type { ShimmerInfo, SpinnerInstance } from './types';
12
+ /**
13
+ * Well-known symbol the spinner class exposes to read its current shimmer
14
+ * state.
15
+ */
16
+ export declare const getShimmerSymbol: unique symbol;
17
+ /**
18
+ * Well-known symbol the spinner class exposes to replace its current shimmer
19
+ * state.
20
+ */
21
+ export declare const setShimmerSymbol: unique symbol;
22
+ /**
23
+ * Well-known symbol the spinner class exposes to read the saved shimmer config
24
+ * that `enableShimmer()` restores from.
25
+ */
26
+ export declare const getSavedShimmerSymbol: unique symbol;
27
+ /**
28
+ * Well-known symbol the spinner class exposes to replace the saved shimmer
29
+ * config.
30
+ */
31
+ export declare const setSavedShimmerSymbol: unique symbol;
32
+ /**
33
+ * Well-known symbol the spinner class exposes for its `#updateSpinnerText`
34
+ * helper so the shimmer methods can trigger a re-render after a state change.
35
+ */
36
+ export declare const updateTextSymbol: unique symbol;
37
+ /**
38
+ * Runtime shape of the spinner instance the shimmer methods operate on.
39
+ */
40
+ export type ShimmerHost = SpinnerInstance & {
41
+ [getShimmerSymbol]: () => ShimmerInfo | undefined;
42
+ [setShimmerSymbol]: (value: ShimmerInfo | undefined) => void;
43
+ [getSavedShimmerSymbol]: () => ShimmerInfo | undefined;
44
+ [setSavedShimmerSymbol]: (value: ShimmerInfo | undefined) => void;
45
+ [updateTextSymbol]: () => void;
46
+ };
47
+ /**
48
+ * Install the shimmer-configuration methods + `shimmerState` getter onto the
49
+ * spinner prototype. The methods reach the spinner's private shimmer state
50
+ * through the well-known symbols the class exposes.
51
+ *
52
+ * @param proto - The spinner class prototype to augment.
53
+ */
54
+ export declare function installShimmerMethods(proto: object): void;
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_spinner_format = require('./format.js');
5
+
6
+ //#region src/spinner/spinner-shimmer-methods.ts
7
+ /**
8
+ * Well-known symbol the spinner class exposes to read its current shimmer
9
+ * state.
10
+ */
11
+ const getShimmerSymbol = Symbol.for("socket.spinner.getShimmer");
12
+ /**
13
+ * Well-known symbol the spinner class exposes to replace its current shimmer
14
+ * state.
15
+ */
16
+ const setShimmerSymbol = Symbol.for("socket.spinner.setShimmer");
17
+ /**
18
+ * Well-known symbol the spinner class exposes to read the saved shimmer config
19
+ * that `enableShimmer()` restores from.
20
+ */
21
+ const getSavedShimmerSymbol = Symbol.for("socket.spinner.getSavedShimmer");
22
+ /**
23
+ * Well-known symbol the spinner class exposes to replace the saved shimmer
24
+ * config.
25
+ */
26
+ const setSavedShimmerSymbol = Symbol.for("socket.spinner.setSavedShimmer");
27
+ /**
28
+ * Well-known symbol the spinner class exposes for its `#updateSpinnerText`
29
+ * helper so the shimmer methods can trigger a re-render after a state change.
30
+ */
31
+ const updateTextSymbol = Symbol.for("socket.spinner.updateText");
32
+ /**
33
+ * Install the shimmer-configuration methods + `shimmerState` getter onto the
34
+ * spinner prototype. The methods reach the spinner's private shimmer state
35
+ * through the well-known symbols the class exposes.
36
+ *
37
+ * @param proto - The spinner class prototype to augment.
38
+ */
39
+ function installShimmerMethods(proto) {
40
+ const target = proto;
41
+ function shimmerState() {
42
+ const shimmer = this[getShimmerSymbol]();
43
+ if (!shimmer) return;
44
+ return {
45
+ __proto__: null,
46
+ color: shimmer.color,
47
+ direction: shimmer.direction,
48
+ speed: shimmer.speed,
49
+ frame: shimmer.frame
50
+ };
51
+ }
52
+ function disableShimmer() {
53
+ this[setShimmerSymbol](void 0);
54
+ this[updateTextSymbol]();
55
+ return this;
56
+ }
57
+ function enableShimmer() {
58
+ const saved = this[getSavedShimmerSymbol]();
59
+ if (saved) this[setShimmerSymbol]({
60
+ ...saved,
61
+ frame: 0
62
+ });
63
+ else {
64
+ const next = {
65
+ __proto__: null,
66
+ color: require_spinner_format.COLOR_INHERIT,
67
+ direction: "ltr",
68
+ speed: 1 / 3,
69
+ frame: 0
70
+ };
71
+ this[setShimmerSymbol](next);
72
+ this[setSavedShimmerSymbol](next);
73
+ }
74
+ this[updateTextSymbol]();
75
+ return this;
76
+ }
77
+ function setShimmer(config) {
78
+ const next = {
79
+ __proto__: null,
80
+ color: config.color ?? "inherit",
81
+ direction: config.dir ?? "ltr",
82
+ speed: config.speed ?? 1 / 3,
83
+ frame: 0
84
+ };
85
+ this[setShimmerSymbol](next);
86
+ this[setSavedShimmerSymbol](next);
87
+ this[updateTextSymbol]();
88
+ return this;
89
+ }
90
+ function updateShimmer(config) {
91
+ /* c8 ignore start - each partial-config field branch fires only when caller updates that field; shimmer-state cascade covers three init paths */
92
+ const partialConfig = {
93
+ __proto__: null,
94
+ ...config
95
+ };
96
+ const update = { __proto__: null };
97
+ if (partialConfig.color !== void 0) update.color = partialConfig.color;
98
+ if (partialConfig.dir !== void 0) update.direction = partialConfig.dir;
99
+ if (partialConfig.speed !== void 0) update.speed = partialConfig.speed;
100
+ const shimmer = this[getShimmerSymbol]();
101
+ const saved = this[getSavedShimmerSymbol]();
102
+ let next;
103
+ if (shimmer) next = {
104
+ ...shimmer,
105
+ ...update
106
+ };
107
+ else if (saved) next = {
108
+ ...saved,
109
+ ...update,
110
+ frame: 0
111
+ };
112
+ else next = {
113
+ __proto__: null,
114
+ color: require_spinner_format.COLOR_INHERIT,
115
+ direction: "ltr",
116
+ speed: 1 / 3,
117
+ frame: 0,
118
+ ...update
119
+ };
120
+ this[setShimmerSymbol](next);
121
+ this[setSavedShimmerSymbol](next);
122
+ this[updateTextSymbol]();
123
+ return this;
124
+ /* c8 ignore stop */
125
+ }
126
+ Object.defineProperty(target, "shimmerState", {
127
+ configurable: true,
128
+ enumerable: false,
129
+ get: shimmerState
130
+ });
131
+ target["disableShimmer"] = disableShimmer;
132
+ target["enableShimmer"] = enableShimmer;
133
+ target["setShimmer"] = setShimmer;
134
+ target["updateShimmer"] = updateShimmer;
135
+ }
136
+
137
+ //#endregion
138
+ exports.getSavedShimmerSymbol = getSavedShimmerSymbol;
139
+ exports.getShimmerSymbol = getShimmerSymbol;
140
+ exports.installShimmerMethods = installShimmerMethods;
141
+ exports.setSavedShimmerSymbol = setSavedShimmerSymbol;
142
+ exports.setShimmerSymbol = setShimmerSymbol;
143
+ exports.updateTextSymbol = updateTextSymbol;