@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
@@ -2,33 +2,34 @@
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_node_os = require('../node/os.js');
5
+ const require_env_home = require('../env/home.js');
5
6
  const require_paths_normalize = require('./normalize.js');
6
7
  const require_node_path = require('../node/path.js');
7
8
  const require_env_socket = require('../env/socket.js');
8
- const require_constants_github = require('../constants/github.js');
9
9
  const require_constants_socket = require('../constants/socket.js');
10
- const require_env_home = require('../env/home.js');
11
10
  const require_env_windows = require('../env/windows.js');
12
11
  const require_paths_dirnames = require('./dirnames.js');
13
12
  const require_paths_rewire = require('./rewire.js');
14
13
 
15
14
  //#region src/paths/socket.ts
16
15
  /**
17
- * @file Path utilities for Socket ecosystem directories. Provides
18
- * platform-aware path resolution for Socket tools' shared directory
19
- * structure. Directory Structure: ~/.socket/ ├── _cacache/ #
20
- * Content-addressable cache for npm packages ├── _dlx/ # DLX installations
21
- * (content-addressed by hash) ├── <hash>/ # npm package installs
22
- * (dlx-package) └── <hash>/ # binary downloads (dlx-binary) ├── _socket/ #
23
- * Socket CLI app directory ├── _registry/ # Socket Registry app directory └──
24
- * _sfw/ # Socket Firewall app directory.
16
+ * @file Path utilities for Socket ecosystem directories. Platform-aware
17
+ * resolution for the shared ~/.socket/ layout. The `_`-prefixed entries are
18
+ * Socket-managed DIRS (not apps): `_cacache` content-addressable cache;
19
+ * `_dlx/<hash>/` name+version binary store (node, jre, python, sfw, …);
20
+ * `_state/<app>/` version-LESS persistent app state (daemon socket + lock +
21
+ * OAuth refresh; mirrors pnpm `state-dir` / XDG_STATE_HOME), with
22
+ * `_state/<app>/run/` for a daemon's socket/lock/pid; `_wheelhouse`
23
+ * cross-fleet shared bin. Generic per-app dirs (`getSocketAppDir('<name>')`)
24
+ * nest under the same `_`-prefix.
25
25
  */
26
26
  /**
27
27
  * Get the OS home directory. Can be overridden in tests using
28
28
  * setPath('homedir', ...) from paths/rewire.
29
29
  */
30
30
  function getOsHomeDir() {
31
- return require_paths_rewire.getPathValue("homedir", () => (/* @__PURE__ */ require_node_os.getNodeOs()).homedir());
31
+ const os = require_node_os.getNodeOs();
32
+ return require_paths_rewire.getPathValue("homedir", () => os.homedir());
32
33
  }
33
34
  /**
34
35
  * Get the OS temporary directory. Can be overridden in tests using
@@ -39,7 +40,8 @@ function getOsHomeDir() {
39
40
  * setPath('tmpdir', ...) from paths/rewire.
40
41
  */
41
42
  function getOsTmpDir() {
42
- return require_paths_rewire.getPathValue("tmpdir", () => (/* @__PURE__ */ require_node_os.getNodeOs()).tmpdir());
43
+ const os = require_node_os.getNodeOs();
44
+ return require_paths_rewire.getPathValue("tmpdir", () => os.tmpdir());
43
45
  }
44
46
  /**
45
47
  * Get a Socket app cache directory (~/.socket/_<appName>/cache).
@@ -48,7 +50,7 @@ function getOsTmpDir() {
48
50
  * Get a Socket app cache directory (~/.socket/_<appName>/cache).
49
51
  */
50
52
  function getSocketAppCacheDir(appName) {
51
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketAppDir(appName), require_paths_dirnames.CACHE_DIR));
53
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getSocketAppDir(appName), require_paths_dirnames.CACHE_DIR));
52
54
  }
53
55
  /**
54
56
  * Get a Socket app TTL cache directory (~/.socket/_<appName>/cache/ttl).
@@ -57,84 +59,75 @@ function getSocketAppCacheDir(appName) {
57
59
  * Get a Socket app TTL cache directory (~/.socket/_<appName>/cache/ttl).
58
60
  */
59
61
  function getSocketAppCacheTtlDir(appName) {
60
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketAppCacheDir(appName), "ttl"));
62
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getSocketAppCacheDir(appName), "ttl"));
61
63
  }
62
64
  /**
63
- * Get a Socket app directory (~/.socket/_<appName>).
65
+ * Get a Socket app directory (~/.socket/_<appName>). The `_` prefix is applied
66
+ * here; pass the bare app name (e.g. 'socket', 'registry').
64
67
  */
