@socketsecurity/lib 6.0.6 → 6.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/dist/ai/discover.d.mts +2 -2
  3. package/dist/ai/discover.js +3 -2
  4. package/dist/ai/spawn.js +2 -1
  5. package/dist/ai/types.d.mts +18 -6
  6. package/dist/ai/worktree.d.mts +6 -6
  7. package/dist/ai/worktree.js +1 -1
  8. package/dist/ansi/strip.d.ts +1 -1
  9. package/dist/ansi/strip.js +0 -2
  10. package/dist/archives/_internal.js +7 -9
  11. package/dist/archives/extract.js +1 -1
  12. package/dist/archives/tar.js +6 -6
  13. package/dist/archives/zip.js +3 -5
  14. package/dist/argv/flag-predicates.d.ts +12 -12
  15. package/dist/argv/flag-predicates.js +17 -17
  16. package/dist/argv/flag-types.d.ts +18 -18
  17. package/dist/argv/flag-types.js +4 -4
  18. package/dist/argv/parse.d.ts +1 -1
  19. package/dist/arrays/_internal.js +11 -12
  20. package/dist/arrays/chunk.js +0 -1
  21. package/dist/arrays/join.d.ts +37 -3
  22. package/dist/arrays/join.js +43 -7
  23. package/dist/arrays/unique.js +0 -1
  24. package/dist/bin/_internal.d.ts +1 -1
  25. package/dist/bin/_internal.js +1 -1
  26. package/dist/bin/exec.js +2 -3
  27. package/dist/bin/find.js +13 -13
  28. package/dist/bin/prim.cjs +22736 -22556
  29. package/dist/bin/resolve.js +12 -13
  30. package/dist/bin/which.js +8 -8
  31. package/dist/cache/ttl/store.js +5 -5
  32. package/dist/checks/primordials-defaults.d.ts +3 -3
  33. package/dist/checks/primordials-defaults.js +3 -3
  34. package/dist/checks/primordials.js +4 -3
  35. package/dist/{bin → cli}/check-primordials.d.ts +11 -11
  36. package/dist/{bin → cli}/check-primordials.js +55 -52
  37. package/dist/{bin → cli}/check.js +3 -3
  38. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  39. package/dist/{bin → cli}/socket-lib.js +4 -4
  40. package/dist/colors/socket-palette.js +7 -9
  41. package/dist/compression/_internal.d.ts +12 -12
  42. package/dist/compression/_internal.js +17 -17
  43. package/dist/compression/brotli.d.ts +25 -25
  44. package/dist/compression/brotli.js +33 -33
  45. package/dist/compression/gzip.d.ts +23 -23
  46. package/dist/compression/gzip.js +40 -40
  47. package/dist/constants/agents.d.ts +3 -1
  48. package/dist/constants/agents.js +15 -11
  49. package/dist/constants/licenses.js +3 -3
  50. package/dist/constants/node.d.ts +23 -0
  51. package/dist/constants/node.js +47 -15
  52. package/dist/constants/packages.js +22 -28
  53. package/dist/constants/platform.d.ts +30 -3
  54. package/dist/constants/platform.js +72 -12
  55. package/dist/constants/runtime.d.ts +22 -0
  56. package/dist/constants/runtime.js +32 -0
  57. package/dist/constants/socket.js +1 -1
  58. package/dist/cover/code.js +8 -8
  59. package/dist/cover/formatters.js +5 -5
  60. package/dist/crypto/hash.d.ts +26 -1
  61. package/dist/crypto/hash.js +43 -12
  62. package/dist/debug/_internal.js +4 -6
  63. package/dist/debug/caller-info.js +2 -3
  64. package/dist/debug/namespace.d.ts +7 -0
  65. package/dist/debug/namespace.js +21 -12
  66. package/dist/debug/output.js +21 -24
  67. package/dist/debug/types.d.ts +4 -4
  68. package/dist/dlx/arborist.js +6 -6
  69. package/dist/dlx/binary-cache.js +14 -14
  70. package/dist/dlx/binary-download.d.ts +1 -1
  71. package/dist/dlx/binary-download.js +11 -11
  72. package/dist/dlx/binary-resolution.js +16 -14
  73. package/dist/dlx/binary-types.d.ts +5 -5
  74. package/dist/dlx/binary.js +5 -5
  75. package/dist/dlx/cache.js +1 -1
  76. package/dist/dlx/detect.d.ts +34 -25
  77. package/dist/dlx/detect.js +86 -77
  78. package/dist/dlx/dir.js +2 -2
  79. package/dist/dlx/firewall.d.ts +1 -1
  80. package/dist/dlx/lockfile.d.ts +19 -18
  81. package/dist/dlx/lockfile.js +16 -16
  82. package/dist/dlx/manifest.d.ts +6 -6
  83. package/dist/dlx/manifest.js +5 -5
  84. package/dist/dlx/package.d.ts +10 -10
  85. package/dist/dlx/package.js +16 -16
  86. package/dist/dlx/packages.js +4 -4
  87. package/dist/dlx/paths.js +7 -7
  88. package/dist/dlx/spec.js +1 -1
  89. package/dist/dlx/types.d.ts +28 -27
  90. package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
  91. package/dist/eco/cargo/parse-lockfile.js +2 -2
  92. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  93. package/dist/eco/manifest/detect-format.js +4 -4
  94. package/dist/eco/manifest/find-packages.js +2 -2
  95. package/dist/eco/manifest/get-package-versions.js +2 -2
  96. package/dist/eco/manifest/get-package.js +2 -2
  97. package/dist/eco/manifest/parse-lockfile.js +2 -2
  98. package/dist/eco/manifest/parse-manifest.js +2 -2
  99. package/dist/eco/manifest/parse.js +2 -2
  100. package/dist/eco/npm/npm/exec.js +2 -2
  101. package/dist/eco/npm/npm/flags.js +7 -12
  102. package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
  103. package/dist/eco/npm/npm/parse-lockfile.js +3 -3
  104. package/dist/eco/npm/parse-package-json.js +3 -3
  105. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  106. package/dist/eco/npm/pnpm/exec.js +5 -5
  107. package/dist/eco/npm/pnpm/flags.js +0 -3
  108. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
  109. package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
  110. package/dist/eco/npm/script.js +9 -6
  111. package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
  112. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
  113. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
  114. package/dist/effects/pulse-frames.d.ts +3 -1
  115. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  116. package/dist/effects/shimmer-terminal.d.ts +1 -1
  117. package/dist/env/boolean.js +0 -1
  118. package/dist/env/ci.js +0 -1
  119. package/dist/env/debug.js +0 -1
  120. package/dist/env/github-status.d.ts +51 -0
  121. package/dist/env/github-status.js +90 -0
  122. package/dist/env/github.js +0 -8
  123. package/dist/env/home.js +0 -1
  124. package/dist/env/locale.js +0 -3
  125. package/dist/env/node-auth-token.js +0 -1
  126. package/dist/env/node-env.js +0 -1
  127. package/dist/env/node-version-managers.d.ts +53 -0
  128. package/dist/env/node-version-managers.js +90 -0
  129. package/dist/env/npm.js +0 -5
  130. package/dist/env/number.js +0 -1
  131. package/dist/env/package-manager.js +3 -6
  132. package/dist/env/path.js +0 -1
  133. package/dist/env/pre-commit.js +1 -2
  134. package/dist/env/rewire.d.ts +7 -6
  135. package/dist/env/rewire.js +15 -16
  136. package/dist/env/shell.js +0 -1
  137. package/dist/env/socket-cli.js +5 -18
  138. package/dist/env/socket-mcp.d.ts +114 -0
  139. package/dist/env/socket-mcp.js +146 -0
  140. package/dist/env/socket.d.ts +1 -109
  141. package/dist/env/socket.js +12 -167
  142. package/dist/env/string.js +0 -1
  143. package/dist/env/temp-dir.js +0 -3
  144. package/dist/env/term.js +0 -1
  145. package/dist/env/test.js +3 -6
  146. package/dist/env/windows.js +0 -4
  147. package/dist/env/xdg.js +0 -3
  148. package/dist/events/exit/_internal.d.ts +11 -9
  149. package/dist/events/exit/_internal.js +31 -35
  150. package/dist/events/exit/handler.js +3 -4
  151. package/dist/events/exit/intercept.js +4 -6
  152. package/dist/events/exit/lifecycle.js +16 -18
  153. package/dist/events/exit/signals.js +1 -2
  154. package/dist/events/exit/types.d.ts +6 -5
  155. package/dist/external/@npmcli/package-json.js +2 -2
  156. package/dist/external/npm-pack.js +2 -2
  157. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  158. package/dist/external-tools/bazel/types.d.ts +1 -1
  159. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  160. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  161. package/dist/external-tools/from-download.d.ts +1 -1
  162. package/dist/external-tools/from-download.js +1 -1
  163. package/dist/external-tools/janus/from-vfs.js +1 -1
  164. package/dist/external-tools/janus/types.d.ts +1 -1
  165. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  166. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  167. package/dist/external-tools/jre/from-vfs.js +1 -1
  168. package/dist/external-tools/jre/types.d.ts +1 -1
  169. package/dist/external-tools/manifest.d.ts +7 -7
  170. package/dist/external-tools/manifest.js +12 -12
  171. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  172. package/dist/external-tools/opengrep/types.d.ts +1 -1
  173. package/dist/external-tools/python/asset-names.d.ts +76 -0
  174. package/dist/external-tools/python/asset-names.js +104 -0
  175. package/dist/external-tools/python/dlx.d.ts +80 -0
  176. package/dist/external-tools/python/dlx.js +87 -0
  177. package/dist/external-tools/python/from-download.d.ts +53 -0
  178. package/dist/external-tools/python/from-download.js +68 -0
  179. package/dist/external-tools/python/from-path.d.ts +7 -0
  180. package/dist/external-tools/python/from-path.js +23 -0
  181. package/dist/external-tools/python/pin.d.ts +121 -0
  182. package/dist/external-tools/python/pin.js +173 -0
  183. package/dist/external-tools/python/pip-install.d.ts +75 -0
  184. package/dist/external-tools/python/pip-install.js +139 -0
  185. package/dist/external-tools/python/resolve.d.ts +42 -0
  186. package/dist/external-tools/python/resolve.js +58 -0
  187. package/dist/external-tools/python/types.d.ts +49 -0
  188. package/dist/external-tools/sbt/from-vfs.js +1 -1
  189. package/dist/external-tools/sbt/types.d.ts +1 -1
  190. package/dist/external-tools/skillspector/from-path.js +3 -5
  191. package/dist/external-tools/skillspector/from-vfs.js +1 -1
  192. package/dist/external-tools/synp/from-download.js +2 -2
  193. package/dist/external-tools/synp/from-vfs.js +1 -1
  194. package/dist/external-tools/trivy/from-vfs.js +1 -1
  195. package/dist/external-tools/trivy/types.d.ts +1 -1
  196. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  197. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  198. package/dist/fs/_internal.d.ts +1 -1
  199. package/dist/fs/_internal.js +7 -7
  200. package/dist/fs/access.js +5 -9
  201. package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
  202. package/dist/fs/encoding.js +5 -7
  203. package/dist/fs/{find-up.js → find.js} +11 -13
  204. package/dist/fs/inspect.js +7 -13
  205. package/dist/fs/read-dir.js +7 -10
  206. package/dist/fs/read-file.js +8 -14
  207. package/dist/fs/read-json-cache.d.ts +6 -4
  208. package/dist/fs/read-json-cache.js +9 -6
  209. package/dist/fs/read-json.js +4 -6
  210. package/dist/fs/resolve-module.js +1 -1
  211. package/dist/fs/safe.d.ts +1 -1
  212. package/dist/fs/safe.js +12 -13
  213. package/dist/fs/unique.js +4 -5
  214. package/dist/fs/validate.js +1 -2
  215. package/dist/fs/write-json.js +4 -5
  216. package/dist/git/_internal.js +10 -10
  217. package/dist/git/changed.js +4 -4
  218. package/dist/git/repo.js +3 -3
  219. package/dist/git/staged.js +4 -4
  220. package/dist/git/unstaged.js +4 -4
  221. package/dist/github/ghsa.js +2 -2
  222. package/dist/github/refs-cache.d.ts +1 -1
  223. package/dist/github/refs-cache.js +5 -5
  224. package/dist/github/refs-rest.js +5 -5
  225. package/dist/github/{fetch.js → request.js} +13 -2
  226. package/dist/github/token.js +1 -1
  227. package/dist/github/types.d.ts +1 -1
  228. package/dist/globs/_internal.js +7 -9
  229. package/dist/globs/match.js +4 -6
  230. package/dist/globs/matcher.d.ts +3 -3
  231. package/dist/globs/matcher.js +12 -14
  232. package/dist/globs/stream.js +1 -2
  233. package/dist/globs/types.d.ts +24 -24
  234. package/dist/http-request/_internal.d.ts +1 -1
  235. package/dist/http-request/browser.js +4 -2
  236. package/dist/http-request/checksum-file.d.ts +55 -0
  237. package/dist/http-request/checksum-file.js +95 -0
  238. package/dist/http-request/download-types.d.ts +15 -23
  239. package/dist/http-request/download.js +3 -3
  240. package/dist/http-request/headers.js +0 -1
  241. package/dist/http-request/request-attempt.js +37 -33
  242. package/dist/http-request/request-types.d.ts +2 -2
  243. package/dist/http-request/request.js +1 -1
  244. package/dist/http-request/user-agent.js +3 -4
  245. package/dist/integrity.d.ts +86 -18
  246. package/dist/integrity.js +119 -30
  247. package/dist/ipc/directory.js +2 -2
  248. package/dist/ipc/paths.js +1 -1
  249. package/dist/ipc/write.js +1 -1
  250. package/dist/ipc-cli/get.js +12 -12
  251. package/dist/json/edit.js +13 -14
  252. package/dist/json/format.js +2 -2
  253. package/dist/json/parse.d.ts +1 -1
  254. package/dist/json/parse.js +3 -7
  255. package/dist/logger/_internal.d.ts +4 -4
  256. package/dist/logger/_internal.js +3 -3
  257. package/dist/logger/colors.js +4 -3
  258. package/dist/logger/console-methods.d.ts +132 -0
  259. package/dist/logger/console-methods.js +169 -0
  260. package/dist/logger/console.d.ts +12 -0
  261. package/dist/logger/console.js +42 -11
  262. package/dist/logger/indentation-methods.d.ts +81 -0
  263. package/dist/logger/indentation-methods.js +121 -0
  264. package/dist/logger/node.d.ts +16 -338
  265. package/dist/logger/node.js +75 -608
  266. package/dist/logger/options.d.ts +39 -0
  267. package/dist/logger/options.js +47 -0
  268. package/dist/logger/semantic-methods.d.ts +63 -0
  269. package/dist/logger/semantic-methods.js +108 -0
  270. package/dist/logger/stream-methods.d.ts +63 -0
  271. package/dist/logger/stream-methods.js +101 -0
  272. package/dist/logger/stream.d.ts +37 -0
  273. package/dist/logger/stream.js +42 -0
  274. package/dist/logger/symbols-builder.js +9 -9
  275. package/dist/logger/symbols.d.ts +2 -25
  276. package/dist/logger/symbols.js +53 -74
  277. package/dist/logger/types.d.ts +1 -1
  278. package/dist/memo/types.d.ts +6 -6
  279. package/dist/native-messaging/host.d.ts +20 -0
  280. package/dist/native-messaging/host.js +120 -0
  281. package/dist/native-messaging/index.d.ts +5 -0
  282. package/dist/native-messaging/index.js +22 -0
  283. package/dist/native-messaging/install.d.ts +60 -0
  284. package/dist/native-messaging/install.js +141 -0
  285. package/dist/native-messaging/rate-limit.d.ts +62 -0
  286. package/dist/native-messaging/rate-limit.js +115 -0
  287. package/dist/native-messaging/run.d.ts +10 -0
  288. package/dist/native-messaging/run.js +17 -0
  289. package/dist/node/async-hooks.js +4 -3
  290. package/dist/node/child-process.js +4 -3
  291. package/dist/node/crypto.js +4 -3
  292. package/dist/node/events.js +4 -3
  293. package/dist/node/fs-promises.js +4 -3
  294. package/dist/node/fs.js +4 -3
  295. package/dist/node/http.js +4 -3
  296. package/dist/node/https.js +4 -3
  297. package/dist/node/module.js +10 -6
  298. package/dist/node/os.js +4 -3
  299. package/dist/node/path.js +4 -3
  300. package/dist/node/timers-promises.js +4 -3
  301. package/dist/node/url.js +4 -3
  302. package/dist/node/util.js +4 -3
  303. package/dist/objects/getters.js +5 -7
  304. package/dist/objects/inspect.js +1 -4
  305. package/dist/objects/mutate.js +2 -3
  306. package/dist/objects/predicates.js +0 -4
  307. package/dist/objects/sort.js +3 -7
  308. package/dist/packages/edit-class.js +15 -16
  309. package/dist/packages/edit.js +12 -14
  310. package/dist/packages/exports.js +11 -17
  311. package/dist/packages/fetch.d.ts +16 -0
  312. package/dist/packages/fetch.js +81 -0
  313. package/dist/packages/find.d.ts +55 -0
  314. package/dist/packages/find.js +65 -0
  315. package/dist/packages/isolation.js +14 -14
  316. package/dist/packages/licenses.js +16 -16
  317. package/dist/packages/manifest.js +12 -15
  318. package/dist/packages/metadata-extensions.d.ts +14 -0
  319. package/dist/packages/metadata-extensions.js +43 -0
  320. package/dist/packages/normalize.js +5 -9
  321. package/dist/packages/provenance.js +16 -18
  322. package/dist/packages/read.d.ts +29 -0
  323. package/dist/packages/read.js +66 -0
  324. package/dist/packages/specs.d.ts +48 -1
  325. package/dist/packages/specs.js +74 -11
  326. package/dist/packages/tarball.d.ts +24 -0
  327. package/dist/packages/tarball.js +79 -0
  328. package/dist/packages/types.d.ts +21 -20
  329. package/dist/packages/validation.js +0 -3
  330. package/dist/paths/_internal.d.ts +2 -1
  331. package/dist/paths/_internal.js +7 -19
  332. package/dist/paths/conversion.js +5 -9
  333. package/dist/paths/filenames.d.ts +0 -1
  334. package/dist/paths/filenames.js +0 -2
  335. package/dist/paths/normalize.js +4 -5
  336. package/dist/paths/packages.js +4 -7
  337. package/dist/paths/predicates.js +9 -16
  338. package/dist/paths/resolve.js +11 -14
  339. package/dist/paths/rewire.js +3 -3
  340. package/dist/paths/socket.js +16 -16
  341. package/dist/paths/walk.d.ts +1 -1
  342. package/dist/paths/walk.js +4 -4
  343. package/dist/perf/report.js +2 -2
  344. package/dist/perf/types.d.ts +1 -1
  345. package/dist/pkg-ext/data.js +1 -1
  346. package/dist/primordials/array.js +9 -9
  347. package/dist/primordials/date.js +2 -2
  348. package/dist/primordials/error.js +3 -3
  349. package/dist/primordials/headers.d.ts +10 -0
  350. package/dist/primordials/headers.js +23 -0
  351. package/dist/primordials/intl.d.ts +13 -0
  352. package/dist/primordials/intl.js +26 -0
  353. package/dist/primordials/math.js +33 -33
  354. package/dist/primordials/number.js +9 -9
  355. package/dist/primordials/object.js +5 -5
  356. package/dist/primordials/string.d.ts +2 -2
  357. package/dist/primordials/string.js +6 -6
  358. package/dist/primordials/symbol.js +3 -3
  359. package/dist/primordials/uncurry.js +9 -9
  360. package/dist/process/abort.js +3 -3
  361. package/dist/process/lock-manager.js +8 -8
  362. package/dist/process/spawn/_internal.js +6 -8
  363. package/dist/process/spawn/child.js +14 -14
  364. package/dist/process/spawn/errors.js +2 -4
  365. package/dist/process/spawn/kill-tree.d.ts +53 -0
  366. package/dist/process/spawn/kill-tree.js +85 -0
  367. package/dist/process/spawn/stdio.js +0 -1
  368. package/dist/process/spawn/types.d.ts +5 -5
  369. package/dist/process/transient.js +2 -2
  370. package/dist/promises/_internal.d.ts +2 -1
  371. package/dist/promises/_internal.js +2 -6
  372. package/dist/promises/iterate.js +11 -15
  373. package/dist/promises/options.js +3 -6
  374. package/dist/promises/retry.js +4 -5
  375. package/dist/promises/timers.d.ts +30 -0
  376. package/dist/promises/timers.js +48 -0
  377. package/dist/releases/github-archives.d.ts +6 -6
  378. package/dist/releases/github-archives.js +2 -2
  379. package/dist/releases/github-asset-url.d.ts +1 -1
  380. package/dist/releases/github-asset-url.js +5 -5
  381. package/dist/releases/github-downloads.d.ts +1 -1
  382. package/dist/releases/github-downloads.js +3 -3
  383. package/dist/releases/github-listing.d.ts +11 -2
  384. package/dist/releases/github-listing.js +20 -7
  385. package/dist/releases/github-retry-config.js +1 -1
  386. package/dist/releases/github-types.d.ts +6 -6
  387. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  388. package/dist/releases/socket-btm-binary-naming.js +155 -0
  389. package/dist/releases/socket-btm.d.ts +8 -115
  390. package/dist/releases/socket-btm.js +16 -159
  391. package/dist/schema/types.d.ts +1 -1
  392. package/dist/sea/detect.js +6 -6
  393. package/dist/secrets/_internal.d.ts +2 -2
  394. package/dist/secrets/_internal.js +2 -2
  395. package/dist/secrets/compare.d.ts +45 -0
  396. package/dist/secrets/compare.js +61 -0
  397. package/dist/secrets/keychain.js +6 -4
  398. package/dist/secrets/linux.js +19 -19
  399. package/dist/secrets/macos.d.ts +1 -1
  400. package/dist/secrets/macos.js +13 -13
  401. package/dist/secrets/rc.d.ts +2 -2
  402. package/dist/secrets/rc.js +6 -4
  403. package/dist/secrets/socket-api-token.d.ts +4 -4
  404. package/dist/secrets/socket-api-token.js +18 -9
  405. package/dist/secrets/windows.js +14 -13
  406. package/dist/shadow/skip.js +2 -2
  407. package/dist/smol/detect.js +9 -10
  408. package/dist/smol/http.js +6 -7
  409. package/dist/smol/https.js +6 -7
  410. package/dist/smol/manifest.d.ts +1 -1
  411. package/dist/smol/manifest.js +6 -7
  412. package/dist/smol/path.d.ts +1 -1
  413. package/dist/smol/path.js +7 -8
  414. package/dist/smol/primordial.d.ts +4 -0
  415. package/dist/smol/primordial.js +6 -7
  416. package/dist/smol/purl.d.ts +1 -1
  417. package/dist/smol/purl.js +7 -8
  418. package/dist/smol/versions.js +6 -7
  419. package/dist/smol/vfs.js +6 -7
  420. package/dist/sorts/_internal.js +6 -8
  421. package/dist/sorts/natural.js +10 -12
  422. package/dist/sorts/semver.js +1 -2
  423. package/dist/sorts/strings.js +0 -1
  424. package/dist/sorts/types.d.ts +1 -1
  425. package/dist/spinner/create-spinner-class.d.ts +38 -0
  426. package/dist/spinner/create-spinner-class.js +302 -0
  427. package/dist/spinner/default.js +8 -9
  428. package/dist/spinner/spinner-internals.d.ts +36 -0
  429. package/dist/spinner/spinner-internals.js +101 -0
  430. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  431. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  432. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  433. package/dist/spinner/spinner-status-methods.js +133 -0
  434. package/dist/spinner/spinner.d.ts +4 -5
  435. package/dist/spinner/spinner.js +18 -705
  436. package/dist/spinner/types.d.ts +3 -1
  437. package/dist/spinner/with.d.ts +10 -0
  438. package/dist/spinner/with.js +16 -2
  439. package/dist/stdio/divider.js +1 -1
  440. package/dist/stdio/footer.js +3 -3
  441. package/dist/stdio/header.js +4 -4
  442. package/dist/stdio/progress.js +5 -5
  443. package/dist/stdio/prompts.d.ts +5 -3
  444. package/dist/stdio/prompts.js +6 -7
  445. package/dist/stdio/stdout.js +3 -3
  446. package/dist/streams/parallel.js +3 -5
  447. package/dist/streams/transform.js +2 -3
  448. package/dist/strings/format.js +2 -6
  449. package/dist/strings/predicates.js +0 -2
  450. package/dist/strings/search.js +1 -2
  451. package/dist/strings/transform.js +0 -3
  452. package/dist/strings/width.js +9 -10
  453. package/dist/tables/bordered.js +4 -3
  454. package/dist/tables/padding.js +1 -1
  455. package/dist/tables/simple.js +8 -5
  456. package/dist/temporal/instant.js +1 -1
  457. package/dist/temporal/slots.js +6 -6
  458. package/dist/temporal/system.js +9 -9
  459. package/dist/themes/context.d.ts +3 -2
  460. package/dist/themes/context.js +4 -5
  461. package/dist/themes/themes.js +15 -15
  462. package/dist/themes/types.d.ts +3 -3
  463. package/dist/url/parse.js +0 -2
  464. package/dist/url/predicates.js +1 -2
  465. package/dist/url/search-params.js +3 -9
  466. package/dist/url/types.d.ts +5 -5
  467. package/dist/versions/_internal.js +3 -3
  468. package/dist/words/article.js +0 -1
  469. package/dist/words/capitalize.js +0 -1
  470. package/dist/words/pluralize.js +15 -5
  471. package/package.json +247 -106
  472. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  473. package/dist/external-tools/uv/asset-names.js +0 -70
  474. package/dist/external-tools/uv/from-download.d.ts +0 -17
  475. package/dist/external-tools/uv/from-download.js +0 -47
  476. package/dist/external-tools/uv/from-path.d.ts +0 -5
  477. package/dist/external-tools/uv/from-path.js +0 -22
  478. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  479. package/dist/external-tools/uv/from-vfs.js +0 -26
  480. package/dist/external-tools/uv/resolve.d.ts +0 -25
  481. package/dist/external-tools/uv/resolve.js +0 -53
  482. package/dist/external-tools/uv/types.d.ts +0 -24
  483. package/dist/http-request/checksums.d.ts +0 -69
  484. package/dist/http-request/checksums.js +0 -108
  485. package/dist/http-request/http-request.d.ts +0 -12
  486. package/dist/http-request/http-request.js +0 -11
  487. package/dist/packages/operations.d.ts +0 -113
  488. package/dist/packages/operations.js +0 -304
  489. package/dist/ssri/convert.d.ts +0 -48
  490. package/dist/ssri/convert.js +0 -69
  491. package/dist/ssri/parse.d.ts +0 -27
  492. package/dist/ssri/parse.js +0 -41
  493. package/dist/ssri/validate.d.ts +0 -41
  494. package/dist/ssri/validate.js +0 -56
  495. /package/dist/{bin → cli}/check.d.ts +0 -0
  496. /package/dist/external-tools/{uv → python}/types.js +0 -0
  497. /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
  498. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  499. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../_virtual/_rolldown/runtime.js');
