@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
@@ -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_string = require('../primordials/string.js');
5
4
  const require_constants_platform = require('../constants/platform.js');
5
+ const require_primordials_string = require('../primordials/string.js');
6
6
  const require_strings_search = require('../strings/search.js');
7
7
  const require_paths__internal = require('./_internal.js');
8
8
  const require_paths_conversion = require('./conversion.js');
@@ -59,9 +59,8 @@ function msysDriveToNative(normalized) {
59
59
  * (HTTP requests, file uploads, URL parameters), you MUST validate for path traversal
60
60
  * attacks BEFORE calling this function.
61
61
  */
62
- /*@__NO_SIDE_EFFECTS__*/
63
62
  function normalizePath(pathLike) {
64
- const filepath = /* @__PURE__ */ require_paths__internal.pathLikeToString(pathLike);
63
+ const filepath = require_paths__internal.pathLikeToString(pathLike);
65
64
  const { length } = filepath;
66
65
  if (length === 0) return ".";
67
66
  if (length < 2) return length === 1 && require_primordials_string.StringPrototypeCharCodeAt(filepath, 0) === 92 ? "/" : filepath;
@@ -115,7 +114,7 @@ function normalizePath(pathLike) {
115
114
  }
116
115
  if (start) prefix = "/";
117
116
  }
118
- let nextIndex = /* @__PURE__ */ require_strings_search.search(filepath, require_paths__internal.slashRegExp, { fromIndex: start });
117
+ let nextIndex = require_strings_search.search(filepath, require_paths__internal.slashRegExp, { fromIndex: start });
119
118
  /* c8 ignore start */
120
119
  if (nextIndex === -1) {
121
120
  const segment = filepath.slice(start);
@@ -164,7 +163,7 @@ function normalizePath(pathLike) {
164
163
  start += 1;
165
164
  code = require_primordials_string.StringPrototypeCharCodeAt(filepath, start);
166
165
  }
167
- nextIndex = /* @__PURE__ */ require_strings_search.search(filepath, require_paths__internal.slashRegExp, { fromIndex: start });
166
+ nextIndex = require_strings_search.search(filepath, require_paths__internal.slashRegExp, { fromIndex: start });
168
167
  }
169
168
  const lastSegment = filepath.slice(start);
170
169
  if (lastSegment.length > 0 && lastSegment !== ".") if (lastSegment === "..") {
@@ -14,25 +14,22 @@ const require_node_path = require('../node/path.js');
14
14
  * POSIX and Windows-style separators so paths captured on either platform
15
15
  * classify the same regardless of the host we're running on.
16
16
  */
17
- /*@__NO_SIDE_EFFECTS__*/
18
17
  function isPackageJsonFile(filepath) {
19
18
  return filepath === "package.json" || require_primordials_string.StringPrototypeEndsWith(filepath, "/package.json") || require_primordials_string.StringPrototypeEndsWith(filepath, "\\package.json");
20
19
  }
21
20
  /**
22
21
  * Resolve directory path from a package.json file path.
23
22
  */
24
- /*@__NO_SIDE_EFFECTS__*/
25
23
  function resolvePackageJsonDirname(filepath) {
26
- if (/* @__PURE__ */ isPackageJsonFile(filepath)) return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).dirname(filepath));
27
- return /* @__PURE__ */ require_paths_normalize.normalizePath(filepath);
24
+ if (isPackageJsonFile(filepath)) return require_paths_normalize.normalizePath(require_node_path.getNodePath().dirname(filepath));
25
+ return require_paths_normalize.normalizePath(filepath);
28
26
  }
29
27
  /**
30
28
  * Resolve full path to package.json from a directory or file path.
31
29
  */
32
- /*@__NO_SIDE_EFFECTS__*/
33
30
  function resolvePackageJsonPath(filepath) {
34
- if (/* @__PURE__ */ isPackageJsonFile(filepath)) return /* @__PURE__ */ require_paths_normalize.normalizePath(filepath);
35
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(filepath, "package.json"));
31
+ if (isPackageJsonFile(filepath)) return require_paths_normalize.normalizePath(filepath);
32
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(filepath, "package.json"));
36
33
  }
37
34
 
38
35
  //#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_string = require('../primordials/string.js');