65
68
  /**
66
- * Get a Socket app directory (~/.socket/_<appName>).
69
+ * Get a Socket app directory (~/.socket/_<appName>). The `_` prefix is applied
70
+ * here; pass the bare app name (e.g. 'socket', 'registry').
67
71
  */
68
72
  function getSocketAppDir(appName) {
69
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketUserDir(), `${"_"}${appName}`));
73
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getSocketUserDir(), `${"_"}${appName}`));
70
74
  }
71
75
  /**
72
- * Get the Socket cacache directory (~/.socket/_cacache). Can be overridden with
73
- * SOCKET_CACACHE_DIR environment variable or via setPath() for testing. Result
74
- * is cached via getPathValue for performance.
75
- *
76
- * Priority order:
77
- *
78
- * 1. Test override via setPath('socket-cacache-dir', ...)
79
- * 2. SOCKET_CACACHE_DIR - Full override of cacache directory
80
- * 3. Default: $SOCKET_HOME/_cacache or $HOME/.socket/_cacache
76
+ * Get the Socket cacache directory (~/.socket/_cacache). Override precedence:
77
+ * setPath('socket-cacache-dir', …) SOCKET_CACACHE_DIR env →
78
+ * $SOCKET_HOME/_cacache $HOME/.socket/_cacache.
81
79
  */
82
80
  /**
83
- * Get the Socket cacache directory (~/.socket/_cacache). Can be overridden with
84
- * SOCKET_CACACHE_DIR environment variable or via setPath() for testing. Result
85
- * is cached via getPathValue for performance.
86
- *
87
- * Priority order:
88
- *
89
- * 1. Test override via setPath('socket-cacache-dir', ...)
90
- * 2. SOCKET_CACACHE_DIR - Full override of cacache directory
91
- * 3. Default: $SOCKET_HOME/_cacache or $HOME/.socket/_cacache
81
+ * Get an app's runtime directory (~/.socket/_state/<app>/run/) the home for a
82
+ * daemon's Unix socket + `concurrency.lock` + `<socket>.pid`. Version-less so
83
+ * the socket path is stable across binary upgrades.
92
84
  */
93
- function getSocketCacacheDir() {
94
- return require_paths_rewire.getPathValue("socket-cacache-dir", () => {
95
- if (/* @__PURE__ */ require_env_socket.getSocketCacacheDirEnv()) return /* @__PURE__ */ require_paths_normalize.normalizePath(/* @__PURE__ */ require_env_socket.getSocketCacacheDirEnv());
96
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketUserDir(), `${"_"}cacache`));
97
- });
85
+ function getSocketAppRuntimeDir(appName) {
86
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getSocketAppStateDir(appName), "run"));
98
87
  }
99
88
  /**
100
- * Get the Socket CLI directory (~/.socket/_socket).
89
+ * Get the Socket user directory (~/.socket). Override precedence:
90
+ * setPath('socket-user-dir', …) → SOCKET_HOME env → $HOME/.socket →
91
+ * /tmp/.socket (Unix) or %TEMP%.socket (Windows).
101
92
  */
102
93
  /**
103
- * Get the Socket CLI directory (~/.socket/_socket).
94
+ * Get an app's persistent state directory (~/.socket/_state/<app>/). The
95
+ * `<app>` is a real app (proteus, acorn) nesting its version-less state inside
96
+ * the `_state` infra dir.
104
97
  */
105
- function getSocketCliDir() {
106
- return getSocketAppDir(require_constants_socket.SOCKET_CLI_APP_NAME);
98
+ function getSocketAppStateDir(appName) {
99
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getSocketStateDir(), appName));
107
100
  }
108
101
  /**
109
- * Get the Socket DLX directory (~/.socket/_dlx). Can be overridden with
110
- * SOCKET_DLX_DIR environment variable or via setPath() for testing. Result is
111
- * cached via getPathValue for performance.
112
- *
113
- * Priority order:
114
- *
115
- * 1. Test override via setPath('socket-dlx-dir', ...)
116
- * 2. SOCKET_DLX_DIR - Full override of DLX cache directory
117
- * 3. SOCKET_HOME/_dlx - Base directory override (inherits from getSocketUserDir)
118
- * 4. Default: $HOME/.socket/_dlx
119
- * 5. Fallback: /tmp/.socket/_dlx (Unix) or %TEMP%.socket_dlx (Windows)
102
+ * Get an app's runtime directory (~/.socket/_state/<app>/run/) the home for a
103
+ * daemon's Unix socket + `concurrency.lock` + `<socket>.pid`. Version-less so
104
+ * the socket path is stable across binary upgrades.
120
105
  */