5
+ let node_crypto = require("node:crypto");
6
+ node_crypto = require_runtime.__toESM(node_crypto);
7
+
8
+ //#region src/secrets/compare.ts
9
+ /**
10
+ * @file Constant-time secret comparison. Wraps Node's `crypto.timingSafeEqual`
11
+ * so every secret comparison in the codebase runs through one helper that
12
+ * refuses to short-circuit on the first mismatched byte. Why this matters:
13
+ *
14
+ * - `===` / `!==` on JS strings short-circuits at the first byte mismatch. An
15
+ * attacker who can measure server response time can binary-search the
16
+ * secret one byte at a time: `'a000...'`, `'b000...'`, … until the response
17
+ * slows down at the right first byte, then on to byte 2. Same trap for
18
+ * `Buffer.compare` and `==`.
19
+ * - `crypto.timingSafeEqual` runs in O(n) regardless of where the first
20
+ * mismatch is. Each iteration is the same cost so the timing channel
21
+ * carries no information about which byte mismatched. Use whenever
22
+ * comparing two values that include a secret (session token, API key, MAC,
23
+ * expected-hash). Don't use for path strings or other non-secret
24
+ * comparisons — `===` is fine there and faster. Patterned after pilcrow's
25
+ * `crypto.go::constantTimeCompare`, the canonical shape in
26
+ * passwordless-example.auth.pilcrowonpaper.com — wrap once, use everywhere,
27
+ * never byte-compare a secret directly.
28
+ */
29
+ /**
30
+ * Compare two secrets in constant time. Returns `true` when the inputs are
31
+ * byte-equal. Returns `false` when they differ **or** when the byte-lengths
32
+ * differ. Never throws.
33
+ *
34
+ * Length mismatch handling: `timingSafeEqual` itself throws on length mismatch
35
+ * (it can't preserve the timing-safety contract across differently- sized
36
+ * buffers). We catch that and return `false` so callers don't need a length
37
+ * pre-check.
38
+ *
39
+ * @example
40
+ * ;```typescript
41
+ * import { compareSecrets } from '@socketsecurity/lib/secrets/compare'
42
+ *
43
+ * if (!compareSecrets(presentedToken, storedToken)) {
44
+ * throw new Error('invalid token')
45
+ * }
46
+ * ```
47
+ *
48
+ * @param a - First secret (string or Buffer).
49
+ * @param b - Second secret (string or Buffer).
50
+ *
51
+ * @returns `true` when `a` and `b` are byte-equal; `false` otherwise.
52
+ */
53
+ function compareSecrets(a, b) {
54
+ const ab = typeof a === "string" ? Buffer.from(a, "utf8") : a;
55
+ const bb = typeof b === "string" ? Buffer.from(b, "utf8") : b;
56
+ if (ab.length !== bb.length) return false;
57
+ return node_crypto.default.timingSafeEqual(ab, bb);
58
+ }
59
+
60
+ //#endregion
61
+ exports.compareSecrets = compareSecrets;
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../_virtual/_rolldown/runtime.js');
4
5
  const require_primordials_error = require('../primordials/error.js');
