@socketsecurity/lib 6.0.6 → 6.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (619) hide show
  1. package/CHANGELOG.md +46 -1
  2. package/README.md +1 -1
  3. package/dist/ai/agent-context.d.mts +103 -0
  4. package/dist/ai/agent-context.js +157 -0
  5. package/dist/ai/backends.d.mts +83 -0
  6. package/dist/ai/backends.js +173 -0
  7. package/dist/ai/credentials.d.mts +49 -0
  8. package/dist/ai/credentials.js +82 -0
  9. package/dist/ai/discover.d.mts +6 -2
  10. package/dist/ai/discover.js +4 -3
  11. package/dist/ai/exec.d.mts +52 -0
  12. package/dist/ai/exec.js +92 -0
  13. package/dist/ai/http.d.mts +132 -0
  14. package/dist/ai/http.js +130 -0
  15. package/dist/ai/profiles.d.mts +41 -6
  16. package/dist/ai/profiles.js +52 -10
  17. package/dist/ai/route.d.mts +69 -0
  18. package/dist/ai/route.js +156 -0
  19. package/dist/ai/spawn.d.mts +10 -2
  20. package/dist/ai/spawn.js +56 -31
  21. package/dist/ai/subagent-status.d.mts +48 -0
  22. package/dist/ai/subagent-status.js +57 -0
  23. package/dist/ai/tier.d.mts +60 -0
  24. package/dist/ai/tier.js +53 -0
  25. package/dist/ai/types.d.mts +31 -6
  26. package/dist/ai/worktree.d.mts +6 -6
  27. package/dist/ai/worktree.js +5 -1
  28. package/dist/ansi/strip.d.ts +1 -1
  29. package/dist/ansi/strip.js +0 -2
  30. package/dist/archives/_internal.js +7 -9
  31. package/dist/archives/extract.js +1 -1
  32. package/dist/archives/tar.js +7 -7
  33. package/dist/archives/zip.js +5 -7
  34. package/dist/argv/flag-predicates.d.ts +12 -12
  35. package/dist/argv/flag-predicates.js +17 -17
  36. package/dist/argv/flag-types.d.ts +18 -18
  37. package/dist/argv/flag-types.js +4 -4
  38. package/dist/argv/parse.d.ts +20 -3
  39. package/dist/argv/parse.js +1 -1
  40. package/dist/arrays/_internal.js +11 -12
  41. package/dist/arrays/chunk.js +0 -1
  42. package/dist/arrays/join.d.ts +37 -3
  43. package/dist/arrays/join.js +47 -7
  44. package/dist/arrays/unique.js +0 -1
  45. package/dist/bin/_internal.d.ts +1 -1
  46. package/dist/bin/_internal.js +1 -1
  47. package/dist/bin/exec.js +2 -3
  48. package/dist/bin/find.js +17 -17
  49. package/dist/bin/prim.cjs +36175 -35861
  50. package/dist/bin/resolve.js +13 -14
  51. package/dist/bin/which.js +8 -8
  52. package/dist/cache/ttl/store.js +6 -6
  53. package/dist/checks/primordials-defaults.d.ts +3 -3
  54. package/dist/checks/primordials-defaults.js +3 -3
  55. package/dist/checks/primordials.js +4 -3
  56. package/dist/{bin → cli}/check-primordials.d.ts +18 -13
  57. package/dist/{bin → cli}/check-primordials.js +58 -55
  58. package/dist/{bin → cli}/check.js +3 -3
  59. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  60. package/dist/{bin → cli}/socket-lib.js +4 -4
  61. package/dist/colors/socket-palette.js +7 -9
  62. package/dist/compression/_internal.d.ts +12 -12
  63. package/dist/compression/_internal.js +18 -18
  64. package/dist/compression/brotli.d.ts +26 -27
  65. package/dist/compression/brotli.js +39 -35
  66. package/dist/compression/gzip.d.ts +23 -23
  67. package/dist/compression/gzip.js +46 -42
  68. package/dist/constants/agents.d.ts +3 -1
  69. package/dist/constants/agents.js +15 -11
  70. package/dist/constants/licenses.js +3 -3
  71. package/dist/constants/node.d.ts +23 -0
  72. package/dist/constants/node.js +47 -15
  73. package/dist/constants/packages.d.ts +3 -0
  74. package/dist/constants/packages.js +24 -29
  75. package/dist/constants/platform.d.ts +30 -3
  76. package/dist/constants/platform.js +72 -12
  77. package/dist/constants/runtime.d.ts +22 -0
  78. package/dist/constants/runtime.js +32 -0
  79. package/dist/constants/socket.d.ts +2 -6
  80. package/dist/constants/socket.js +12 -14
  81. package/dist/cover/code.js +10 -10
  82. package/dist/cover/formatters.js +5 -5
  83. package/dist/crypto/hash.d.ts +30 -2
  84. package/dist/crypto/hash.js +47 -13
  85. package/dist/debug/_internal.js +4 -6
  86. package/dist/debug/caller-info.js +3 -4
  87. package/dist/debug/namespace.d.ts +7 -0
  88. package/dist/debug/namespace.js +21 -12
  89. package/dist/debug/output.js +21 -24
  90. package/dist/debug/types.d.ts +4 -4
  91. package/dist/dlx/arborist.js +18 -8
  92. package/dist/dlx/binary-cache.js +15 -15
  93. package/dist/dlx/binary-download.d.ts +1 -1
  94. package/dist/dlx/binary-download.js +11 -11
  95. package/dist/dlx/binary-resolution.js +17 -15
  96. package/dist/dlx/binary-types.d.ts +5 -5
  97. package/dist/dlx/binary.js +5 -5
  98. package/dist/dlx/cache.js +1 -1
  99. package/dist/dlx/detect.d.ts +42 -25
  100. package/dist/dlx/detect.js +86 -77
  101. package/dist/dlx/dir.js +2 -2
  102. package/dist/dlx/firewall.d.ts +9 -1
  103. package/dist/dlx/firewall.js +1 -1
  104. package/dist/dlx/lockfile.d.ts +19 -18
  105. package/dist/dlx/lockfile.js +19 -16
  106. package/dist/dlx/manifest.d.ts +6 -6
  107. package/dist/dlx/manifest.js +5 -5
  108. package/dist/dlx/package.d.ts +10 -10
  109. package/dist/dlx/package.js +20 -16
  110. package/dist/dlx/packages.js +4 -4
  111. package/dist/dlx/paths.js +7 -7
  112. package/dist/dlx/spec.js +1 -1
  113. package/dist/dlx/types.d.ts +28 -27
  114. package/dist/eco/cargo/parse-lockfile.d.ts +2 -3
  115. package/dist/eco/cargo/parse-lockfile.js +5 -5
  116. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  117. package/dist/eco/manifest/detect-format.js +5 -5
  118. package/dist/eco/manifest/find-packages.js +2 -2
  119. package/dist/eco/manifest/get-package-versions.js +2 -2
  120. package/dist/eco/manifest/get-package.js +2 -2
  121. package/dist/eco/manifest/parse-lockfile.js +2 -2
  122. package/dist/eco/manifest/parse-manifest.js +2 -2
  123. package/dist/eco/manifest/parse.js +2 -2
  124. package/dist/eco/npm/npm/exec.js +2 -2
  125. package/dist/eco/npm/npm/flags.js +7 -12
  126. package/dist/eco/npm/npm/parse-lockfile.d.ts +17 -18
  127. package/dist/eco/npm/npm/parse-lockfile.js +4 -4
  128. package/dist/eco/npm/parse-package-json.d.ts +11 -0
  129. package/dist/eco/npm/parse-package-json.js +3 -3
  130. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  131. package/dist/eco/npm/pnpm/exec.js +5 -5
  132. package/dist/eco/npm/pnpm/flags.js +0 -3
  133. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +6 -4
  134. package/dist/eco/npm/pnpm/parse-lockfile.js +7 -7
  135. package/dist/eco/npm/script.js +9 -6
  136. package/dist/eco/npm/yarnpkg/yarn/exec.js +4 -4
  137. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +3 -4
  138. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +9 -9
  139. package/dist/effects/pulse-frames.d.ts +3 -1
  140. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  141. package/dist/effects/shimmer-terminal.d.ts +1 -1
  142. package/dist/env/boolean.js +0 -1
  143. package/dist/env/ci.js +0 -1
  144. package/dist/env/debug.js +0 -1
  145. package/dist/env/github-status.d.ts +51 -0
  146. package/dist/env/github-status.js +90 -0
  147. package/dist/env/github.js +0 -8
  148. package/dist/env/home.js +0 -1
  149. package/dist/env/locale.js +0 -3
  150. package/dist/env/node-auth-token.js +0 -1
  151. package/dist/env/node-env.js +0 -1
  152. package/dist/env/node-version-managers.d.ts +53 -0
  153. package/dist/env/node-version-managers.js +90 -0
  154. package/dist/env/npm.js +0 -5
  155. package/dist/env/number.js +0 -1
  156. package/dist/env/package-manager.js +3 -6
  157. package/dist/env/path.js +0 -1
  158. package/dist/env/pre-commit.js +1 -2
  159. package/dist/env/proxy.js +1 -1
  160. package/dist/env/rewire.d.ts +8 -6
  161. package/dist/env/rewire.js +16 -17
  162. package/dist/env/shell.js +0 -1
  163. package/dist/env/socket-cli.js +5 -18
  164. package/dist/env/socket-mcp.d.ts +114 -0
  165. package/dist/env/socket-mcp.js +146 -0
  166. package/dist/env/socket.d.ts +8 -109
  167. package/dist/env/socket.js +22 -167
  168. package/dist/env/string.js +0 -1
  169. package/dist/env/temp-dir.js +0 -3
  170. package/dist/env/term.js +0 -1
  171. package/dist/env/test.js +3 -6
  172. package/dist/env/windows.js +0 -4
  173. package/dist/env/xdg.js +0 -3
  174. package/dist/errors/predicates.js +1 -1
  175. package/dist/events/exit/_internal.d.ts +11 -9
  176. package/dist/events/exit/_internal.js +31 -35
  177. package/dist/events/exit/handler.js +3 -4
  178. package/dist/events/exit/intercept.js +4 -6
  179. package/dist/events/exit/lifecycle.js +16 -18
  180. package/dist/events/exit/signals.js +1 -2
  181. package/dist/events/exit/types.d.ts +6 -5
  182. package/dist/external/@npmcli/package-json.js +2 -2
  183. package/dist/external/@npmcli/promise-spawn.js +3 -1
  184. package/dist/external/npm-pack.js +2 -2
  185. package/dist/external/pico-pack.js +4 -2
  186. package/dist/external/which.js +3 -1
  187. package/dist/external-tools/bazel/asset-names.d.ts +1 -1
  188. package/dist/external-tools/bazel/asset-names.js +5 -2
  189. package/dist/external-tools/bazel/from-download.d.ts +1 -1
  190. package/dist/external-tools/bazel/from-download.js +5 -2
  191. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  192. package/dist/external-tools/bazel/resolve-bazel-version.js +4 -0
  193. package/dist/external-tools/bazel/resolve.d.ts +3 -3
  194. package/dist/external-tools/bazel/resolve.js +16 -8
  195. package/dist/external-tools/bazel/types.d.ts +1 -1
  196. package/dist/external-tools/cdxgen/asset-names.d.ts +1 -1
  197. package/dist/external-tools/cdxgen/asset-names.js +5 -2
  198. package/dist/external-tools/cdxgen/from-download.d.ts +1 -1
  199. package/dist/external-tools/cdxgen/from-download.js +7 -4
  200. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  201. package/dist/external-tools/cdxgen/resolve.d.ts +3 -3
  202. package/dist/external-tools/cdxgen/resolve.js +16 -8
  203. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  204. package/dist/external-tools/from-download.d.ts +3 -3
  205. package/dist/external-tools/from-download.js +12 -6
  206. package/dist/external-tools/from-pip-venv.d.ts +1 -1
  207. package/dist/external-tools/from-pip-venv.js +12 -5
  208. package/dist/external-tools/janus/asset-names.d.ts +1 -1
  209. package/dist/external-tools/janus/asset-names.js +5 -2
  210. package/dist/external-tools/janus/from-download.d.ts +1 -1
  211. package/dist/external-tools/janus/from-download.js +5 -2
  212. package/dist/external-tools/janus/from-vfs.js +1 -1
  213. package/dist/external-tools/janus/resolve.d.ts +3 -3
  214. package/dist/external-tools/janus/resolve.js +16 -8
  215. package/dist/external-tools/janus/types.d.ts +1 -1
  216. package/dist/external-tools/jre/asset-names.d.ts +1 -1
  217. package/dist/external-tools/jre/asset-names.js +5 -2
  218. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  219. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  220. package/dist/external-tools/jre/from-download.d.ts +1 -1
  221. package/dist/external-tools/jre/from-download.js +7 -4
  222. package/dist/external-tools/jre/from-java-home.js +2 -2
  223. package/dist/external-tools/jre/from-vfs.js +3 -3
  224. package/dist/external-tools/jre/resolve.d.ts +3 -3
  225. package/dist/external-tools/jre/resolve.js +16 -8
  226. package/dist/external-tools/jre/types.d.ts +1 -1
  227. package/dist/external-tools/manifest.d.ts +25 -7
  228. package/dist/external-tools/manifest.js +13 -13
  229. package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
  230. package/dist/external-tools/opengrep/asset-names.js +5 -2
  231. package/dist/external-tools/opengrep/from-download.d.ts +1 -1
  232. package/dist/external-tools/opengrep/from-download.js +5 -2
  233. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  234. package/dist/external-tools/opengrep/resolve.d.ts +3 -3
  235. package/dist/external-tools/opengrep/resolve.js +16 -8
  236. package/dist/external-tools/opengrep/types.d.ts +1 -1
  237. package/dist/external-tools/python/asset-names.d.ts +76 -0
  238. package/dist/external-tools/python/asset-names.js +111 -0
  239. package/dist/external-tools/python/dlx.d.ts +80 -0
  240. package/dist/external-tools/python/dlx.js +98 -0
  241. package/dist/external-tools/python/from-download.d.ts +53 -0
  242. package/dist/external-tools/python/from-download.js +75 -0
  243. package/dist/external-tools/python/from-path.d.ts +7 -0
  244. package/dist/external-tools/python/from-path.js +23 -0
  245. package/dist/external-tools/python/pin.d.ts +121 -0
  246. package/dist/external-tools/python/pin.js +176 -0
  247. package/dist/external-tools/python/pip-install.d.ts +75 -0
  248. package/dist/external-tools/python/pip-install.js +142 -0
  249. package/dist/external-tools/python/resolve.d.ts +42 -0
  250. package/dist/external-tools/python/resolve.js +66 -0
  251. package/dist/external-tools/python/types.d.ts +49 -0
  252. package/dist/external-tools/sbt/asset-names.d.ts +1 -1
  253. package/dist/external-tools/sbt/asset-names.js +5 -2
  254. package/dist/external-tools/sbt/from-download.d.ts +1 -1
  255. package/dist/external-tools/sbt/from-download.js +5 -2
  256. package/dist/external-tools/sbt/from-vfs.js +1 -1
  257. package/dist/external-tools/sbt/resolve.d.ts +3 -3
  258. package/dist/external-tools/sbt/resolve.js +16 -8
  259. package/dist/external-tools/sbt/types.d.ts +1 -1
  260. package/dist/external-tools/skillspector/from-dlx.d.ts +1 -1
  261. package/dist/external-tools/skillspector/from-dlx.js +10 -3
  262. package/dist/external-tools/skillspector/from-path.js +3 -5
  263. package/dist/external-tools/skillspector/from-vfs.js +1 -1
  264. package/dist/external-tools/skillspector/resolve.d.ts +2 -2
  265. package/dist/external-tools/skillspector/resolve.js +14 -6
  266. package/dist/external-tools/synp/asset-names.d.ts +1 -1
  267. package/dist/external-tools/synp/asset-names.js +6 -2
  268. package/dist/external-tools/synp/from-download.d.ts +1 -1
  269. package/dist/external-tools/synp/from-download.js +7 -4
  270. package/dist/external-tools/synp/from-vfs.js +1 -1
  271. package/dist/external-tools/synp/resolve.d.ts +3 -3
  272. package/dist/external-tools/synp/resolve.js +16 -8
  273. package/dist/external-tools/trivy/asset-names.d.ts +1 -1
  274. package/dist/external-tools/trivy/asset-names.js +5 -2
  275. package/dist/external-tools/trivy/from-download.d.ts +1 -1
  276. package/dist/external-tools/trivy/from-download.js +7 -4
  277. package/dist/external-tools/trivy/from-vfs.js +1 -1
  278. package/dist/external-tools/trivy/resolve.d.ts +3 -3
  279. package/dist/external-tools/trivy/resolve.js +16 -8
  280. package/dist/external-tools/trivy/types.d.ts +1 -1
  281. package/dist/external-tools/trufflehog/asset-names.d.ts +1 -1
  282. package/dist/external-tools/trufflehog/asset-names.js +5 -2
  283. package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
  284. package/dist/external-tools/trufflehog/from-download.js +7 -4
  285. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  286. package/dist/external-tools/trufflehog/resolve.d.ts +3 -3
  287. package/dist/external-tools/trufflehog/resolve.js +16 -8
  288. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  289. package/dist/fs/_internal.d.ts +1 -1
  290. package/dist/fs/_internal.js +7 -7
  291. package/dist/fs/access.js +5 -9
  292. package/dist/fs/allowed-dirs-cache.d.ts +47 -0
  293. package/dist/fs/allowed-dirs-cache.js +69 -0
  294. package/dist/fs/encoding.js +5 -7
  295. package/dist/fs/{find-up.js → find.js} +12 -14
  296. package/dist/fs/inspect.js +7 -13
  297. package/dist/fs/read-dir.js +7 -10
  298. package/dist/fs/read-file.js +8 -14
  299. package/dist/fs/read-json-cache.d.ts +13 -4
  300. package/dist/fs/read-json-cache.js +9 -6
  301. package/dist/fs/read-json.js +4 -6
  302. package/dist/fs/resolve-module.js +7 -3
  303. package/dist/fs/safe.d.ts +1 -1
  304. package/dist/fs/safe.js +13 -14
  305. package/dist/fs/unique.js +4 -5
  306. package/dist/fs/validate.js +1 -2
  307. package/dist/fs/write-json.js +4 -5
  308. package/dist/git/_internal.js +11 -11
  309. package/dist/git/changed.js +4 -4
  310. package/dist/git/repo.js +5 -7
  311. package/dist/git/staged.js +12 -4
  312. package/dist/git/tracked.d.ts +84 -0
  313. package/dist/git/tracked.js +163 -0
  314. package/dist/git/unstaged.js +12 -4
  315. package/dist/github/ghsa.js +2 -2
  316. package/dist/github/refs-cache.d.ts +1 -1
  317. package/dist/github/refs-cache.js +5 -5
  318. package/dist/github/refs-graphql.js +4 -0
  319. package/dist/github/refs-rest.js +9 -5
  320. package/dist/github/refs.js +15 -10
  321. package/dist/github/{fetch.js → request.js} +13 -2
  322. package/dist/github/token.js +1 -1
  323. package/dist/github/types.d.ts +1 -1
  324. package/dist/globs/_internal.js +8 -10
  325. package/dist/globs/match.js +13 -7
  326. package/dist/globs/matcher.d.ts +3 -3
  327. package/dist/globs/matcher.js +16 -14
  328. package/dist/globs/stream.js +1 -2
  329. package/dist/globs/types.d.ts +24 -24
  330. package/dist/http-request/_internal.d.ts +1 -1
  331. package/dist/http-request/browser.js +10 -4
  332. package/dist/http-request/checksum-file.d.ts +55 -0
  333. package/dist/http-request/checksum-file.js +95 -0
  334. package/dist/http-request/download-types.d.ts +15 -23
  335. package/dist/http-request/download.js +3 -3
  336. package/dist/http-request/{browser-fetch.d.ts → fetch/browser.d.ts} +2 -2
  337. package/dist/http-request/{browser-fetch.js → fetch/browser.js} +4 -4
  338. package/dist/http-request/headers.js +1 -2
  339. package/dist/http-request/request-attempt.js +38 -34
  340. package/dist/http-request/request-types.d.ts +2 -2
  341. package/dist/http-request/request.js +1 -1
  342. package/dist/http-request/user-agent.js +4 -5
  343. package/dist/integrity.d.ts +92 -18
  344. package/dist/integrity.js +125 -30
  345. package/dist/ipc/directory.js +2 -2
  346. package/dist/ipc/paths.js +1 -1
  347. package/dist/ipc/write.js +1 -1
  348. package/dist/ipc-cli/get.js +12 -12
  349. package/dist/json/edit.js +51 -44
  350. package/dist/json/format.js +1 -1
  351. package/dist/json/parse.d.ts +1 -1
  352. package/dist/json/parse.js +3 -7
  353. package/dist/logger/_internal.d.ts +4 -4
  354. package/dist/logger/_internal.js +3 -3
  355. package/dist/logger/colors.js +4 -3
  356. package/dist/logger/console-methods.d.ts +132 -0
  357. package/dist/logger/console-methods.js +169 -0
  358. package/dist/logger/console.d.ts +12 -0
  359. package/dist/logger/console.js +42 -11
  360. package/dist/logger/indentation-methods.d.ts +81 -0
  361. package/dist/logger/indentation-methods.js +121 -0
  362. package/dist/logger/node.d.ts +16 -338
  363. package/dist/logger/node.js +75 -608
  364. package/dist/logger/options.d.ts +39 -0
  365. package/dist/logger/options.js +47 -0
  366. package/dist/logger/semantic-methods.d.ts +63 -0
  367. package/dist/logger/semantic-methods.js +108 -0
  368. package/dist/logger/stream-methods.d.ts +63 -0
  369. package/dist/logger/stream-methods.js +101 -0
  370. package/dist/logger/stream.d.ts +37 -0
  371. package/dist/logger/stream.js +42 -0
  372. package/dist/logger/symbols-builder.js +9 -9
  373. package/dist/logger/symbols.d.ts +2 -25
  374. package/dist/logger/symbols.js +53 -74
  375. package/dist/logger/types.d.ts +1 -1
  376. package/dist/memo/types.d.ts +6 -6
  377. package/dist/native-messaging/host.d.ts +20 -0
  378. package/dist/native-messaging/host.js +120 -0
  379. package/dist/native-messaging/index.d.ts +5 -0
  380. package/dist/native-messaging/index.js +22 -0
  381. package/dist/native-messaging/install.d.ts +60 -0
  382. package/dist/native-messaging/install.js +144 -0
  383. package/dist/native-messaging/rate-limit.d.ts +69 -0
  384. package/dist/native-messaging/rate-limit.js +119 -0
  385. package/dist/native-messaging/run.d.ts +10 -0
  386. package/dist/native-messaging/run.js +17 -0
  387. package/dist/node/async-hooks.js +4 -3
  388. package/dist/node/child-process.js +4 -3
  389. package/dist/node/crypto.js +4 -3
  390. package/dist/node/events.js +4 -3
  391. package/dist/node/fs-promises.js +4 -3
  392. package/dist/node/fs.d.ts +22 -6
  393. package/dist/node/fs.js +17 -3
  394. package/dist/node/http.js +4 -3
  395. package/dist/node/https.js +4 -3
  396. package/dist/node/module.js +10 -6
  397. package/dist/node/os.d.ts +10 -2
  398. package/dist/node/os.js +12 -4
  399. package/dist/node/path.d.ts +11 -2
  400. package/dist/node/path.js +18 -4
  401. package/dist/node/timers-promises.js +4 -3
  402. package/dist/node/url.js +4 -3
  403. package/dist/node/util.js +4 -3
  404. package/dist/objects/getters.js +6 -8
  405. package/dist/objects/inspect.js +1 -4
  406. package/dist/objects/mutate.js +4 -5
  407. package/dist/objects/predicates.js +1 -5
  408. package/dist/objects/sort.js +3 -7
  409. package/dist/packages/edit-class.d.ts +2 -3
  410. package/dist/packages/edit-class.js +53 -48
  411. package/dist/packages/edit.js +12 -14
  412. package/dist/packages/exports.js +15 -21
  413. package/dist/packages/fetch.d.ts +16 -0
  414. package/dist/packages/fetch.js +81 -0
  415. package/dist/packages/find.d.ts +55 -0
  416. package/dist/packages/find.js +65 -0
  417. package/dist/packages/isolation.js +14 -14
  418. package/dist/packages/licenses.js +18 -18
  419. package/dist/packages/manifest.js +16 -19
  420. package/dist/packages/metadata-extensions.d.ts +14 -0
  421. package/dist/packages/metadata-extensions.js +43 -0
  422. package/dist/packages/normalize.js +6 -10
  423. package/dist/packages/provenance.js +17 -19
  424. package/dist/packages/read.d.ts +29 -0
  425. package/dist/packages/read.js +66 -0
  426. package/dist/packages/specs.d.ts +48 -1
  427. package/dist/packages/specs.js +75 -12
  428. package/dist/packages/tarball.d.ts +24 -0
  429. package/dist/packages/tarball.js +81 -0
  430. package/dist/packages/types.d.ts +22 -22
  431. package/dist/packages/validation.js +0 -3
  432. package/dist/paths/_internal.d.ts +2 -1
  433. package/dist/paths/_internal.js +7 -19
  434. package/dist/paths/conversion.js +5 -9
  435. package/dist/paths/dirnames.d.ts +1 -0
  436. package/dist/paths/dirnames.js +2 -0
  437. package/dist/paths/filenames.d.ts +0 -1
  438. package/dist/paths/filenames.js +0 -2
  439. package/dist/paths/normalize.js +4 -5
  440. package/dist/paths/packages.js +4 -7
  441. package/dist/paths/predicates.js +9 -16
  442. package/dist/paths/resolve.js +17 -25
  443. package/dist/paths/rewire.d.ts +5 -0
  444. package/dist/paths/rewire.js +3 -3
  445. package/dist/paths/socket.d.ts +74 -111
  446. package/dist/paths/socket.js +106 -139
  447. package/dist/paths/walk.d.ts +1 -1
  448. package/dist/paths/walk.js +4 -4
  449. package/dist/perf/report.js +2 -2
  450. package/dist/perf/types.d.ts +1 -1
  451. package/dist/pkg-ext/data.js +1 -1
  452. package/dist/primordials/array.js +9 -9
  453. package/dist/primordials/date.js +2 -2
  454. package/dist/primordials/error.js +3 -3
  455. package/dist/primordials/headers.d.ts +10 -0
  456. package/dist/primordials/headers.js +23 -0
  457. package/dist/primordials/intl.d.ts +13 -0
  458. package/dist/primordials/intl.js +26 -0
  459. package/dist/primordials/math.js +33 -33
  460. package/dist/primordials/number.js +9 -9
  461. package/dist/primordials/object.js +5 -5
  462. package/dist/primordials/process.d.ts +88 -0
  463. package/dist/primordials/process.js +132 -0
  464. package/dist/primordials/string.d.ts +2 -2
  465. package/dist/primordials/string.js +6 -6
  466. package/dist/primordials/symbol.js +3 -3
  467. package/dist/primordials/uncurry.d.ts +1 -2
  468. package/dist/primordials/uncurry.js +9 -9
  469. package/dist/process/abort.js +3 -3
  470. package/dist/process/lock-manager.js +8 -8
  471. package/dist/process/spawn/_internal.js +6 -8
  472. package/dist/process/spawn/child.js +20 -14
  473. package/dist/process/spawn/errors.js +3 -5
  474. package/dist/process/spawn/kill-tree.d.ts +53 -0
  475. package/dist/process/spawn/kill-tree.js +85 -0
  476. package/dist/process/spawn/stdio.js +0 -1
  477. package/dist/process/spawn/types.d.ts +5 -5
  478. package/dist/process/transient.js +2 -2
  479. package/dist/promises/_internal.d.ts +2 -1
  480. package/dist/promises/_internal.js +2 -6
  481. package/dist/promises/iterate.js +11 -15
  482. package/dist/promises/options.js +3 -6
  483. package/dist/promises/retry.js +4 -5
  484. package/dist/promises/timers.d.ts +30 -0
  485. package/dist/promises/timers.js +48 -0
  486. package/dist/regexps/spec.js +1 -1
  487. package/dist/releases/github-archives.d.ts +6 -6
  488. package/dist/releases/github-archives.js +3 -3
  489. package/dist/releases/github-asset-url.d.ts +1 -1
  490. package/dist/releases/github-asset-url.js +5 -5
  491. package/dist/releases/github-downloads.d.ts +1 -1
  492. package/dist/releases/github-downloads.js +3 -3
  493. package/dist/releases/github-listing.d.ts +12 -4
  494. package/dist/releases/github-listing.js +20 -7
  495. package/dist/releases/github-retry-config.js +1 -1
  496. package/dist/releases/github-types.d.ts +6 -6
  497. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  498. package/dist/releases/socket-btm-binary-naming.js +155 -0
  499. package/dist/releases/socket-btm.d.ts +8 -115
  500. package/dist/releases/socket-btm.js +16 -159
  501. package/dist/schema/types.d.ts +4 -5
  502. package/dist/schema/validate.js +1 -1
  503. package/dist/sea/detect.js +6 -6
  504. package/dist/secrets/_internal.d.ts +2 -2
  505. package/dist/secrets/_internal.js +2 -2
  506. package/dist/secrets/compare.d.ts +45 -0
  507. package/dist/secrets/compare.js +61 -0
  508. package/dist/secrets/find.d.ts +2 -2
  509. package/dist/secrets/find.js +10 -4
  510. package/dist/secrets/keychain.d.ts +1 -1
  511. package/dist/secrets/keychain.js +6 -4
  512. package/dist/secrets/linux.js +40 -52
  513. package/dist/secrets/macos.d.ts +2 -3
  514. package/dist/secrets/macos.js +24 -33
  515. package/dist/secrets/rc.d.ts +4 -4
  516. package/dist/secrets/rc.js +27 -17
  517. package/dist/secrets/socket-api-token.d.ts +4 -4
  518. package/dist/secrets/socket-api-token.js +26 -9
  519. package/dist/secrets/windows.js +32 -37
  520. package/dist/shadow/skip.js +2 -2
  521. package/dist/shell/parse.d.ts +32 -0
  522. package/dist/shell/parse.js +60 -0
  523. package/dist/smol/detect.js +9 -10
  524. package/dist/smol/http.js +6 -7
  525. package/dist/smol/https.js +6 -7
  526. package/dist/smol/manifest.d.ts +1 -1
  527. package/dist/smol/manifest.js +6 -7
  528. package/dist/smol/path.d.ts +1 -1
  529. package/dist/smol/path.js +7 -8
  530. package/dist/smol/primordial.d.ts +4 -0
  531. package/dist/smol/primordial.js +6 -7
  532. package/dist/smol/purl.d.ts +1 -1
  533. package/dist/smol/purl.js +7 -8
  534. package/dist/smol/versions.js +6 -7
  535. package/dist/smol/vfs.js +6 -7
  536. package/dist/sorts/_internal.js +6 -8
  537. package/dist/sorts/natural.js +10 -12
  538. package/dist/sorts/semver.js +1 -2
  539. package/dist/sorts/strings.js +0 -1
  540. package/dist/sorts/types.d.ts +1 -1
  541. package/dist/spinner/create-spinner-class.d.ts +38 -0
  542. package/dist/spinner/create-spinner-class.js +302 -0
  543. package/dist/spinner/default.js +8 -9
  544. package/dist/spinner/spinner-internals.d.ts +36 -0
  545. package/dist/spinner/spinner-internals.js +105 -0
  546. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  547. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  548. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  549. package/dist/spinner/spinner-status-methods.js +133 -0
  550. package/dist/spinner/spinner.d.ts +8 -5
  551. package/dist/spinner/spinner.js +19 -706
  552. package/dist/spinner/types.d.ts +3 -1
  553. package/dist/spinner/with.d.ts +10 -0
  554. package/dist/spinner/with.js +16 -2
  555. package/dist/stdio/divider.js +1 -1
  556. package/dist/stdio/footer.js +3 -3
  557. package/dist/stdio/header.js +4 -4
  558. package/dist/stdio/progress.js +10 -6
  559. package/dist/stdio/prompts.d.ts +7 -5
  560. package/dist/stdio/prompts.js +7 -8
  561. package/dist/stdio/stdout.js +3 -3
  562. package/dist/streams/parallel.js +3 -5
  563. package/dist/streams/transform.js +2 -3
  564. package/dist/strings/format.js +2 -6
  565. package/dist/strings/predicates.js +0 -2
  566. package/dist/strings/search.js +1 -2
  567. package/dist/strings/transform.js +0 -3
  568. package/dist/strings/width.js +9 -10
  569. package/dist/tables/bordered.js +4 -3
  570. package/dist/tables/padding.js +1 -1
  571. package/dist/tables/simple.js +8 -5
  572. package/dist/temporal/instant.js +1 -1
  573. package/dist/temporal/slots.js +6 -6
  574. package/dist/temporal/system.js +9 -9
  575. package/dist/themes/context.d.ts +3 -2
  576. package/dist/themes/context.js +4 -5
  577. package/dist/themes/themes.js +15 -15
  578. package/dist/themes/types.d.ts +3 -3
  579. package/dist/url/assert-safe.d.ts +29 -0
  580. package/dist/url/assert-safe.js +54 -0
  581. package/dist/url/parse.js +0 -2
  582. package/dist/url/predicates.d.ts +31 -1
  583. package/dist/url/predicates.js +43 -3
  584. package/dist/url/search-params.js +3 -9
  585. package/dist/url/types.d.ts +9 -5
  586. package/dist/versions/_internal.js +3 -3
  587. package/dist/words/article.js +0 -1
  588. package/dist/words/capitalize.js +0 -1
  589. package/dist/words/pluralize.js +15 -5
  590. package/package.json +419 -216
  591. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  592. package/dist/external-tools/uv/asset-names.js +0 -70
  593. package/dist/external-tools/uv/from-download.d.ts +0 -17
  594. package/dist/external-tools/uv/from-download.js +0 -47
  595. package/dist/external-tools/uv/from-path.d.ts +0 -5
  596. package/dist/external-tools/uv/from-path.js +0 -22
  597. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  598. package/dist/external-tools/uv/from-vfs.js +0 -26
  599. package/dist/external-tools/uv/resolve.d.ts +0 -25
  600. package/dist/external-tools/uv/resolve.js +0 -53
  601. package/dist/external-tools/uv/types.d.ts +0 -24
  602. package/dist/fs/path-cache.d.ts +0 -21
  603. package/dist/fs/path-cache.js +0 -34
  604. package/dist/http-request/checksums.d.ts +0 -69
  605. package/dist/http-request/checksums.js +0 -108
  606. package/dist/http-request/http-request.d.ts +0 -12
  607. package/dist/http-request/http-request.js +0 -11
  608. package/dist/packages/operations.d.ts +0 -113
  609. package/dist/packages/operations.js +0 -304
  610. package/dist/ssri/convert.d.ts +0 -48
  611. package/dist/ssri/convert.js +0 -69
  612. package/dist/ssri/parse.d.ts +0 -27
  613. package/dist/ssri/parse.js +0 -41
  614. package/dist/ssri/validate.d.ts +0 -41
  615. package/dist/ssri/validate.js +0 -56
  616. /package/dist/{bin → cli}/check.d.ts +0 -0
  617. /package/dist/external-tools/{uv → python}/types.js +0 -0
  618. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  619. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_error = require('../primordials/error.js');
