@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
package/dist/integrity.js CHANGED
@@ -1,51 +1,117 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('./_virtual/_rolldown/runtime.js');
4
5
  const require_crypto_hash = require('./crypto/hash.js');
5
6
  const require_primordials_buffer = require('./primordials/buffer.js');
6
7
  const require_primordials_error = require('./primordials/error.js');
7
- const require_primordials_string = require('./primordials/string.js');
8
8
  let node_crypto = require("node:crypto");
9
+ node_crypto = require_runtime.__toESM(node_crypto);
9
10
 
10
11
  //#region src/integrity.ts
11
12
  /**
12
- * @file Integrity specification helpers for downloads and file verification.
13
- * Used by `dlx/binary-download` and external-tools resolvers; safe to consume
14
- * from any module that needs to verify bytes against an expected hash. Single
15
- * supported format per flavor:
13
+ * @file Integrity + checksum helpers. The fleet uses two named hash flavors:
16
14
  *
17
- * - integrity: SRI with sha512 only (what npm registry returns)
18
- * - checksum: sha256 hex (what `shasum -a 256` produces; common for binary
19
- * release assets on GitHub) Callers may pass a {@link HashSpec} as a bare
20
- * string (sniffed via format) or as an explicit `{ type, value }` object.
21
- * The normalized form carried around internally is always the object.
15
+ * - **integrity** W3C Subresource Integrity string:
16
+ * `sha(256|384|512)-<base64>`. The same shape the npm registry returns and
17
+ * the `<script integrity>` HTML attribute accepts. Algorithm is embedded.
18
+ * - **checksum** sha256 hex digest, exactly 64 lowercase chars. The shape
19
+ * produced by `shasum -a 256` and used in GitHub-release SHA256SUMS files.
20
+ * Conversion is direction-specific so the names read in English:
21
+ * `checksumToIntegrity(hex)` and `integrityToChecksum(sri)`. Both are
22
+ * idempotent on the destination format (pass an SRI to
23
+ * `checksumToIntegrity`, get the same SRI back) so callers can apply them
24
+ * without first sniffing the input shape. "SSRI" is just another name for
25
+ * Subresource Integrity — this module is the only one that should mention
26
+ * it, and only inside `parseIntegrity` to extract the embedded algorithm +
27
+ * body.
22
28
  */
23
- const INTEGRITY_PREFIX = "sha512-";
24
- const INTEGRITY_BODY_RE = /^[A-Za-z0-9+/=]+$/;
29
+ const INTEGRITY_RE = /^(sha(?:256|384|512))-([A-Za-z0-9+/]+=*)$/;
25
30
  const CHECKSUM_RE = /^[a-f0-9]{64}$/i;
26
31
  /**
32
+ * Convert a sha256 hex checksum to its SRI integrity form (`sha256-<base64>`).
33
+ * Idempotent on integrity input — call this on user-supplied data without first
34
+ * sniffing the format.
35
+ *
36
+ * The default algorithm is `'sha256'` because that's the fleet's checksum
37
+ * convention; pass an explicit algorithm if you have a hex digest from `sha384`
38
+ * or `sha512` (the function does not verify hex length against the algorithm —
39
+ * caller's responsibility).
40
+ *
41
+ * @example
42
+ * ;```typescript
43
+ * checksumToIntegrity(
44
+ * '3620a0fcaf81ecd3aaeccd5965919d90dbc913f4d07a96e11e7cafc2c785054b',
45
+ * )
46
+ * // 'sha256-NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs='
47
+ *
48
+ * checksumToIntegrity('sha256-NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs=')
49
+ * // 'sha256-NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs=' (idempotent)
50
+ * ```
51
+ *
52
+ * @throws TypeError when the input is neither a recognized SRI nor a hex
53
+ * digest.
54
+ */
55
+ function checksumToIntegrity(input, algorithm = "sha256") {
56
+ if (isIntegrity(input)) return input;
57
+ if (!/^[a-f0-9]+$/i.test(input)) throw new require_primordials_error.TypeErrorCtor(`checksumToIntegrity: expected a hex digest or SRI string, got: ${input}`);
58
+ return `${algorithm}-${require_primordials_buffer.BufferPrototypeToString(require_primordials_buffer.BufferFrom(input, "hex"), "base64")}`;
59
+ }
60
+ /**
27
61
  * Compute both integrity (sha512 SRI) and checksum (sha256 hex) for a buffer of
28
62
  * bytes.
29
63
  */