121
106
  /**
122
- * Get the Socket DLX directory (~/.socket/_dlx). Can be overridden with
123
- * SOCKET_DLX_DIR environment variable or via setPath() for testing. Result is
124
- * cached via getPathValue for performance.
125
- *
126
- * Priority order:
127
- *
128
- * 1. Test override via setPath('socket-dlx-dir', ...)
129
- * 2. SOCKET_DLX_DIR - Full override of DLX cache directory
130
- * 3. SOCKET_HOME/_dlx - Base directory override (inherits from getSocketUserDir)
131
- * 4. Default: $HOME/.socket/_dlx
132
- * 5. Fallback: /tmp/.socket/_dlx (Unix) or %TEMP%.socket_dlx (Windows)
107
+ * Get the Socket cacache directory (~/.socket/_cacache). Override precedence:
108
+ * setPath('socket-cacache-dir', …) SOCKET_CACACHE_DIR env
109
+ * $SOCKET_HOME/_cacache $HOME/.socket/_cacache.
110
+ */
111
+ function getSocketCacacheDir() {
112
+ return require_paths_rewire.getPathValue("socket-cacache-dir", () => {
113
+ if (require_env_socket.getSocketCacacheDirEnv()) return require_paths_normalize.normalizePath(require_env_socket.getSocketCacacheDirEnv());
114
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getSocketUserDir(), require_constants_socket.SOCKET_DIR.cacache));
115
+ });
116
+ }
117
+ /**
118
+ * Get the Socket DLX directory (~/.socket/_dlx) — the name+version binary store
119
+ * (node, jre, python, sfw, …). Override precedence: setPath('socket-dlx-dir',
120
+ * …) → SOCKET_DLX_DIR env → $SOCKET_HOME/_dlx → $HOME/.socket/_dlx.
121
+ */
122
+ /**
123
+ * Get the Socket DLX directory (~/.socket/_dlx) — the name+version binary store
124
+ * (node, jre, python, sfw, …). Override precedence: setPath('socket-dlx-dir',
125
+ * …) → SOCKET_DLX_DIR env → $SOCKET_HOME/_dlx → $HOME/.socket/_dlx.
133
126
  */
134
127
  function getSocketDlxDir() {
135
128
  return require_paths_rewire.getPathValue("socket-dlx-dir", () => {
136
- if (/* @__PURE__ */ require_env_socket.getSocketDlxDirEnv()) return /* @__PURE__ */ require_paths_normalize.normalizePath(/* @__PURE__ */ require_env_socket.getSocketDlxDirEnv());
137
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketUserDir(), `${"_"}${"dlx"}`));
129
+ if (require_env_socket.getSocketDlxDirEnv()) return require_paths_normalize.normalizePath(require_env_socket.getSocketDlxDirEnv());
130
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getSocketUserDir(), require_constants_socket.SOCKET_DIR.dlx));
138
131
  });
139
132
  }
140
133
  /**
@@ -149,24 +142,41 @@ function getSocketHomePath() {
149
142
  return getSocketUserDir();
150
143
  }
151
144
  /**
152
- * Get the Socket Registry directory (~/.socket/_registry).
145
+ * Get the Socket state directory (~/.socket/_state) — version-LESS persistent
146
+ * app state (the home for daemon sockets, locks, OAuth refresh, durable caches
147
+ * that survive version bumps; mirrors pnpm `state-dir` / XDG_STATE_HOME).
148
+ * Override precedence: setPath('socket-state-dir', …) → SOCKET_STATE_DIR env →
149
+ * $SOCKET_HOME/_state → $HOME/.socket/_state.
153
150
  */
154
151
  /**
155
- * Get the Socket Registry directory (~/.socket/_registry).
152
+ * Get the Socket state directory (~/.socket/_state) — version-LESS persistent
153
+ * app state (the home for daemon sockets, locks, OAuth refresh, durable caches
154
+ * that survive version bumps; mirrors pnpm `state-dir` / XDG_STATE_HOME).
155
+ * Override precedence: setPath('socket-state-dir', …) → SOCKET_STATE_DIR env →
156
+ * $SOCKET_HOME/_state → $HOME/.socket/_state.
156
157
  */
157
- function getSocketRegistryDir() {
158
- return getSocketAppDir(require_constants_socket.SOCKET_REGISTRY_APP_NAME);
158
+ function getSocketStateDir() {
159
+ return require_paths_rewire.getPathValue("socket-state-dir", () => {
160
+ if (require_env_socket.getSocketStateDirEnv()) return require_paths_normalize.normalizePath(require_env_socket.getSocketStateDirEnv());
161
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getSocketUserDir(), require_constants_socket.SOCKET_DIR.state));
162
+ });
159
163
  }
