@socketsecurity/lib 6.0.6 → 6.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/dist/ai/discover.d.mts +2 -2
  3. package/dist/ai/discover.js +3 -2
  4. package/dist/ai/spawn.js +2 -1
  5. package/dist/ai/types.d.mts +18 -6
  6. package/dist/ai/worktree.d.mts +6 -6
  7. package/dist/ai/worktree.js +1 -1
  8. package/dist/ansi/strip.d.ts +1 -1
  9. package/dist/ansi/strip.js +0 -2
  10. package/dist/archives/_internal.js +7 -9
  11. package/dist/archives/extract.js +1 -1
  12. package/dist/archives/tar.js +6 -6
  13. package/dist/archives/zip.js +3 -5
  14. package/dist/argv/flag-predicates.d.ts +12 -12
  15. package/dist/argv/flag-predicates.js +17 -17
  16. package/dist/argv/flag-types.d.ts +18 -18
  17. package/dist/argv/flag-types.js +4 -4
  18. package/dist/argv/parse.d.ts +1 -1
  19. package/dist/arrays/_internal.js +11 -12
  20. package/dist/arrays/chunk.js +0 -1
  21. package/dist/arrays/join.d.ts +37 -3
  22. package/dist/arrays/join.js +43 -7
  23. package/dist/arrays/unique.js +0 -1
  24. package/dist/bin/_internal.d.ts +1 -1
  25. package/dist/bin/_internal.js +1 -1
  26. package/dist/bin/exec.js +2 -3
  27. package/dist/bin/find.js +13 -13
  28. package/dist/bin/prim.cjs +22736 -22556
  29. package/dist/bin/resolve.js +12 -13
  30. package/dist/bin/which.js +8 -8
  31. package/dist/cache/ttl/store.js +5 -5
  32. package/dist/checks/primordials-defaults.d.ts +3 -3
  33. package/dist/checks/primordials-defaults.js +3 -3
  34. package/dist/checks/primordials.js +4 -3
  35. package/dist/{bin → cli}/check-primordials.d.ts +11 -11
  36. package/dist/{bin → cli}/check-primordials.js +55 -52
  37. package/dist/{bin → cli}/check.js +3 -3
  38. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  39. package/dist/{bin → cli}/socket-lib.js +4 -4
  40. package/dist/colors/socket-palette.js +7 -9
  41. package/dist/compression/_internal.d.ts +12 -12
  42. package/dist/compression/_internal.js +17 -17
  43. package/dist/compression/brotli.d.ts +25 -25
  44. package/dist/compression/brotli.js +33 -33
  45. package/dist/compression/gzip.d.ts +23 -23
  46. package/dist/compression/gzip.js +40 -40
  47. package/dist/constants/agents.d.ts +3 -1
  48. package/dist/constants/agents.js +15 -11
  49. package/dist/constants/licenses.js +3 -3
  50. package/dist/constants/node.d.ts +23 -0
  51. package/dist/constants/node.js +47 -15
  52. package/dist/constants/packages.js +22 -28
  53. package/dist/constants/platform.d.ts +30 -3
  54. package/dist/constants/platform.js +72 -12
  55. package/dist/constants/runtime.d.ts +22 -0
  56. package/dist/constants/runtime.js +32 -0
  57. package/dist/constants/socket.js +1 -1
  58. package/dist/cover/code.js +8 -8
  59. package/dist/cover/formatters.js +5 -5
  60. package/dist/crypto/hash.d.ts +26 -1
  61. package/dist/crypto/hash.js +43 -12
  62. package/dist/debug/_internal.js +4 -6
  63. package/dist/debug/caller-info.js +2 -3
  64. package/dist/debug/namespace.d.ts +7 -0
  65. package/dist/debug/namespace.js +21 -12
  66. package/dist/debug/output.js +21 -24
  67. package/dist/debug/types.d.ts +4 -4
  68. package/dist/dlx/arborist.js +6 -6
  69. package/dist/dlx/binary-cache.js +14 -14
  70. package/dist/dlx/binary-download.d.ts +1 -1
  71. package/dist/dlx/binary-download.js +11 -11
  72. package/dist/dlx/binary-resolution.js +16 -14
  73. package/dist/dlx/binary-types.d.ts +5 -5
  74. package/dist/dlx/binary.js +5 -5
  75. package/dist/dlx/cache.js +1 -1
  76. package/dist/dlx/detect.d.ts +34 -25
  77. package/dist/dlx/detect.js +86 -77
  78. package/dist/dlx/dir.js +2 -2
  79. package/dist/dlx/firewall.d.ts +1 -1
  80. package/dist/dlx/lockfile.d.ts +19 -18
  81. package/dist/dlx/lockfile.js +16 -16
  82. package/dist/dlx/manifest.d.ts +6 -6
  83. package/dist/dlx/manifest.js +5 -5
  84. package/dist/dlx/package.d.ts +10 -10
  85. package/dist/dlx/package.js +16 -16
  86. package/dist/dlx/packages.js +4 -4
  87. package/dist/dlx/paths.js +7 -7
  88. package/dist/dlx/spec.js +1 -1
  89. package/dist/dlx/types.d.ts +28 -27
  90. package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
  91. package/dist/eco/cargo/parse-lockfile.js +2 -2
  92. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  93. package/dist/eco/manifest/detect-format.js +4 -4
  94. package/dist/eco/manifest/find-packages.js +2 -2
  95. package/dist/eco/manifest/get-package-versions.js +2 -2
  96. package/dist/eco/manifest/get-package.js +2 -2
  97. package/dist/eco/manifest/parse-lockfile.js +2 -2
  98. package/dist/eco/manifest/parse-manifest.js +2 -2
  99. package/dist/eco/manifest/parse.js +2 -2
  100. package/dist/eco/npm/npm/exec.js +2 -2
  101. package/dist/eco/npm/npm/flags.js +7 -12
  102. package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
  103. package/dist/eco/npm/npm/parse-lockfile.js +3 -3
  104. package/dist/eco/npm/parse-package-json.js +3 -3
  105. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  106. package/dist/eco/npm/pnpm/exec.js +5 -5
  107. package/dist/eco/npm/pnpm/flags.js +0 -3
  108. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
  109. package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
  110. package/dist/eco/npm/script.js +9 -6
  111. package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
  112. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
  113. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
  114. package/dist/effects/pulse-frames.d.ts +3 -1
  115. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  116. package/dist/effects/shimmer-terminal.d.ts +1 -1
  117. package/dist/env/boolean.js +0 -1
  118. package/dist/env/ci.js +0 -1
  119. package/dist/env/debug.js +0 -1
  120. package/dist/env/github-status.d.ts +51 -0
  121. package/dist/env/github-status.js +90 -0
  122. package/dist/env/github.js +0 -8
  123. package/dist/env/home.js +0 -1
  124. package/dist/env/locale.js +0 -3
  125. package/dist/env/node-auth-token.js +0 -1
  126. package/dist/env/node-env.js +0 -1
  127. package/dist/env/node-version-managers.d.ts +53 -0
  128. package/dist/env/node-version-managers.js +90 -0
  129. package/dist/env/npm.js +0 -5
  130. package/dist/env/number.js +0 -1
  131. package/dist/env/package-manager.js +3 -6
  132. package/dist/env/path.js +0 -1
  133. package/dist/env/pre-commit.js +1 -2
  134. package/dist/env/rewire.d.ts +7 -6
  135. package/dist/env/rewire.js +15 -16
  136. package/dist/env/shell.js +0 -1
  137. package/dist/env/socket-cli.js +5 -18
  138. package/dist/env/socket-mcp.d.ts +114 -0
  139. package/dist/env/socket-mcp.js +146 -0
  140. package/dist/env/socket.d.ts +1 -109
  141. package/dist/env/socket.js +12 -167
  142. package/dist/env/string.js +0 -1
  143. package/dist/env/temp-dir.js +0 -3
  144. package/dist/env/term.js +0 -1
  145. package/dist/env/test.js +3 -6
  146. package/dist/env/windows.js +0 -4
  147. package/dist/env/xdg.js +0 -3
  148. package/dist/events/exit/_internal.d.ts +11 -9
  149. package/dist/events/exit/_internal.js +31 -35
  150. package/dist/events/exit/handler.js +3 -4
  151. package/dist/events/exit/intercept.js +4 -6
  152. package/dist/events/exit/lifecycle.js +16 -18
  153. package/dist/events/exit/signals.js +1 -2
  154. package/dist/events/exit/types.d.ts +6 -5
  155. package/dist/external/@npmcli/package-json.js +2 -2
  156. package/dist/external/npm-pack.js +2 -2
  157. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  158. package/dist/external-tools/bazel/types.d.ts +1 -1
  159. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  160. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  161. package/dist/external-tools/from-download.d.ts +1 -1
  162. package/dist/external-tools/from-download.js +1 -1
  163. package/dist/external-tools/janus/from-vfs.js +1 -1
  164. package/dist/external-tools/janus/types.d.ts +1 -1
  165. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  166. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  167. package/dist/external-tools/jre/from-vfs.js +1 -1
  168. package/dist/external-tools/jre/types.d.ts +1 -1
  169. package/dist/external-tools/manifest.d.ts +7 -7
  170. package/dist/external-tools/manifest.js +12 -12
  171. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  172. package/dist/external-tools/opengrep/types.d.ts +1 -1
  173. package/dist/external-tools/python/asset-names.d.ts +76 -0
  174. package/dist/external-tools/python/asset-names.js +104 -0
  175. package/dist/external-tools/python/dlx.d.ts +80 -0
  176. package/dist/external-tools/python/dlx.js +87 -0
  177. package/dist/external-tools/python/from-download.d.ts +53 -0
  178. package/dist/external-tools/python/from-download.js +68 -0
  179. package/dist/external-tools/python/from-path.d.ts +7 -0
  180. package/dist/external-tools/python/from-path.js +23 -0
  181. package/dist/external-tools/python/pin.d.ts +121 -0
  182. package/dist/external-tools/python/pin.js +173 -0
  183. package/dist/external-tools/python/pip-install.d.ts +75 -0
  184. package/dist/external-tools/python/pip-install.js +139 -0
  185. package/dist/external-tools/python/resolve.d.ts +42 -0
  186. package/dist/external-tools/python/resolve.js +58 -0
  187. package/dist/external-tools/python/types.d.ts +49 -0
  188. package/dist/external-tools/sbt/from-vfs.js +1 -1
  189. package/dist/external-tools/sbt/types.d.ts +1 -1
  190. package/dist/external-tools/skillspector/from-path.js +3 -5
  191. package/dist/external-tools/skillspector/from-vfs.js +1 -1
  192. package/dist/external-tools/synp/from-download.js +2 -2
  193. package/dist/external-tools/synp/from-vfs.js +1 -1
  194. package/dist/external-tools/trivy/from-vfs.js +1 -1
  195. package/dist/external-tools/trivy/types.d.ts +1 -1
  196. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  197. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  198. package/dist/fs/_internal.d.ts +1 -1
  199. package/dist/fs/_internal.js +7 -7
  200. package/dist/fs/access.js +5 -9
  201. package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
  202. package/dist/fs/encoding.js +5 -7
  203. package/dist/fs/{find-up.js → find.js} +11 -13
  204. package/dist/fs/inspect.js +7 -13
  205. package/dist/fs/read-dir.js +7 -10
  206. package/dist/fs/read-file.js +8 -14
  207. package/dist/fs/read-json-cache.d.ts +6 -4
  208. package/dist/fs/read-json-cache.js +9 -6
  209. package/dist/fs/read-json.js +4 -6
  210. package/dist/fs/resolve-module.js +1 -1
  211. package/dist/fs/safe.d.ts +1 -1
  212. package/dist/fs/safe.js +12 -13
  213. package/dist/fs/unique.js +4 -5
  214. package/dist/fs/validate.js +1 -2
  215. package/dist/fs/write-json.js +4 -5
  216. package/dist/git/_internal.js +10 -10
  217. package/dist/git/changed.js +4 -4
  218. package/dist/git/repo.js +3 -3
  219. package/dist/git/staged.js +4 -4
  220. package/dist/git/unstaged.js +4 -4
  221. package/dist/github/ghsa.js +2 -2
  222. package/dist/github/refs-cache.d.ts +1 -1
  223. package/dist/github/refs-cache.js +5 -5
  224. package/dist/github/refs-rest.js +5 -5
  225. package/dist/github/{fetch.js → request.js} +13 -2
  226. package/dist/github/token.js +1 -1
  227. package/dist/github/types.d.ts +1 -1
  228. package/dist/globs/_internal.js +7 -9
  229. package/dist/globs/match.js +4 -6
  230. package/dist/globs/matcher.d.ts +3 -3
  231. package/dist/globs/matcher.js +12 -14
  232. package/dist/globs/stream.js +1 -2
  233. package/dist/globs/types.d.ts +24 -24
  234. package/dist/http-request/_internal.d.ts +1 -1
  235. package/dist/http-request/browser.js +4 -2
  236. package/dist/http-request/checksum-file.d.ts +55 -0
  237. package/dist/http-request/checksum-file.js +95 -0
  238. package/dist/http-request/download-types.d.ts +15 -23
  239. package/dist/http-request/download.js +3 -3
  240. package/dist/http-request/headers.js +0 -1
  241. package/dist/http-request/request-attempt.js +37 -33
  242. package/dist/http-request/request-types.d.ts +2 -2
  243. package/dist/http-request/request.js +1 -1
  244. package/dist/http-request/user-agent.js +3 -4
  245. package/dist/integrity.d.ts +86 -18
  246. package/dist/integrity.js +119 -30
  247. package/dist/ipc/directory.js +2 -2
  248. package/dist/ipc/paths.js +1 -1
  249. package/dist/ipc/write.js +1 -1
  250. package/dist/ipc-cli/get.js +12 -12
  251. package/dist/json/edit.js +13 -14
  252. package/dist/json/format.js +2 -2
  253. package/dist/json/parse.d.ts +1 -1
  254. package/dist/json/parse.js +3 -7
  255. package/dist/logger/_internal.d.ts +4 -4
  256. package/dist/logger/_internal.js +3 -3
  257. package/dist/logger/colors.js +4 -3
  258. package/dist/logger/console-methods.d.ts +132 -0
  259. package/dist/logger/console-methods.js +169 -0
  260. package/dist/logger/console.d.ts +12 -0
  261. package/dist/logger/console.js +42 -11
  262. package/dist/logger/indentation-methods.d.ts +81 -0
  263. package/dist/logger/indentation-methods.js +121 -0
  264. package/dist/logger/node.d.ts +16 -338
  265. package/dist/logger/node.js +75 -608
  266. package/dist/logger/options.d.ts +39 -0
  267. package/dist/logger/options.js +47 -0
  268. package/dist/logger/semantic-methods.d.ts +63 -0
  269. package/dist/logger/semantic-methods.js +108 -0
  270. package/dist/logger/stream-methods.d.ts +63 -0
  271. package/dist/logger/stream-methods.js +101 -0
  272. package/dist/logger/stream.d.ts +37 -0
  273. package/dist/logger/stream.js +42 -0
  274. package/dist/logger/symbols-builder.js +9 -9
  275. package/dist/logger/symbols.d.ts +2 -25
  276. package/dist/logger/symbols.js +53 -74
  277. package/dist/logger/types.d.ts +1 -1
  278. package/dist/memo/types.d.ts +6 -6
  279. package/dist/native-messaging/host.d.ts +20 -0
  280. package/dist/native-messaging/host.js +120 -0
  281. package/dist/native-messaging/index.d.ts +5 -0
  282. package/dist/native-messaging/index.js +22 -0
  283. package/dist/native-messaging/install.d.ts +60 -0
  284. package/dist/native-messaging/install.js +141 -0
  285. package/dist/native-messaging/rate-limit.d.ts +62 -0
  286. package/dist/native-messaging/rate-limit.js +115 -0
  287. package/dist/native-messaging/run.d.ts +10 -0
  288. package/dist/native-messaging/run.js +17 -0
  289. package/dist/node/async-hooks.js +4 -3
  290. package/dist/node/child-process.js +4 -3
  291. package/dist/node/crypto.js +4 -3
  292. package/dist/node/events.js +4 -3
  293. package/dist/node/fs-promises.js +4 -3
  294. package/dist/node/fs.js +4 -3
  295. package/dist/node/http.js +4 -3
  296. package/dist/node/https.js +4 -3
  297. package/dist/node/module.js +10 -6
  298. package/dist/node/os.js +4 -3
  299. package/dist/node/path.js +4 -3
  300. package/dist/node/timers-promises.js +4 -3
  301. package/dist/node/url.js +4 -3
  302. package/dist/node/util.js +4 -3
  303. package/dist/objects/getters.js +5 -7
  304. package/dist/objects/inspect.js +1 -4
  305. package/dist/objects/mutate.js +2 -3
  306. package/dist/objects/predicates.js +0 -4
  307. package/dist/objects/sort.js +3 -7
  308. package/dist/packages/edit-class.js +15 -16
  309. package/dist/packages/edit.js +12 -14
  310. package/dist/packages/exports.js +11 -17
  311. package/dist/packages/fetch.d.ts +16 -0
  312. package/dist/packages/fetch.js +81 -0
  313. package/dist/packages/find.d.ts +55 -0
  314. package/dist/packages/find.js +65 -0
  315. package/dist/packages/isolation.js +14 -14
  316. package/dist/packages/licenses.js +16 -16
  317. package/dist/packages/manifest.js +12 -15
  318. package/dist/packages/metadata-extensions.d.ts +14 -0
  319. package/dist/packages/metadata-extensions.js +43 -0
  320. package/dist/packages/normalize.js +5 -9
  321. package/dist/packages/provenance.js +16 -18
  322. package/dist/packages/read.d.ts +29 -0
  323. package/dist/packages/read.js +66 -0
  324. package/dist/packages/specs.d.ts +48 -1
  325. package/dist/packages/specs.js +74 -11
  326. package/dist/packages/tarball.d.ts +24 -0
  327. package/dist/packages/tarball.js +79 -0
  328. package/dist/packages/types.d.ts +21 -20
  329. package/dist/packages/validation.js +0 -3
  330. package/dist/paths/_internal.d.ts +2 -1
  331. package/dist/paths/_internal.js +7 -19
  332. package/dist/paths/conversion.js +5 -9
  333. package/dist/paths/filenames.d.ts +0 -1
  334. package/dist/paths/filenames.js +0 -2
  335. package/dist/paths/normalize.js +4 -5
  336. package/dist/paths/packages.js +4 -7
  337. package/dist/paths/predicates.js +9 -16
  338. package/dist/paths/resolve.js +11 -14
  339. package/dist/paths/rewire.js +3 -3
  340. package/dist/paths/socket.js +16 -16
  341. package/dist/paths/walk.d.ts +1 -1
  342. package/dist/paths/walk.js +4 -4
  343. package/dist/perf/report.js +2 -2
  344. package/dist/perf/types.d.ts +1 -1
  345. package/dist/pkg-ext/data.js +1 -1
  346. package/dist/primordials/array.js +9 -9
  347. package/dist/primordials/date.js +2 -2
  348. package/dist/primordials/error.js +3 -3
  349. package/dist/primordials/headers.d.ts +10 -0
  350. package/dist/primordials/headers.js +23 -0
  351. package/dist/primordials/intl.d.ts +13 -0
  352. package/dist/primordials/intl.js +26 -0
  353. package/dist/primordials/math.js +33 -33
  354. package/dist/primordials/number.js +9 -9
  355. package/dist/primordials/object.js +5 -5
  356. package/dist/primordials/string.d.ts +2 -2
  357. package/dist/primordials/string.js +6 -6
  358. package/dist/primordials/symbol.js +3 -3
  359. package/dist/primordials/uncurry.js +9 -9
  360. package/dist/process/abort.js +3 -3
  361. package/dist/process/lock-manager.js +8 -8
  362. package/dist/process/spawn/_internal.js +6 -8
  363. package/dist/process/spawn/child.js +14 -14
  364. package/dist/process/spawn/errors.js +2 -4
  365. package/dist/process/spawn/kill-tree.d.ts +53 -0
  366. package/dist/process/spawn/kill-tree.js +85 -0
  367. package/dist/process/spawn/stdio.js +0 -1
  368. package/dist/process/spawn/types.d.ts +5 -5
  369. package/dist/process/transient.js +2 -2
  370. package/dist/promises/_internal.d.ts +2 -1
  371. package/dist/promises/_internal.js +2 -6
  372. package/dist/promises/iterate.js +11 -15
  373. package/dist/promises/options.js +3 -6
  374. package/dist/promises/retry.js +4 -5
  375. package/dist/promises/timers.d.ts +30 -0
  376. package/dist/promises/timers.js +48 -0
  377. package/dist/releases/github-archives.d.ts +6 -6
  378. package/dist/releases/github-archives.js +2 -2
  379. package/dist/releases/github-asset-url.d.ts +1 -1
  380. package/dist/releases/github-asset-url.js +5 -5
  381. package/dist/releases/github-downloads.d.ts +1 -1
  382. package/dist/releases/github-downloads.js +3 -3
  383. package/dist/releases/github-listing.d.ts +11 -2
  384. package/dist/releases/github-listing.js +20 -7
  385. package/dist/releases/github-retry-config.js +1 -1
  386. package/dist/releases/github-types.d.ts +6 -6
  387. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  388. package/dist/releases/socket-btm-binary-naming.js +155 -0
  389. package/dist/releases/socket-btm.d.ts +8 -115
  390. package/dist/releases/socket-btm.js +16 -159
  391. package/dist/schema/types.d.ts +1 -1
  392. package/dist/sea/detect.js +6 -6
  393. package/dist/secrets/_internal.d.ts +2 -2
  394. package/dist/secrets/_internal.js +2 -2
  395. package/dist/secrets/compare.d.ts +45 -0
  396. package/dist/secrets/compare.js +61 -0
  397. package/dist/secrets/keychain.js +6 -4
  398. package/dist/secrets/linux.js +19 -19
  399. package/dist/secrets/macos.d.ts +1 -1
  400. package/dist/secrets/macos.js +13 -13
  401. package/dist/secrets/rc.d.ts +2 -2
  402. package/dist/secrets/rc.js +6 -4
  403. package/dist/secrets/socket-api-token.d.ts +4 -4
  404. package/dist/secrets/socket-api-token.js +18 -9
  405. package/dist/secrets/windows.js +14 -13
  406. package/dist/shadow/skip.js +2 -2
  407. package/dist/smol/detect.js +9 -10
  408. package/dist/smol/http.js +6 -7
  409. package/dist/smol/https.js +6 -7
  410. package/dist/smol/manifest.d.ts +1 -1
  411. package/dist/smol/manifest.js +6 -7
  412. package/dist/smol/path.d.ts +1 -1
  413. package/dist/smol/path.js +7 -8
  414. package/dist/smol/primordial.d.ts +4 -0
  415. package/dist/smol/primordial.js +6 -7
  416. package/dist/smol/purl.d.ts +1 -1
  417. package/dist/smol/purl.js +7 -8
  418. package/dist/smol/versions.js +6 -7
  419. package/dist/smol/vfs.js +6 -7
  420. package/dist/sorts/_internal.js +6 -8
  421. package/dist/sorts/natural.js +10 -12
  422. package/dist/sorts/semver.js +1 -2
  423. package/dist/sorts/strings.js +0 -1
  424. package/dist/sorts/types.d.ts +1 -1
  425. package/dist/spinner/create-spinner-class.d.ts +38 -0
  426. package/dist/spinner/create-spinner-class.js +302 -0
  427. package/dist/spinner/default.js +8 -9
  428. package/dist/spinner/spinner-internals.d.ts +36 -0
  429. package/dist/spinner/spinner-internals.js +101 -0
  430. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  431. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  432. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  433. package/dist/spinner/spinner-status-methods.js +133 -0
  434. package/dist/spinner/spinner.d.ts +4 -5
  435. package/dist/spinner/spinner.js +18 -705
  436. package/dist/spinner/types.d.ts +3 -1
  437. package/dist/spinner/with.d.ts +10 -0
  438. package/dist/spinner/with.js +16 -2
  439. package/dist/stdio/divider.js +1 -1
  440. package/dist/stdio/footer.js +3 -3
  441. package/dist/stdio/header.js +4 -4
  442. package/dist/stdio/progress.js +5 -5
  443. package/dist/stdio/prompts.d.ts +5 -3
  444. package/dist/stdio/prompts.js +6 -7
  445. package/dist/stdio/stdout.js +3 -3
  446. package/dist/streams/parallel.js +3 -5
  447. package/dist/streams/transform.js +2 -3
  448. package/dist/strings/format.js +2 -6
  449. package/dist/strings/predicates.js +0 -2
  450. package/dist/strings/search.js +1 -2
  451. package/dist/strings/transform.js +0 -3
  452. package/dist/strings/width.js +9 -10
  453. package/dist/tables/bordered.js +4 -3
  454. package/dist/tables/padding.js +1 -1
  455. package/dist/tables/simple.js +8 -5
  456. package/dist/temporal/instant.js +1 -1
  457. package/dist/temporal/slots.js +6 -6
  458. package/dist/temporal/system.js +9 -9
  459. package/dist/themes/context.d.ts +3 -2
  460. package/dist/themes/context.js +4 -5
  461. package/dist/themes/themes.js +15 -15
  462. package/dist/themes/types.d.ts +3 -3
  463. package/dist/url/parse.js +0 -2
  464. package/dist/url/predicates.js +1 -2
  465. package/dist/url/search-params.js +3 -9
  466. package/dist/url/types.d.ts +5 -5
  467. package/dist/versions/_internal.js +3 -3
  468. package/dist/words/article.js +0 -1
  469. package/dist/words/capitalize.js +0 -1
  470. package/dist/words/pluralize.js +15 -5
  471. package/package.json +247 -106
  472. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  473. package/dist/external-tools/uv/asset-names.js +0 -70
  474. package/dist/external-tools/uv/from-download.d.ts +0 -17
  475. package/dist/external-tools/uv/from-download.js +0 -47
  476. package/dist/external-tools/uv/from-path.d.ts +0 -5
  477. package/dist/external-tools/uv/from-path.js +0 -22
  478. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  479. package/dist/external-tools/uv/from-vfs.js +0 -26
  480. package/dist/external-tools/uv/resolve.d.ts +0 -25
  481. package/dist/external-tools/uv/resolve.js +0 -53
  482. package/dist/external-tools/uv/types.d.ts +0 -24
  483. package/dist/http-request/checksums.d.ts +0 -69
  484. package/dist/http-request/checksums.js +0 -108
  485. package/dist/http-request/http-request.d.ts +0 -12
  486. package/dist/http-request/http-request.js +0 -11
  487. package/dist/packages/operations.d.ts +0 -113
  488. package/dist/packages/operations.js +0 -304
  489. package/dist/ssri/convert.d.ts +0 -48
  490. package/dist/ssri/convert.js +0 -69
  491. package/dist/ssri/parse.d.ts +0 -27
  492. package/dist/ssri/parse.js +0 -41
  493. package/dist/ssri/validate.d.ts +0 -41
  494. package/dist/ssri/validate.js +0 -56
  495. /package/dist/{bin → cli}/check.d.ts +0 -0
  496. /package/dist/external-tools/{uv → python}/types.js +0 -0
  497. /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
  498. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  499. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -0,0 +1,132 @@