30
64
  function computeHashes(bytes) {
31
65
  return {
32
- integrity: `sha512-${/* @__PURE__ */ require_crypto_hash.hash("sha512", bytes, "base64")}`,
33
- checksum: /* @__PURE__ */ require_crypto_hash.hash("sha256", bytes, "hex")
66
+ integrity: `sha512-${require_crypto_hash.hash("sha512", bytes, "base64")}`,
67
+ checksum: require_crypto_hash.hash("sha256", bytes, "hex")
34
68
  };
35
69
  }
36
- function isChecksumString(s) {
70
+ /**
71
+ * Convert a sha256 SRI integrity string to its hex checksum form (64 lowercase
72
+ * chars). Idempotent on checksum input.
73
+ *
74
+ * Throws on `sha384` and `sha512` SRI — checksums are sha256-only by fleet
75
+ * convention. Callers that need a hex digest for those algorithms can call
76
+ * `parseIntegrity(sri)` and decode `.body` manually.
77
+ *
78
+ * @example
79
+ * ;```typescript
80
+ * integrityToChecksum('sha256-NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs=')
81
+ * // '3620a0fcaf81ecd3aaeccd5965919d90dbc913f4d07a96e11e7cafc2c785054b'
82
+ *
83
+ * integrityToChecksum(
84
+ * '3620a0fcaf81ecd3aaeccd5965919d90dbc913f4d07a96e11e7cafc2c785054b',
85
+ * )
86
+ * // '3620a0fcaf81ecd3aaeccd5965919d90dbc913f4d07a96e11e7cafc2c785054b' (idempotent)
87
+ * ```
88
+ *
89
+ * @throws TypeError when the input is neither a recognized SRI nor a hex
90
+ * checksum, or when the input is a non-sha256 SRI.
91
+ */
92
+ function integrityToChecksum(input) {
93
+ if (isChecksum(input)) return input;
94
+ const parsed = parseIntegrity(input);
95
+ if (parsed.algorithm !== "sha256") throw new require_primordials_error.TypeErrorCtor(`integrityToChecksum: ${parsed.algorithm} integrity has no 64-hex-char checksum form — checksums are sha256-only by fleet convention.`);
96
+ return require_primordials_buffer.BufferPrototypeToString(require_primordials_buffer.BufferFrom(parsed.body, "base64"), "hex");
97
+ }
98
+ /**
99
+ * True when `s` is a sha256 hex checksum (exactly 64 hex chars).
100
+ */
101
+ function isChecksum(s) {
37
102
  return CHECKSUM_RE.test(s);
38
103
  }
39
- function isIntegrityString(s) {
40
- if (!require_primordials_string.StringPrototypeStartsWith(s, INTEGRITY_PREFIX)) return false;
41
- const body = require_primordials_string.StringPrototypeSlice(s, 7);
42
- return body.length > 0 && INTEGRITY_BODY_RE.test(body);
104
+ /**
105
+ * True when `s` is a W3C SRI integrity string: `sha(256|384|512)-<base64>`.
106
+ */
107
+ function isIntegrity(s) {
108
+ return INTEGRITY_RE.test(s);
43
109
  }
44
110
  /**
45
111
  * Normalize a {@link HashSpec} to its canonical `{ type, value }` form.
46
112
  *
47
113
  * - Object form is trusted (its `value` is validated for shape).
48
- * - Bare string matching sha512 SRI → integrity.
114
+ * - Bare string matching SRI → integrity.
49
115
  * - Bare string of 64 hex chars → checksum.
50
116
  * - Anything else throws TypeError.
51
117
  *
@@ -55,31 +121,51 @@ function isIntegrityString(s) {
55
121
  function normalizeHash(spec) {
56
122
  if (typeof spec === "object" && spec !== null) {
57
123
  if (spec.type === "integrity") {
58
- if (!isIntegrityString(spec.value)) throw new require_primordials_error.TypeErrorCtor(`Expected SRI integrity string "sha512-<base64>", got: ${spec.value}`);
124
+ if (!isIntegrity(spec.value)) throw new require_primordials_error.TypeErrorCtor(`normalizeHash: expected SRI integrity "sha(256|384|512)-<base64>", got: ${spec.value}`);
59
125
  return {
60
126
  type: "integrity",
61
127
  value: spec.value
62
128
  };
63
129
  }
64
130
  if (spec.type === "checksum") {
65
- if (!isChecksumString(spec.value)) throw new require_primordials_error.TypeErrorCtor(`Expected sha256 hex string (64 hex chars), got: ${spec.value}`);
131
+ if (!isChecksum(spec.value)) throw new require_primordials_error.TypeErrorCtor(`normalizeHash: expected sha256 hex checksum (64 hex chars), got: ${spec.value}`);
66
132
  return {
67
133
  type: "checksum",
68
134
  value: spec.value
69
135
  };
70
136
  }
71
- throw new require_primordials_error.TypeErrorCtor(`Unknown hash type: ${spec.type}`);
137
+ throw new require_primordials_error.TypeErrorCtor(`normalizeHash: unknown hash type: ${spec.type}`);
72
138
  }
73
- if (typeof spec !== "string") throw new require_primordials_error.TypeErrorCtor(`HashSpec must be a string or { type, value } object, got: ${typeof spec}`);
74
- if (isIntegrityString(spec)) return {
139
+ if (typeof spec !== "string") throw new require_primordials_error.TypeErrorCtor(`normalizeHash: expected string or { type, value }, got: ${typeof spec}`);
140
+ if (isIntegrity(spec)) return {
75
141
  type: "integrity",
76
142
  value: spec
77
143
  };
78
- if (isChecksumString(spec)) return {
144
+ if (isChecksum(spec)) return {
79
145
  type: "checksum",
80
146
  value: spec
81
147
  };
82
- throw new require_primordials_error.TypeErrorCtor(`Unrecognized hash format. Expected SRI integrity ("sha512-<base64>") or sha256 hex (64 hex chars), got: ${spec}`);
148
+ throw new require_primordials_error.TypeErrorCtor(`normalizeHash: unrecognized hash format. Expected SRI integrity ("sha(256|384|512)-<base64>") or sha256 hex checksum (64 hex chars), got: ${spec}`);
149
+ }
150
+ /**
151
+ * Split an integrity string into its `{ algorithm, body }` components. `body`
152
+ * is the base64-encoded digest (everything after the algorithm + dash).
153
+ *
154
+ * @example
155
+ * ;```typescript
156
+ * parseIntegrity('sha256-NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs=')
157
+ * // { algorithm: 'sha256', body: 'NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs=' }
158
+ * ```
159
+ *
160
+ * @throws Error when the input is not a valid SRI integrity string.
161
+ */
162
+ function parseIntegrity(sri) {
163
+ const m = INTEGRITY_RE.exec(sri);
164
+ if (!m) throw new require_primordials_error.ErrorCtor(`parseIntegrity: invalid SRI format: ${sri}`);
165
+ return {
166
+ algorithm: m[1],
167
+ body: m[2]
168
+ };
83
169
  }
84
170
  /**
85
171
  * Verify computed hashes against an expected {@link NormalizedHash}. Uses
@@ -92,7 +178,7 @@ function verifyHash(expected, computed) {
92
178
  const actual = expected.type === "integrity" ? computed.integrity : computed.checksum;
93
179
  const expectedBuf = require_primordials_buffer.BufferFrom(expected.value);
94
180
  const actualBuf = require_primordials_buffer.BufferFrom(actual);
95
- if (expectedBuf.length !== actualBuf.length || !(0, node_crypto.timingSafeEqual)(expectedBuf, actualBuf)) throw new DlxHashMismatchError(expected, computed);
181
+ if (expectedBuf.length !== actualBuf.length || !node_crypto.default.timingSafeEqual(expectedBuf, actualBuf)) throw new DlxHashMismatchError(expected, computed);
96
182
  }
97
183
  /**
98
184
  * Thrown when an expected hash doesn't match the computed hash of the
@@ -112,8 +198,11 @@ var DlxHashMismatchError = class extends Error {
112
198
 
113
199
  //#endregion
114
200
  exports.DlxHashMismatchError = DlxHashMismatchError;
201
+ exports.checksumToIntegrity = checksumToIntegrity;
115
202
  exports.computeHashes = computeHashes;
116
- exports.isChecksumString = isChecksumString;
117
- exports.isIntegrityString = isIntegrityString;
203
+ exports.integrityToChecksum = integrityToChecksum;
204
+ exports.isChecksum = isChecksum;
205
+ exports.isIntegrity = isIntegrity;
118
206
  exports.normalizeHash = normalizeHash;
207
+ exports.parseIntegrity = parseIntegrity;
119
208
  exports.verifyHash = verifyHash;
@@ -27,8 +27,8 @@ node_process = require_runtime.__toESM(node_process);
27
27
  * @internal
28
28
  */
29
29
  async function ensureIpcDirectory(filePath) {
30
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
31
- const dir = (/* @__PURE__ */ require_node_path.getNodePath()).dirname(filePath);
30
+ const fs = require_node_fs.getNodeFs();
31
+ const dir = require_node_path.getNodePath().dirname(filePath);
32
32
  await fs.promises.mkdir(dir, {
33
33
  recursive: true,
34
34
  mode: 448
package/dist/ipc/paths.js CHANGED
@@ -46,7 +46,7 @@ node_process = require_runtime.__toESM(node_process);
46
46
  */
47
47
  function getIpcStubPath(appName) {
48
48
  const tempDir = require_paths_socket.getOsTmpDir();
49
- const path = /* @__PURE__ */ require_node_path.getNodePath();
49
+ const path = require_node_path.getNodePath();
50
50
  const stubDir = path.join(tempDir, ".socket-ipc", appName);
51
51
  return path.join(stubDir, `stub-${node_process.default.pid}.json`);
52
52
  }
package/dist/ipc/write.js CHANGED
@@ -60,7 +60,7 @@ async function writeIpcStub(appName, data) {
60
60
  pid: node_process.default.pid,
61
61
  timestamp: require_primordials_date.DateNow()
62
62
  });
63
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
63
+ const fs = require_node_fs.getNodeFs();
64
64
  const flags = fs.constants.O_CREAT | fs.constants.O_WRONLY | fs.constants.O_EXCL | fs.constants.O_NOFOLLOW;
65
65
  let handle;
66
66
  try {
@@ -12,21 +12,21 @@ const require_primordials_object = require('../primordials/object.js');
12
12
  * `@socketsecurity/lib/ipc` (`getIpcStubPath`, `writeIpcStub`) for cases
13
13
  * where data exceeds env-var size limits.
14
14
  */
15
- let _ipcObject;
15
+ let ipcObject;
16
16
  async function getIpc(key) {
17
- if (_ipcObject === void 0) {
18
- _ipcObject = {};
17
+ if (ipcObject === void 0) {
18
+ ipcObject = {};
19
19
  const { env } = process;
20
- if (env["SOCKET_CLI_FIX"]) _ipcObject.SOCKET_CLI_FIX = env["SOCKET_CLI_FIX"];
21
- if (env["SOCKET_CLI_OPTIMIZE"]) _ipcObject.SOCKET_CLI_OPTIMIZE = env["SOCKET_CLI_OPTIMIZE"] === "true" || env["SOCKET_CLI_OPTIMIZE"] === "1";
22
- if (env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"]) _ipcObject.SOCKET_CLI_SHADOW_ACCEPT_RISKS = env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"] === "true" || env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"] === "1";
23
- if (env["SOCKET_CLI_SHADOW_API_TOKEN"]) _ipcObject.SOCKET_CLI_SHADOW_API_TOKEN = env["SOCKET_CLI_SHADOW_API_TOKEN"];
24
- if (env["SOCKET_CLI_SHADOW_BIN"]) _ipcObject.SOCKET_CLI_SHADOW_BIN = env["SOCKET_CLI_SHADOW_BIN"];
25
- if (env["SOCKET_CLI_SHADOW_PROGRESS"]) _ipcObject.SOCKET_CLI_SHADOW_PROGRESS = env["SOCKET_CLI_SHADOW_PROGRESS"] === "true" || env["SOCKET_CLI_SHADOW_PROGRESS"] === "1";
26
- if (env["SOCKET_CLI_SHADOW_SILENT"]) _ipcObject.SOCKET_CLI_SHADOW_SILENT = env["SOCKET_CLI_SHADOW_SILENT"] === "true" || env["SOCKET_CLI_SHADOW_SILENT"] === "1";
27
- require_primordials_object.ObjectFreeze(_ipcObject);
20
+ if (env["SOCKET_CLI_FIX"]) ipcObject.SOCKET_CLI_FIX = env["SOCKET_CLI_FIX"];
21
+ if (env["SOCKET_CLI_OPTIMIZE"]) ipcObject.SOCKET_CLI_OPTIMIZE = env["SOCKET_CLI_OPTIMIZE"] === "1" || env["SOCKET_CLI_OPTIMIZE"] === "true";
22
+ if (env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"]) ipcObject.SOCKET_CLI_SHADOW_ACCEPT_RISKS = env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"] === "1" || env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"] === "true";
23
+ if (env["SOCKET_CLI_SHADOW_API_TOKEN"]) ipcObject.SOCKET_CLI_SHADOW_API_TOKEN = env["SOCKET_CLI_SHADOW_API_TOKEN"];
24
+ if (env["SOCKET_CLI_SHADOW_BIN"]) ipcObject.SOCKET_CLI_SHADOW_BIN = env["SOCKET_CLI_SHADOW_BIN"];
25
+ if (env["SOCKET_CLI_SHADOW_PROGRESS"]) ipcObject.SOCKET_CLI_SHADOW_PROGRESS = env["SOCKET_CLI_SHADOW_PROGRESS"] === "1" || env["SOCKET_CLI_SHADOW_PROGRESS"] === "true";
26
+ if (env["SOCKET_CLI_SHADOW_SILENT"]) ipcObject.SOCKET_CLI_SHADOW_SILENT = env["SOCKET_CLI_SHADOW_SILENT"] === "1" || env["SOCKET_CLI_SHADOW_SILENT"] === "true";
27
+ require_primordials_object.ObjectFreeze(ipcObject);
28
28
  }
29
- return key ? _ipcObject[key] : _ipcObject;
29
+ return key ? ipcObject[key] : ipcObject;
30
30
  }
31
31
 
32
32
  //#endregion
package/dist/json/edit.js CHANGED
@@ -6,10 +6,10 @@ const require_primordials_error = require('../primordials/error.js');
6
6
  const require_node_fs = require('../node/fs.js');
7
7
  const require_primordials_json = require('../primordials/json.js');
8
8
  const require_errors_predicates = require('../errors/predicates.js');
9
+ const require_promises_timers = require('../promises/timers.js');
9
10
  const require_json_format = require('./format.js');
10
11
  let node_process = require("node:process");
11
12
  node_process = require_runtime.__toESM(node_process);
12
- let node_timers_promises = require("node:timers/promises");
13
13
 
14
14
  //#region src/json/edit.ts
15
15
  /**
@@ -17,7 +17,7 @@ let node_timers_promises = require("node:timers/promises");
17
17
  */
18
18
  const identSymbol = require_json_format.INDENT_SYMBOL;
19
19
  const newlineSymbol = require_json_format.NEWLINE_SYMBOL;
20
- let _EditableJsonClass;
20
+ let editableJsonClass;
21
21
  /**
22
22
  * Get the EditableJson class for JSON file manipulation.
23
23
  *
@@ -31,9 +31,8 @@ let _EditableJsonClass;
31
31
  * await config.save({ sort: true })
32
32
  * ```
33
33
  */
34
- /*@__NO_SIDE_EFFECTS__*/
35
34
  function getEditableJsonClass() {
36
- if (_EditableJsonClass === void 0) _EditableJsonClass = class EditableJson {
35
+ if (editableJsonClass === void 0) editableJsonClass = class EditableJson {
37
36
  _canSave = true;
38
37
  _content = {};
39
38
  _path = void 0;
@@ -108,7 +107,7 @@ function getEditableJsonClass() {
108
107
  if (!require_json_format.shouldSave(this.content, this._readFileJson, this._readFileContent, options)) return false;
109
108
  const content = require_json_format.stripFormattingSymbols(this.content);
110
109
  const fileContent = require_json_format.stringifyWithFormatting(options?.sort ? require_json_format.sortKeys(content) : content, require_json_format.getFormattingFromContent(this.content));
111
- (/* @__PURE__ */ require_node_fs.getNodeFs()).writeFileSync(this.filename, fileContent);
110
+ require_node_fs.getNodeFs().writeFileSync(this.filename, fileContent);
112
111
  this._readFileContent = fileContent;
113
112
  this._readFileJson = require_primordials_json.JSONParse(fileContent);
114
113
  return true;
@@ -125,7 +124,7 @@ function getEditableJsonClass() {
125
124
  return require_json_format.shouldSave(this.content, this._readFileJson, this._readFileContent, options);
126
125
  }
127
126
  };
128
- return _EditableJsonClass;
127
+ return editableJsonClass;
129
128
  }
130
129
  /**
131
130
  * Read file content from disk with retry logic for ENOENT errors.
@@ -133,7 +132,7 @@ function getEditableJsonClass() {
133
132
  * @private
134
133
  */
135
134
  async function readFile(filepath) {
136
- const { promises: fsPromises } = /* @__PURE__ */ require_node_fs.getNodeFs();
135
+ const { promises: fsPromises } = require_node_fs.getNodeFs();
137
136
  /* c8 ignore start */
138
137
  const maxRetries = node_process.default.platform === "win32" ? 5 : 1;
139
138
  for (let attempt = 0; attempt <= maxRetries; attempt++) try {
@@ -141,7 +140,7 @@ async function readFile(filepath) {
141
140
  } catch (e) {
142
141
  const isLastAttempt = attempt === maxRetries;
143
142
  if (!(require_errors_predicates.isErrnoException(e) && e.code === "ENOENT") || isLastAttempt) throw e;
144
- await (0, node_timers_promises.setTimeout)(node_process.default.platform === "win32" ? 50 * (attempt + 1) : 20);
143
+ await require_promises_timers.sleep(node_process.default.platform === "win32" ? 50 * (attempt + 1) : 20);
145
144
  }
146
145
  /* c8 ignore stop */
147
146
  /* c8 ignore next 3 - Loop has 'return' on success and 'throw' in
@@ -156,22 +155,22 @@ async function readFile(filepath) {
156
155
  * @private
157
156
  */
158
157
  async function retryWrite(filepath, content, retries = 3, baseDelay = 10) {
159
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
158
+ const fs = require_node_fs.getNodeFs();
160
159
  const { promises: fsPromises } = fs;
161
160
  for (let attempt = 0; attempt <= retries; attempt++) try {
162
161
  await fsPromises.writeFile(filepath, content);
163
162
  /* c8 ignore start - Windows-only flush+verify loop. Tested on
164
163
  Windows runners. */
165
164
  if (node_process.default.platform === "win32") {
166
- await (0, node_timers_promises.setTimeout)(50);
165
+ await require_promises_timers.sleep(50);
167
166
  let accessRetries = 0;
168
167
  const maxAccessRetries = 5;
169
168
  while (accessRetries < maxAccessRetries) {
170
169
  if (fs.existsSync(filepath)) {
171
- await (0, node_timers_promises.setTimeout)(10);
170
+ await require_promises_timers.sleep(10);
172
171
  break;
173
172
  }
174
- await (0, node_timers_promises.setTimeout)(20 * (accessRetries + 1));
173
+ await require_promises_timers.sleep(20 * (accessRetries + 1));
175
174
  accessRetries++;
176
175
  }
177
176
  }
@@ -179,8 +178,8 @@ async function retryWrite(filepath, content, retries = 3, baseDelay = 10) {
179
178
  return;
180
179
  } catch (e) {
181
180
  const isLastAttempt = attempt === retries;
182
- if (!(require_errors_predicates.isErrnoException(e) && (e.code === "EPERM" || e.code === "EBUSY" || e.code === "ENOENT")) || isLastAttempt) throw e;
183
- await (0, node_timers_promises.setTimeout)(baseDelay * 2 ** attempt);
181
+ if (!(require_errors_predicates.isErrnoException(e) && (e.code === "EBUSY" || e.code === "ENOENT" || e.code === "EPERM")) || isLastAttempt) throw e;
182
+ await require_promises_timers.sleep(baseDelay * 2 ** attempt);
184
183
  }
185
184
  }
186
185
 
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_object = require('../primordials/object.js');
5
4
  const require_primordials_json = require('../primordials/json.js');
5
+ const require_primordials_object = require('../primordials/object.js');
6
6
 
7
7
  //#region src/json/format.ts
8
8
  /**
@@ -165,7 +165,7 @@ function shouldSave(currentContent, originalContent, originalFileContent, option
165
165
  */
166
166
  function sortKeys(obj) {
167
167
  const sorted = { __proto__: null };
168
- const keys = require_primordials_object.ObjectKeys(obj).sort();
168
+ const keys = require_primordials_object.ObjectKeys(obj).toSorted();
169
169
  for (const key of keys) sorted[key] = obj[key];
170
170
  return sorted;
171
171
  }
@@ -5,7 +5,7 @@
5
5
  * limits + optional schema validation).
6
6
  */
7
7
  import type { Schema } from '../schema/types';
8
- import type { ParseJsonOptions, JsonPrimitive, JsonValue, ParseJsonSafeOptions } from './types';
8
+ import type { JsonPrimitive, JsonValue, ParseJsonOptions, ParseJsonSafeOptions } from './types';
9
9
  /**
10
10
  * Check if a value is a Buffer instance. Uses duck-typing to detect Buffer
11
11
  * without requiring Node.js Buffer in type system.
@@ -4,9 +4,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_primordials_buffer = require('../primordials/buffer.js');
5
5
  const require_primordials_error = require('../primordials/error.js');
6
6
  const require_primordials_map_set = require('../primordials/map-set.js');
7
+ const require_primordials_json = require('../primordials/json.js');
7
8
  const require_schema_validate = require('../schema/validate.js');
8
9
  const require_strings_transform = require('../strings/transform.js');
9
- const require_primordials_json = require('../primordials/json.js');
10
10
 
11
11
  //#region src/json/parse.ts
12
12
  /**
@@ -30,7 +30,6 @@ const require_primordials_json = require('../primordials/json.js');
30
30
  *
31
31
  * @returns `true` if value is a Buffer, `false` otherwise
32
32
  */
33
- /*@__NO_SIDE_EFFECTS__*/
34
33
  function isBuffer(x) {
35
34
  if (!x || typeof x !== "object") return false;
36
35
  const obj = x;
@@ -59,7 +58,6 @@ function isBuffer(x) {
59
58
  *
60
59
  * @returns `true` if value is a JSON primitive, `false` otherwise
61
60
  */
62
- /*@__NO_SIDE_EFFECTS__*/
63
61
  function isJsonPrimitive(value) {
64
62
  return value === null || typeof value === "boolean" || typeof value === "number" || typeof value === "string";
65
63
  }
@@ -117,16 +115,15 @@ function isJsonPrimitive(value) {
117
115
  *
118
116
  * @throws {SyntaxError} When JSON is invalid and `throws` is `true` (default)
119
117
  */
120
- /*@__NO_SIDE_EFFECTS__*/
121
118
  function parseJson(content, options) {
122
119
  const { filepath, reviver, throws } = {
123
120
  __proto__: null,
124
121
  ...options
125
122
  };
126
123
  const shouldThrow = throws === void 0 || !!throws;
127
- const jsonStr = /* @__PURE__ */ isBuffer(content) ? content.toString("utf8") : content;
124
+ const jsonStr = isBuffer(content) ? content.toString("utf8") : content;
128
125
  try {
129
- return require_primordials_json.JSONParse(/* @__PURE__ */ require_strings_transform.stripBom(jsonStr), reviver);
126
+ return require_primordials_json.JSONParse(require_strings_transform.stripBom(jsonStr), reviver);
130
127
  } catch (e) {
131
128
  if (shouldThrow) {
132
129
  const error = e;
@@ -183,7 +180,6 @@ const DEFAULT_MAX_SIZE = 10 * 1024 * 1024;
183
180
  * `allowPrototype` is not `true`).
184
181
  * @throws {Error} When schema validation fails.
185
182
  */
186
- /*@__NO_SIDE_EFFECTS__*/
187
183
  function parseJsonSafe(jsonString, schema, options = {}) {
188
184
  const { allowPrototype = false, maxSize = DEFAULT_MAX_SIZE } = options;
189
185
  if (require_primordials_buffer.BufferByteLength(jsonString, "utf8") > maxSize) throw new require_primordials_error.ErrorCtor(`JSON string exceeds maximum size limit${maxSize !== DEFAULT_MAX_SIZE ? ` of ${maxSize} bytes` : ""}`);
@@ -3,7 +3,7 @@
3
3
  * public `Logger` surface) and `logger/console-init` (which mutates
4
4
  * `Logger.prototype` to mirror `globalConsole`). The `_` prefix keeps this
5
5
  * module out of the generated package.json `exports` map (the `dist/**\/_*`
6
- * ignore pattern in `scripts/fix/generate-package-exports.mts` filters it
6
+ * ignore pattern in `scripts/post-build/make-package-exports.mts` filters it
7
7
  * out), so it is not part of the public surface — it exists only to give the
8
8
  * two leaves above a common owner for the WeakMap-backed lazy-init state. Why
9
9
  * two WeakMaps instead of `#privateField` slots:
@@ -32,9 +32,9 @@ export declare const globalConsole: Console;
32
32
  */
33
33
  export declare const consolePropAttributes: {
34
34
  __proto__: null;
35
- writable: boolean;
36
- enumerable: boolean;
37
35
  configurable: boolean;
36
+ enumerable: boolean;
37
+ writable: boolean;
38
38
  };
39
39
  /**
40
40
  * Cap on the indentation prefix length so a runaway `indent(n)` call with a
@@ -58,7 +58,7 @@ export declare const maxIndentation = 1000;
58
58
  * the Logger's own group methods avoid by tracking indentation at the prefix
59
59
  * layer.
60
60
  */
61
- export declare const boundConsoleEntries: any[][];
61
+ export declare const boundConsoleEntries: [string, (...args: unknown[]) => unknown][];
62
62
  /**
63
63
  * WeakMap storing the Console instance for each Logger.
64
64
  *
@@ -9,7 +9,7 @@ const require_primordials_map_set = require('../primordials/map-set.js');
9
9
  * public `Logger` surface) and `logger/console-init` (which mutates
10
10
  * `Logger.prototype` to mirror `globalConsole`). The `_` prefix keeps this
11
11
  * module out of the generated package.json `exports` map (the `dist/**\/_*`
12
- * ignore pattern in `scripts/fix/generate-package-exports.mts` filters it
12
+ * ignore pattern in `scripts/post-build/make-package-exports.mts` filters it
13
13
  * out), so it is not part of the public surface — it exists only to give the
14
14
  * two leaves above a common owner for the WeakMap-backed lazy-init state. Why
15
15
  * two WeakMaps instead of `#privateField` slots:
@@ -38,9 +38,9 @@ const globalConsole = console;
38
38
  */
39
39
  const consolePropAttributes = {
40
40
  __proto__: null,
41
- writable: true,
41
+ configurable: true,
42
42
  enumerable: false,
43
- configurable: true
43
+ writable: true
44
44
  };
45
45
  /**
46
46
  * Cap on the indentation prefix length so a runaway `indent(n)` call with a
@@ -17,16 +17,17 @@ src_external_yoctocolors_cjs = require_runtime.__toESM(src_external_yoctocolors_
17
17
  * Apply a color to text using yoctocolors. Handles both named colors and RGB
18
18
  * tuples.
19
19
  */
20
- /*@__NO_SIDE_EFFECTS__*/
21
20
  function applyColor(text, color, colors) {
22
- if (typeof color === "string") return colors[color](text);
21
+ if (typeof color === "string") {
22
+ const formatter = colors[color];
23
+ return formatter ? formatter(text) : text;
24
+ }
23
25
  const { 0: r, 1: g, 2: b } = color;
24
26
  return `\u001B[38;2;${r};${g};${b}m${text}\u001B[39m`;
25
27
  }
26
28
  /**
27
29
  * Get the yoctocolors module for terminal colors.
28
30
  */
29
- /*@__NO_SIDE_EFFECTS__*/
30
31
  function getYoctocolors() {
31
32
  return src_external_yoctocolors_cjs.default;
32
33
  }