160
164
  /**
161
- * Get the Socket Registry GitHub cache directory
162
- * (~/.socket/_registry/cache/ttl/github).
165
+ * Get an app's persistent state directory (~/.socket/_state/<app>/). The
166
+ * `<app>` is a real app (proteus, acorn) nesting its version-less state inside
167
+ * the `_state` infra dir.
163
168
  */
164
169
  /**
165
- * Get the Socket Registry GitHub cache directory
166
- * (~/.socket/_registry/cache/ttl/github).
170
+ * Get the Socket user directory (~/.socket). Override precedence:
171
+ * setPath('socket-user-dir', …) → SOCKET_HOME env → $HOME/.socket →
172
+ * /tmp/.socket (Unix) or %TEMP%.socket (Windows).
167
173
  */
168
- function getSocketRegistryGithubCacheDir() {
169
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketAppCacheTtlDir(require_constants_socket.SOCKET_REGISTRY_APP_NAME), require_constants_github.CACHE_GITHUB_DIR));
174
+ function getSocketUserDir() {
175
+ return require_paths_rewire.getPathValue("socket-user-dir", () => {
176
+ const socketHome = require_env_socket.getSocketHome();
177
+ if (socketHome) return require_paths_normalize.normalizePath(socketHome);
178
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getUserHomeDir(), require_paths_dirnames.DOT_SOCKET_DIR));
179
+ });
170
180
  }
171
181
  /**
172
182
  * Get the Socket Wheelhouse directory (~/.socket/_wheelhouse). Shared
@@ -174,41 +184,9 @@ function getSocketRegistryGithubCacheDir() {
174
184
  * each one re-downloading and re-extracting per-repo. Tool installers (janus,
175
185
  * sfw, etc.) drop their resolved executables under
176
186
  * `<wheelhouse>/<tool>/<version>/<platform-arch>/`; consumers add the
177
- * appropriate `bin/` to PATH or invoke the binary by absolute path.
178
- *
179
- * Priority order:
180
- *
181
- * 1. Test override via setPath('socket-wheelhouse-dir', ...)
182
- * 2. SOCKET_HOME/_wheelhouse - Base directory override (inherits from
183
- * getSocketUserDir)
184
- * 3. Default: $HOME/.socket/_wheelhouse
185
- */
186
- /**
187
- * Get the Socket user directory (~/.socket). Can be overridden with SOCKET_HOME
188
- * environment variable or via setPath() for testing. Result is cached via
189
- * getPathValue for performance.
190
- *
191
- * Priority order:
192
- *
193
- * 1. Test override via setPath('socket-user-dir', ...)
194
- * 2. SOCKET_HOME - Base directory override
195
- * 3. Default: $HOME/.socket
196
- * 4. Fallback: /tmp/.socket (Unix) or %TEMP%.socket (Windows)
197
- */
198
- function getSocketUserDir() {
199
- return require_paths_rewire.getPathValue("socket-user-dir", () => {
200
- const socketHome = /* @__PURE__ */ require_env_socket.getSocketHome();
201
- if (socketHome) return /* @__PURE__ */ require_paths_normalize.normalizePath(socketHome);
202
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getUserHomeDir(), require_paths_dirnames.DOT_SOCKET_DIR));
203
- });
204
- }
205
- /**
206
- * Get the user's home directory. Uses environment variables directly to support
207
- * test mocking. Falls back to temporary directory if home is not available.
208
- *
209
- * Priority order: 1. HOME environment variable (Unix) 2. USERPROFILE
210
- * environment variable (Windows) 3. getNodeOs().homedir() 4. Fallback:
211
- * getNodeOs().tmpdir() (rarely used, for restricted environments)
187
+ * appropriate `bin/` to PATH or invoke the binary by absolute path. Override
188
+ * precedence: setPath('socket-wheelhouse-dir', …) → $SOCKET_HOME/_wheelhouse →
189
+ * $HOME/.socket/_wheelhouse.
212
190
  */