5
4
  const require_constants_platform = require('../constants/platform.js');
5
+ const require_primordials_string = require('../primordials/string.js');
6
6
  const require_paths__internal = require('./_internal.js');
7
7
  const require_primordials_regexp = require('../primordials/regexp.js');
8
8
 
@@ -34,9 +34,8 @@ const require_primordials_regexp = require('../primordials/regexp.js');
34
34
  *
35
35
  * @returns {boolean} `true` if absolute, `false` otherwise
36
36
  */
37
- /*@__NO_SIDE_EFFECTS__*/
38
37
  function isAbsolute(pathLike) {
39
- const filepath = /* @__PURE__ */ require_paths__internal.pathLikeToString(pathLike);
38
+ const filepath = require_paths__internal.pathLikeToString(pathLike);
40
39
  const { length } = filepath;
41
40
  if (length === 0) return false;
42
41
  const code = require_primordials_string.StringPrototypeCharCodeAt(filepath, 0);
@@ -44,7 +43,7 @@ function isAbsolute(pathLike) {
44
43
  if (code === 92) return true;
45
44
  /* c8 ignore start - Windows drive-letter detection. */
46
45
  if (require_constants_platform.WIN32 && length > 2) {
47
- if (/* @__PURE__ */ isWindowsDeviceRoot(code) && require_primordials_string.StringPrototypeCharCodeAt(filepath, 1) === 58 && /* @__PURE__ */ isPathSeparator(require_primordials_string.StringPrototypeCharCodeAt(filepath, 2))) return true;
46
+ if (isWindowsDeviceRoot(code) && require_primordials_string.StringPrototypeCharCodeAt(filepath, 1) === 58 && isPathSeparator(require_primordials_string.StringPrototypeCharCodeAt(filepath, 2))) return true;
48
47
  }
49
48
  /* c8 ignore stop */
50
49
  return false;
@@ -64,9 +63,8 @@ function isAbsolute(pathLike) {
64
63
  *
65
64
  * @returns {boolean} `true` if the path contains `node_modules`
66
65
  */
67
- /*@__NO_SIDE_EFFECTS__*/
68
66
  function isNodeModules(pathLike) {
69
- return require_primordials_regexp.RegExpPrototypeTest(require_paths__internal.nodeModulesPathRegExp, /* @__PURE__ */ require_paths__internal.pathLikeToString(pathLike));
67
+ return require_primordials_regexp.RegExpPrototypeTest(require_paths__internal.nodeModulesPathRegExp, require_paths__internal.pathLikeToString(pathLike));
70
68
  }
71
69
  /**
72
70
  * Check if a value is a valid file path (absolute or relative).
@@ -87,13 +85,12 @@ function isNodeModules(pathLike) {
87
85
  *
88
86
  * @returns {boolean} `true` if the value is a valid file path
89
87
  */
90
- /*@__NO_SIDE_EFFECTS__*/
91
88
  function isPath(pathLike) {
92
- const filepath = /* @__PURE__ */ require_paths__internal.pathLikeToString(pathLike);
89
+ const filepath = require_paths__internal.pathLikeToString(pathLike);
93
90
  if (typeof filepath !== "string" || filepath.length === 0) return false;
94
91
  if (/^[a-z][a-z0-9+.-]+:/i.test(filepath)) return false;
95
92
  if (filepath === "." || filepath === "..") return true;
96
- if (/* @__PURE__ */ isAbsolute(filepath)) return true;
93
+ if (isAbsolute(filepath)) return true;
97
94
  if (filepath.includes("/") || filepath.includes("\\")) {
98
95
  if (require_primordials_string.StringPrototypeStartsWith(filepath, "@") && !require_primordials_string.StringPrototypeStartsWith(filepath, "@/")) {
99
96
  const parts = filepath.split("/");
@@ -117,7 +114,6 @@ function isPath(pathLike) {
117
114
  *
118
115
  * @returns {boolean} `true` if separator
119
116
  */
120
- /*@__NO_SIDE_EFFECTS__*/
121
117
  function isPathSeparator(code) {
122
118
  return code === 47 || code === 92;
123
119
  }
@@ -137,14 +133,13 @@ function isPathSeparator(code) {
137
133
  *
138
134
  * @returns {boolean} `true` if the path is relative
139
135
  */
140
- /*@__NO_SIDE_EFFECTS__*/
141
136
  function isRelative(pathLike) {
142
- const filepath = /* @__PURE__ */ require_paths__internal.pathLikeToString(pathLike);
137
+ const filepath = require_paths__internal.pathLikeToString(pathLike);
143
138
  /* c8 ignore start */
144
139
  if (typeof filepath !== "string") return false;
145
140
  /* c8 ignore stop */
146
141
  if (filepath.length === 0) return true;
147
- return !/* @__PURE__ */ isAbsolute(filepath);
142
+ return !isAbsolute(filepath);
148
143
  }
149
144
  /**
150
145
  * Check if a path uses MSYS/Git Bash Unix-style drive letter notation.
@@ -163,9 +158,8 @@ function isRelative(pathLike) {
163
158
  *
164
159
  * @returns {boolean} `true` if the path uses MSYS drive letter notation
165
160
  */
166
- /*@__NO_SIDE_EFFECTS__*/
167
161
  function isUnixPath(pathLike) {
168
- const filepath = /* @__PURE__ */ require_paths__internal.pathLikeToString(pathLike);
162
+ const filepath = require_paths__internal.pathLikeToString(pathLike);
169
163
  return typeof filepath === "string" && require_primordials_regexp.RegExpPrototypeTest(require_paths__internal.msysDriveRegExp, filepath);
170
164
  }
171
165
  /**
@@ -183,7 +177,6 @@ function isUnixPath(pathLike) {
183
177
  * @returns {boolean} `true` if valid drive-letter code
184
178
  */
185
179
  /* c8 ignore start - Only called from Windows-only branches. */
186
- /*@__NO_SIDE_EFFECTS__*/
187
180
  function isWindowsDeviceRoot(code) {
188
181
  return code >= 65 && code <= 90 || code >= 97 && code <= 122;
189
182
  }
@@ -1,11 +1,6 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_string = require('../primordials/string.js');
5
- const require_constants_platform = require('../constants/platform.js');
6
- const require_paths__internal = require('./_internal.js');
7
- const require_paths_predicates = require('./predicates.js');
8
- const require_paths_normalize = require('./normalize.js');
9
4
 
10
5
  //#region src/paths/resolve.ts
11
6
  /**
@@ -38,14 +33,13 @@ const require_paths_normalize = require('./normalize.js');
38
33
  *
39
34
  * @returns {string} Relative path from `from` to `to`, or empty string if equal
40
35
  */
41
- /*@__NO_SIDE_EFFECTS__*/
42
36
  function relative(from, to) {
43
37
  if (from === to) return "";
44
- const actualFrom = /* @__PURE__ */ resolve(from);
45
- const actualTo = /* @__PURE__ */ resolve(to);
38
+ const actualFrom = resolve(from);
39
+ const actualTo = resolve(to);
46
40
  if (actualFrom === actualTo) return "";
47
41
  /* c8 ignore start - Windows-only case-insensitive comparison. */
48
- if (require_constants_platform.WIN32) {
42
+ if (WIN32) {
49
43
  if (actualFrom.toLowerCase() === actualTo.toLowerCase()) return "";
50
44
  }
51
45
  /* c8 ignore stop */
@@ -58,32 +52,32 @@ function relative(from, to) {
58
52
  let lastCommonSep = -1;
59
53
  let i = 0;
60
54
  for (; i < length; i += 1) {
61
- let fromCode = require_primordials_string.StringPrototypeCharCodeAt(actualFrom, fromStart + i);
62
- let toCode = require_primordials_string.StringPrototypeCharCodeAt(actualTo, toStart + i);
55
+ let fromCode = StringPrototypeCharCodeAt(actualFrom, fromStart + i);
56
+ let toCode = StringPrototypeCharCodeAt(actualTo, toStart + i);
63
57
  /* c8 ignore start - Windows-only case folding. */
64
- if (require_constants_platform.WIN32) {
65
- if (fromCode >= 65 && fromCode <= 90) fromCode += 32;
66
- if (toCode >= 65 && toCode <= 90) toCode += 32;
58
+ if (WIN32) {
59
+ if (fromCode >= CHAR_UPPERCASE_A && fromCode <= CHAR_UPPERCASE_Z) fromCode += 32;
60
+ if (toCode >= CHAR_UPPERCASE_A && toCode <= CHAR_UPPERCASE_Z) toCode += 32;
67
61
  }
68
62
  /* c8 ignore stop */
69
63
  if (fromCode !== toCode) break;
70
- if (/* @__PURE__ */ require_paths_predicates.isPathSeparator(require_primordials_string.StringPrototypeCharCodeAt(actualFrom, fromStart + i))) lastCommonSep = i;
64
+ if (isPathSeparator(StringPrototypeCharCodeAt(actualFrom, fromStart + i))) lastCommonSep = i;
71
65
  }
72
66
  /* c8 ignore start */
73
67
  if (i === length) {
74
68
  if (toLen > length) {
75
- if (/* @__PURE__ */ require_paths_predicates.isPathSeparator(require_primordials_string.StringPrototypeCharCodeAt(actualTo, toStart + i))) return actualTo.slice(toStart + i + 1);
69
+ if (isPathSeparator(StringPrototypeCharCodeAt(actualTo, toStart + i))) return actualTo.slice(toStart + i + 1);
76
70
  if (i === 0) return actualTo.slice(toStart + i);
77
71
  } else if (fromLen > length) {
78
- if (/* @__PURE__ */ require_paths_predicates.isPathSeparator(require_primordials_string.StringPrototypeCharCodeAt(actualFrom, fromStart + i))) lastCommonSep = i;
72
+ if (isPathSeparator(StringPrototypeCharCodeAt(actualFrom, fromStart + i))) lastCommonSep = i;
79
73
  else if (i === 0) lastCommonSep = 0;
80
74
  }
81
75
  }
82
76
  /* c8 ignore stop */
83
77
  let out = "";
84
78
  for (i = fromStart + lastCommonSep + 1; i <= fromEnd; i += 1) {
85
- const code = require_primordials_string.StringPrototypeCharCodeAt(actualFrom, i);
86
- if (i === fromEnd || /* @__PURE__ */ require_paths_predicates.isPathSeparator(code)) out += out.length === 0 ? ".." : "/..";
79
+ const code = StringPrototypeCharCodeAt(actualFrom, i);
80
+ if (i === fromEnd || isPathSeparator(code)) out += out.length === 0 ? ".." : "/..";
87
81
  }
88
82
  return out + actualTo.slice(toStart + lastCommonSep);
89
83
  }
@@ -106,11 +100,10 @@ function relative(from, to) {
106
100
  *
107
101
  * @returns {string} Normalized relative path, or empty string if equal
108
102
  */
109
- /*@__NO_SIDE_EFFECTS__*/
110
103
  function relativeResolve(from, to) {
111
- const rel = /* @__PURE__ */ relative(from, to);
104
+ const rel = relative(from, to);
112
105
  if (rel === "") return "";
113
- return /* @__PURE__ */ require_paths_normalize.normalizePath(rel);
106
+ return normalizePath(rel);
114
107
  }
115
108
  /**
116
109
  * Resolve an absolute path from path segments.
@@ -131,7 +124,6 @@ function relativeResolve(from, to) {
131
124
  *
132
125
  * @returns {string} The resolved absolute path
133
126
  */
134
- /*@__NO_SIDE_EFFECTS__*/
135
127
  function resolve(...segments) {
136
128
  let resolvedPath = "";
137
129
  let resolvedAbsolute = false;
@@ -140,11 +132,11 @@ function resolve(...segments) {
140
132
  /* c8 ignore start */
141
133
  if (typeof segment !== "string" || segment.length === 0) continue;
142
134
  resolvedPath = segment + (resolvedPath.length === 0 ? "" : `/${resolvedPath}`);
143
- resolvedAbsolute = /* @__PURE__ */ require_paths_predicates.isAbsolute(segment);
135
+ resolvedAbsolute = isAbsolute(segment);
144
136
  }
145
137
  if (!resolvedAbsolute) resolvedPath = /* @__PURE__ */ require("node:process").cwd() + (resolvedPath.length === 0 ? "" : `/${resolvedPath}`);
146
138
  /* c8 ignore stop */
147
- return /* @__PURE__ */ require_paths_normalize.normalizePath(resolvedPath);
139
+ return normalizePath(resolvedPath);
148
140
  }
149
141
 
150
142
  //#endregion
@@ -7,6 +7,11 @@
7
7
  * - Automatic cache invalidation for path-dependent modules
8
8
  * - Thread-safe for concurrent test execution
9
9
  */
10
+ export interface PathRewireState {
11
+ testOverrides: Map<string, string | undefined>;
12
+ valueCache: Map<string, string>;
13
+ cacheInvalidationCallbacks: Array<() => void>;
14
+ }
10
15
  /**
11
16
  * Clear a specific path override.
12
17
  */
@@ -14,13 +14,13 @@ const require_primordials_map_set = require('../primordials/map-set.js');
14
14
  * - Thread-safe for concurrent test execution
15
15
  */
16
16
  const stateSymbol = Symbol.for("@socketsecurity/lib/paths/rewire/state");
17
- const _globalThis = globalThis;
18
- if (!_globalThis[stateSymbol]) _globalThis[stateSymbol] = {
17
+ const globalState = globalThis;
18
+ if (!globalState[stateSymbol]) globalState[stateSymbol] = {
19
19
  testOverrides: new require_primordials_map_set.MapCtor(),
20
20
  valueCache: new require_primordials_map_set.MapCtor(),
21
21
  cacheInvalidationCallbacks: []
22
22
  };
23
- const sharedState = _globalThis[stateSymbol];
23
+ const sharedState = globalState[stateSymbol];
24
24
  const testOverrides = sharedState.testOverrides;
25
25
  const valueCache = sharedState.valueCache;
26
26
  const cacheInvalidationCallbacks = sharedState.cacheInvalidationCallbacks;
@@ -1,12 +1,13 @@
1
1
  /**
2
- * @file Path utilities for Socket ecosystem directories. Provides
3
- * platform-aware path resolution for Socket tools' shared directory
4
- * structure. Directory Structure: ~/.socket/ ├── _cacache/ #
5
- * Content-addressable cache for npm packages ├── _dlx/ # DLX installations
6
- * (content-addressed by hash) ├── <hash>/ # npm package installs
7
- * (dlx-package) └── <hash>/ # binary downloads (dlx-binary) ├── _socket/ #
8
- * Socket CLI app directory ├── _registry/ # Socket Registry app directory └──
9
- * _sfw/ # Socket Firewall app directory.
2
+ * @file Path utilities for Socket ecosystem directories. Platform-aware
3
+ * resolution for the shared ~/.socket/ layout. The `_`-prefixed entries are
4
+ * Socket-managed DIRS (not apps): `_cacache` content-addressable cache;
5
+ * `_dlx/<hash>/` name+version binary store (node, jre, python, sfw, …);
6
+ * `_state/<app>/` version-LESS persistent app state (daemon socket + lock +
7
+ * OAuth refresh; mirrors pnpm `state-dir` / XDG_STATE_HOME), with
8
+ * `_state/<app>/run/` for a daemon's socket/lock/pid; `_wheelhouse`
9
+ * cross-fleet shared bin. Generic per-app dirs (`getSocketAppDir('<name>')`)
10
+ * nest under the same `_`-prefix.
10
11
  */
11
12
  /**
12
13
  * Get the OS home directory. Can be overridden in tests using
@@ -37,67 +38,56 @@ export declare function getSocketAppCacheDir(appName: string): string;
37
38
  */
38
39
  export declare function getSocketAppCacheTtlDir(appName: string): string;
39
40
  /**
40
- * Get a Socket app directory (~/.socket/_<appName>).
41
+ * Get a Socket app directory (~/.socket/_<appName>). The `_` prefix is applied
42
+ * here; pass the bare app name (e.g. 'socket', 'registry').
41
43
  */
42
44
  /**
43
- * Get a Socket app directory (~/.socket/_<appName>).
45
+ * Get a Socket app directory (~/.socket/_<appName>). The `_` prefix is applied
46
+ * here; pass the bare app name (e.g. 'socket', 'registry').
44
47
  */
45
48
  export declare function getSocketAppDir(appName: string): string;
46
49
  /**
47
- * Get the Socket cacache directory (~/.socket/_cacache). Can be overridden with
48
- * SOCKET_CACACHE_DIR environment variable or via setPath() for testing. Result
49
- * is cached via getPathValue for performance.
50
- *
51
- * Priority order:
52
- *
53
- * 1. Test override via setPath('socket-cacache-dir', ...)
54
- * 2. SOCKET_CACACHE_DIR - Full override of cacache directory
55
- * 3. Default: $SOCKET_HOME/_cacache or $HOME/.socket/_cacache
50
+ * Get the Socket cacache directory (~/.socket/_cacache). Override precedence:
51
+ * setPath('socket-cacache-dir', …) SOCKET_CACACHE_DIR env →
52
+ * $SOCKET_HOME/_cacache $HOME/.socket/_cacache.
56
53
  */
57
54
  /**
58
- * Get the Socket cacache directory (~/.socket/_cacache). Can be overridden with
59
- * SOCKET_CACACHE_DIR environment variable or via setPath() for testing. Result
60
- * is cached via getPathValue for performance.
61
- *
62
- * Priority order:
63
- *
64
- * 1. Test override via setPath('socket-cacache-dir', ...)
65
- * 2. SOCKET_CACACHE_DIR - Full override of cacache directory
66
- * 3. Default: $SOCKET_HOME/_cacache or $HOME/.socket/_cacache
55
+ * Get an app's runtime directory (~/.socket/_state/<app>/run/) the home for a
56
+ * daemon's Unix socket + `concurrency.lock` + `<socket>.pid`. Version-less so
57
+ * the socket path is stable across binary upgrades.
67
58
  */
68
- export declare function getSocketCacacheDir(): string;
59
+ export declare function getSocketAppRuntimeDir(appName: string): string;
69
60
  /**
70
- * Get the Socket CLI directory (~/.socket/_socket).
61
+ * Get the Socket user directory (~/.socket). Override precedence:
62
+ * setPath('socket-user-dir', …) → SOCKET_HOME env → $HOME/.socket →
63
+ * /tmp/.socket (Unix) or %TEMP%.socket (Windows).
71
64
  */
72
65
  /**
73
- * Get the Socket CLI directory (~/.socket/_socket).
66
+ * Get an app's persistent state directory (~/.socket/_state/<app>/). The
67
+ * `<app>` is a real app (proteus, acorn) nesting its version-less state inside
68
+ * the `_state` infra dir.
74
69
  */
75
- export declare function getSocketCliDir(): string;
70
+ export declare function getSocketAppStateDir(appName: string): string;
76
71
  /**
77
- * Get the Socket DLX directory (~/.socket/_dlx). Can be overridden with
78
- * SOCKET_DLX_DIR environment variable or via setPath() for testing. Result is
79
- * cached via getPathValue for performance.
80
- *
81
- * Priority order:
82
- *
83
- * 1. Test override via setPath('socket-dlx-dir', ...)
84
- * 2. SOCKET_DLX_DIR - Full override of DLX cache directory
85
- * 3. SOCKET_HOME/_dlx - Base directory override (inherits from getSocketUserDir)
86
- * 4. Default: $HOME/.socket/_dlx
87
- * 5. Fallback: /tmp/.socket/_dlx (Unix) or %TEMP%.socket_dlx (Windows)
72
+ * Get an app's runtime directory (~/.socket/_state/<app>/run/) the home for a
73
+ * daemon's Unix socket + `concurrency.lock` + `<socket>.pid`. Version-less so
74
+ * the socket path is stable across binary upgrades.
88
75
  */
89
76
  /**
90
- * Get the Socket DLX directory (~/.socket/_dlx). Can be overridden with
91
- * SOCKET_DLX_DIR environment variable or via setPath() for testing. Result is
92
- * cached via getPathValue for performance.
93
- *
94
- * Priority order:
95
- *
96
- * 1. Test override via setPath('socket-dlx-dir', ...)
97
- * 2. SOCKET_DLX_DIR - Full override of DLX cache directory
98
- * 3. SOCKET_HOME/_dlx - Base directory override (inherits from getSocketUserDir)
99
- * 4. Default: $HOME/.socket/_dlx
100
- * 5. Fallback: /tmp/.socket/_dlx (Unix) or %TEMP%.socket_dlx (Windows)
77
+ * Get the Socket cacache directory (~/.socket/_cacache). Override precedence:
78
+ * setPath('socket-cacache-dir', …) SOCKET_CACACHE_DIR env
79
+ * $SOCKET_HOME/_cacache $HOME/.socket/_cacache.
80
+ */
81
+ export declare function getSocketCacacheDir(): string;
82
+ /**
83
+ * Get the Socket DLX directory (~/.socket/_dlx) — the name+version binary store
84
+ * (node, jre, python, sfw, …). Override precedence: setPath('socket-dlx-dir',
85
+ * …) SOCKET_DLX_DIR env $SOCKET_HOME/_dlx $HOME/.socket/_dlx.
86
+ */
87
+ /**
88
+ * Get the Socket DLX directory (~/.socket/_dlx) — the name+version binary store
89
+ * (node, jre, python, sfw, …). Override precedence: setPath('socket-dlx-dir',
90
+ * …) → SOCKET_DLX_DIR env → $SOCKET_HOME/_dlx → $HOME/.socket/_dlx.
101
91
  */
102
92
  export declare function getSocketDlxDir(): string;
103
93
  /**
@@ -110,56 +100,40 @@ export declare function getSocketDlxDir(): string;
110
100
  */
111
101
  export declare function getSocketHomePath(): string;
112
102
  /**
113
- * Get the Socket Registry directory (~/.socket/_registry).
103
+ * Get the Socket state directory (~/.socket/_state) — version-LESS persistent
104
+ * app state (the home for daemon sockets, locks, OAuth refresh, durable caches
105
+ * that survive version bumps; mirrors pnpm `state-dir` / XDG_STATE_HOME).
106
+ * Override precedence: setPath('socket-state-dir', …) → SOCKET_STATE_DIR env →
107
+ * $SOCKET_HOME/_state → $HOME/.socket/_state.
114
108
  */
115
109
  /**
116
- * Get the Socket Registry directory (~/.socket/_registry).
110
+ * Get the Socket state directory (~/.socket/_state) — version-LESS persistent
111
+ * app state (the home for daemon sockets, locks, OAuth refresh, durable caches
112
+ * that survive version bumps; mirrors pnpm `state-dir` / XDG_STATE_HOME).
113
+ * Override precedence: setPath('socket-state-dir', …) → SOCKET_STATE_DIR env →
114
+ * $SOCKET_HOME/_state → $HOME/.socket/_state.
117
115
  */
118
- export declare function getSocketRegistryDir(): string;
116
+ export declare function getSocketStateDir(): string;
119
117
  /**
120
- * Get the Socket Registry GitHub cache directory
121
- * (~/.socket/_registry/cache/ttl/github).
118
+ * Get an app's persistent state directory (~/.socket/_state/<app>/). The
119
+ * `<app>` is a real app (proteus, acorn) nesting its version-less state inside
120
+ * the `_state` infra dir.
122
121
  */
123
122
  /**
124
- * Get the Socket Registry GitHub cache directory
125
- * (~/.socket/_registry/cache/ttl/github).
123
+ * Get the Socket user directory (~/.socket). Override precedence:
124
+ * setPath('socket-user-dir', …) → SOCKET_HOME env → $HOME/.socket →
125
+ * /tmp/.socket (Unix) or %TEMP%.socket (Windows).
126
126
  */
127
- export declare function getSocketRegistryGithubCacheDir(): string;
127
+ export declare function getSocketUserDir(): string;
128
128
  /**
129
129
  * Get the Socket Wheelhouse directory (~/.socket/_wheelhouse). Shared
130
130
  * cross-fleet location for binaries that every fleet member can reach without
131
131
  * each one re-downloading and re-extracting per-repo. Tool installers (janus,
132
132
  * sfw, etc.) drop their resolved executables under
133
133
  * `<wheelhouse>/<tool>/<version>/<platform-arch>/`; consumers add the
134
- * appropriate `bin/` to PATH or invoke the binary by absolute path.
135
- *
136
- * Priority order:
137
- *
138
- * 1. Test override via setPath('socket-wheelhouse-dir', ...)
139
- * 2. SOCKET_HOME/_wheelhouse - Base directory override (inherits from
140
- * getSocketUserDir)
141
- * 3. Default: $HOME/.socket/_wheelhouse
142
- */
143
- /**
144
- * Get the Socket user directory (~/.socket). Can be overridden with SOCKET_HOME
145
- * environment variable or via setPath() for testing. Result is cached via
146
- * getPathValue for performance.
147
- *
148
- * Priority order:
149
- *
150
- * 1. Test override via setPath('socket-user-dir', ...)
151
- * 2. SOCKET_HOME - Base directory override
152
- * 3. Default: $HOME/.socket
153
- * 4. Fallback: /tmp/.socket (Unix) or %TEMP%.socket (Windows)
154
- */
155
- export declare function getSocketUserDir(): string;
156
- /**
157
- * Get the user's home directory. Uses environment variables directly to support
158
- * test mocking. Falls back to temporary directory if home is not available.
159
- *
160
- * Priority order: 1. HOME environment variable (Unix) 2. USERPROFILE
161
- * environment variable (Windows) 3. getNodeOs().homedir() 4. Fallback:
162
- * getNodeOs().tmpdir() (rarely used, for restricted environments)
134
+ * appropriate `bin/` to PATH or invoke the binary by absolute path. Override
135
+ * precedence: setPath('socket-wheelhouse-dir', …) → $SOCKET_HOME/_wheelhouse →
136
+ * $HOME/.socket/_wheelhouse.
163
137
  */
164
138
  /**
165
139
  * Get the Socket Wheelhouse directory (~/.socket/_wheelhouse). Shared
@@ -167,34 +141,23 @@ export declare function getSocketUserDir(): string;
167
141
  * each one re-downloading and re-extracting per-repo. Tool installers (janus,
168
142
  * sfw, etc.) drop their resolved executables under
169
143
  * `<wheelhouse>/<tool>/<version>/<platform-arch>/`; consumers add the
170
- * appropriate `bin/` to PATH or invoke the binary by absolute path.
171
- *
172
- * Priority order:
173
- *
174
- * 1. Test override via setPath('socket-wheelhouse-dir', ...)
175
- * 2. SOCKET_HOME/_wheelhouse - Base directory override (inherits from
176
- * getSocketUserDir)
177
- * 3. Default: $HOME/.socket/_wheelhouse
144
+ * appropriate `bin/` to PATH or invoke the binary by absolute path. Override
145
+ * precedence: setPath('socket-wheelhouse-dir', …) → $SOCKET_HOME/_wheelhouse →
146
+ * $HOME/.socket/_wheelhouse.
178
147
  */
179
148
  export declare function getSocketWheelhouseDir(): string;
180
149
  /**
181
- * Get the Socket user directory (~/.socket). Can be overridden with SOCKET_HOME
182
- * environment variable or via setPath() for testing. Result is cached via
183
- * getPathValue for performance.
184
- *
185
- * Priority order:
150
+ * Get the user's home directory. Uses environment variables directly to support
151
+ * test mocking. Falls back to temporary directory if home is not available.
186
152
  *
187
- * 1. Test override via setPath('socket-user-dir', ...)
188
- * 2. SOCKET_HOME - Base directory override
189
- * 3. Default: $HOME/.socket
190
- * 4. Fallback: /tmp/.socket (Unix) or %TEMP%.socket (Windows)
153
+ * Priority order: 1. HOME (Unix) 2. USERPROFILE (Windows) 3.
154
+ * getNodeOs().homedir() 4. Fallback: getNodeOs().tmpdir() (restricted envs).
191
155
  */
192
156
  /**
193
157
  * Get the user's home directory. Uses environment variables directly to support
194
158
  * test mocking. Falls back to temporary directory if home is not available.
195
159
  *
196
- * Priority order: 1. HOME environment variable (Unix) 2. USERPROFILE
197
- * environment variable (Windows) 3. getNodeOs().homedir() 4. Fallback:
198
- * getNodeOs().tmpdir() (rarely used, for restricted environments)
160
+ * Priority order: 1. HOME (Unix) 2. USERPROFILE (Windows) 3.
161
+ * getNodeOs().homedir() 4. Fallback: getNodeOs().tmpdir() (restricted envs).
199
162
  */
200
163
  export declare function getUserHomeDir(): string;