1
+ /**
2
+ * @file Free-function bodies for the `Logger` methods that are thin, chainable
3
+ * mirrors of the underlying `node:console` API (`assert`, `count`, `dir`,
4
+ * `dirxml`, `table`, `time`, `timeEnd`, `timeLog`, `trace`). Each takes the
5
+ * calling logger plus its already-resolved `node:console` instance, delegates
6
+ * to the matching console method, updates the shared blank-line / call-count
7
+ * tracking via the exported logger symbols, and returns the logger for
8
+ * chaining. Pulling these out of `./node` keeps the `Logger` class body under
9
+ * the file-size cap while preserving the per-method documentation here. The
10
+ * class retains one-line delegators that supply `this` and
11
+ * `this.#getConsole()`.
12
+ */
13
+ import { incLogCallCountSymbol, lastWasBlankSymbol } from './symbols';
14
+ /**
15
+ * The slice of `node:console` the mirror methods call into, plus the internal
16
+ * `_stderr` / `_stdout` slots reached elsewhere. Modeled structurally so the
17
+ * cast from the lazily-built per-instance Console stays explicit.
18
+ */
19
+ export type ConsoleLike = typeof console & Record<string, unknown>;
20
+ /**
21
+ * The slice of `Logger` the mirror methods need: the two symbol-keyed tracking
22
+ * methods. Typed structurally to avoid a circular import with `./node`.
23
+ */
24
+ export interface LoggerTrackable {
25
+ [incLogCallCountSymbol](): LoggerTrackable;
26
+ [lastWasBlankSymbol](value: unknown, stream?: 'stderr' | 'stdout'): unknown;
27
+ }
28
+ /**
29
+ * Logs an assertion failure message if the value is falsy.
30
+ *
31
+ * Works like `console.assert()` but returns the logger for chaining. If the
32
+ * value is truthy, nothing is logged. If falsy, logs an error message with an
33
+ * assertion failure.
34
+ *
35
+ * @param logger - The calling logger instance.
36
+ * @param con - The logger's resolved console instance.
37
+ * @param value - The value to test.
38
+ * @param message - Optional message and additional arguments to log.
39
+ */
40
+ export declare function assertMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, value: unknown, message: unknown[]): T;
41
+ /**
42
+ * Increments and logs a counter for the given label.
43
+ *
44
+ * Each unique label maintains its own counter. Works like `console.count()`.
45
+ *
46
+ * @param logger - The calling logger instance.
47
+ * @param con - The logger's resolved console instance.
48
+ * @param label - Optional label for the counter (defaults to 'default').
49
+ */
50
+ export declare function countMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, label?: string | undefined): T;
51
+ /**
52
+ * Displays an object's properties in a formatted way.
53
+ *
54
+ * Works like `console.dir()` with customizable options for depth, colors, etc.
55
+ * Useful for inspecting complex objects.
56
+ *
57
+ * @param logger - The calling logger instance.
58
+ * @param con - The logger's resolved console instance.
59
+ * @param obj - The object to display.
60
+ * @param options - Optional formatting options (Node.js inspect options).
61
+ */
62
+ export declare function dirMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, obj: unknown, options?: unknown | undefined): T;
63
+ /**
64
+ * Displays data as XML/HTML in a formatted way.
65
+ *
66
+ * Works like `console.dirxml()`. In Node.js, behaves the same as `dir()`.
67
+ *
68
+ * @param logger - The calling logger instance.
69
+ * @param con - The logger's resolved console instance.
70
+ * @param data - The data to display.
71
+ */
72
+ export declare function dirxmlMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, data: unknown[]): T;
73
+ /**
74
+ * Displays data in a table format.
75
+ *
76
+ * Works like `console.table()`. Accepts arrays of objects or objects with
77
+ * nested objects. Optionally specify which properties to include in the table.
78
+ *
79
+ * @param logger - The calling logger instance.
80
+ * @param con - The logger's resolved console instance.
81
+ * @param tabularData - The data to display as a table.
82
+ * @param properties - Optional array of property names to include.
83
+ */
84
+ export declare function tableMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, tabularData: unknown, properties?: readonly string[] | undefined): T;
85
+ /**
86
+ * Ends a timer and logs the elapsed time.
87
+ *
88
+ * Logs the duration since `console.time()` or `logger.time()` was called with
89
+ * the same label. The timer is stopped and removed.
90
+ *
91
+ * @param logger - The calling logger instance.
92
+ * @param con - The logger's resolved console instance.
93
+ * @param label - Optional label for the timer (defaults to 'default').
94
+ */
95
+ export declare function timeEndMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, label?: string | undefined): T;
96
+ /**
97
+ * Logs the current value of a timer without stopping it.
98
+ *
99
+ * Logs the duration since `console.time()` was called with the same label, but
100
+ * keeps the timer running. Can include additional data to log alongside the
101
+ * time.
102
+ *
103
+ * @param logger - The calling logger instance.
104
+ * @param con - The logger's resolved console instance.
105
+ * @param label - Optional label for the timer (defaults to 'default').
106
+ * @param data - Additional data to log with the time.
107
+ */
108
+ export declare function timeLogMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, label: string | undefined, data: unknown[]): T;
109
+ /**
110
+ * Starts a timer for measuring elapsed time.
111
+ *
112
+ * Creates a timer with the given label. Use `timeEnd()` with the same label to
113
+ * stop the timer and log the elapsed time, or use `timeLog()` to check the time
114
+ * without stopping the timer.
115
+ *
116
+ * @param logger - The calling logger instance.
117
+ * @param con - The logger's resolved console instance.
118
+ * @param label - Optional label for the timer (defaults to 'default').
119
+ */
120
+ export declare function timeMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, label?: string | undefined): T;
121
+ /**
122
+ * Logs a stack trace to the console.
123
+ *
124
+ * Works like `console.trace()`. Shows the call stack leading to where this
125
+ * method was called. Useful for debugging.
126
+ *
127
+ * @param logger - The calling logger instance.
128
+ * @param con - The logger's resolved console instance.
129
+ * @param message - Optional message to display with the trace.
130
+ * @param args - Additional arguments to log.
131
+ */
132
+ export declare function traceMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, message: unknown | undefined, args: unknown[]): T;
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_logger_symbols = require('./symbols.js');
5
+
6
+ //#region src/logger/console-methods.ts
7
+ /**
8
+ * @file Free-function bodies for the `Logger` methods that are thin, chainable
9
+ * mirrors of the underlying `node:console` API (`assert`, `count`, `dir`,
10
+ * `dirxml`, `table`, `time`, `timeEnd`, `timeLog`, `trace`). Each takes the
11
+ * calling logger plus its already-resolved `node:console` instance, delegates
12
+ * to the matching console method, updates the shared blank-line / call-count
13
+ * tracking via the exported logger symbols, and returns the logger for
14
+ * chaining. Pulling these out of `./node` keeps the `Logger` class body under
15
+ * the file-size cap while preserving the per-method documentation here. The
16
+ * class retains one-line delegators that supply `this` and
17
+ * `this.#getConsole()`.
18
+ */
19
+ /**
20
+ * Logs an assertion failure message if the value is falsy.
21
+ *
22
+ * Works like `console.assert()` but returns the logger for chaining. If the
23
+ * value is truthy, nothing is logged. If falsy, logs an error message with an
24
+ * assertion failure.
25
+ *
26
+ * @param logger - The calling logger instance.
27
+ * @param con - The logger's resolved console instance.
28
+ * @param value - The value to test.
29
+ * @param message - Optional message and additional arguments to log.
30
+ */
31
+ function assertMethod(logger, con, value, message) {
32
+ con.assert(value, message[0], ...message.slice(1));
33
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
34
+ return value ? logger : logger[require_logger_symbols.incLogCallCountSymbol]();
35
+ }
36
+ /**
37
+ * Increments and logs a counter for the given label.
38
+ *
39
+ * Each unique label maintains its own counter. Works like `console.count()`.
40
+ *
41
+ * @param logger - The calling logger instance.
42
+ * @param con - The logger's resolved console instance.
43
+ * @param label - Optional label for the counter (defaults to 'default').
44
+ */
45
+ function countMethod(logger, con, label) {
46
+ con.count(label);
47
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
48
+ return logger[require_logger_symbols.incLogCallCountSymbol]();
49
+ }
50
+ /**
51
+ * Displays an object's properties in a formatted way.
52
+ *
53
+ * Works like `console.dir()` with customizable options for depth, colors, etc.
54
+ * Useful for inspecting complex objects.
55
+ *
56
+ * @param logger - The calling logger instance.
57
+ * @param con - The logger's resolved console instance.
58
+ * @param obj - The object to display.
59
+ * @param options - Optional formatting options (Node.js inspect options).
60
+ */
61
+ function dirMethod(logger, con, obj, options) {
62
+ con.dir(obj, options);
63
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
64
+ return logger[require_logger_symbols.incLogCallCountSymbol]();
65
+ }
66
+ /**
67
+ * Displays data as XML/HTML in a formatted way.
68
+ *
69
+ * Works like `console.dirxml()`. In Node.js, behaves the same as `dir()`.
70
+ *
71
+ * @param logger - The calling logger instance.
72
+ * @param con - The logger's resolved console instance.
73
+ * @param data - The data to display.
74
+ */
75
+ function dirxmlMethod(logger, con, data) {
76
+ con.dirxml(data);
77
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
78
+ return logger[require_logger_symbols.incLogCallCountSymbol]();
79
+ }
80
+ /**
81
+ * Displays data in a table format.
82
+ *
83
+ * Works like `console.table()`. Accepts arrays of objects or objects with
84
+ * nested objects. Optionally specify which properties to include in the table.
85
+ *
86
+ * @param logger - The calling logger instance.
87
+ * @param con - The logger's resolved console instance.
88
+ * @param tabularData - The data to display as a table.
89
+ * @param properties - Optional array of property names to include.
90
+ */
91
+ function tableMethod(logger, con, tabularData, properties) {
92
+ con.table(tabularData, properties);
93
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
94
+ return logger[require_logger_symbols.incLogCallCountSymbol]();
95
+ }
96
+ /**
97
+ * Ends a timer and logs the elapsed time.
98
+ *
99
+ * Logs the duration since `console.time()` or `logger.time()` was called with
100
+ * the same label. The timer is stopped and removed.
101
+ *
102
+ * @param logger - The calling logger instance.
103
+ * @param con - The logger's resolved console instance.
104
+ * @param label - Optional label for the timer (defaults to 'default').
105
+ */
106
+ function timeEndMethod(logger, con, label) {
107
+ con.timeEnd(label);
108
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
109
+ return logger[require_logger_symbols.incLogCallCountSymbol]();
110
+ }
111
+ /**
112
+ * Logs the current value of a timer without stopping it.
113
+ *
114
+ * Logs the duration since `console.time()` was called with the same label, but
115
+ * keeps the timer running. Can include additional data to log alongside the
116
+ * time.
117
+ *
118
+ * @param logger - The calling logger instance.
119
+ * @param con - The logger's resolved console instance.
120
+ * @param label - Optional label for the timer (defaults to 'default').
121
+ * @param data - Additional data to log with the time.
122
+ */
123
+ function timeLogMethod(logger, con, label, data) {
124
+ con.timeLog(label, ...data);
125
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
126
+ return logger[require_logger_symbols.incLogCallCountSymbol]();
127
+ }
128
+ /**
129
+ * Starts a timer for measuring elapsed time.
130
+ *
131
+ * Creates a timer with the given label. Use `timeEnd()` with the same label to
132
+ * stop the timer and log the elapsed time, or use `timeLog()` to check the time
133
+ * without stopping the timer.
134
+ *
135
+ * @param logger - The calling logger instance.
136
+ * @param con - The logger's resolved console instance.
137
+ * @param label - Optional label for the timer (defaults to 'default').
138
+ */
139
+ function timeMethod(logger, con, label) {
140
+ con.time(label);
141
+ return logger;
142
+ }
143
+ /**
144
+ * Logs a stack trace to the console.
145
+ *
146
+ * Works like `console.trace()`. Shows the call stack leading to where this
147
+ * method was called. Useful for debugging.
148
+ *
149
+ * @param logger - The calling logger instance.
150
+ * @param con - The logger's resolved console instance.
151
+ * @param message - Optional message to display with the trace.
152
+ * @param args - Additional arguments to log.
153
+ */
154
+ function traceMethod(logger, con, message, args) {
155
+ con.trace(message, ...args);
156
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
157
+ return logger[require_logger_symbols.incLogCallCountSymbol]();
158
+ }
159
+
160
+ //#endregion
161
+ exports.assertMethod = assertMethod;
162
+ exports.countMethod = countMethod;
163
+ exports.dirMethod = dirMethod;
164
+ exports.dirxmlMethod = dirxmlMethod;
165
+ exports.tableMethod = tableMethod;
166
+ exports.timeEndMethod = timeEndMethod;
167
+ exports.timeLogMethod = timeLogMethod;
168
+ exports.timeMethod = timeMethod;
169
+ exports.traceMethod = traceMethod;
@@ -19,6 +19,7 @@
19
19
  * `ensurePrototypeInitialized` actually runs, both modules are fully