213
191
  /**
214
192
  * Get the Socket Wheelhouse directory (~/.socket/_wheelhouse). Shared
@@ -216,44 +194,33 @@ function getSocketUserDir() {
216
194
  * each one re-downloading and re-extracting per-repo. Tool installers (janus,
217
195
  * sfw, etc.) drop their resolved executables under
218
196
  * `<wheelhouse>/<tool>/<version>/<platform-arch>/`; consumers add the
219
- * appropriate `bin/` to PATH or invoke the binary by absolute path.
220
- *
221
- * Priority order:
222
- *
223
- * 1. Test override via setPath('socket-wheelhouse-dir', ...)
224
- * 2. SOCKET_HOME/_wheelhouse - Base directory override (inherits from
225
- * getSocketUserDir)
226
- * 3. Default: $HOME/.socket/_wheelhouse
197
+ * appropriate `bin/` to PATH or invoke the binary by absolute path. Override
198
+ * precedence: setPath('socket-wheelhouse-dir', …) → $SOCKET_HOME/_wheelhouse →
199
+ * $HOME/.socket/_wheelhouse.
227
200
  */
228
201
  function getSocketWheelhouseDir() {
229
202
  return require_paths_rewire.getPathValue("socket-wheelhouse-dir", () => {
230
- return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketUserDir(), `${"_"}${require_constants_socket.SOCKET_WHEELHOUSE_APP_NAME}`));
203
+ return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getSocketUserDir(), require_constants_socket.SOCKET_DIR.wheelhouse));
231
204
  });
232
205
  }
233
206
  /**
234
- * Get the Socket user directory (~/.socket). Can be overridden with SOCKET_HOME
235
- * environment variable or via setPath() for testing. Result is cached via
236
- * getPathValue for performance.
237
- *
238
- * Priority order:
207
+ * Get the user's home directory. Uses environment variables directly to support
208
+ * test mocking. Falls back to temporary directory if home is not available.
239
209
  *
240
- * 1. Test override via setPath('socket-user-dir', ...)
241
- * 2. SOCKET_HOME - Base directory override
242
- * 3. Default: $HOME/.socket
243
- * 4. Fallback: /tmp/.socket (Unix) or %TEMP%.socket (Windows)
210
+ * Priority order: 1. HOME (Unix) 2. USERPROFILE (Windows) 3.
211
+ * getNodeOs().homedir() 4. Fallback: getNodeOs().tmpdir() (restricted envs).
244
212
  */
245
213
  /**
246
214
  * Get the user's home directory. Uses environment variables directly to support
247
215
  * test mocking. Falls back to temporary directory if home is not available.
248
216
  *
249
- * Priority order: 1. HOME environment variable (Unix) 2. USERPROFILE
250
- * environment variable (Windows) 3. getNodeOs().homedir() 4. Fallback:
251
- * getNodeOs().tmpdir() (rarely used, for restricted environments)
217
+ * Priority order: 1. HOME (Unix) 2. USERPROFILE (Windows) 3.
218
+ * getNodeOs().homedir() 4. Fallback: getNodeOs().tmpdir() (restricted envs).
252
219
  */