5
+
6
+ //#region src/native-messaging/rate-limit.ts
7
+ /**
8
+ * @file Token-bucket rate limit for the Chrome native-messaging host. Why this
9
+ * exists: A Chrome extension that has been hijacked (XSS in a content script,
10
+ * a compromised CDN dependency) can call `chrome.runtime.connectNative()` in
11
+ * a tight loop. Without a rate limit, the attacker can request our
12
+ * `get-api-token` message thousands of times a second — useful for scraping
13
+ * tokens from a multi-account user, or for keeping the bearer "fresh" in the
14
+ * page's memory after the user navigates away. The bucket gives each origin
15
+ * (`chrome-extension://<id>/`, passed by Chrome as `process.argv[2]`) a
16
+ * budget. Burst is allowed; sustained hammering is denied with `{ error:
17
+ * 'rate limited' }`. A typing-fast human never sees the limit; a botted
18
+ * extension hits it on its second line of attack. Why in-memory: The NM host
19
+ * is a per-Chrome-launch subprocess — restarting Chrome restarts the bucket.
20
+ * That's exactly what we want: an attacker who can force Chrome to relaunch
21
+ * has bigger problems than rate-limiting. Shape patterned after pilcrow's
22
+ * `ratelimit/limit.go` — minimal, in-memory, LRU-evicts at `maxKeys`. The
23
+ * fleet's `socket-lib` already has a TTL-cache module but it's overkill for
24
+ * this one use case; a 50-line bucket is easier to audit.
25
+ */
26
+ var TokenBucketLimiter = class {
27
+ #capacity;
28
+ #refillIntervalMs;
29
+ #maxKeys;
30
+ #buckets = /* @__PURE__ */ new Map();
31
+ #newest = void 0;
32
+ #oldest = void 0;
33
+ constructor(options) {
34
+ options = {
35
+ __proto__: null,
36
+ ...options
37
+ };
38
+ if (options.capacity < 1) throw new require_primordials_error.ErrorCtor("capacity must be >= 1");
39
+ if (options.refillIntervalMs <= 0) throw new require_primordials_error.ErrorCtor("refillIntervalMs must be > 0");
40
+ if (options.maxKeys < 1) throw new require_primordials_error.ErrorCtor("maxKeys must be >= 1");
41
+ this.#capacity = options.capacity;
42
+ this.#refillIntervalMs = options.refillIntervalMs;
43
+ this.#maxKeys = options.maxKeys;
44
+ }
45
+ /**
46
+ * Try to consume one token for `key`. Returns `true` when the request is
47
+ * allowed; `false` when the bucket is empty and not enough time has elapsed
48
+ * to refill.
49
+ *
50
+ * `now` is injectable so tests can advance the virtual clock without
51
+ * sleeping. In production callers pass `Date.now()` (the default).
52
+ */
53
+ consume(key, now = Date.now()) {
54
+ let entry = this.#buckets.get(key);
55
+ if (entry === void 0) {
56
+ entry = this.#createEntry(key, now);
57
+ return entry.tokens >= 0;
58
+ }
59
+ const elapsed = now - entry.lastRefillAt;
60
+ if (elapsed > 0) {
61
+ const refill = Math.floor(elapsed / this.#refillIntervalMs);
62
+ if (refill > 0) {
63
+ entry.tokens = Math.min(this.#capacity, entry.tokens + refill);
64
+ entry.lastRefillAt += refill * this.#refillIntervalMs;
65
+ }
66
+ }
67
+ this.#touch(entry);
68
+ if (entry.tokens <= 0) return false;
69
+ entry.tokens -= 1;
70
+ return true;
71
+ }
72
+ /**
73
+ * Test-only inspector. Returns the current token count for `key`, or
74
+ * `undefined` if `key` has never been seen.
75
+ */
76
+ peek(key) {
77
+ return this.#buckets.get(key)?.tokens;
78
+ }
79
+ /**
80
+ * Test-only inspector. Returns the current number of tracked keys.
81
+ */
82
+ size() {
83
+ return this.#buckets.size;
84
+ }
85
+ #createEntry(key, now) {
86
+ if (this.#buckets.size >= this.#maxKeys && this.#oldest) {
87
+ const evicted = this.#oldest;
88
+ this.#buckets.delete(evicted.key);
89
+ this.#oldest = evicted.newer;
90
+ if (this.#oldest) this.#oldest.older = void 0;
91
+ else this.#newest = void 0;
92
+ }
93
+ const entry = {
94
+ key,
95
+ tokens: this.#capacity - 1,
96
+ lastRefillAt: now,
97
+ newer: void 0,
98
+ older: this.#newest
99
+ };
100
+ if (this.#newest) this.#newest.newer = entry;
101
+ else this.#oldest = entry;
102
+ this.#newest = entry;
103
+ this.#buckets.set(key, entry);
104
+ return entry;
105
+ }
106
+ #touch(entry) {
107
+ if (this.#newest === entry) return;
108
+ if (entry.older) entry.older.newer = entry.newer;
109
+ else this.#oldest = entry.newer;
110
+ if (entry.newer) entry.newer.older = entry.older;
111
+ entry.older = this.#newest;
112
+ entry.newer = void 0;
113
+ if (this.#newest) this.#newest.newer = entry;
114
+ this.#newest = entry;
115
+ }
116
+ };
117
+
118
+ //#endregion
119
+ exports.TokenBucketLimiter = TokenBucketLimiter;
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @file Native messaging host entry point. Invoked by Chrome via the wrapper
4
+ * script registered in the OS native messaging host manifest. Chrome passes
5
+ * the calling extension's origin URL as the first positional argument:
6
+ * `chrome-extension://<extension-id>/`. The `NATIVE_MESSAGING_HOST` constant
7
+ * in `src/constants/platform.ts` checks for this prefix so other parts of the
8
+ * codebase can detect the native-host context.
9
+ */
10
+ export {};
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /* Socket Lib - Built with rolldown */
4
+ const require_native_messaging_host = require('./host.js');
5
+
6
+ //#region src/native-messaging/run.ts
7
+ /**
8
+ * @file Native messaging host entry point. Invoked by Chrome via the wrapper
9
+ * script registered in the OS native messaging host manifest. Chrome passes
10
+ * the calling extension's origin URL as the first positional argument:
11
+ * `chrome-extension://<extension-id>/`. The `NATIVE_MESSAGING_HOST` constant
12
+ * in `src/constants/platform.ts` checks for this prefix so other parts of the
13
+ * codebase can detect the native-host context.
14
+ */
15
+ require_native_messaging_host.runHost();
16
+
17
+ //#endregion
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/async-hooks.ts
6
- let _asyncHooks;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let asyncHooks;
8
8
  function getNodeAsyncHooks() {
9
- return _asyncHooks ??= /*@__PURE__*/ require("node:async_hooks");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return asyncHooks ??= /*@__PURE__*/ require("async_hooks");
10
11
  }
11
12
 
12
13
  //#endregion
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/child-process.ts
6
- let _childProcess;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let childProcess;
8
8
  function getNodeChildProcess() {
9
- return _childProcess ??= /*@__PURE__*/ require("node:child_process");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return childProcess ??= /*@__PURE__*/ require("child_process");
10
11
  }
11
12
 
12
13
  //#endregion
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/crypto.ts
6
- let _crypto;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let crypto;
8
8
  function getNodeCrypto() {
9
- return _crypto ??= /*@__PURE__*/ require("node:crypto");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return crypto ??= /*@__PURE__*/ require("crypto");
10
11
  }
11
12
 
12
13
  //#endregion
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/events.ts
6
- let _events;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let events;
8
8
  function getNodeEvents() {
9
- return _events ??= /*@__PURE__*/ require("node:events");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return events ??= /*@__PURE__*/ require("events");
10
11
  }
11
12
 
12
13
  //#endregion
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/fs-promises.ts
6
- let _fsPromises;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let fsPromises;
8
8
  function getNodeFsPromises() {
9
- return _fsPromises ??= /*@__PURE__*/ require("node:fs/promises");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return fsPromises ??= /*@__PURE__*/ require("fs/promises");
10
11
  }
11
12
 
12
13
  //#endregion
package/dist/node/fs.d.ts CHANGED
@@ -1,10 +1,26 @@
1
1
  /**
2
- * @file Lazy-loader for `node:fs`. Bundlers (Webpack/Rollup/esbuild) targeting
3
- * browsers can't statically resolve `require('node:fs')` — but they CAN drop
4
- * the call entirely if it's wrapped in a `/*@__NO_SIDE_EFFECTS__*\/`-marked
5
- * function and never called. So we always go through `getFs()` instead of
6
- * importing top-level. Cache slot is module-local: first call resolves the
7
- * require, every subsequent call returns the cached reference.
2
+ * @file Early-snapshot accessor for `node:fs`. The `require('fs')` runs at
3
+ * module load, but ONLY inside the `IS_NODE` runtime guard in a browser
4
+ * `IS_NODE` is `false`, so the require branch never executes (bundlers mark
5
+ * `node:` builtins external, so the call survives in the output but is
6
+ * unreachable at runtime). In Node the module is captured at load: a
7
+ * primordial-style snapshot, so a later tamper of the `node:fs` cache entry
8
+ * can't redirect what we already hold. `getNodeFs()` returns the captured
9
+ * reference; the `/*@__PURE__*\/` lets a Node-targeted minifier strip the
10
+ * capture when `getNodeFs` is unused. Was a lazy first-call loader; the
11
+ * eager-but-guarded form keeps the browser-safe behavior while gaining the
12
+ * load-time snapshot. Two surfaces: `getNodeFs()` returns the module object
13
+ * with LATE method lookup (spy-able — the test seam); the `fs<Method>` consts
14
+ * (`fsExistsSync`, `fsReadFileSync`, …) are method references FROZEN at load
15
+ * (tamper-proof against a method swap, not spy-able), for the fleet's hot fs
16
+ * calls. Both stay browser-safe behind IS_NODE + `/*@__PURE__*\/`.
8
17
  */
9
18
  import type * as NodeFs from 'node:fs';
10
19
  export declare function getNodeFs(): typeof NodeFs;
20
+ export declare const fsAccessSync: any;
21
+ export declare const fsExistsSync: any;
22
+ export declare const fsMkdirSync: any;
23
+ export declare const fsReadFileSync: any;
24
+ export declare const fsRealpathSync: any;
25
+ export declare const fsStatSync: any;
26
+ export declare const fsWriteFileSync: any;
package/dist/node/fs.js CHANGED
@@ -1,13 +1,27 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/fs.ts
6
- let _fs;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ const nodeFs = require_constants_runtime.IS_NODE ? /*@__PURE__*/ require("fs") : void 0;
8
8
  function getNodeFs() {
9
- return _fs ??= /*@__PURE__*/ require("node:fs");
9
+ return nodeFs;
10
10
  }
11
+ const fsAccessSync = nodeFs?.accessSync;
12
+ const fsExistsSync = nodeFs?.existsSync;
13
+ const fsMkdirSync = nodeFs?.mkdirSync;
14
+ const fsReadFileSync = nodeFs?.readFileSync;
15
+ const fsRealpathSync = nodeFs?.realpathSync;
16
+ const fsStatSync = nodeFs?.statSync;
17
+ const fsWriteFileSync = nodeFs?.writeFileSync;
11
18
 
12
19
  //#endregion
20
+ exports.fsAccessSync = fsAccessSync;
21
+ exports.fsExistsSync = fsExistsSync;
22
+ exports.fsMkdirSync = fsMkdirSync;
23
+ exports.fsReadFileSync = fsReadFileSync;
24
+ exports.fsRealpathSync = fsRealpathSync;
25
+ exports.fsStatSync = fsStatSync;
26
+ exports.fsWriteFileSync = fsWriteFileSync;
13
27
  exports.getNodeFs = getNodeFs;
package/dist/node/http.js CHANGED
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/http.ts
6
- let _http;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let cachedHttp;
8
8
  function getNodeHttp() {
9
- return _http ??= /*@__PURE__*/ require("node:http");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return cachedHttp ??= /*@__PURE__*/ require("http");
10
11
  }
11
12
 
12
13
  //#endregion
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/https.ts
6
- let _https;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let cachedHttps;
8
8
  function getNodeHttps() {
9
- return _https ??= /*@__PURE__*/ require("node:https");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return cachedHttps ??= /*@__PURE__*/ require("https");
10
11
  }
11
12
 
12
13
  //#endregion
@@ -1,25 +1,29 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/module.ts
6
- let _module;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let cachedModule;
8
8
  function getNodeModule() {
9
- return _module ??= /*@__PURE__*/ require("node:module");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return cachedModule ??= /*@__PURE__*/ require("module");
10
11
  }
11
12
  /**
12
13
  * Lazy + cached reference to `node:module`'s `isBuiltin(name)`. First call
13
14
  * resolves the binding; subsequent calls dispatch through the cached function
14
15
  * reference. Safe to detach — `isBuiltin` is `this`-free.
15
16
  *
17
+ * Returns `false` in browser / non-CJS environments where `require` is
18
+ * undefined — no `node:` modules are built-in there.
19
+ *
16
20
  * Single source of truth for "is this a Node builtin?" probes across socket-lib
17
21
  * (used by the smol-binding loaders to gate `require('node:smol-*')`).
18
22
  */
19
- let _isBuiltin;
20
- /*@__NO_SIDE_EFFECTS__*/
23
+ let cachedIsBuiltin;
21
24
  function isNodeBuiltin(name) {
22
- return (_isBuiltin ??= (/* @__PURE__ */ getNodeModule()).isBuiltin)(name);
25
+ if (!require_constants_runtime.IS_NODE) return false;
26
+ return (cachedIsBuiltin ??= getNodeModule().isBuiltin)(name);
23
27
  }
24
28
 
25
29
  //#endregion
package/dist/node/os.d.ts CHANGED
@@ -1,6 +1,14 @@
1
1
  /**
2
- * @file Lazy-loader for `node:os`. See `node/fs.ts` for the design rationale
3
- * shared across all `node/*.ts` lazy-loaders.
2
+ * @file Early-snapshot accessor for `node:os`. See `node/fs.ts` for the shared
3
+ * rationale: the `require` runs at module load behind the runtime `IS_NODE`
4
+ * guard (false in browsers → never executes there), giving a load-time
5
+ * snapshot in Node while staying browser-safe. `getNodeOs()` returns the
6
+ * module object (late method lookup, spy-able); the frozen `os<Method>`
7
+ * snapshots below are the tamper-proof hot-path twin.
4
8
  */
5
9
  import type * as NodeOs from 'node:os';
6
10
  export declare function getNodeOs(): typeof NodeOs;
11
+ export declare const osArch: any;
12
+ export declare const osHomedir: any;
13
+ export declare const osPlatform: any;
14
+ export declare const osTmpdir: any;
package/dist/node/os.js CHANGED
@@ -1,13 +1,21 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/os.ts
6
- let _os;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ const nodeOs = require_constants_runtime.IS_NODE ? /*@__PURE__*/ require("os") : void 0;
8
8
  function getNodeOs() {
9
- return _os ??= /*@__PURE__*/ require("node:os");
9
+ return nodeOs;
10
10
  }
11
+ const osArch = nodeOs?.arch;
12
+ const osHomedir = nodeOs?.homedir;
13
+ const osPlatform = nodeOs?.platform;
14
+ const osTmpdir = nodeOs?.tmpdir;
11
15
 
12
16
  //#endregion
13
- exports.getNodeOs = getNodeOs;
17
+ exports.getNodeOs = getNodeOs;
18
+ exports.osArch = osArch;
19
+ exports.osHomedir = osHomedir;
20
+ exports.osPlatform = osPlatform;
21
+ exports.osTmpdir = osTmpdir;
@@ -1,6 +1,15 @@
1
1
  /**
2
- * @file Lazy-loader for `node:path`. See `node/fs.ts` for the design rationale
3
- * shared across all `node/*.ts` lazy-loaders.
2
+ * @file Early-snapshot accessor for `node:path`. See `node/fs.ts` for the
3
+ * shared rationale: the `require` runs at module load behind the runtime
4
+ * `IS_NODE` guard (false in browsers → never executes there), giving a
5
+ * load-time snapshot in Node while staying browser-safe.
4
6
  */
5
7
  import type * as NodePath from 'node:path';
6
8
  export declare function getNodePath(): typeof NodePath;
9
+ export declare const pathBasename: any;
10
+ export declare const pathDirname: any;
11
+ export declare const pathExtname: any;
12
+ export declare const pathIsAbsolute: any;
13
+ export declare const pathJoin: any;
14
+ export declare const pathRelative: any;
15
+ export declare const pathResolve: any;
package/dist/node/path.js CHANGED
@@ -1,13 +1,27 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/path.ts
6
- let _path;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ const nodePath = require_constants_runtime.IS_NODE ? /*@__PURE__*/ require("path") : void 0;
8
8
  function getNodePath() {
9
- return _path ??= /*@__PURE__*/ require("node:path");
9
+ return nodePath;
10
10
  }
11
+ const pathBasename = nodePath?.basename;
12
+ const pathDirname = nodePath?.dirname;
13
+ const pathExtname = nodePath?.extname;
14
+ const pathIsAbsolute = nodePath?.isAbsolute;
15
+ const pathJoin = nodePath?.join;
16
+ const pathRelative = nodePath?.relative;
17
+ const pathResolve = nodePath?.resolve;
11
18
 
12
19
  //#endregion
13
- exports.getNodePath = getNodePath;
20
+ exports.getNodePath = getNodePath;
21
+ exports.pathBasename = pathBasename;
22
+ exports.pathDirname = pathDirname;
23
+ exports.pathExtname = pathExtname;
24
+ exports.pathIsAbsolute = pathIsAbsolute;
25
+ exports.pathJoin = pathJoin;
26
+ exports.pathRelative = pathRelative;
27
+ exports.pathResolve = pathResolve;
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/timers-promises.ts
6
- let _timersPromises;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let timersPromises;
8
8
  function getNodeTimersPromises() {
9
- return _timersPromises ??= /*@__PURE__*/ require("node:timers/promises");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return timersPromises ??= /*@__PURE__*/ require("timers/promises");
10
11
  }
11
12
 
12
13
  //#endregion
package/dist/node/url.js CHANGED
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/url.ts
6
- let _url;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let cachedUrl;
8
8
  function getNodeUrl() {
9
- return _url ??= /*@__PURE__*/ require("node:url");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return cachedUrl ??= /*@__PURE__*/ require("url");
10
11
  }
11
12
 
12
13
  //#endregion
package/dist/node/util.js CHANGED
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
 
5
6
  //#region src/node/util.ts
6
- let _util;
7
- /*@__NO_SIDE_EFFECTS__*/
7
+ let cachedUtil;
8
8
  function getNodeUtil() {
9
- return _util ??= /*@__PURE__*/ require("node:util");
9
+ if (!require_constants_runtime.IS_NODE) return;
10
+ return cachedUtil ??= /*@__PURE__*/ require("util");
10
11
  }
11
12
 
12
13
  //#endregion
@@ -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_map_set = require('../primordials/map-set.js');
5
4
  const require_primordials_object = require('../primordials/object.js');
5
+ const require_primordials_map_set = require('../primordials/map-set.js');
6
6
  const require_constants_sentinels = require('../constants/sentinels.js');
7
7
  const require_primordials_reflect = require('../primordials/reflect.js');
8
8
  const require_objects_sort = require('./sort.js');
@@ -49,7 +49,6 @@ const require_objects_sort = require('./sort.js');
49
49
  *
50
50
  * @returns A frozen object with all specified properties
51
51
  */
52
- /*@__NO_SIDE_EFFECTS__*/
53
52
  function createConstantsObject(props, options_) {
54
53
  const options = {
55
54
  __proto__: null,
@@ -57,10 +56,10 @@ function createConstantsObject(props, options_) {
57
56
  };
58
57
  const attributes = require_primordials_object.ObjectFreeze({
59
58
  __proto__: null,
60
- getters: options.getters ? require_primordials_object.ObjectFreeze(require_primordials_object.ObjectSetPrototypeOf(/* @__PURE__ */ require_objects_sort.toSortedObject(options.getters), null)) : void 0,
61
- internals: options.internals ? require_primordials_object.ObjectFreeze(require_primordials_object.ObjectSetPrototypeOf(/* @__PURE__ */ require_objects_sort.toSortedObject(options.internals), null)) : void 0,
59
+ getters: options.getters ? require_primordials_object.ObjectFreeze(require_primordials_object.ObjectSetPrototypeOf(require_objects_sort.toSortedObject(options.getters), null)) : void 0,
60
+ internals: options.internals ? require_primordials_object.ObjectFreeze(require_primordials_object.ObjectSetPrototypeOf(require_objects_sort.toSortedObject(options.internals), null)) : void 0,
62
61
  mixin: options.mixin ? require_primordials_object.ObjectFreeze(require_primordials_object.ObjectDefineProperties({ __proto__: null }, require_primordials_object.ObjectGetOwnPropertyDescriptors(options.mixin))) : void 0,
63
- props: props ? require_primordials_object.ObjectFreeze(require_primordials_object.ObjectSetPrototypeOf(/* @__PURE__ */ require_objects_sort.toSortedObject(props), null)) : void 0
62
+ props: props ? require_primordials_object.ObjectFreeze(require_primordials_object.ObjectSetPrototypeOf(require_objects_sort.toSortedObject(props), null)) : void 0
64
63
  });
65
64
  const lazyGetterStats = require_primordials_object.ObjectFreeze({
66
65
  __proto__: null,
@@ -81,7 +80,7 @@ function createConstantsObject(props, options_) {
81
80
  kInternalsSymbol: require_constants_sentinels.kInternalsSymbol,
82
81
  ...attributes.props
83
82
  }, attributes.getters, lazyGetterStats);
84
- if (attributes.mixin) require_primordials_object.ObjectDefineProperties(object, /* @__PURE__ */ require_objects_sort.toSortedObjectFromEntries((/* @__PURE__ */ require_objects_sort.objectEntries(require_primordials_object.ObjectGetOwnPropertyDescriptors(attributes.mixin))).filter((p) => !require_primordials_object.ObjectHasOwn(object, p[0]))));
83
+ if (attributes.mixin) require_primordials_object.ObjectDefineProperties(object, require_objects_sort.toSortedObjectFromEntries(require_objects_sort.objectEntries(require_primordials_object.ObjectGetOwnPropertyDescriptors(attributes.mixin)).filter((p) => !require_primordials_object.ObjectHasOwn(object, p[0]))));
85
84
  return require_primordials_object.ObjectFreeze(object);
86
85
  }
87
86
  /**
@@ -107,7 +106,6 @@ function createConstantsObject(props, options_) {
107
106
  *
108
107
  * @returns A memoized getter function
109
108
  */
110
- /*@__NO_SIDE_EFFECTS__*/
111
109
  function createLazyGetter(name, getter, stats) {
112
110
  const UNCOMPUTED = {};
113
111
  let lazyValue = UNCOMPUTED;
@@ -162,7 +160,7 @@ function defineGetter(object, propKey, getter) {
162
160
  * @returns The modified object (for chaining)
163
161
  */
164
162
  function defineLazyGetter(object, propKey, getter, stats) {
165
- return defineGetter(object, propKey, /* @__PURE__ */ createLazyGetter(propKey, getter, stats));
163
+ return defineGetter(object, propKey, createLazyGetter(propKey, getter, stats));
166
164
  }
167
165
  /**
168
166
  * Define multiple lazy getter properties on an object.
@@ -28,9 +28,8 @@ const require_objects_predicates = require('./predicates.js');
28
28
  *
29
29
  * @returns Array of enumerable string keys, or empty array for non-objects
30
30
  */
31
- /*@__NO_SIDE_EFFECTS__*/
32
31
  function getKeys(obj) {
33
- return /* @__PURE__ */ require_objects_predicates.isObject(obj) ? require_primordials_object.ObjectKeys(obj) : [];
32
+ return require_objects_predicates.isObject(obj) ? require_primordials_object.ObjectKeys(obj) : [];
34
33
  }
35
34
  /**
36
35
  * Get an own property value from an object safely.
@@ -54,7 +53,6 @@ function getKeys(obj) {
54
53
  * @returns The property value, or `undefined` if not found or obj is
55
54
  * null/undefined.
56
55
  */
57
- /*@__NO_SIDE_EFFECTS__*/
58
56
  function getOwn(obj, propKey) {
59
57
  if (obj === null || obj === void 0) return;
60
58
  return require_primordials_object.ObjectHasOwn(obj, propKey) ? obj[propKey] : void 0;
@@ -76,7 +74,6 @@ function getOwn(obj, propKey) {
76
74
  *
77
75
  * @returns Array of all own property values, or empty array for null/undefined
78
76
  */
79
- /*@__NO_SIDE_EFFECTS__*/
80
77
  function getOwnPropertyValues(obj) {
81
78
  if (obj === null || obj === void 0) return [];
82
79
  const keys = require_primordials_object.ObjectGetOwnPropertyNames(obj);
@@ -2,10 +2,10 @@
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_primordials_error = require('../primordials/error.js');
5
- const require_constants_sentinels = require('../constants/sentinels.js');
6
- const require_primordials_reflect = require('../primordials/reflect.js');
7
5
  const require_arrays_predicates = require('../arrays/predicates.js');
8
6
  const require_objects_predicates = require('./predicates.js');
7
+ const require_constants_sentinels = require('../constants/sentinels.js');
8
+ const require_primordials_reflect = require('../primordials/reflect.js');
9
9
 
10
10
  //#region src/objects/mutate.ts
11
11
  /**
@@ -42,9 +42,8 @@ const require_objects_predicates = require('./predicates.js');
42
42
  *
43
43
  * @returns The modified target object
44
44
  */
45
- /*@__NO_SIDE_EFFECTS__*/
46
45
  function merge(target, source) {
47
- if (!/* @__PURE__ */ require_objects_predicates.isObject(target) || !/* @__PURE__ */ require_objects_predicates.isObject(source)) return target;
46
+ if (!require_objects_predicates.isObject(target) || !require_objects_predicates.isObject(source)) return target;
48
47
  const queue = [[target, source]];
49
48
  let pos = 0;
50
49
  let { length: queueLength } = queue;
@@ -61,7 +60,7 @@ function merge(target, source) {
61
60
  const srcVal = currentSource[key];
62
61
  const targetVal = currentTarget[key];
63
62
  if (require_arrays_predicates.isArray(srcVal)) currentTarget[key] = srcVal;
64
- else if (/* @__PURE__ */ require_objects_predicates.isObject(srcVal)) if (/* @__PURE__ */ require_objects_predicates.isObject(targetVal) && !require_arrays_predicates.isArray(targetVal)) queue[queueLength++] = [targetVal, srcVal];
63
+ else if (require_objects_predicates.isObject(srcVal)) if (require_objects_predicates.isObject(targetVal) && !require_arrays_predicates.isArray(targetVal)) queue[queueLength++] = [targetVal, srcVal];
65
64
  else currentTarget[key] = srcVal;
66
65
  else currentTarget[key] = srcVal;
67
66
  }