20
20
  * evaluated. Same pattern as `fs/path-cache` ↔ `fs/_internal`.
21
21
  */
22
+ import { Logger } from './node';
22
23
  /**
23
24
  * Construct a new Console instance.
24
25
  */
@@ -31,3 +32,14 @@ export declare function constructConsole(...args: unknown[]): Console;
31
32
  * ready.
32
33
  */
33
34
  export declare function ensurePrototypeInitialized(): void;
35
+ /**
36
+ * Resolve (and lazily construct + cache) the per-instance `Console` for a
37
+ * logger. Ensures the prototype is initialized, then returns the cached Console
38
+ * from the `privateConsole` WeakMap, building one from the stored constructor
39
+ * args (or the default stdout/stderr pair) on first access. This lazy path is
40
+ * what lets the logger be imported during early Node.js bootstrap before stdout
41
+ * is ready, avoiding `ERR_CONSOLE_WRITABLE_STREAM`.
42
+ *
43
+ * @param logger - The logger whose Console to resolve.
44
+ */
45
+ export declare function resolveConsole(logger: Logger): typeof console & Record<string, unknown>;
@@ -32,16 +32,15 @@ node_process = require_runtime.__toESM(node_process);
32
32
  * `ensurePrototypeInitialized` actually runs, both modules are fully