253
220
  function getUserHomeDir() {
254
- const home = /* @__PURE__ */ require_env_home.getHome();
221
+ const home = require_env_home.getHome();
255
222
  if (home) return home;
256
- const userProfile = /* @__PURE__ */ require_env_windows.getUserprofile();
223
+ const userProfile = require_env_windows.getUserprofile();
257
224
  if (userProfile) return userProfile;
258
225
  try {
259
226
  const osHome = getOsHomeDir();
@@ -270,12 +237,12 @@ exports.getOsTmpDir = getOsTmpDir;
270
237
  exports.getSocketAppCacheDir = getSocketAppCacheDir;
271
238
  exports.getSocketAppCacheTtlDir = getSocketAppCacheTtlDir;
272
239
  exports.getSocketAppDir = getSocketAppDir;
240
+ exports.getSocketAppRuntimeDir = getSocketAppRuntimeDir;
241
+ exports.getSocketAppStateDir = getSocketAppStateDir;
273
242
  exports.getSocketCacacheDir = getSocketCacacheDir;
274
- exports.getSocketCliDir = getSocketCliDir;
275
243
  exports.getSocketDlxDir = getSocketDlxDir;
276
244
  exports.getSocketHomePath = getSocketHomePath;
277
- exports.getSocketRegistryDir = getSocketRegistryDir;
278
- exports.getSocketRegistryGithubCacheDir = getSocketRegistryGithubCacheDir;
245
+ exports.getSocketStateDir = getSocketStateDir;
279
246
  exports.getSocketUserDir = getSocketUserDir;
280
247
  exports.getSocketWheelhouseDir = getSocketWheelhouseDir;
281
248
  exports.getUserHomeDir = getUserHomeDir;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @file Walk parent directories. `walkUp` is the lazy ancestor generator that
3
- * `fs/find-up` and package-root lookups build on: given a starting path it
3
+ * `fs/find` and package-root lookups build on: given a starting path it
4
4
  * yields that path, then each parent, up to and INCLUDING the filesystem root
5
5
  * (or a caller-supplied `stopAt` boundary). Lazy so a caller can stop early
6
6
  * without computing the whole chain.
@@ -11,7 +11,7 @@ node_process = require_runtime.__toESM(node_process);
11
11
  //#region src/paths/walk.ts
12
12
  /**
13
13
  * @file Walk parent directories. `walkUp` is the lazy ancestor generator that
14
- * `fs/find-up` and package-root lookups build on: given a starting path it
14
+ * `fs/find` and package-root lookups build on: given a starting path it
15
15
  * yields that path, then each parent, up to and INCLUDING the filesystem root
16
16
  * (or a caller-supplied `stopAt` boundary). Lazy so a caller can stop early
17
17
  * without computing the whole chain.
@@ -41,13 +41,13 @@ function* walkUp(from, options) {
41
41
  __proto__: null,
42
42
  ...options
43
43
  };
44
- const path = /* @__PURE__ */ require_node_path.getNodePath();
45
- const dirname = (/* @__PURE__ */ require_smol_path.getSmolPath())?.dirname ?? path.dirname;
44
+ const path = require_node_path.getNodePath();
45
+ const dirname = require_smol_path.getSmolPath()?.dirname ?? path.dirname;
46
46
  let dir = path.resolve(cwd, from);
47
47
  const stopDir = stopAt ? path.resolve(cwd, stopAt) : void 0;
48
48
  let prev;
49
49
  while (dir !== prev) {
50
- yield /* @__PURE__ */ require_paths_normalize.normalizePath(dir);
50
+ yield require_paths_normalize.normalizePath(dir);
51
51
  if (stopDir !== void 0 && dir === stopDir) return;
52
52
  prev = dir;
53
53
  dir = dirname(dir);
@@ -39,7 +39,7 @@ const require_perf_metrics = require('./metrics.js');
39
39
  function generatePerformanceReport() {
40
40
  if (!require_perf_enabled.isPerfEnabled() || require_perf__internal.performanceMetrics.length === 0) return "(no performance data collected - enable with DEBUG=perf)";
41
41
  const summary = require_perf_metrics.getPerformanceSummary();
42
- const operations = require_primordials_object.ObjectKeys(summary).sort();
42
+ const operations = require_primordials_object.ObjectKeys(summary).toSorted();
43
43
  let report = "\n╔═══════════════════════════════════════════════╗\n";
44
44
  report += "║ Performance Report ║\n";
45
45
  report += "╚═══════════════════════════════════════════════╝\n\n";
@@ -70,7 +70,7 @@ function generatePerformanceReport() {
70
70
  function printPerformanceSummary() {
71
71
  if (!require_perf_enabled.isPerfEnabled() || require_perf__internal.performanceMetrics.length === 0) return;
72
72
  const summary = require_perf_metrics.getPerformanceSummary();
73
- const operations = require_primordials_object.ObjectKeys(summary).sort();
73
+ const operations = require_primordials_object.ObjectKeys(summary).toSorted();
74
74
  require_debug_output.debugLog("[perf]\n=== Performance Summary ===");
75
75
  for (const operation of operations) {
76
76
  const stats = summary[operation];
@@ -11,5 +11,5 @@ export type PerformanceMetrics = {
11
11
  operation: string;
12
12
  duration: number;
13
13
  timestamp: number;
14
- metadata?: Record<string, unknown>;
14
+ metadata?: Record<string, unknown> | undefined;
15
15
  };
@@ -17,7 +17,7 @@ const packageExtensions = ObjectFreeze([
17
17
  ["@yarnpkg/extensions@>=1.1.0", { peerDependencies: void 0 }],
18
18
  ["abab@>=2.0.0", { devDependencies: { webpack: "^3.12.0" } }],
19
19
  ["is-generator-function@>=1.0.7", { scripts: { "test:uglified": "" } }]
20
- ].sort((a_, b_) => {
20
+ ].toSorted((a_, b_) => {
21
21
  const aIndex = a_[0].lastIndexOf("@");
22
22
  const bIndex = b_[0].lastIndexOf("@");
23
23
  const a = aIndex === -1 ? a_[0] : a_[0].slice(0, aIndex);
@@ -11,7 +11,7 @@ const require_smol_primordial = require('../smol/primordial.js');
11
11
  * `Array.prototype.with` are ES2024 / ES2023; the primordial captures the
12
12
  * live reference at module load so consumers never see a tampered global.
13
13
  */
14
- const _smolPrimordial = /* @__PURE__ */ require_smol_primordial.getSmolPrimordial();
14
+ const smolPrimordial = require_smol_primordial.getSmolPrimordial();
15
15
  const ArrayCtor = Array;
16
16
  const ArrayBufferCtor = ArrayBuffer;
17
17
  const DataViewCtor = DataView;
@@ -26,7 +26,7 @@ const Uint16ArrayCtor = Uint16Array;
26
26
  const Uint32ArrayCtor = Uint32Array;
27
27
  const ArrayFrom = Array.from;
28
28
  const ArrayFromAsync = Array.fromAsync;
29
- const ArrayIsArray = _smolPrimordial?.arrayIsArray ?? Array.isArray;
29
+ const ArrayIsArray = smolPrimordial?.arrayIsArray ?? Array.isArray;
30
30
  const ArrayOf = Array.of;
31
31
  const ArrayBufferIsView = ArrayBuffer.isView;
32
32
  const AtomicsWait = Atomics.wait;
@@ -68,17 +68,17 @@ const ArrayPrototypeToString = require_primordials_uncurry.uncurryThis(Array.pro
68
68
  const ArrayPrototypeUnshift = require_primordials_uncurry.uncurryThis(Array.prototype.unshift);
69
69
  const ArrayPrototypeValues = require_primordials_uncurry.uncurryThis(Array.prototype.values);
70
70
  const ArrayPrototypeWith = require_primordials_uncurry.uncurryThis(Array.prototype.with);
71
- const _anyIterator = (/* @__PURE__ */ new Map()).keys();
72
- let _iteratorLookup = Object.getPrototypeOf(_anyIterator);
73
- while (_iteratorLookup && typeof _iteratorLookup.next !== "function")
71
+ const anyIterator = (/* @__PURE__ */ new Map()).keys();
72
+ let iteratorLookup = Object.getPrototypeOf(anyIterator);
73
+ while (iteratorLookup && typeof iteratorLookup.next !== "function")
74
74
  /* c8 ignore next - Modern V8 puts Iterator.prototype one hop up the chain
75
75
  so the first check already finds .next; the walk-further branch fires
76
76
  only on hypothetical engines where the prototype layout differs. */
77
- _iteratorLookup = Object.getPrototypeOf(_iteratorLookup);
78
- const _iteratorProto = _iteratorLookup;
79
- const IteratorPrototypeNext = require_primordials_uncurry.uncurryThis(_iteratorProto.next);
77
+ iteratorLookup = Object.getPrototypeOf(iteratorLookup);
78
+ const iteratorProto = iteratorLookup;
79
+ const IteratorPrototypeNext = require_primordials_uncurry.uncurryThis(iteratorProto.next);
80
80
  /* c8 ignore start */
81
- const IteratorPrototypeReturn = typeof _iteratorProto.return === "function" ? require_primordials_uncurry.uncurryThis(_iteratorProto.return) : void 0;
81
+ const IteratorPrototypeReturn = typeof iteratorProto.return === "function" ? require_primordials_uncurry.uncurryThis(iteratorProto.return) : void 0;
82
82
  /* c8 ignore stop */
83
83
 
84
84
  //#endregion
@@ -10,9 +10,9 @@ const require_smol_primordial = require('../smol/primordial.js');
10
10
  * (single-byte wallclock read inlined into JIT'd callers) when available;
11
11
  * stock Node falls back to `Date.now`.
12
12
  */
13
- const _smolPrimordial = /* @__PURE__ */ require_smol_primordial.getSmolPrimordial();
13
+ const smolPrimordial = require_smol_primordial.getSmolPrimordial();
14
14
  const DateCtor = Date;
15
- const DateNow = _smolPrimordial?.dateNow ?? Date.now;
15
+ const DateNow = smolPrimordial?.dateNow ?? Date.now;
16
16
  const DateParse = Date.parse;
17
17
  const DateUTC = Date.UTC;
18
18
  const DatePrototypeGetTime = require_primordials_uncurry.uncurryThis(Date.prototype.getTime);
@@ -21,15 +21,15 @@ const URIErrorCtor = URIError;
21
21
  const ErrorIsError = Error.isError;
22
22
  const ErrorCaptureStackTrace = Error.captureStackTrace;
23
23
  const ErrorPrepareStackTrace = Error.prepareStackTrace;
24
- const _stackTraceLimitGetter = (() => {
24
+ const stackTraceLimitGetter = (() => {
25
25
  const getter = Error.__lookupGetter__?.("stackTraceLimit");
26
26
  /* c8 ignore start */
27
27
  if (typeof getter === "function") return () => getter.call(Error);
28
28
  /* c8 ignore stop */
29
29
  })();
30
30
  function ErrorStackTraceLimit() {
31
- /* c8 ignore start */
32
- if (_stackTraceLimitGetter) return _stackTraceLimitGetter();
31
+ /* c8 ignore start - non-V8 fallback path unreachable under test */
32
+ if (stackTraceLimitGetter) return stackTraceLimitGetter();
33
33
  return Error.stackTraceLimit;
34
34
  /* c8 ignore stop */
35
35
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @file Safe references to the Fetch `Headers` constructor and its
3
+ * `Headers.prototype` methods. `Headers` is a global on Node 22+ (the fleet
4
+ * floor), captured unguarded like `URL` / `URLSearchParams`.
5
+ */
6
+ export declare const HeadersCtor: typeof Headers;
7
+ export declare const HeadersPrototypeForEach: (self: unknown, callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any) => void;
8
+ export declare const HeadersPrototypeGet: (self: unknown, name: string) => string | null;
9
+ export declare const HeadersPrototypeHas: (self: unknown, name: string) => boolean;
10
+ export declare const HeadersPrototypeSet: (self: unknown, name: string, value: string) => void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_uncurry = require('./uncurry.js');
5
+
6
+ //#region src/primordials/headers.ts
7
+ /**
8
+ * @file Safe references to the Fetch `Headers` constructor and its
9
+ * `Headers.prototype` methods. `Headers` is a global on Node 22+ (the fleet
10
+ * floor), captured unguarded like `URL` / `URLSearchParams`.
11
+ */
12
+ const HeadersCtor = Headers;
13
+ const HeadersPrototypeForEach = require_primordials_uncurry.uncurryThis(Headers.prototype.forEach);
14
+ const HeadersPrototypeGet = require_primordials_uncurry.uncurryThis(Headers.prototype.get);
15
+ const HeadersPrototypeHas = require_primordials_uncurry.uncurryThis(Headers.prototype.has);
16
+ const HeadersPrototypeSet = require_primordials_uncurry.uncurryThis(Headers.prototype.set);
17
+
18
+ //#endregion
19
+ exports.HeadersCtor = HeadersCtor;
20
+ exports.HeadersPrototypeForEach = HeadersPrototypeForEach;
21
+ exports.HeadersPrototypeGet = HeadersPrototypeGet;
22
+ exports.HeadersPrototypeHas = HeadersPrototypeHas;
23
+ exports.HeadersPrototypeSet = HeadersPrototypeSet;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @file Safe references to `Intl` constructors. Captured once at module load so
3
+ * consumers reading adversarial input never see a tampered global. `new
4
+ * Intl.X(...)` is expensive (10-14ms for Collator in Node); callers are
5
+ * responsible for caching instances — these exports are the constructors
6
+ * only. On the smol Node binary the captures come from `node:smol-primordial`
7
+ * (which hoists them from within the sealed module context); on stock Node
8
+ * they fall back to the global `Intl` object.
9
+ */
10
+ export declare const IntlCollator: typeof Intl.Collator;
11
+ export declare const IntlListFormat: typeof Intl.ListFormat;
12
+ export declare const IntlPluralRules: typeof Intl.PluralRules;
13
+ export declare const IntlSegmenter: typeof Intl.Segmenter;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_smol_primordial = require('../smol/primordial.js');
5
+
6
+ //#region src/primordials/intl.ts
7
+ /**
8
+ * @file Safe references to `Intl` constructors. Captured once at module load so
9
+ * consumers reading adversarial input never see a tampered global. `new
10
+ * Intl.X(...)` is expensive (10-14ms for Collator in Node); callers are
11
+ * responsible for caching instances — these exports are the constructors
12
+ * only. On the smol Node binary the captures come from `node:smol-primordial`
13
+ * (which hoists them from within the sealed module context); on stock Node
14
+ * they fall back to the global `Intl` object.
15
+ */
16
+ const smolPrimordial = require_smol_primordial.getSmolPrimordial();
17
+ const IntlCollator = smolPrimordial?.IntlCollator ?? Intl.Collator;
18
+ const IntlListFormat = smolPrimordial?.IntlListFormat ?? Intl.ListFormat;
19
+ const IntlPluralRules = smolPrimordial?.IntlPluralRules ?? Intl.PluralRules;
20
+ const IntlSegmenter = smolPrimordial?.IntlSegmenter ?? Intl.Segmenter;
21
+
22
+ //#endregion
23
+ exports.IntlCollator = IntlCollator;
24
+ exports.IntlListFormat = IntlListFormat;
25
+ exports.IntlPluralRules = IntlPluralRules;
26
+ exports.IntlSegmenter = IntlSegmenter;