@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,39 @@
1
+ /**
2
+ * @file Constructor-options parsing for the `Logger` class. Pulls the
3
+ * options-shape inspection (null-prototype clone, original-stdout capture,
4
+ * theme-name-or-object resolution) out of `./node` so the class constructor
5
+ * stays a thin shell over `parseLoggerOptions`. Returns a normalized
6
+ * `ParsedLoggerOptions`; the constructor copies the fields onto its private
7
+ * slots.
8
+ */
9
+ import type { Theme } from '../themes/types';
10
+ /**
11
+ * The normalized result of inspecting the first `Logger` constructor argument.
12
+ */
13
+ export interface ParsedLoggerOptions {
14
+ /**
15
+ * Null-prototype clone of the options object (empty when no options were
16
+ * passed). Stored for future extensibility.
17
+ */
18
+ options: Record<string, unknown>;
19
+ /**
20
+ * The caller-supplied stdout stream, used by `write()` to bypass Console
21
+ * formatting. `undefined` when not provided.
22
+ */
23
+ originalStdout: NodeJS.WritableStream | undefined;
24
+ /**
25
+ * The resolved instance theme: a `THEMES` entry when a theme name was given,
26
+ * the object itself when a `Theme` was given, or `undefined` otherwise.
27
+ */
28
+ theme: Theme | undefined;
29
+ }
30
+ /**
31
+ * Parse the first `Logger` constructor argument into normalized option slots.
32
+ *
33
+ * A `theme` string is resolved against `THEMES` (unknown names yield no theme);
34
+ * a `theme` object is used directly. When the first argument is not an object,
35
+ * every slot defaults (empty null-prototype options, no stdout, no theme).
36
+ *
37
+ * @param args - The raw `Logger` constructor arguments.
38
+ */
39
+ export declare function parseLoggerOptions(args: unknown[]): ParsedLoggerOptions;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_themes_themes = require('../themes/themes.js');
5
+
6
+ //#region src/logger/options.ts
7
+ /**
8
+ * @file Constructor-options parsing for the `Logger` class. Pulls the
9
+ * options-shape inspection (null-prototype clone, original-stdout capture,
10
+ * theme-name-or-object resolution) out of `./node` so the class constructor
11
+ * stays a thin shell over `parseLoggerOptions`. Returns a normalized
12
+ * `ParsedLoggerOptions`; the constructor copies the fields onto its private
13
+ * slots.
14
+ */
15
+ /**
16
+ * Parse the first `Logger` constructor argument into normalized option slots.
17
+ *
18
+ * A `theme` string is resolved against `THEMES` (unknown names yield no theme);
19
+ * a `theme` object is used directly. When the first argument is not an object,
20
+ * every slot defaults (empty null-prototype options, no stdout, no theme).
21
+ *
22
+ * @param args - The raw `Logger` constructor arguments.
23
+ */
24
+ function parseLoggerOptions(args) {
25
+ const options = args[0];
26
+ if (typeof options !== "object" || options === null) return {
27
+ options: { __proto__: null },
28
+ originalStdout: void 0,
29
+ theme: void 0
30
+ };
31
+ const originalStdout = options.stdout;
32
+ const themeOption = options.theme;
33
+ let theme;
34
+ if (typeof themeOption === "string") theme = require_themes_themes.THEMES[themeOption] ?? void 0;
35
+ else if (themeOption) theme = themeOption;
36
+ return {
37
+ options: {
38
+ __proto__: null,
39
+ ...options
40
+ },
41
+ originalStdout,
42
+ theme
43
+ };
44
+ }
45
+
46
+ //#endregion
47
+ exports.parseLoggerOptions = parseLoggerOptions;
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @file Free-function bodies for the symbol-prefixed semantic `Logger` methods
3
+ * (`done`, `fail`, `info`, `skip`, `step`, `success`, `warn`). Each strips
4
+ * any leading status symbol from the message, re-prefixes it with the theme's
5
+ * colored symbol, writes to the appropriate stream (status messages to
6
+ * stderr, `step` to stdout), and updates the shared blank-line / call-count
7
+ * tracking via the exported logger symbols. Pulling these out of `./node`
8
+ * keeps the `Logger` class body under the file-size cap. The class retains
9
+ * one-line delegators that resolve `con` / `indent` / `symbols` from its
10
+ * private state and forward them here.
11
+ */
12
+ import type { ConsoleLike, LoggerTrackable } from './console-methods';
13
+ import type { LogSymbols } from './types';
14
+ /**
15
+ * Apply a `node:console` method with the given indentation prefix on its first
16
+ * (string) argument.
17
+ *
18
+ * Mirrors the former private `#apply`: when the first argument is a string it
19
+ * is line-prefixed with `indent`; otherwise the args pass through unchanged.
20
+ * Tracks the blank-line state for `targetStream` and bumps the call count.
21
+ * Returns the logger for chaining.
22
+ *
23
+ * @param logger - The calling logger instance.
24
+ * @param con - The logger's resolved console instance.
25
+ * @param methodName - The `node:console` method to invoke (`log`, `error`,
26
+ * ...).
27
+ * @param args - The arguments forwarded to the console method.
28
+ * @param targetStream - The stream the method writes to.
29
+ * @param indent - The resolved indentation prefix for `targetStream`.
30
+ */
31
+ export declare function applyMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, methodName: string, args: unknown[], targetStream: 'stderr' | 'stdout', indent: string): T;
32
+ /**
33
+ * Logs a main step message with a colored arrow symbol to stdout.
34
+ *
35
+ * Strips any leading status symbol from `msg`, re-prefixes it with the theme's
36
+ * `step` symbol, and writes to stdout (unlike the other semantic methods, which
37
+ * go to stderr). The blank line before the step is handled by the caller.
38
+ * Returns the logger for chaining.
39
+ *
40
+ * @param logger - The calling logger instance.
41
+ * @param con - The logger's resolved console instance.
42
+ * @param indent - The resolved stdout indentation prefix.
43
+ * @param symbols - The logger's resolved `LogSymbols` map.
44
+ * @param msg - The step message to log.
45
+ * @param extras - Additional arguments to log.
46
+ */
47
+ export declare function stepMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, indent: string, symbols: LogSymbols, msg: string, extras: unknown[]): T;
48
+ /**
49
+ * Strip a leading status symbol, re-prefix with the colored symbol for
50
+ * `symbolType`, and write to stderr.
51
+ *
52
+ * Mirrors the former private `#symbolApply`: status messages (info / fail /
53
+ * success / warn / skip / done) always go to stderr. Returns the logger for
54
+ * chaining.
55
+ *
56
+ * @param logger - The calling logger instance.
57
+ * @param con - The logger's resolved console instance.
58
+ * @param indent - The resolved stderr indentation prefix.
59
+ * @param symbols - The logger's resolved `LogSymbols` map.
60
+ * @param symbolType - The `LogSymbols` key whose symbol prefixes the message.
61
+ * @param args - The message and additional arguments to log.
62
+ */
63
+ export declare function symbolApplyMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, indent: string, symbols: LogSymbols, symbolType: string, args: unknown[]): T;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_array = require('../primordials/array.js');
5
+ const require_primordials_reflect = require('../primordials/reflect.js');
6
+ const require_logger_symbols_builder = require('./symbols-builder.js');
7
+ const require_logger_symbols = require('./symbols.js');
8
+ const require_strings_format = require('../strings/format.js');
9
+ const require_strings_predicates = require('../strings/predicates.js');
10
+
11
+ //#region src/logger/semantic-methods.ts
12
+ /**
13
+ * @file Free-function bodies for the symbol-prefixed semantic `Logger` methods
14
+ * (`done`, `fail`, `info`, `skip`, `step`, `success`, `warn`). Each strips
15
+ * any leading status symbol from the message, re-prefixes it with the theme's
16
+ * colored symbol, writes to the appropriate stream (status messages to
17
+ * stderr, `step` to stdout), and updates the shared blank-line / call-count
18
+ * tracking via the exported logger symbols. Pulling these out of `./node`
19
+ * keeps the `Logger` class body under the file-size cap. The class retains
20
+ * one-line delegators that resolve `con` / `indent` / `symbols` from its
21
+ * private state and forward them here.
22
+ */
23
+ /**
24
+ * Apply a `node:console` method with the given indentation prefix on its first
25
+ * (string) argument.
26
+ *
27
+ * Mirrors the former private `#apply`: when the first argument is a string it
28
+ * is line-prefixed with `indent`; otherwise the args pass through unchanged.
29
+ * Tracks the blank-line state for `targetStream` and bumps the call count.
30
+ * Returns the logger for chaining.
31
+ *
32
+ * @param logger - The calling logger instance.
33
+ * @param con - The logger's resolved console instance.
34
+ * @param methodName - The `node:console` method to invoke (`log`, `error`,
35
+ * ...).
36
+ * @param args - The arguments forwarded to the console method.
37
+ * @param targetStream - The stream the method writes to.
38
+ * @param indent - The resolved indentation prefix for `targetStream`.
39
+ */
40
+ function applyMethod(logger, con, methodName, args, targetStream, indent) {
41
+ const text = require_primordials_array.ArrayPrototypeAt(args, 0);
42
+ const hasText = typeof text === "string";
43
+ const logArgs = hasText ? [require_strings_format.applyLinePrefix(text, { prefix: indent }), ...require_primordials_array.ArrayPrototypeSlice(args, 1)] : args;
44
+ require_primordials_reflect.ReflectApply(con[methodName], con, logArgs);
45
+ logger[require_logger_symbols.lastWasBlankSymbol](hasText && require_strings_predicates.isBlankString(logArgs[0]), targetStream);
46
+ logger[require_logger_symbols.incLogCallCountSymbol]();
47
+ return logger;
48
+ }
49
+ /**
50
+ * Logs a main step message with a colored arrow symbol to stdout.
51
+ *
52
+ * Strips any leading status symbol from `msg`, re-prefixes it with the theme's
53
+ * `step` symbol, and writes to stdout (unlike the other semantic methods, which
54
+ * go to stderr). The blank line before the step is handled by the caller.
55
+ * Returns the logger for chaining.
56
+ *
57
+ * @param logger - The calling logger instance.
58
+ * @param con - The logger's resolved console instance.
59
+ * @param indent - The resolved stdout indentation prefix.
60
+ * @param symbols - The logger's resolved `LogSymbols` map.
61
+ * @param msg - The step message to log.
62
+ * @param extras - Additional arguments to log.
63
+ */
64
+ function stepMethod(logger, con, indent, symbols, msg, extras) {
65
+ const text = require_logger_symbols_builder.stripLoggerSymbols(msg);
66
+ con.log(require_strings_format.applyLinePrefix(`${symbols.step} ${text}`, { prefix: indent }), ...extras);
67
+ logger[require_logger_symbols.lastWasBlankSymbol](false, "stdout");
68
+ logger[require_logger_symbols.incLogCallCountSymbol]();
69
+ return logger;
70
+ }
71
+ /**
72
+ * Strip a leading status symbol, re-prefix with the colored symbol for
73
+ * `symbolType`, and write to stderr.
74
+ *
75
+ * Mirrors the former private `#symbolApply`: status messages (info / fail /
76
+ * success / warn / skip / done) always go to stderr. Returns the logger for
77
+ * chaining.
78
+ *
79
+ * @param logger - The calling logger instance.
80
+ * @param con - The logger's resolved console instance.
81
+ * @param indent - The resolved stderr indentation prefix.
82
+ * @param symbols - The logger's resolved `LogSymbols` map.
83
+ * @param symbolType - The `LogSymbols` key whose symbol prefixes the message.
84
+ * @param args - The message and additional arguments to log.
85
+ */
86
+ function symbolApplyMethod(logger, con, indent, symbols, symbolType, args) {
87
+ let text = args[0];
88
+ let extras;
89
+ /* c8 ignore start - text-non-string arm fires only when caller passes
90
+ an object as the first argument; tests always pass a string. */
91
+ if (typeof text === "string") {
92
+ text = require_logger_symbols_builder.stripLoggerSymbols(text);
93
+ extras = args.slice(1);
94
+ } else {
95
+ extras = args;
96
+ text = "";
97
+ }
98
+ /* c8 ignore stop */
99
+ con.error(require_strings_format.applyLinePrefix(`${symbols[symbolType]} ${text}`, { prefix: indent }), ...extras);
100
+ logger[require_logger_symbols.lastWasBlankSymbol](false, "stderr");
101
+ logger[require_logger_symbols.incLogCallCountSymbol]();
102
+ return logger;
103
+ }
104
+
105
+ //#endregion
106
+ exports.applyMethod = applyMethod;
107
+ exports.stepMethod = stepMethod;
108
+ exports.symbolApplyMethod = symbolApplyMethod;
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @file Free-function bodies for the `Logger` methods that write to or clear a
3
+ * raw stream rather than going through the indented `#apply` path
4
+ * (`clearLine`, `clearVisible`, `progress`, `write`). Each takes the calling
5
+ * logger plus the already-resolved `node:console` instance and whatever
6
+ * stream / symbol state it needs, then updates the shared blank-line /
7
+ * call-count tracking via the exported logger symbols. Pulling these out of
8
+ * `./node` keeps the `Logger` class body under the file-size cap; the class
9
+ * retains one-line delegators that resolve the arguments from its private
10
+ * state.
11
+ */
12
+ import type { ConsoleLike, LoggerTrackable } from './console-methods';
13
+ import type { LogSymbols } from './types';
14
+ /**
15
+ * Clears the current terminal line on the logger's target stream (TTY and
16
+ * non-TTY). Useful after `progress()`. Returns the logger for chaining.
17
+ *
18
+ * @param logger - The calling logger instance.
19
+ * @param con - The logger's resolved console instance.
20
+ * @param stream - The target stream to clear.
21
+ */
22
+ export declare function clearLineMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, stream: 'stderr' | 'stdout'): T;
23
+ /**
24
+ * Clears the visible terminal screen. Only valid on the main (non-stream-bound)
25
+ * logger. When the underlying stdout is a TTY, resets blank-line tracking and
26
+ * invokes `resetCount` to zero the log-call counter. Returns the logger for
27
+ * chaining.
28
+ *
29
+ * @param logger - The calling logger instance.
30
+ * @param con - The logger's resolved console instance.
31
+ * @param boundStream - The logger's bound stream, or `undefined` on the root.
32
+ * @param resetCount - Callback that zeroes the logger's log-call counter.
33
+ *
34
+ * @throws {Error} If called on a stream-bound logger instance.
35
+ */
36
+ export declare function clearVisibleMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, boundStream: 'stderr' | 'stdout' | undefined, resetCount: () => void): T;
37
+ /**
38
+ * Shows a progress indicator (a `∴`-prefixed status message) that can be
39
+ * cleared with `clearLine()`. Always clears the current line first so repeated
40
+ * `progress(...)` calls redraw cleanly. Returns the logger for chaining.
41
+ *
42
+ * @param logger - The calling logger instance.
43
+ * @param con - The logger's resolved console instance.
44
+ * @param stream - The target stream to write to.
45
+ * @param symbols - The logger's resolved `LogSymbols` map.
46
+ * @param text - The progress message to display.
47
+ */
48
+ export declare function progressMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, stream: 'stderr' | 'stdout', symbols: LogSymbols, text: string): T;
49
+ /**
50
+ * Writes text directly to the original stdout stream, bypassing Console
51
+ * formatting and applying no indentation. Returns the logger for chaining.
52
+ *
53
+ * The original stdout is resolved with a three-way fallback: the seeded
54
+ * `originalStdout`, then the constructor args' `stdout`, then the Console's
55
+ * internal `_stdout` slot.
56
+ *
57
+ * @param logger - The calling logger instance.
58
+ * @param con - The logger's resolved console instance.
59
+ * @param originalStdout - The stdout seeded at construction, if any.
60
+ * @param ctorArgs - The logger's stored constructor args.
61
+ * @param text - The text to write.
62
+ */
63
+ export declare function writeMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, originalStdout: NodeJS.WritableStream | undefined, ctorArgs: unknown[], text: string): T;
@@ -0,0 +1,101 @@
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_logger_symbols = require('./symbols.js');
6
+ const require_logger_stream = require('./stream.js');
7
+
8
+ //#region src/logger/stream-methods.ts
9
+ /**
10
+ * @file Free-function bodies for the `Logger` methods that write to or clear a
11
+ * raw stream rather than going through the indented `#apply` path
12
+ * (`clearLine`, `clearVisible`, `progress`, `write`). Each takes the calling
13
+ * logger plus the already-resolved `node:console` instance and whatever
14
+ * stream / symbol state it needs, then updates the shared blank-line /
15
+ * call-count tracking via the exported logger symbols. Pulling these out of
16
+ * `./node` keeps the `Logger` class body under the file-size cap; the class
17
+ * retains one-line delegators that resolve the arguments from its private
18
+ * state.
19
+ */
20
+ /**
21
+ * Clears the current terminal line on the logger's target stream (TTY and
22
+ * non-TTY). Useful after `progress()`. Returns the logger for chaining.
23
+ *
24
+ * @param logger - The calling logger instance.
25
+ * @param con - The logger's resolved console instance.
26
+ * @param stream - The target stream to clear.
27
+ */
28
+ function clearLineMethod(logger, con, stream) {
29
+ require_logger_stream.clearTerminalLine(require_logger_stream.resolveWriteStream(con, stream));
30
+ return logger;
31
+ }
32
+ /**
33
+ * Clears the visible terminal screen. Only valid on the main (non-stream-bound)
34
+ * logger. When the underlying stdout is a TTY, resets blank-line tracking and
35
+ * invokes `resetCount` to zero the log-call counter. Returns the logger for
36
+ * chaining.
37
+ *
38
+ * @param logger - The calling logger instance.
39
+ * @param con - The logger's resolved console instance.
40
+ * @param boundStream - The logger's bound stream, or `undefined` on the root.
41
+ * @param resetCount - Callback that zeroes the logger's log-call counter.
42
+ *
43
+ * @throws {Error} If called on a stream-bound logger instance.
44
+ */
45
+ function clearVisibleMethod(logger, con, boundStream, resetCount) {
46
+ /* c8 ignore start - clearVisible TTY-mode behavior; tests use non-TTY
47
+ capture streams so the bound-stream throw and TTY clear branches
48
+ aren't reached. */
49
+ if (boundStream) throw new require_primordials_error.ErrorCtor("clearVisible() is only available on the main logger instance, not on stream-bound instances");
50
+ con.clear();
51
+ if (con["_stdout"].isTTY) {
52
+ logger[require_logger_symbols.lastWasBlankSymbol](true);
53
+ resetCount();
54
+ }
55
+ return logger;
56
+ /* c8 ignore stop */
57
+ }
58
+ /**
59
+ * Shows a progress indicator (a `∴`-prefixed status message) that can be
60
+ * cleared with `clearLine()`. Always clears the current line first so repeated
61
+ * `progress(...)` calls redraw cleanly. Returns the logger for chaining.
62
+ *
63
+ * @param logger - The calling logger instance.
64
+ * @param con - The logger's resolved console instance.
65
+ * @param stream - The target stream to write to.
66
+ * @param symbols - The logger's resolved `LogSymbols` map.
67
+ * @param text - The progress message to display.
68
+ */
69
+ function progressMethod(logger, con, stream, symbols, text) {
70
+ const streamObj = require_logger_stream.resolveWriteStream(con, stream);
71
+ require_logger_stream.clearTerminalLine(streamObj);
72
+ streamObj.write(`${symbols.progress} ${text}`);
73
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
74
+ return logger;
75
+ }
76
+ /**
77
+ * Writes text directly to the original stdout stream, bypassing Console
78
+ * formatting and applying no indentation. Returns the logger for chaining.
79
+ *
80
+ * The original stdout is resolved with a three-way fallback: the seeded
81
+ * `originalStdout`, then the constructor args' `stdout`, then the Console's
82
+ * internal `_stdout` slot.
83
+ *
84
+ * @param logger - The calling logger instance.
85
+ * @param con - The logger's resolved console instance.
86
+ * @param originalStdout - The stdout seeded at construction, if any.
87
+ * @param ctorArgs - The logger's stored constructor args.
88
+ * @param text - The text to write.
89
+ */
90
+ function writeMethod(logger, con, originalStdout, ctorArgs, text) {
91
+ /* c8 ignore stop */
92
+ (originalStdout || ctorArgs[0]?.stdout || con._stdout).write(text);
93
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
94
+ return logger;
95
+ }
96
+
97
+ //#endregion
98
+ exports.clearLineMethod = clearLineMethod;
99
+ exports.clearVisibleMethod = clearVisibleMethod;
100
+ exports.progressMethod = progressMethod;
101
+ exports.writeMethod = writeMethod;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @file Terminal stream resolution + line-clearing helpers shared by the
3
+ * Node-side `Logger` methods that write directly to a stream (`clearLine`,
4
+ * `clearVisible`, `progress`). The Logger's `node:console` instance keeps its
5
+ * underlying writable streams on the internal `_stderr` / `_stdout` symbols;
6
+ * these helpers resolve the right one for a given target stream and
7
+ * centralize the TTY-vs-non-TTY clear sequence (`cursorTo(0) + clearLine(0)`
8
+ * on a TTY, `\r\x1b[K` fallback elsewhere — which still works in CI logs).
9
+ */
10
+ /**
11
+ * Clear the current line on a writable stream. Uses `cursorTo(0) +
12
+ * clearLine(0)` on a TTY and falls back to `\r\x1b[K` otherwise so the same
13
+ * call redraws cleanly in both interactive terminals and CI logs.
14
+ *
15
+ * @param streamObj - The resolved writable stream to clear.
16
+ */
17
+ export declare function clearTerminalLine(streamObj: WriteStreamLike): void;
18
+ /**
19
+ * Subset of `NodeJS.WriteStream` the logger needs for direct, cursor-aware
20
+ * writes. Modeled as a structural shape so the cast off the console's internal
21
+ * `_stderr` / `_stdout` slots stays explicit.
22
+ */
23
+ export interface WriteStreamLike {
24
+ isTTY: boolean;
25
+ cursorTo: (x: number) => void;
26
+ clearLine: (dir: number) => void;
27
+ write: (text: string) => boolean;
28
+ }
29
+ /**
30
+ * Resolve the underlying writable stream for a target stream from a console
31
+ * instance, casting from the console's internal `_stderr` / `_stdout` slots to
32
+ * the cursor-aware shape the logger writes to directly.
33
+ *
34
+ * @param con - The console instance exposing `_stderr` / `_stdout`.
35
+ * @param stream - Which target stream to resolve.
36
+ */
37
+ export declare function resolveWriteStream(con: Record<string, unknown>, stream: 'stderr' | 'stdout'): WriteStreamLike;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ //#region src/logger/stream.ts
6
+ /**
7
+ * @file Terminal stream resolution + line-clearing helpers shared by the
8
+ * Node-side `Logger` methods that write directly to a stream (`clearLine`,
9
+ * `clearVisible`, `progress`). The Logger's `node:console` instance keeps its
10
+ * underlying writable streams on the internal `_stderr` / `_stdout` symbols;
11
+ * these helpers resolve the right one for a given target stream and
12
+ * centralize the TTY-vs-non-TTY clear sequence (`cursorTo(0) + clearLine(0)`
13
+ * on a TTY, `\r\x1b[K` fallback elsewhere — which still works in CI logs).
14
+ */
15
+ /**
16
+ * Clear the current line on a writable stream. Uses `cursorTo(0) +
17
+ * clearLine(0)` on a TTY and falls back to `\r\x1b[K` otherwise so the same
18
+ * call redraws cleanly in both interactive terminals and CI logs.
19
+ *
20
+ * @param streamObj - The resolved writable stream to clear.
21
+ */
22
+ function clearTerminalLine(streamObj) {
23
+ if (streamObj.isTTY) {
24
+ streamObj.cursorTo(0);
25
+ streamObj.clearLine(0);
26
+ } else streamObj.write("\r\x1B[K");
27
+ }
28
+ /**
29
+ * Resolve the underlying writable stream for a target stream from a console
30
+ * instance, casting from the console's internal `_stderr` / `_stdout` slots to
31
+ * the cursor-aware shape the logger writes to directly.
32
+ *
33
+ * @param con - The console instance exposing `_stderr` / `_stdout`.
34
+ * @param stream - Which target stream to resolve.
35
+ */
36
+ function resolveWriteStream(con, stream) {
37
+ return stream === "stderr" ? con["_stderr"] : con["_stdout"];
38
+ }
39
+
40
+ //#endregion
41
+ exports.clearTerminalLine = clearTerminalLine;
42
+ exports.resolveWriteStream = resolveWriteStream;
@@ -26,18 +26,18 @@ src_external__socketregistry_is_unicode_supported = require_runtime.__toESM(src_
26
26
  */
27
27
  function buildLoggerSymbols(theme) {
28
28
  const supported = (0, src_external__socketregistry_is_unicode_supported.default)();
29
- const colors = /* @__PURE__ */ require_logger_colors.getYoctocolors();
29
+ const colors = require_logger_colors.getYoctocolors();
30
30
  /* c8 ignore start - ASCII-fallback symbol arms only fire on
31
31
  terminals without unicode support; tests run on unicode TTYs. */
32
32
  return {
33
33
  __proto__: null,
34
- fail: /* @__PURE__ */ require_logger_colors.applyColor(supported ? "✖" : "×", theme.colors.error, colors),
35
- info: /* @__PURE__ */ require_logger_colors.applyColor(supported ? "ℹ" : "i", theme.colors.info, colors),
36
- progress: /* @__PURE__ */ require_logger_colors.applyColor(supported ? "∴" : ":.", theme.colors.step, colors),
37
- skip: /* @__PURE__ */ require_logger_colors.applyColor(supported ? "↻" : "@", theme.colors.step, colors),
38
- step: /* @__PURE__ */ require_logger_colors.applyColor(supported ? "→" : ">", theme.colors.step, colors),
39
- success: /* @__PURE__ */ require_logger_colors.applyColor(supported ? "✔" : "√", theme.colors.success, colors),
40
- warn: /* @__PURE__ */ require_logger_colors.applyColor(supported ? "⚠" : "‼", theme.colors.warning, colors)
34
+ fail: require_logger_colors.applyColor(supported ? "✖" : "×", theme.colors.error, colors),
35
+ info: require_logger_colors.applyColor(supported ? "ℹ" : "i", theme.colors.info, colors),
36
+ progress: require_logger_colors.applyColor(supported ? "∴" : ":.", theme.colors.step, colors),
37
+ skip: require_logger_colors.applyColor(supported ? "↻" : "@", theme.colors.step, colors),
38
+ step: require_logger_colors.applyColor(supported ? "→" : ">", theme.colors.step, colors),
39
+ success: require_logger_colors.applyColor(supported ? "✔" : "√", theme.colors.success, colors),
40
+ warn: require_logger_colors.applyColor(supported ? "⚠" : "‼", theme.colors.warning, colors)
41
41
  };
42
42
  /* c8 ignore stop */
43
43
  }
@@ -51,7 +51,7 @@ function buildLoggerSymbols(theme) {
51
51
  * input becomes `'Done'`.
52
52
  */
53
53
  function stripLoggerSymbols(text) {
54
- return require_primordials_string.StringPrototypeReplace(text, /^(?:[✖✗×⚠‼✔✓√ℹ→∴↻]|:.)[️\s]*/u, "");
54
+ return require_primordials_string.StringPrototypeReplace(text, /^(?::.|[✖✗×⚠‼✔✓√ℹ→∴↻])[️\s]*/u, "");
55
55
  }
56
56
 
57
57
  //#endregion
@@ -8,6 +8,8 @@
8
8
  * are configured) and re-renders whenever `setTheme()` fires
9
9
  * `onThemeChange`.
10
10
  */
11
+ export declare function createLogSymbols(): Record<string, string>;
12
+ export declare function createLogSymbolsProxyPlaceholder(): void;
11
13
  /**
12
14
  * Lazily get console symbols on first access.
13
15
  *
@@ -33,29 +35,4 @@ export declare const incLogCallCountSymbol: unique symbol;
33
35
  * determine whether to add spacing before certain messages.
34
36
  */
35
37
  export declare const lastWasBlankSymbol: unique symbol;
36
- /**
37
- * Log symbols for terminal output with colored indicators.
38
- *
39
- * Provides colored Unicode symbols (✖, ℹ, ∴, →, ✔, ⚠) with ASCII fallbacks (×,
40
- * i, :., >, √, ‼) for terminals that don't support Unicode. Symbols are colored
41
- * according to the active theme's color palette (error, info, reason, step,
42
- * success, warning).
43
- *
44
- * The symbols are lazily initialized on first access and automatically update
45
- * when the fallback theme changes (via setTheme()). Note that LOG_SYMBOLS
46
- * reflect the global fallback theme, not async-local theme contexts from
47
- * withTheme().
48
- *
49
- * @example
50
- * ```typescript
51
- * import { LOG_SYMBOLS } from '@socketsecurity/lib/logger/symbols'
52
- *
53
- * console.log(`${LOG_SYMBOLS.fail} Build failed`) // Theme error color ✖
54
- * console.log(`${LOG_SYMBOLS.info} Starting process`) // Theme info color ℹ
55
- * console.log(`${LOG_SYMBOLS.progress} Working on task`) // Theme step color ∴
56
- * console.log(`${LOG_SYMBOLS.step} Processing files`) // Theme step color →
57
- * console.log(`${LOG_SYMBOLS.success} Build completed`) // Theme success color ✔
58
- * console.log(`${LOG_SYMBOLS.warn} Deprecated API used`) // Theme warning color ⚠
59
- * ```
60
- */
61
38
  export declare const LOG_SYMBOLS: Record<string, string>;