33
33
  * evaluated. Same pattern as `fs/path-cache` ↔ `fs/_internal`.
34
34
  */
35
- let _Console;
36
- let _prototypeInitialized = false;
35
+ let cachedConsole;
36
+ let prototypeInitialized = false;
37
37
  /**
38
38
  * Construct a new Console instance.
39
39
  */
40
- /*@__NO_SIDE_EFFECTS__*/
41
40
  function constructConsole(...args) {
42
41
  /* c8 ignore next - Lazy-init second-call branch; module-singleton. */
43
- if (_Console === void 0) _Console = (/* @__PURE__ */ require("node:console")).Console;
44
- return require_primordials_reflect.ReflectConstruct(_Console, args);
42
+ if (cachedConsole === void 0) cachedConsole = (/* @__PURE__ */ require("node:console")).Console;
43
+ return require_primordials_reflect.ReflectConstruct(cachedConsole, args);
45
44
  }
46
45
  /**
47
46
  * Lazily add dynamic console methods to Logger prototype.
@@ -51,8 +50,8 @@ function constructConsole(...args) {
51
50
  * ready.
52
51
  */
53
52
  function ensurePrototypeInitialized() {
54
- if (_prototypeInitialized) return;
55
- _prototypeInitialized = true;
53
+ if (prototypeInitialized) return;
54
+ prototypeInitialized = true;
56
55
  const entries = [[require_logger_symbols.getKGroupIndentationWidthSymbol(), {
57
56
  ...require_logger__internal.consolePropAttributes,
58
57
  value: 2
@@ -68,9 +67,9 @@ function ensurePrototypeInitialized() {
68
67
  if (con === void 0) {
69
68
  const ctorArgs = require_logger__internal.privateConstructorArgs.get(this) ?? [];
70
69
  require_logger__internal.privateConstructorArgs.delete(this);
71
- if (ctorArgs.length) con = /* @__PURE__ */ constructConsole(...ctorArgs);
70
+ if (ctorArgs.length) con = constructConsole(...ctorArgs);
72
71
  else {
73
- con = /* @__PURE__ */ constructConsole({
72
+ con = constructConsole({
74
73
  stdout: node_process.default.stdout,
75
74
  stderr: node_process.default.stderr
76
75
  });
@@ -78,7 +77,6 @@ function ensurePrototypeInitialized() {
78
77
  }
79
78
  require_logger__internal.privateConsole.set(this, con);
80
79
  }
81
- /* c8 ignore stop */
82
80
  const result = con[key](...args);
83
81
  /* c8 ignore next */
84
82
  return result === void 0 || result === con ? this : result;
@@ -90,7 +88,40 @@ function ensurePrototypeInitialized() {
90
88
  }
91
89
  require_primordials_object.ObjectDefineProperties(require_logger_node.Logger.prototype, require_primordials_object.ObjectFromEntries(entries));
92
90
  }
91
+ /**
92
+ * Resolve (and lazily construct + cache) the per-instance `Console` for a
93
+ * logger. Ensures the prototype is initialized, then returns the cached Console
94
+ * from the `privateConsole` WeakMap, building one from the stored constructor
95
+ * args (or the default stdout/stderr pair) on first access. This lazy path is
96
+ * what lets the logger be imported during early Node.js bootstrap before stdout
97
+ * is ready, avoiding `ERR_CONSOLE_WRITABLE_STREAM`.
98
+ *
99
+ * @param logger - The logger whose Console to resolve.
100
+ */
101
+ function resolveConsole(logger) {
102
+ ensurePrototypeInitialized();
103
+ let con = require_logger__internal.privateConsole.get(logger);
104
+ /* c8 ignore start - ctorArgs.length-truthy fires when caller seeded
105
+ constructor args; both arms are exercised across tests but not always
106
+ in the same run. */
107
+ if (!con) {
108
+ const ctorArgs = require_logger__internal.privateConstructorArgs.get(logger) ?? [];
109
+ if (ctorArgs.length) con = constructConsole(...ctorArgs);
110
+ else {
111
+ con = constructConsole({
112
+ stdout: node_process.default.stdout,
113
+ stderr: node_process.default.stderr
114
+ });
115
+ for (const { 0: key, 1: method } of require_logger__internal.boundConsoleEntries) con[key] = method;
116
+ }
117
+ require_logger__internal.privateConsole.set(logger, con);
118
+ require_logger__internal.privateConstructorArgs.delete(logger);
119
+ }
120
+ /* c8 ignore stop */
121
+ return con;
122
+ }
93
123
 
94
124
  //#endregion
95
125
  exports.constructConsole = constructConsole;
96
- exports.ensurePrototypeInitialized = ensurePrototypeInitialized;
126
+ exports.ensurePrototypeInitialized = ensurePrototypeInitialized;
127
+ exports.resolveConsole = resolveConsole;
@@ -0,0 +1,81 @@
1
+ /**
2
+ * @file Free-function bodies for the `Logger` indentation-domain methods
3
+ * (`indent`, `dedent`, `resetIndent`, `group`, `groupCollapsed`, `groupEnd`).
4
+ * Indentation is tracked at the prefix layer (a per-stream string of spaces)
5
+ * rather than via `node:console`'s frozen `Symbol(kGroupIndent)`, so these
6
+ * helpers read and write that prefix through a small accessor context handed
7
+ * in by the calling `Logger`. Pulling these out of `./node` keeps the
8
+ * `Logger` class body under the file-size cap; the class retains one-line
9
+ * delegators that build the context from its private state.
10
+ */
11
+ import type { LoggerTrackable } from './console-methods';
12
+ /**
13
+ * The slice of `Logger` the indentation helpers need: the bound-stream marker
14
+ * (`undefined` on the root logger, `'stderr'` / `'stdout'` on a stream-bound
15
+ * instance) plus per-stream indent prefix read / write accessors. Modeled
16
+ * structurally to avoid a circular import with `./node`; the class supplies
17
+ * closures over its private `#getIndent` / `#setIndent`.
18
+ */
19
+ export interface IndentContext {
20
+ boundStream: 'stderr' | 'stdout' | undefined;
21
+ getIndent(stream: 'stderr' | 'stdout'): string;
22
+ setIndent(stream: 'stderr' | 'stdout', value: string): void;
23
+ }
24
+ /**
25
+ * Decrease the indentation prefix by `spaces`.
26
+ *
27
+ * On the root logger (`boundStream` undefined) both streams shrink; on a
28
+ * stream-bound logger only the bound stream shrinks. Returns the logger for
29
+ * chaining.
30
+ *
31
+ * @param logger - The calling logger instance.
32
+ * @param ctx - The logger's indentation accessor context.
33
+ * @param spaces - Number of spaces to remove (default 2).
34
+ */
35
+ export declare function dedentMethod<T extends LoggerTrackable>(logger: T, ctx: IndentContext, spaces: number): T;
36
+ /**
37
+ * End the current log group and decrease indentation by the group-indent width.
38
+ *
39
+ * Call once per `groupMethod` / `groupCollapsed`. Returns the logger for
40
+ * chaining.
41
+ *
42
+ * @param logger - The calling logger instance.
43
+ */
44
+ export declare function groupEndMethod<T extends {
45
+ dedent(spaces?: number): T;
46
+ }>(logger: T): T;
47
+ /**
48
+ * Start a new indented log group.
49
+ *
50
+ * A provided label is logged via the logger's own `log` before indentation
51
+ * increases by the group-indent width (default 2). Groups nest; close with
52
+ * `groupEndMethod`. Returns the logger for chaining.
53
+ *
54
+ * @param logger - The calling logger instance.
55
+ * @param label - Optional label to display before the group.
56
+ */
57
+ export declare function groupMethod<T extends LoggerTrackable & {
58
+ indent(spaces?: number): T;
59
+ log(...args: unknown[]): T;
60
+ }>(logger: T, label: unknown[]): T;
61
+ /**
62
+ * Increase the indentation prefix by `spaces`, capped at `maxIndentation`.
63
+ *
64
+ * On the root logger both streams grow; on a stream-bound logger only the bound
65
+ * stream grows. Returns the logger for chaining.
66
+ *
67
+ * @param logger - The calling logger instance.
68
+ * @param ctx - The logger's indentation accessor context.
69
+ * @param spaces - Number of spaces to add (default 2).
70
+ */
71
+ export declare function indentMethod<T extends LoggerTrackable>(logger: T, ctx: IndentContext, spaces: number): T;
72
+ /**
73
+ * Reset all indentation to zero.
74
+ *
75
+ * On the root logger both streams reset; on a stream-bound logger only the
76
+ * bound stream resets. Returns the logger for chaining.
77
+ *
78
+ * @param logger - The calling logger instance.
79
+ * @param ctx - The logger's indentation accessor context.
80
+ */
81
+ export declare function resetIndentMethod<T extends LoggerTrackable>(logger: T, ctx: IndentContext): T;
@@ -0,0 +1,121 @@
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_reflect = require('../primordials/reflect.js');
6
+ const require_logger__internal = require('./_internal.js');
7
+ const require_logger_symbols = require('./symbols.js');
8
+
9
+ //#region src/logger/indentation-methods.ts
10
+ /**
11
+ * @file Free-function bodies for the `Logger` indentation-domain methods
12
+ * (`indent`, `dedent`, `resetIndent`, `group`, `groupCollapsed`, `groupEnd`).
13
+ * Indentation is tracked at the prefix layer (a per-stream string of spaces)
14
+ * rather than via `node:console`'s frozen `Symbol(kGroupIndent)`, so these
15
+ * helpers read and write that prefix through a small accessor context handed
16
+ * in by the calling `Logger`. Pulling these out of `./node` keeps the
17
+ * `Logger` class body under the file-size cap; the class retains one-line
18
+ * delegators that build the context from its private state.
19
+ */
20
+ /**
21
+ * Decrease the indentation prefix by `spaces`.
22
+ *
23
+ * On the root logger (`boundStream` undefined) both streams shrink; on a
24
+ * stream-bound logger only the bound stream shrinks. Returns the logger for
25
+ * chaining.
26
+ *
27
+ * @param logger - The calling logger instance.
28
+ * @param ctx - The logger's indentation accessor context.
29
+ * @param spaces - Number of spaces to remove (default 2).
30
+ */
31
+ function dedentMethod(logger, ctx, spaces) {
32
+ if (ctx.boundStream) {
33
+ const current = ctx.getIndent(ctx.boundStream);
34
+ ctx.setIndent(ctx.boundStream, current.slice(0, -spaces));
35
+ } else {
36
+ const stderrCurrent = ctx.getIndent("stderr");
37
+ const stdoutCurrent = ctx.getIndent("stdout");
38
+ ctx.setIndent("stderr", stderrCurrent.slice(0, -spaces));
39
+ ctx.setIndent("stdout", stdoutCurrent.slice(0, -spaces));
40
+ }
41
+ return logger;
42
+ }
43
+ /**
44
+ * End the current log group and decrease indentation by the group-indent width.
45
+ *
46
+ * Call once per `groupMethod` / `groupCollapsed`. Returns the logger for
47
+ * chaining.
48
+ *
49
+ * @param logger - The calling logger instance.
50
+ */
51
+ function groupEndMethod(logger) {
52
+ logger.dedent(logger[require_logger_symbols.getKGroupIndentationWidthSymbol()]);
53
+ return logger;
54
+ }
55
+ /**
56
+ * Start a new indented log group.
57
+ *
58
+ * A provided label is logged via the logger's own `log` before indentation
59
+ * increases by the group-indent width (default 2). Groups nest; close with
60
+ * `groupEndMethod`. Returns the logger for chaining.
61
+ *
62
+ * @param logger - The calling logger instance.
63
+ * @param label - Optional label to display before the group.
64
+ */
65
+ function groupMethod(logger, label) {
66
+ const { length } = label;
67
+ if (length) require_primordials_reflect.ReflectApply(logger.log, logger, label);
68
+ logger.indent(logger[require_logger_symbols.getKGroupIndentationWidthSymbol()]);
69
+ if (length) {
70
+ logger[require_logger_symbols.lastWasBlankSymbol](false);
71
+ logger[require_logger_symbols.incLogCallCountSymbol]();
72
+ }
73
+ return logger;
74
+ }
75
+ /**
76
+ * Increase the indentation prefix by `spaces`, capped at `maxIndentation`.
77
+ *
78
+ * On the root logger both streams grow; on a stream-bound logger only the bound
79
+ * stream grows. Returns the logger for chaining.
80
+ *
81
+ * @param logger - The calling logger instance.
82
+ * @param ctx - The logger's indentation accessor context.
83
+ * @param spaces - Number of spaces to add (default 2).
84
+ */
85
+ function indentMethod(logger, ctx, spaces) {
86
+ const spacesToAdd = " ".repeat(require_primordials_math.MathMin(spaces, require_logger__internal.maxIndentation));
87
+ if (ctx.boundStream) {
88
+ const current = ctx.getIndent(ctx.boundStream);
89
+ ctx.setIndent(ctx.boundStream, current + spacesToAdd);
90
+ } else {
91
+ const stderrCurrent = ctx.getIndent("stderr");
92
+ const stdoutCurrent = ctx.getIndent("stdout");
93
+ ctx.setIndent("stderr", stderrCurrent + spacesToAdd);
94
+ ctx.setIndent("stdout", stdoutCurrent + spacesToAdd);
95
+ }
96
+ return logger;
97
+ }
98
+ /**
99
+ * Reset all indentation to zero.
100
+ *
101
+ * On the root logger both streams reset; on a stream-bound logger only the
102
+ * bound stream resets. Returns the logger for chaining.
103
+ *
104
+ * @param logger - The calling logger instance.
105
+ * @param ctx - The logger's indentation accessor context.
106
+ */
107
+ function resetIndentMethod(logger, ctx) {
108
+ if (ctx.boundStream) ctx.setIndent(ctx.boundStream, "");
109
+ else {
110
+ ctx.setIndent("stderr", "");
111
+ ctx.setIndent("stdout", "");
112
+ }
113
+ return logger;
114
+ }
115
+
116
+ //#endregion
117
+ exports.dedentMethod = dedentMethod;
118
+ exports.groupEndMethod = groupEndMethod;
119
+ exports.groupMethod = groupMethod;
120
+ exports.indentMethod = indentMethod;
121
+ exports.resetIndentMethod = resetIndentMethod;