5
6
  const require_secrets__internal = require('./_internal.js');
6
7
  const require_secrets_macos = require('./macos.js');
7
8
  const require_secrets_linux = require('./linux.js');
8
9
  const require_secrets_windows = require('./windows.js');
9
10
  let node_os = require("node:os");
11
+ node_os = require_runtime.__toESM(node_os);
10
12
 
11
13
  //#region src/secrets/keychain.ts
12
14
  /**
@@ -118,7 +120,7 @@ function deleteSecretSync({ service, account }) {
118
120
  * @internal
119
121
  */
120
122
  function detectPlatform() {
121
- const p = (0, node_os.platform)();
123
+ const p = node_os.default.platform();
122
124
  if (p === "darwin" || p === "linux" || p === "win32") return p;
123
125
  return "other";
124
126
  }
@@ -150,7 +152,7 @@ function getBackendAvailability() {
150
152
  default: return {
151
153
  available: false,
152
154
  toolName: "n/a",
153
- installHint: `Platform ${(0, node_os.platform)()} is not supported.`
155
+ installHint: `Platform ${node_os.default.platform()} is not supported.`
154
156
  };
155
157
  }
156
158
  }
@@ -231,7 +233,7 @@ function readSecretSync({ service, account }) {
231
233
  async function writeSecret({ service, account, value, label }) {
232
234
  if (!value || typeof value !== "string") throw new require_primordials_error.TypeErrorCtor("writeSecret: value must be a non-empty string");
233
235
  const platform_ = detectPlatform();
234
- if (platform_ === "other") throw new require_primordials_error.ErrorCtor(`Unsupported platform: ${(0, node_os.platform)()}. Secret storage requires macOS, Linux, or Windows.`);
236
+ if (platform_ === "other") throw new require_primordials_error.ErrorCtor(`Unsupported platform: ${node_os.default.platform()}. Secret storage requires macOS, Linux, or Windows.`);
235
237
  if (await readSecret({
236
238
  service,
237
239
  account
@@ -254,7 +256,7 @@ async function writeSecret({ service, account, value, label }) {
254
256
  function writeSecretSync({ service, account, value, label }) {
255
257
  if (!value || typeof value !== "string") throw new require_primordials_error.TypeErrorCtor("writeSecret: value must be a non-empty string");
256
258
  const platform_ = detectPlatform();
257
- if (platform_ === "other") throw new require_primordials_error.ErrorCtor(`Unsupported platform: ${(0, node_os.platform)()}. Secret storage requires macOS, Linux, or Windows.`);
259
+ if (platform_ === "other") throw new require_primordials_error.ErrorCtor(`Unsupported platform: ${node_os.default.platform()}. Secret storage requires macOS, Linux, or Windows.`);
258
260
  if (readSecretSync({
259
261
  service,
260
262
  account
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_primordials_error = require('../primordials/error.js');
5
5
  const require_primordials_promise = require('../primordials/promise.js');
6
- let node_child_process = require("node:child_process");
6
+ let _socketsecurity_lib_stable_process_spawn_child = require("@socketsecurity/lib-stable/process/spawn/child");
7
7
 
8
8
  //#region src/secrets/linux.ts
9
9
  /**
@@ -22,19 +22,19 @@ let node_child_process = require("node:child_process");
22
22
  const SECRET_TOOL_BIN = "secret-tool";
23
23
  async function deleteLinux(service, account) {
24
24
  return new require_primordials_promise.PromiseCtor((resolve) => {
25
- const child = (0, node_child_process.spawn)(SECRET_TOOL_BIN, [
25
+ const { process: cp } = (0, _socketsecurity_lib_stable_process_spawn_child.spawn)(SECRET_TOOL_BIN, [
26
26
  "clear",
27
27
  "service",
28
28
  service,
29
29
  "user",
30
30
  account
31
31
  ], { stdio: "ignore" });
32
- child.on("error", () => resolve("absent"));
33
- child.on("close", (status) => resolve(status === 0 ? "removed" : "absent"));
32
+ cp.on("error", () => resolve("absent"));
33
+ cp.on("close", (status) => resolve(status === 0 ? "removed" : "absent"));
34
34
  });
35
35
  }
36
36
  function deleteLinuxSync(service, account) {
37
- return (0, node_child_process.spawnSync)(SECRET_TOOL_BIN, [
37
+ return (0, _socketsecurity_lib_stable_process_spawn_child.spawnSync)(SECRET_TOOL_BIN, [
38
38
  "clear",
39
39
  "service",
40
40
  service,
@@ -43,11 +43,11 @@ function deleteLinuxSync(service, account) {
43
43
  ], { stdio: "ignore" }).status === 0 ? "removed" : "absent";
44
44
  }
45
45
  function isLinuxBackendAvailable() {
46
- return (0, node_child_process.spawnSync)(SECRET_TOOL_BIN, ["--version"], { stdio: "ignore" }).status === 0;
46
+ return (0, _socketsecurity_lib_stable_process_spawn_child.spawnSync)(SECRET_TOOL_BIN, ["--version"], { stdio: "ignore" }).status === 0;
47
47
  }
48
48
  async function readLinux(service, account) {
49
49
  return new require_primordials_promise.PromiseCtor((resolve) => {
50
- const child = (0, node_child_process.spawn)(SECRET_TOOL_BIN, [
50
+ const { process: cp } = (0, _socketsecurity_lib_stable_process_spawn_child.spawn)(SECRET_TOOL_BIN, [
51
51
  "lookup",
52
52
  "service",
53
53
  service,
@@ -59,12 +59,12 @@ async function readLinux(service, account) {
59
59
  "pipe"
60
60
  ] });
61
61
  let stdout = "";
62
- child.stdout.setEncoding("utf8");
63
- child.stdout.on("data", (chunk) => {
62
+ cp.stdout.setEncoding("utf8");
63
+ cp.stdout.on("data", (chunk) => {
64
64
  stdout += chunk;
65
65
  });
66
- child.on("error", () => resolve(void 0));
67
- child.on("close", (status) => {
66
+ cp.on("error", () => resolve(void 0));
67
+ cp.on("close", (status) => {
68
68
  if (status !== 0) {
69
69
  resolve(void 0);
70
70
  return;
@@ -74,7 +74,7 @@ async function readLinux(service, account) {
74
74
  });
75
75
  }
76
76
  function readLinuxSync(service, account) {
77
- const r = (0, node_child_process.spawnSync)(SECRET_TOOL_BIN, [
77
+ const r = (0, _socketsecurity_lib_stable_process_spawn_child.spawnSync)(SECRET_TOOL_BIN, [
78
78
  "lookup",
79
79
  "service",
80
80
  service,
@@ -93,7 +93,7 @@ function readLinuxSync(service, account) {
93
93
  }
94
94
  async function writeLinux(service, account, value, label) {
95
95
  return new require_primordials_promise.PromiseCtor((resolve, reject) => {
96
- const child = (0, node_child_process.spawn)(SECRET_TOOL_BIN, [
96
+ const { process: cp } = (0, _socketsecurity_lib_stable_process_spawn_child.spawn)(SECRET_TOOL_BIN, [
97
97
  "store",
98
98
  `--label=${label}`,
99
99
  "service",
@@ -106,23 +106,23 @@ async function writeLinux(service, account, value, label) {
106
106
  "pipe"
107
107
  ] });
108
108
  let stderr = "";
109
- child.stderr.setEncoding("utf8");
110
- child.stderr.on("data", (chunk) => {
109
+ cp.stderr.setEncoding("utf8");
110
+ cp.stderr.on("data", (chunk) => {
111
111
  stderr += chunk;
112
112
  });
113
- child.on("error", (err) => reject(/* @__PURE__ */ new Error(`secret-tool store failed: ${err.message}. Install libsecret-tools (apt install libsecret-tools / dnf install libsecret) or ensure a Secret Service provider (gnome-keyring, kwallet) is running.`)));
114
- child.on("close", (status) => {
113
+ cp.on("error", (err) => reject(/* @__PURE__ */ new Error(`secret-tool store failed: ${err.message}. Install libsecret-tools (apt install libsecret-tools / dnf install libsecret) or ensure a Secret Service provider (gnome-keyring, kwallet) is running.`)));
114
+ cp.on("close", (status) => {
115
115
  if (status === 0) {
116
116
  resolve();
117
117
  return;
118
118
  }
119
119
  reject(/* @__PURE__ */ new Error(`secret-tool store failed (status=${status}, user=${account}): ${stderr.trim()}. Install libsecret-tools (apt install libsecret-tools / dnf install libsecret) or ensure a Secret Service provider (gnome-keyring, kwallet) is running.`));
120
120
  });
121
- child.stdin.end(value);
121
+ cp.stdin.end(value);
122
122
  });
123
123
  }
124
124
  function writeLinuxSync(service, account, value, label) {
125
- const r = (0, node_child_process.spawnSync)(SECRET_TOOL_BIN, [
125
+ const r = (0, _socketsecurity_lib_stable_process_spawn_child.spawnSync)(SECRET_TOOL_BIN, [
126
126
  "store",
127
127
  `--label=${label}`,
128
128
  "service",
@@ -24,7 +24,7 @@ export declare function isMacOSBackendAvailable(): boolean;
24
24
  export declare function readMacOS(service: string, account: string): Promise<string | undefined>;
25
25
  export declare function readMacOSSync(service: string, account: string): string | undefined;
26
26
  interface SpawnOpts {
27
- stdio?: 'ignore' | 'pipe' | ['ignore', 'pipe', 'pipe'];
27
+ stdio?: 'ignore' | 'pipe' | ['ignore', 'pipe', 'pipe'] | undefined;
28
28
  }
29
29
  export declare function runAsync(args: readonly string[], opts?: SpawnOpts): Promise<{
30
30
  status: number | null;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_primordials_error = require('../primordials/error.js');
5
5
  const require_primordials_promise = require('../primordials/promise.js');
6
- let node_child_process = require("node:child_process");
6
+ let _socketsecurity_lib_stable_process_spawn_child = require("@socketsecurity/lib-stable/process/spawn/child");
7
7
 
8
8
  //#region src/secrets/macos.ts
9
9
  /**
@@ -37,7 +37,7 @@ async function deleteMacOS(service, account) {
37
37
  ], { stdio: "ignore" })).status === 0 ? "removed" : "absent";
38
38
  }
39
39
  function deleteMacOSSync(service, account) {
40
- return (0, node_child_process.spawnSync)(SECURITY_BIN, [
40
+ return (0, _socketsecurity_lib_stable_process_spawn_child.spawnSync)(SECURITY_BIN, [
41
41
  "delete-generic-password",
42
42
  "-s",
43
43
  service,
@@ -61,7 +61,7 @@ async function readMacOS(service, account) {
61
61
  return r.stdout.trim() || void 0;
62
62
  }
63
63
  function readMacOSSync(service, account) {
64
- const r = (0, node_child_process.spawnSync)(SECURITY_BIN, [
64
+ const r = (0, _socketsecurity_lib_stable_process_spawn_child.spawnSync)(SECURITY_BIN, [
65
65
  "find-generic-password",
66
66
  "-s",
67
67
  service,
@@ -81,31 +81,31 @@ function readMacOSSync(service, account) {
81
81
  }
82
82
  function runAsync(args, opts = {}) {
83
83
  return new require_primordials_promise.PromiseCtor((resolve) => {
84
- const child = (0, node_child_process.spawn)(SECURITY_BIN, args, { stdio: opts.stdio ?? [
84
+ const { process: cp } = (0, _socketsecurity_lib_stable_process_spawn_child.spawn)(SECURITY_BIN, args, { stdio: opts.stdio ?? [
85
85
  "ignore",
86
86
  "pipe",
87
87
  "pipe"
88
88
  ] });
89
89
  let stdout = "";
90
90
  let stderr = "";
91
- if (child.stdout) {
92
- child.stdout.setEncoding("utf8");
93
- child.stdout.on("data", (chunk) => {
91
+ if (cp.stdout) {
92
+ cp.stdout.setEncoding("utf8");
93
+ cp.stdout.on("data", (chunk) => {
94
94
  stdout += chunk;
95
95
  });
96
96
  }
97
- if (child.stderr) {
98
- child.stderr.setEncoding("utf8");
99
- child.stderr.on("data", (chunk) => {
97
+ if (cp.stderr) {
98
+ cp.stderr.setEncoding("utf8");
99
+ cp.stderr.on("data", (chunk) => {
100
100
  stderr += chunk;
101
101
  });
102
102
  }
103
- child.on("error", () => resolve({
103
+ cp.on("error", () => resolve({
104
104
  status: -1,
105
105
  stdout,
106
106
  stderr
107
107
  }));
108
- child.on("close", (status) => resolve({
108
+ cp.on("close", (status) => resolve({
109
109
  status,
110
110
  stdout,
111
111
  stderr
@@ -133,7 +133,7 @@ async function writeMacOS(service, account, value, label) {
133
133
  if (r.status !== 0) throw new require_primordials_error.ErrorCtor(`security(1) add-generic-password failed (status=${r.status}, account=${account}): ${r.stderr.trim()}`);
134
134
  }
135
135
  function writeMacOSSync(service, account, value, label) {
136
- const r = (0, node_child_process.spawnSync)(SECURITY_BIN, [
136
+ const r = (0, _socketsecurity_lib_stable_process_spawn_child.spawnSync)(SECURITY_BIN, [
137
137
  "add-generic-password",
138
138
  "-U",
139
139
  "-A",
@@ -67,7 +67,7 @@ export interface WriteOptions {
67
67
  * "Rotate via: my-installer --rotate"). Each entry is prefixed with `# `
68
68
  * automatically.
69
69
  */
70
- notes?: readonly string[];
70
+ notes?: readonly string[] | undefined;
71
71
  /**
72
72
  * Legacy sentinel BEGIN strings to sweep before writing the new block. Used
73
73
  * during a rename/migration so an older managed block is removed rather than
@@ -75,7 +75,7 @@ export interface WriteOptions {
75
75
  * tolerates any line endings up to the matching END (same prefix with `END`
76
76
  * replacing `BEGIN`).
77
77
  */
78
- legacySentinels?: readonly string[];
78
+ legacySentinels?: readonly string[] | undefined;
79
79
  /**
80
80
  * Override the auto-detected shell. By default the helper reads `$SHELL` and
81
81
  * targets the matching rc file:
@@ -10,6 +10,7 @@ let node_fs = require("node:fs");
10
10
  let node_path = require("node:path");
11
11
  node_path = require_runtime.__toESM(node_path);
12
12
  let node_os = require("node:os");
13
+ node_os = require_runtime.__toESM(node_os);
13
14
  let node_process = require("node:process");
14
15
  node_process = require_runtime.__toESM(node_process);
15
16
 
@@ -72,13 +73,14 @@ function buildBlock(opts) {
72
73
  * no block was present.
73
74
  */
74
75
  function clear(service, legacySentinels = []) {
75
- if ((0, node_os.platform)() !== "darwin") return false;
76
+ if (node_os.default.platform() !== "darwin") return false;
76
77
  const rcPath = pickRcFile();
77
78
  if (!rcPath || !(0, node_fs.existsSync)(rcPath)) return false;
78
79
  let existing = (0, node_fs.readFileSync)(rcPath, "utf8");
79
80
  let removedAny = false;
80
81
  const sentinelsToStrip = [`# BEGIN ${service} env (managed)`, ...legacySentinels];
81
- for (const begin of sentinelsToStrip) {
82
+ for (let i = 0, { length } = sentinelsToStrip; i < length; i += 1) {
83
+ const begin = sentinelsToStrip[i];
82
84
  const end = begin.replace(/\bBEGIN\b/, "END");
83
85
  const endStripped = end.replace(/\s*\(managed\)\s*$/, "");
84
86
  const endAlt = end === endStripped ? escapeRegExp(end) : `(?:${escapeRegExp(end)}|${escapeRegExp(endStripped)})`;
@@ -96,7 +98,7 @@ function escapeRegExp(s) {
96
98
  return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
97
99
  }
98
100
  function pickRcFile(shellOverride) {
99
- const home = /* @__PURE__ */ require_env_home.getHome();
101
+ const home = require_env_home.getHome();
100
102
  if (!home) return;
101
103
  const shellPath = node_process.default.env["SHELL"] ?? "";
102
104
  const shell = shellOverride ?? (require_primordials_string.StringPrototypeEndsWith(shellPath, "zsh") ? "zsh" : require_primordials_string.StringPrototypeEndsWith(shellPath, "bash") ? "bash" : require_primordials_string.StringPrototypeEndsWith(shellPath, "fish") ? "fish" : void 0);
@@ -133,7 +135,7 @@ function shellSingleQuote(value) {
133
135
  * dotfile-manager users or installers running under a non-default shell.
134
136
  */
135
137
  function write(opts) {
136
- if ((0, node_os.platform)() !== "darwin") return {
138
+ if (node_os.default.platform() !== "darwin") return {
137
139
  rcPath: void 0,
138
140
  outcome: "skipped",
139
141
  reason: "unsupported-platform"
@@ -2,10 +2,10 @@
2
2
  * @file Convenience helper for reading the Socket API token from the canonical
3
3
  * env → keychain precedence order. Centralizes two constants every fleet
4
4
  * consumer would otherwise hard-code: the keychain service name
5
- * (`socket-cli`) and the env-var + account fallback list (`SOCKET_API_TOKEN`
6
- * canonical, `SOCKET_API_KEY` legacy alias). Consumers like firewall and
7
- * wheelhouse hooks call `readSocketApiToken()` instead of redoing the
8
- * `resolve({ service, accounts })` boilerplate.
5
+ * (`socketsecurity`) and the env-var + account fallback list
6
+ * (`SOCKET_API_TOKEN` canonical, `SOCKET_API_KEY` legacy alias). Consumers
7
+ * like firewall and wheelhouse hooks call `readSocketApiToken()` instead of
8
+ * redoing the `resolve({ service, accounts })` boilerplate.
9
9
  */
10
10
  export interface ReadSocketApiTokenOptions {
11
11
  /**
@@ -8,26 +8,35 @@ const require_secrets_find = require('./find.js');
8
8
  * @file Convenience helper for reading the Socket API token from the canonical
9
9
  * env → keychain precedence order. Centralizes two constants every fleet
10
10
  * consumer would otherwise hard-code: the keychain service name
11
- * (`socket-cli`) and the env-var + account fallback list (`SOCKET_API_TOKEN`
12
- * canonical, `SOCKET_API_KEY` legacy alias). Consumers like firewall and
13
- * wheelhouse hooks call `readSocketApiToken()` instead of redoing the
14
- * `resolve({ service, accounts })` boilerplate.
11
+ * (`socketsecurity`) and the env-var + account fallback list
12
+ * (`SOCKET_API_TOKEN` canonical, `SOCKET_API_KEY` legacy alias). Consumers
13
+ * like firewall and wheelhouse hooks call `readSocketApiToken()` instead of
14
+ * redoing the `resolve({ service, accounts })` boilerplate.
15
15
  */
16
- const SOCKET_CLI_SERVICE = "socket-cli";
16
+ const SOCKET_SERVICE = "socketsecurity";
17
+ const SOCKET_SERVICE_LEGACY = "socket-cli";
17
18
  const TOKEN_ACCOUNTS = ["SOCKET_API_TOKEN", "SOCKET_API_KEY"];
18
19
  async function readSocketApiToken(options) {
19
20
  return (await require_secrets_find.resolve({
20
- service: SOCKET_CLI_SERVICE,
21
+ service: SOCKET_SERVICE,
22
+ accounts: TOKEN_ACCOUNTS,
23
+ allowEnvOnly: options?.allowEnvOnly
24
+ }) ?? await require_secrets_find.resolve({
25
+ service: SOCKET_SERVICE_LEGACY,
21
26
  accounts: TOKEN_ACCOUNTS,
22
27
  allowEnvOnly: options?.allowEnvOnly
23
28
  }))?.value;
24
29
  }
25
30
  function readSocketApiTokenSync(options) {
26
- return require_secrets_find.resolveSync({
27
- service: SOCKET_CLI_SERVICE,
31
+ return (require_secrets_find.resolveSync({
32
+ service: SOCKET_SERVICE,
28
33
  accounts: TOKEN_ACCOUNTS,
29
34
  allowEnvOnly: options?.allowEnvOnly
30
- })?.value;
35
+ }) ?? require_secrets_find.resolveSync({
36
+ service: SOCKET_SERVICE_LEGACY,
37
+ accounts: TOKEN_ACCOUNTS,
38
+ allowEnvOnly: options?.allowEnvOnly
39
+ }))?.value;
31
40
  }
32
41
 
33
42
  //#endregion
@@ -9,9 +9,10 @@ let node_fs = require("node:fs");
9
9
  let node_path = require("node:path");
10
10
  node_path = require_runtime.__toESM(node_path);
11
11
  let node_os = require("node:os");
12
+ node_os = require_runtime.__toESM(node_os);
12
13
  let node_process = require("node:process");
13
14
  node_process = require_runtime.__toESM(node_process);
14
- let node_child_process = require("node:child_process");
15
+ let _socketsecurity_lib_stable_process_spawn_child = require("@socketsecurity/lib-stable/process/spawn/child");
15
16
 
16
17
  //#region src/secrets/windows.ts
17
18
  /**
@@ -66,11 +67,11 @@ function deleteWindowsSync(service, account) {
66
67
  function getDpapiFilePath(service, account) {
67
68
  validateKeychainComponent(service, "service");
68
69
  validateKeychainComponent(account, "account");
69
- const appData = node_process.default.env["APPDATA"] ?? node_path.default.join((0, node_os.homedir)(), "AppData", "Roaming");
70
+ const appData = node_process.default.env["APPDATA"] ?? node_path.default.join(node_os.default.homedir(), "AppData", "Roaming");
70
71
  return node_path.default.join(appData, service, `${account}.enc`);
71
72
  }
72
73
  function isWindowsBackendAvailable() {
73
- return (0, node_child_process.spawnSync)(POWERSHELL_BIN, [
74
+ return (0, _socketsecurity_lib_stable_process_spawn_child.spawnSync)(POWERSHELL_BIN, [
74
75
  "-NoProfile",
75
76
  "-Command",
76
77
  "exit 0"
@@ -129,7 +130,7 @@ function readWindowsSync(service, account) {
129
130
  }
130
131
  function runPsAsync(script, input) {
131
132
  return new require_primordials_promise.PromiseCtor((resolve) => {
132
- const child = (0, node_child_process.spawn)(POWERSHELL_BIN, [
133
+ const { process: cp } = (0, _socketsecurity_lib_stable_process_spawn_child.spawn)(POWERSHELL_BIN, [
133
134
  "-NoProfile",
134
135
  "-Command",
135
136
  script
@@ -140,30 +141,30 @@ function runPsAsync(script, input) {
140
141
  ] });
141
142
  let stdout = "";
142
143
  let stderr = "";
143
- child.stdout.setEncoding("utf8");
144
- child.stdout.on("data", (chunk) => {
144
+ cp.stdout.setEncoding("utf8");
145
+ cp.stdout.on("data", (chunk) => {
145
146
  stdout += chunk;
146
147
  });
147
- child.stderr.setEncoding("utf8");
148
- child.stderr.on("data", (chunk) => {
148
+ cp.stderr.setEncoding("utf8");
149
+ cp.stderr.on("data", (chunk) => {
149
150
  stderr += chunk;
150
151
  });
151
- child.on("error", () => resolve({
152
+ cp.on("error", () => resolve({
152
153
  status: -1,
153
154
  stdout,
154
155
  stderr
155
156
  }));
156
- child.on("close", (status) => resolve({
157
+ cp.on("close", (status) => resolve({
157
158
  status,
158
159
  stdout,
159
160
  stderr
160
161
  }));
161
- if (input !== void 0) child.stdin.end(input);
162
- else child.stdin.end();
162
+ if (input !== void 0) cp.stdin.end(input);
163
+ else cp.stdin.end();
163
164
  });
164
165
  }
165
166
  function runPsSync(script, input) {
166
- const r = (0, node_child_process.spawnSync)(POWERSHELL_BIN, [
167
+ const r = (0, _socketsecurity_lib_stable_process_spawn_child.spawnSync)(POWERSHELL_BIN, [
167
168
  "-NoProfile",
168
169
  "-Command",
169
170
  script
@@ -38,9 +38,9 @@ function shouldSkipShadow(binPath, options) {
38
38
  if (win32 && binPath) return true;
39
39
  const userAgent = node_process.default.env["npm_config_user_agent"];
40
40
  if (userAgent?.includes("exec") || userAgent?.includes("npx") || userAgent?.includes("dlx")) return true;
41
- const normalizedCwd = /* @__PURE__ */ require_paths_normalize.normalizePath(cwd);
41
+ const normalizedCwd = require_paths_normalize.normalizePath(cwd);
42
42
  const npmCache = node_process.default.env["npm_config_cache"];
43
- if (npmCache && normalizedCwd.includes(/* @__PURE__ */ require_paths_normalize.normalizePath(npmCache))) return true;
43
+ if (npmCache && normalizedCwd.includes(require_paths_normalize.normalizePath(npmCache))) return true;
44
44
  return [
45
45
  "_npx",
46
46
  ".pnpm-store",
@@ -27,26 +27,25 @@ const require_node_module = require('../node/module.js');
27
27
  /**
28
28
  * Cached smol-binary detection result.
29
29
  */
30
- let _isSmol;
30
+ let isSmolCache;
31
31
  /**
32
32
  * Cached `node:smol-util` binding. `null` = probed and unavailable; `undefined`
33
33
  * = not yet probed. JS truthiness collapses both to "no binding" at the call
34
34
  * site.
35
35
  */
36
- let _smolUtil;
37
- let _smolUtilProbed = false;
36
+ let smolUtilCache;
37
+ let smolUtilProbed = false;
38
38
  /**
39
39
  * Returns `node:smol-util` when running on the smol Node binary, otherwise
40
40
  * `undefined`. Result is cached across calls.
41
41
  */
42
- /*@__NO_SIDE_EFFECTS__*/
43
42
  function getSmolUtil() {
44
- if (!_smolUtilProbed) {
45
- _smolUtilProbed = true;
43
+ if (!smolUtilProbed) {
44
+ smolUtilProbed = true;
46
45
  /* c8 ignore start - smol Node binary only. */
47
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-util")) _smolUtil = require("node:smol-util");
46
+ if (require_node_module.isNodeBuiltin("node:smol-util")) smolUtilCache = require("node:smol-util");
48
47
  }
49
- return _smolUtil;
48
+ return smolUtilCache;
50
49
  }
51
50
  /**
52
51
  * Detect if the current process is running on socket-btm's smol Node binary.
@@ -66,8 +65,8 @@ function getSmolUtil() {
66
65
  * ```
67
66
  */
68
67
  function isSmol() {
69
- if (_isSmol === void 0) _isSmol = /* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-util");
70
- return _isSmol;
68
+ if (isSmolCache === void 0) isSmolCache = require_node_module.isNodeBuiltin("node:smol-util");
69
+ return isSmolCache;
71
70
  }
72
71
 
73
72
  //#endregion
package/dist/smol/http.js CHANGED
@@ -18,20 +18,19 @@ const require_node_module = require('../node/module.js');
18
18
  * `httpText` exports, which already route through this when smol
19
19
  * is present.
20
20
  */
21
- let _smolHttp;
22
- let _smolHttpProbed = false;
21
+ let smolHttpBinding;
22
+ let smolHttpProbed = false;
23
23
  /**
24
24
  * Returns `node:smol-http` when running on the smol Node binary, otherwise
25
25
  * `undefined`. Result is cached across calls.
26
26
  */
27
- /*@__NO_SIDE_EFFECTS__*/
28
27
  function getSmolHttp() {
29
- if (!_smolHttpProbed) {
30
- _smolHttpProbed = true;
28
+ if (!smolHttpProbed) {
29
+ smolHttpProbed = true;
31
30
  /* c8 ignore start - smol Node binary only. */
32
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-http")) _smolHttp = require("node:smol-http");
31
+ if (require_node_module.isNodeBuiltin("node:smol-http")) smolHttpBinding = require("node:smol-http");
33
32
  }
34
- return _smolHttp;
33
+ return smolHttpBinding;
35
34
  }
36
35
 
37
36
  //#endregion
@@ -16,20 +16,19 @@ const require_node_module = require('../node/module.js');
16
16
  * callers should use the standard server-side helpers, which
17
17
  * route through this when smol is present.
18
18
  */
19
- let _smolHttps;
20
- let _smolHttpsProbed = false;
19
+ let smolHttps;
20
+ let smolHttpsProbed = false;
21
21
  /**
22
22
  * Returns `node:smol-https` when running on the smol Node binary, otherwise
23
23
  * `undefined`. Result is cached across calls.
24
24
  */
25
- /*@__NO_SIDE_EFFECTS__*/
26
25
  function getSmolHttps() {
27
- if (!_smolHttpsProbed) {
28
- _smolHttpsProbed = true;
26
+ if (!smolHttpsProbed) {
27
+ smolHttpsProbed = true;
29
28
  /* c8 ignore start - smol Node binary only. */
30
- if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-https")) _smolHttps = require("node:smol-https");
29
+ if (require_node_module.isNodeBuiltin("node:smol-https")) smolHttps = require("node:smol-https");
31
30
  }
32
- return _smolHttps;
31
+ return smolHttps;
33
32
  }
34
33
 
35
34
  //#endregion
@@ -83,7 +83,7 @@ export interface ParsedLockfile {
83
83
  export interface FormatDescriptor {
84
84
  readonly ecosystem: EcosystemString;
85
85
  readonly type: 'manifest' | 'lockfile';
86
- readonly format?: 'npm' | 'yarn' | 'pnpm' | 'composer' | 'cargo';
86
+ readonly format?: 'npm' | 'yarn' | 'pnpm' | 'composer' | 'cargo' | undefined;
87
87
  }
88
88
  /**
89
89
  * Supported-files index returned by `supportedFiles`.