@socketsecurity/lib 5.27.0 → 6.0.0

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 (1041) hide show
  1. package/CHANGELOG.md +69 -27
  2. package/README.md +1 -1
  3. package/dist/abort/signal.d.ts +28 -0
  4. package/dist/{abort.js → abort/signal.js} +12 -10
  5. package/dist/ai/discover.d.mts +50 -0
  6. package/dist/ai/discover.js +128 -0
  7. package/dist/ai/profiles.d.mts +39 -0
  8. package/dist/ai/profiles.js +61 -0
  9. package/dist/ai/spawn.d.mts +49 -0
  10. package/dist/ai/spawn.js +207 -0
  11. package/dist/ai/types.d.mts +117 -0
  12. package/dist/ai/types.js +18 -0
  13. package/dist/ai/worktree.d.mts +104 -0
  14. package/dist/ai/worktree.js +200 -0
  15. package/dist/ansi/constants.d.ts +10 -0
  16. package/dist/ansi/constants.js +45 -0
  17. package/dist/ansi/strip.d.ts +33 -0
  18. package/dist/{ansi.js → ansi/strip.js} +7 -24
  19. package/dist/archives/_internal.d.ts +39 -0
  20. package/dist/archives/_internal.js +87 -0
  21. package/dist/archives/detect.d.ts +19 -0
  22. package/dist/archives/detect.js +46 -0
  23. package/dist/archives/extract.d.ts +22 -0
  24. package/dist/archives/extract.js +53 -0
  25. package/dist/archives/tar.d.ts +42 -0
  26. package/dist/archives/tar.js +233 -0
  27. package/dist/archives/types.d.ts +34 -0
  28. package/dist/archives/types.js +18 -0
  29. package/dist/archives/zip.d.ts +20 -0
  30. package/dist/archives/zip.js +124 -0
  31. package/dist/argv/flag-predicates.d.ts +179 -0
  32. package/dist/argv/flag-predicates.js +118 -0
  33. package/dist/argv/flag-types.d.ts +123 -0
  34. package/dist/argv/flag-types.js +116 -0
  35. package/dist/argv/parse.d.ts +34 -33
  36. package/dist/argv/parse.js +6 -4
  37. package/dist/arrays/_internal.d.ts +43 -0
  38. package/dist/{arrays.js → arrays/_internal.js} +8 -41
  39. package/dist/arrays/chunk.d.ts +37 -0
  40. package/dist/arrays/chunk.js +43 -0
  41. package/dist/arrays/join.d.ts +76 -0
  42. package/dist/{env/helpers.js → arrays/join.js} +12 -18
  43. package/dist/arrays/predicates.d.ts +40 -0
  44. package/dist/arrays/predicates.js +30 -0
  45. package/dist/arrays/unique.d.ts +36 -0
  46. package/dist/arrays/unique.js +34 -0
  47. package/dist/bin/_internal.d.ts +22 -0
  48. package/dist/bin/_internal.js +43 -0
  49. package/dist/bin/check-primordials.d.ts +44 -0
  50. package/dist/bin/check-primordials.js +245 -0
  51. package/dist/bin/check.d.ts +10 -0
  52. package/dist/bin/check.js +77 -0
  53. package/dist/bin/exec.d.ts +37 -0
  54. package/dist/bin/exec.js +79 -0
  55. package/dist/bin/find.d.ts +58 -0
  56. package/dist/bin/find.js +143 -0
  57. package/dist/bin/resolve.d.ts +30 -0
  58. package/dist/bin/resolve.js +249 -0
  59. package/dist/bin/shadow.d.ts +16 -0
  60. package/dist/bin/shadow.js +36 -0
  61. package/dist/bin/socket-lib.d.ts +13 -0
  62. package/dist/bin/socket-lib.js +79 -0
  63. package/dist/bin/types.d.ts +34 -0
  64. package/dist/bin/types.js +18 -0
  65. package/dist/bin/which.d.ts +111 -0
  66. package/dist/bin/which.js +155 -0
  67. package/dist/cacache/_internal.d.ts +15 -0
  68. package/dist/cacache/_internal.js +43 -0
  69. package/dist/cacache/clear.d.ts +43 -0
  70. package/dist/cacache/clear.js +77 -0
  71. package/dist/cacache/read.d.ts +31 -0
  72. package/dist/cacache/read.js +51 -0
  73. package/dist/cacache/tmp.d.ts +18 -0
  74. package/dist/cacache/tmp.js +39 -0
  75. package/dist/cacache/types.d.ts +37 -0
  76. package/dist/cacache/types.js +18 -0
  77. package/dist/cacache/write.d.ts +31 -0
  78. package/dist/cacache/write.js +53 -0
  79. package/dist/checks/primordials.d.ts +118 -0
  80. package/dist/checks/primordials.js +293 -0
  81. package/dist/colors/convert.d.ts +35 -0
  82. package/dist/colors/convert.js +42 -0
  83. package/dist/colors/palette.d.ts +7 -0
  84. package/dist/{colors.js → colors/palette.js} +5 -17
  85. package/dist/colors/types.d.ts +29 -0
  86. package/dist/colors/types.js +18 -0
  87. package/dist/compression/_internal.d.ts +33 -0
  88. package/dist/compression/_internal.js +77 -0
  89. package/dist/compression/brotli.d.ts +82 -0
  90. package/dist/compression/brotli.js +147 -0
  91. package/dist/compression/gzip.d.ts +70 -0
  92. package/dist/compression/gzip.js +142 -0
  93. package/dist/compression/types.d.ts +37 -0
  94. package/dist/compression/types.js +18 -0
  95. package/dist/constants/agents.d.ts +4 -3
  96. package/dist/constants/agents.js +7 -4
  97. package/dist/constants/encoding.d.ts +3 -3
  98. package/dist/constants/github.d.ts +2 -3
  99. package/dist/constants/licenses.d.ts +5 -5
  100. package/dist/constants/licenses.js +2 -2
  101. package/dist/constants/lifecycle-script-names.d.ts +3 -4
  102. package/dist/constants/lifecycle-script-names.js +2 -2
  103. package/dist/constants/maintained-node-versions.d.ts +1 -1
  104. package/dist/constants/maintained-node-versions.js +3 -4
  105. package/dist/constants/node.d.ts +21 -20
  106. package/dist/constants/node.js +4 -4
  107. package/dist/constants/package-default-node-range.d.ts +1 -1
  108. package/dist/constants/package-default-socket-categories.d.ts +1 -1
  109. package/dist/constants/package-default-socket-categories.js +2 -2
  110. package/dist/constants/packages.d.ts +4 -4
  111. package/dist/constants/packages.js +7 -5
  112. package/dist/constants/platform.d.ts +3 -1
  113. package/dist/constants/platform.js +3 -10
  114. package/dist/constants/{core.d.ts → sentinels.d.ts} +4 -4
  115. package/dist/constants/{core.js → sentinels.js} +3 -3
  116. package/dist/constants/socket.d.ts +4 -6
  117. package/dist/constants/socket.js +6 -9
  118. package/dist/constants/testing.d.ts +3 -3
  119. package/dist/constants/time.d.ts +3 -3
  120. package/dist/constants/typescript.d.ts +3 -3
  121. package/dist/cover/code.d.ts +11 -3
  122. package/dist/cover/code.js +26 -36
  123. package/dist/cover/formatters.d.ts +19 -15
  124. package/dist/cover/formatters.js +21 -18
  125. package/dist/cover/type.d.ts +4 -3
  126. package/dist/cover/type.js +9 -8
  127. package/dist/cover/types.d.ts +1 -1
  128. package/dist/crypto/hash.d.ts +36 -0
  129. package/dist/{crypto.js → crypto/hash.js} +17 -17
  130. package/dist/debug/_internal.d.ts +25 -0
  131. package/dist/debug/_internal.js +77 -0
  132. package/dist/debug/caller-info.d.ts +12 -0
  133. package/dist/debug/caller-info.js +67 -0
  134. package/dist/debug/namespace.d.ts +35 -0
  135. package/dist/debug/namespace.js +101 -0
  136. package/dist/{debug.d.ts → debug/output.d.ts} +23 -42
  137. package/dist/debug/output.js +209 -0
  138. package/dist/debug/types.d.ts +21 -0
  139. package/dist/debug/types.js +18 -0
  140. package/dist/dlx/_internal.d.ts +10 -0
  141. package/dist/dlx/_internal.js +47 -0
  142. package/dist/dlx/arborist.d.ts +86 -61
  143. package/dist/dlx/arborist.js +30 -35
  144. package/dist/dlx/binary-cache.d.ts +108 -0
  145. package/dist/dlx/binary-cache.js +212 -0
  146. package/dist/dlx/binary-download.d.ts +67 -0
  147. package/dist/dlx/binary-download.js +216 -0
  148. package/dist/dlx/binary-resolution.d.ts +61 -0
  149. package/dist/dlx/binary-resolution.js +164 -0
  150. package/dist/dlx/binary-types.d.ts +144 -0
  151. package/dist/dlx/binary-types.js +18 -0
  152. package/dist/dlx/binary.d.ts +39 -268
  153. package/dist/dlx/binary.js +38 -319
  154. package/dist/dlx/cache.d.ts +21 -16
  155. package/dist/dlx/cache.js +2 -2
  156. package/dist/dlx/detect.d.ts +94 -68
  157. package/dist/dlx/detect.js +32 -35
  158. package/dist/dlx/dir.d.ts +20 -18
  159. package/dist/dlx/dir.js +7 -14
  160. package/dist/dlx/firewall.d.ts +27 -0
  161. package/dist/dlx/firewall.js +107 -0
  162. package/dist/dlx/lockfile.d.ts +73 -56
  163. package/dist/dlx/lockfile.js +36 -44
  164. package/dist/dlx/manifest.d.ts +50 -51
  165. package/dist/dlx/manifest.js +51 -52
  166. package/dist/dlx/package.d.ts +83 -249
  167. package/dist/dlx/package.js +48 -268
  168. package/dist/dlx/packages.d.ts +22 -20
  169. package/dist/dlx/packages.js +15 -20
  170. package/dist/dlx/paths.d.ts +26 -23
  171. package/dist/dlx/paths.js +8 -15
  172. package/dist/dlx/spec.d.ts +25 -0
  173. package/dist/dlx/spec.js +63 -0
  174. package/dist/dlx/types.d.ts +142 -0
  175. package/dist/dlx/types.js +18 -0
  176. package/dist/eco/cargo/lockfile-format.d.ts +8 -0
  177. package/dist/eco/cargo/lockfile-format.js +39 -0
  178. package/dist/eco/cargo/manifest-format.d.ts +7 -0
  179. package/dist/eco/cargo/manifest-format.js +38 -0
  180. package/dist/eco/cargo/parse-lockfile.d.ts +84 -0
  181. package/dist/eco/cargo/parse-lockfile.js +257 -0
  182. package/dist/eco/manifest/analyze-lockfile.d.ts +10 -0
  183. package/dist/eco/manifest/analyze-lockfile.js +67 -0
  184. package/dist/eco/manifest/detect-format.d.ts +15 -0
  185. package/dist/eco/manifest/detect-format.js +98 -0
  186. package/dist/eco/manifest/find-packages.d.ts +14 -0
  187. package/dist/eco/manifest/find-packages.js +69 -0
  188. package/dist/eco/manifest/get-package-versions.d.ts +8 -0
  189. package/dist/eco/manifest/get-package-versions.js +52 -0
  190. package/dist/eco/manifest/get-package.d.ts +10 -0
  191. package/dist/eco/manifest/get-package.js +44 -0
  192. package/dist/eco/manifest/manifest-error.d.ts +18 -0
  193. package/dist/eco/manifest/manifest-error.js +37 -0
  194. package/dist/eco/manifest/parse-lockfile.d.ts +16 -0
  195. package/dist/eco/manifest/parse-lockfile.js +91 -0
  196. package/dist/eco/manifest/parse-manifest.d.ts +12 -0
  197. package/dist/eco/manifest/parse-manifest.js +48 -0
  198. package/dist/eco/manifest/parse.d.ts +9 -0
  199. package/dist/eco/manifest/parse.js +52 -0
  200. package/dist/eco/manifest/types.d.ts +10 -0
  201. package/dist/eco/manifest/types.js +18 -0
  202. package/dist/eco/npm/bun/exec.d.ts +15 -0
  203. package/dist/eco/npm/bun/exec.js +35 -0
  204. package/dist/eco/npm/manifest-format.d.ts +11 -0
  205. package/dist/eco/npm/manifest-format.js +38 -0
  206. package/dist/eco/npm/npm/exec.d.ts +24 -0
  207. package/dist/eco/npm/npm/exec.js +64 -0
  208. package/dist/eco/npm/npm/extract-package-name-from-path.d.ts +9 -0
  209. package/dist/eco/npm/npm/extract-package-name-from-path.js +54 -0
  210. package/dist/eco/npm/npm/flags.d.ts +62 -0
  211. package/dist/eco/npm/npm/flags.js +63 -0
  212. package/dist/eco/npm/npm/lockfile-format.d.ts +9 -0
  213. package/dist/eco/npm/npm/lockfile-format.js +42 -0
  214. package/dist/eco/npm/npm/parse-git-url.d.ts +13 -0
  215. package/dist/eco/npm/npm/parse-git-url.js +43 -0
  216. package/dist/eco/npm/npm/parse-lockfile.d.ts +70 -0
  217. package/dist/eco/npm/npm/parse-lockfile.js +224 -0
  218. package/dist/eco/npm/parse-package-json.d.ts +16 -0
  219. package/dist/eco/npm/parse-package-json.js +115 -0
  220. package/dist/eco/npm/pnpm/detect-pnpm-version.d.ts +7 -0
  221. package/dist/eco/npm/pnpm/detect-pnpm-version.js +47 -0
  222. package/dist/eco/npm/pnpm/exec.d.ts +26 -0
  223. package/dist/eco/npm/pnpm/exec.js +65 -0
  224. package/dist/eco/npm/pnpm/flags.d.ts +44 -0
  225. package/dist/eco/npm/pnpm/flags.js +76 -0
  226. package/dist/eco/npm/pnpm/lockfile-format.d.ts +8 -0
  227. package/dist/eco/npm/pnpm/lockfile-format.js +39 -0
  228. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +69 -0
  229. package/dist/eco/npm/pnpm/parse-lockfile.js +274 -0
  230. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.d.ts +15 -0
  231. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +50 -0
  232. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.d.ts +11 -0
  233. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +52 -0
  234. package/dist/eco/npm/script.d.ts +35 -0
  235. package/dist/eco/npm/script.js +93 -0
  236. package/dist/eco/npm/vlt/exec.d.ts +16 -0
  237. package/dist/eco/npm/vlt/exec.js +35 -0
  238. package/dist/eco/npm/yarnpkg/yarn/exec.d.ts +28 -0
  239. package/dist/eco/npm/yarnpkg/yarn/exec.js +63 -0
  240. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.d.ts +9 -0
  241. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +39 -0
  242. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +61 -0
  243. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +261 -0
  244. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.d.ts +16 -0
  245. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +68 -0
  246. package/dist/{types.d.ts → eco/purl.d.ts} +14 -26
  247. package/dist/{types.js → eco/purl.js} +3 -3
  248. package/dist/eco/types.d.ts +51 -0
  249. package/dist/eco/types.js +18 -0
  250. package/dist/effects/pulse-frames.d.ts +16 -17
  251. package/dist/effects/pulse-frames.js +4 -4
  252. package/dist/effects/shimmer-keyframes.d.ts +39 -37
  253. package/dist/effects/shimmer-terminal.d.ts +43 -42
  254. package/dist/effects/shimmer-terminal.js +3 -3
  255. package/dist/effects/shimmer.d.ts +172 -153
  256. package/dist/effects/shimmer.js +78 -76
  257. package/dist/env/boolean.d.ts +33 -0
  258. package/dist/env/boolean.js +46 -0
  259. package/dist/env/case-insensitive.d.ts +42 -0
  260. package/dist/env/case-insensitive.js +42 -0
  261. package/dist/env/ci.d.ts +11 -12
  262. package/dist/env/debug.d.ts +10 -10
  263. package/dist/env/github.d.ts +71 -74
  264. package/dist/env/home.d.ts +15 -14
  265. package/dist/env/locale.d.ts +26 -29
  266. package/dist/env/node-auth-token.d.ts +10 -10
  267. package/dist/env/node-env.d.ts +10 -10
  268. package/dist/env/npm.d.ts +45 -47
  269. package/dist/env/number.d.ts +29 -0
  270. package/dist/env/number.js +54 -0
  271. package/dist/env/package-manager.d.ts +36 -33
  272. package/dist/env/package-manager.js +3 -3
  273. package/dist/env/path.d.ts +10 -10
  274. package/dist/env/pre-commit.d.ts +11 -11
  275. package/dist/env/pre-commit.js +2 -2
  276. package/dist/env/proxy.d.ts +44 -0
  277. package/dist/env/proxy.js +126 -0
  278. package/dist/env/rewire.d.ts +105 -99
  279. package/dist/env/rewire.js +11 -8
  280. package/dist/env/shell.d.ts +10 -10
  281. package/dist/env/socket-cli.d.ts +109 -125
  282. package/dist/env/socket-cli.js +7 -12
  283. package/dist/env/socket.d.ts +347 -130
  284. package/dist/env/socket.js +107 -8
  285. package/dist/env/string.d.ts +28 -0
  286. package/dist/env/string.js +47 -0
  287. package/dist/env/temp-dir.d.ts +26 -29
  288. package/dist/env/term.d.ts +10 -10
  289. package/dist/env/test.d.ts +29 -31
  290. package/dist/env/test.js +5 -4
  291. package/dist/env/types.d.ts +62 -0
  292. package/dist/env/types.js +18 -0
  293. package/dist/env/windows.d.ts +37 -38
  294. package/dist/env/xdg.d.ts +29 -29
  295. package/dist/errors/message.d.ts +27 -0
  296. package/dist/errors/message.js +49 -0
  297. package/dist/errors/predicates.d.ts +46 -0
  298. package/dist/{errors.js → errors/predicates.js} +13 -43
  299. package/dist/errors/stack.d.ts +16 -0
  300. package/dist/errors/stack.js +39 -0
  301. package/dist/external/@npmcli/package-json/lib/read-package.js +11 -1
  302. package/dist/external/@npmcli/package-json.js +300 -82
  303. package/dist/external/@npmcli/promise-spawn.js +15 -1
  304. package/dist/external/@socketregistry/packageurl-js.js +7 -1
  305. package/dist/external/@socketregistry/yocto-spinner.js +5 -1
  306. package/dist/external/@yarnpkg/extensions.js +1 -1
  307. package/dist/external/adm-zip.js +20 -4
  308. package/dist/external/debug.js +15 -1
  309. package/dist/external/external-pack.js +20 -4
  310. package/dist/external/fast-sort.js +3 -1
  311. package/dist/external/get-east-asian-width.js +3 -1
  312. package/dist/external/libnpmexec.js +5 -1
  313. package/dist/external/npm-pack.js +344 -113
  314. package/dist/external/p-map.js +7 -1
  315. package/dist/external/pico-pack.js +17 -1
  316. package/dist/external/pony-cause.js +1 -1
  317. package/dist/external/spdx-pack.js +3 -1
  318. package/dist/external/supports-color.js +1 -1
  319. package/dist/external/tar-fs.js +15 -1
  320. package/dist/external/which.js +11 -1
  321. package/dist/external/yargs-parser.js +15 -1
  322. package/dist/external-tools/bazel/asset-names.d.ts +66 -0
  323. package/dist/external-tools/bazel/asset-names.js +96 -0
  324. package/dist/external-tools/bazel/from-download.d.ts +49 -0
  325. package/dist/external-tools/bazel/from-download.js +49 -0
  326. package/dist/external-tools/bazel/from-path.d.ts +8 -0
  327. package/dist/external-tools/bazel/from-path.js +41 -0
  328. package/dist/external-tools/bazel/read-bazel-version-file.d.ts +12 -0
  329. package/dist/external-tools/bazel/read-bazel-version-file.js +61 -0
  330. package/dist/external-tools/bazel/resolve-asset-url.d.ts +14 -0
  331. package/dist/external-tools/bazel/resolve-asset-url.js +42 -0
  332. package/dist/external-tools/bazel/resolve-bazel-version.d.ts +19 -0
  333. package/dist/external-tools/bazel/resolve-bazel-version.js +59 -0
  334. package/dist/external-tools/bazel/resolve.d.ts +35 -0
  335. package/dist/external-tools/bazel/resolve.js +68 -0
  336. package/dist/external-tools/bazel/types.d.ts +22 -0
  337. package/dist/external-tools/bazel/types.js +18 -0
  338. package/dist/external-tools/cdxgen/asset-names.d.ts +58 -0
  339. package/dist/external-tools/cdxgen/asset-names.js +79 -0
  340. package/dist/external-tools/cdxgen/from-download.d.ts +43 -0
  341. package/dist/external-tools/cdxgen/from-download.js +83 -0
  342. package/dist/external-tools/cdxgen/from-path.d.ts +5 -0
  343. package/dist/external-tools/cdxgen/from-path.js +40 -0
  344. package/dist/external-tools/cdxgen/from-vfs.d.ts +7 -0
  345. package/dist/external-tools/cdxgen/from-vfs.js +47 -0
  346. package/dist/external-tools/cdxgen/resolve.d.ts +32 -0
  347. package/dist/external-tools/cdxgen/resolve.js +73 -0
  348. package/dist/external-tools/cdxgen/types.d.ts +33 -0
  349. package/dist/external-tools/cdxgen/types.js +18 -0
  350. package/dist/external-tools/from-download.d.ts +162 -0
  351. package/dist/external-tools/from-download.js +72 -0
  352. package/dist/external-tools/janus/asset-names.d.ts +36 -0
  353. package/dist/external-tools/janus/asset-names.js +52 -0
  354. package/dist/external-tools/janus/from-download.d.ts +26 -0
  355. package/dist/external-tools/janus/from-download.js +65 -0
  356. package/dist/external-tools/janus/from-path.d.ts +5 -0
  357. package/dist/external-tools/janus/from-path.js +40 -0
  358. package/dist/external-tools/janus/from-vfs.d.ts +7 -0
  359. package/dist/external-tools/janus/from-vfs.js +47 -0
  360. package/dist/external-tools/janus/resolve.d.ts +28 -0
  361. package/dist/external-tools/janus/resolve.js +73 -0
  362. package/dist/external-tools/janus/types.d.ts +24 -0
  363. package/dist/external-tools/janus/types.js +18 -0
  364. package/dist/external-tools/jre/asset-names.d.ts +91 -0
  365. package/dist/external-tools/jre/asset-names.js +88 -0
  366. package/dist/external-tools/jre/detect-platform-arch.d.ts +8 -0
  367. package/dist/external-tools/jre/detect-platform-arch.js +52 -0
  368. package/dist/external-tools/jre/from-download.d.ts +62 -0
  369. package/dist/external-tools/jre/from-download.js +70 -0
  370. package/dist/external-tools/jre/from-java-home.d.ts +10 -0
  371. package/dist/external-tools/jre/from-java-home.js +57 -0
  372. package/dist/external-tools/jre/from-path.d.ts +9 -0
  373. package/dist/external-tools/jre/from-path.js +52 -0
  374. package/dist/external-tools/jre/from-vfs.d.ts +17 -0
  375. package/dist/external-tools/jre/from-vfs.js +64 -0
  376. package/dist/external-tools/jre/resolve.d.ts +40 -0
  377. package/dist/external-tools/jre/resolve.js +78 -0
  378. package/dist/external-tools/jre/types.d.ts +28 -0
  379. package/dist/external-tools/jre/types.js +18 -0
  380. package/dist/external-tools/manifest.d.ts +105 -0
  381. package/dist/external-tools/manifest.js +167 -0
  382. package/dist/external-tools/opengrep/asset-names.d.ts +44 -0
  383. package/dist/external-tools/opengrep/asset-names.js +78 -0
  384. package/dist/external-tools/opengrep/from-download.d.ts +17 -0
  385. package/dist/external-tools/opengrep/from-download.js +83 -0
  386. package/dist/external-tools/opengrep/from-path.d.ts +5 -0
  387. package/dist/external-tools/opengrep/from-path.js +40 -0
  388. package/dist/external-tools/opengrep/from-vfs.d.ts +8 -0
  389. package/dist/external-tools/opengrep/from-vfs.js +47 -0
  390. package/dist/external-tools/opengrep/resolve.d.ts +26 -0
  391. package/dist/external-tools/opengrep/resolve.js +73 -0
  392. package/dist/external-tools/opengrep/types.d.ts +24 -0
  393. package/dist/external-tools/opengrep/types.js +18 -0
  394. package/dist/external-tools/sbt/asset-names.d.ts +31 -0
  395. package/dist/external-tools/sbt/asset-names.js +33 -0
  396. package/dist/external-tools/sbt/from-download.d.ts +44 -0
  397. package/dist/external-tools/sbt/from-download.js +64 -0
  398. package/dist/external-tools/sbt/from-path.d.ts +8 -0
  399. package/dist/external-tools/sbt/from-path.js +41 -0
  400. package/dist/external-tools/sbt/from-vfs.d.ts +14 -0
  401. package/dist/external-tools/sbt/from-vfs.js +48 -0
  402. package/dist/external-tools/sbt/resolve.d.ts +31 -0
  403. package/dist/external-tools/sbt/resolve.js +73 -0
  404. package/dist/external-tools/sbt/types.d.ts +32 -0
  405. package/dist/external-tools/sbt/types.js +18 -0
  406. package/dist/external-tools/synp/asset-names.d.ts +14 -0
  407. package/dist/external-tools/synp/asset-names.js +32 -0
  408. package/dist/external-tools/synp/from-download.d.ts +18 -0
  409. package/dist/external-tools/synp/from-download.js +44 -0
  410. package/dist/external-tools/synp/from-path.d.ts +5 -0
  411. package/dist/external-tools/synp/from-path.js +40 -0
  412. package/dist/external-tools/synp/from-vfs.d.ts +7 -0
  413. package/dist/external-tools/synp/from-vfs.js +47 -0
  414. package/dist/external-tools/synp/resolve.d.ts +21 -0
  415. package/dist/external-tools/synp/resolve.js +72 -0
  416. package/dist/external-tools/synp/types.d.ts +19 -0
  417. package/dist/external-tools/synp/types.js +18 -0
  418. package/dist/external-tools/trivy/asset-names.d.ts +34 -0
  419. package/dist/external-tools/trivy/asset-names.js +68 -0
  420. package/dist/external-tools/trivy/from-download.d.ts +17 -0
  421. package/dist/external-tools/trivy/from-download.js +67 -0
  422. package/dist/external-tools/trivy/from-path.d.ts +5 -0
  423. package/dist/external-tools/trivy/from-path.js +40 -0
  424. package/dist/external-tools/trivy/from-vfs.d.ts +7 -0
  425. package/dist/external-tools/trivy/from-vfs.js +47 -0
  426. package/dist/external-tools/trivy/resolve.d.ts +26 -0
  427. package/dist/external-tools/trivy/resolve.js +73 -0
  428. package/dist/external-tools/trivy/types.d.ts +24 -0
  429. package/dist/external-tools/trivy/types.js +18 -0
  430. package/dist/external-tools/trufflehog/asset-names.d.ts +34 -0
  431. package/dist/external-tools/trufflehog/asset-names.js +72 -0
  432. package/dist/external-tools/trufflehog/from-download.d.ts +37 -0
  433. package/dist/external-tools/trufflehog/from-download.js +65 -0
  434. package/dist/external-tools/trufflehog/from-path.d.ts +7 -0
  435. package/dist/external-tools/trufflehog/from-path.js +40 -0
  436. package/dist/external-tools/trufflehog/from-vfs.d.ts +11 -0
  437. package/dist/external-tools/trufflehog/from-vfs.js +47 -0
  438. package/dist/external-tools/trufflehog/resolve.d.ts +30 -0
  439. package/dist/external-tools/trufflehog/resolve.js +73 -0
  440. package/dist/external-tools/trufflehog/types.d.ts +25 -0
  441. package/dist/external-tools/trufflehog/types.js +18 -0
  442. package/dist/external-tools/uv/asset-names.d.ts +36 -0
  443. package/dist/external-tools/uv/asset-names.js +80 -0
  444. package/dist/external-tools/uv/from-download.d.ts +17 -0
  445. package/dist/external-tools/uv/from-download.js +68 -0
  446. package/dist/external-tools/uv/from-path.d.ts +5 -0
  447. package/dist/external-tools/uv/from-path.js +40 -0
  448. package/dist/external-tools/uv/from-vfs.d.ts +7 -0
  449. package/dist/external-tools/uv/from-vfs.js +47 -0
  450. package/dist/external-tools/uv/resolve.d.ts +25 -0
  451. package/dist/external-tools/uv/resolve.js +73 -0
  452. package/dist/external-tools/uv/types.d.ts +24 -0
  453. package/dist/external-tools/uv/types.js +18 -0
  454. package/dist/fs/_internal.d.ts +22 -0
  455. package/dist/fs/_internal.js +48 -0
  456. package/dist/fs/encoding.d.ts +49 -0
  457. package/dist/fs/encoding.js +102 -0
  458. package/dist/fs/find-up.d.ts +58 -0
  459. package/dist/fs/find-up.js +152 -0
  460. package/dist/fs/inspect.d.ts +117 -0
  461. package/dist/fs/inspect.js +112 -0
  462. package/dist/fs/path-cache.d.ts +21 -0
  463. package/dist/fs/path-cache.js +35 -0
  464. package/dist/fs/read-dir.d.ts +66 -0
  465. package/dist/fs/read-dir.js +86 -0
  466. package/dist/fs/read-file.d.ts +150 -0
  467. package/dist/fs/read-file.js +131 -0
  468. package/dist/fs/read-json.d.ts +72 -0
  469. package/dist/fs/read-json.js +120 -0
  470. package/dist/fs/safe.d.ts +153 -0
  471. package/dist/fs/safe.js +182 -0
  472. package/dist/fs/types.d.ts +277 -0
  473. package/dist/fs/types.js +18 -0
  474. package/dist/fs/unique.d.ts +29 -0
  475. package/dist/fs/unique.js +51 -0
  476. package/dist/fs/validate.d.ts +40 -0
  477. package/dist/fs/validate.js +46 -0
  478. package/dist/fs/write-json.d.ts +78 -0
  479. package/dist/fs/write-json.js +83 -0
  480. package/dist/git/_internal.d.ts +105 -0
  481. package/dist/git/_internal.js +236 -0
  482. package/dist/git/changed.d.ts +145 -0
  483. package/dist/git/changed.js +83 -0
  484. package/dist/git/repo.d.ts +62 -0
  485. package/dist/git/repo.js +111 -0
  486. package/dist/git/staged.d.ts +138 -0
  487. package/dist/git/staged.js +71 -0
  488. package/dist/git/types.d.ts +109 -0
  489. package/dist/git/types.js +18 -0
  490. package/dist/git/unstaged.d.ts +141 -0
  491. package/dist/git/unstaged.js +71 -0
  492. package/dist/github/constants.d.ts +18 -0
  493. package/dist/github/constants.js +36 -0
  494. package/dist/github/errors.d.ts +36 -0
  495. package/dist/github/errors.js +40 -0
  496. package/dist/github/fetch.d.ts +89 -0
  497. package/dist/github/fetch.js +87 -0
  498. package/dist/github/ghsa.d.ts +118 -0
  499. package/dist/github/ghsa.js +178 -0
  500. package/dist/github/refs-cache.d.ts +40 -0
  501. package/dist/github/refs-cache.js +49 -0
  502. package/dist/github/refs-graphql.d.ts +42 -0
  503. package/dist/github/refs-graphql.js +109 -0
  504. package/dist/github/refs-rest.d.ts +23 -0
  505. package/dist/github/refs-rest.js +104 -0
  506. package/dist/github/refs.d.ts +84 -0
  507. package/dist/github/refs.js +67 -0
  508. package/dist/github/token.d.ts +77 -0
  509. package/dist/github/token.js +55 -0
  510. package/dist/github/types.d.ts +277 -0
  511. package/dist/github/types.js +18 -0
  512. package/dist/globs/_internal.d.ts +46 -0
  513. package/dist/globs/_internal.js +96 -0
  514. package/dist/globs/defaults.d.ts +7 -0
  515. package/dist/globs/defaults.js +61 -0
  516. package/dist/globs/glob.d.ts +59 -0
  517. package/dist/globs/glob.js +84 -0
  518. package/dist/globs/matcher.d.ts +46 -0
  519. package/dist/globs/matcher.js +99 -0
  520. package/dist/globs/stream.d.ts +18 -0
  521. package/dist/globs/stream.js +58 -0
  522. package/dist/globs/types.d.ts +35 -0
  523. package/dist/globs/types.js +18 -0
  524. package/dist/http-request/_internal.d.ts +18 -0
  525. package/dist/http-request/_internal.js +39 -0
  526. package/dist/http-request/checksums.d.ts +69 -0
  527. package/dist/http-request/checksums.js +72 -0
  528. package/dist/http-request/convenience.d.ts +104 -0
  529. package/dist/http-request/convenience.js +96 -0
  530. package/dist/http-request/download-types.d.ts +224 -0
  531. package/dist/http-request/download-types.js +18 -0
  532. package/dist/http-request/download.d.ts +71 -0
  533. package/dist/http-request/download.js +201 -0
  534. package/dist/http-request/errors.d.ts +23 -0
  535. package/dist/http-request/errors.js +50 -0
  536. package/dist/http-request/headers.d.ts +57 -0
  537. package/dist/http-request/headers.js +86 -0
  538. package/dist/http-request/request-attempt.d.ts +21 -0
  539. package/dist/http-request/request-attempt.js +284 -0
  540. package/dist/http-request/request-types.d.ts +238 -0
  541. package/dist/http-request/request-types.js +18 -0
  542. package/dist/http-request/request.d.ts +59 -0
  543. package/dist/http-request/request.js +106 -0
  544. package/dist/http-request/response-reader.d.ts +25 -0
  545. package/dist/http-request/response-reader.js +54 -0
  546. package/dist/http-request/response-types.d.ts +123 -0
  547. package/dist/http-request/response-types.js +40 -0
  548. package/dist/http-request/user-agent.d.ts +55 -0
  549. package/dist/http-request/user-agent.js +61 -0
  550. package/dist/{dlx/integrity.d.ts → integrity.d.ts} +36 -30
  551. package/dist/{dlx/integrity.js → integrity.js} +25 -19
  552. package/dist/ipc/_internal.d.ts +25 -0
  553. package/dist/ipc/_internal.js +50 -0
  554. package/dist/ipc/directory.d.ts +18 -0
  555. package/dist/ipc/directory.js +66 -0
  556. package/dist/ipc/paths.d.ts +37 -0
  557. package/dist/ipc/paths.js +48 -0
  558. package/dist/ipc/types.d.ts +22 -0
  559. package/dist/ipc/types.js +18 -0
  560. package/dist/ipc/write.d.ts +39 -0
  561. package/dist/ipc/write.js +77 -0
  562. package/dist/ipc-cli/get.d.ts +21 -0
  563. package/dist/{ipc-cli.js → ipc-cli/get.js} +5 -5
  564. package/dist/ipc-cli/types.d.ts +14 -0
  565. package/dist/ipc-cli/types.js +18 -0
  566. package/dist/json/edit.d.ts +22 -8
  567. package/dist/json/edit.js +85 -96
  568. package/dist/json/format.d.ts +100 -86
  569. package/dist/json/format.js +4 -3
  570. package/dist/json/parse.d.ts +113 -88
  571. package/dist/json/parse.js +30 -24
  572. package/dist/json/types.d.ts +133 -117
  573. package/dist/links/link.d.ts +65 -0
  574. package/dist/{links.js → links/link.js} +10 -10
  575. package/dist/links/types.d.ts +19 -0
  576. package/dist/links/types.js +18 -0
  577. package/dist/logger/_internal.d.ts +82 -0
  578. package/dist/logger/_internal.js +80 -0
  579. package/dist/logger/colors.d.ts +18 -0
  580. package/dist/logger/colors.js +54 -0
  581. package/dist/logger/console.d.ts +33 -0
  582. package/dist/logger/console.js +119 -0
  583. package/dist/logger/logger.d.ts +405 -0
  584. package/dist/logger/logger.js +854 -0
  585. package/dist/logger/symbols-builder.d.ts +29 -0
  586. package/dist/logger/symbols-builder.js +61 -0
  587. package/dist/logger/symbols.d.ts +61 -0
  588. package/dist/logger/symbols.js +129 -0
  589. package/dist/logger/types.d.ts +88 -0
  590. package/dist/logger/types.js +18 -0
  591. package/dist/memo/_internal.d.ts +16 -0
  592. package/dist/memo/_internal.js +53 -0
  593. package/dist/memo/async.d.ts +32 -0
  594. package/dist/memo/async.js +120 -0
  595. package/dist/memo/clear.d.ts +15 -0
  596. package/dist/memo/clear.js +37 -0
  597. package/dist/memo/decorator.d.ts +29 -0
  598. package/dist/memo/decorator.js +40 -0
  599. package/dist/memo/memoize.d.ts +33 -0
  600. package/dist/memo/memoize.js +91 -0
  601. package/dist/memo/once.d.ts +25 -0
  602. package/dist/memo/once.js +44 -0
  603. package/dist/memo/types.d.ts +43 -0
  604. package/dist/memo/types.js +18 -0
  605. package/dist/memo/weak.d.ts +26 -0
  606. package/dist/memo/weak.js +44 -0
  607. package/dist/node/async-hooks.d.ts +2 -2
  608. package/dist/node/child-process.d.ts +5 -7
  609. package/dist/node/crypto.d.ts +2 -2
  610. package/dist/node/events.d.ts +2 -2
  611. package/dist/node/fs-promises.d.ts +2 -2
  612. package/dist/node/fs.d.ts +6 -10
  613. package/dist/node/http.d.ts +2 -2
  614. package/dist/node/https.d.ts +2 -2
  615. package/dist/node/module.d.ts +7 -0
  616. package/dist/node/module.js +41 -0
  617. package/dist/node/os.d.ts +2 -2
  618. package/dist/node/path.d.ts +2 -2
  619. package/dist/node/timers-promises.d.ts +2 -2
  620. package/dist/node/url.d.ts +2 -2
  621. package/dist/node/util.d.ts +2 -2
  622. package/dist/objects/getters.d.ts +116 -0
  623. package/dist/objects/getters.js +137 -0
  624. package/dist/objects/inspect.d.ts +67 -0
  625. package/dist/objects/inspect.js +59 -0
  626. package/dist/objects/mutate.d.ts +72 -0
  627. package/dist/objects/mutate.js +81 -0
  628. package/dist/objects/predicates.d.ts +96 -0
  629. package/dist/objects/predicates.js +68 -0
  630. package/dist/objects/sort.d.ts +88 -0
  631. package/dist/objects/sort.js +85 -0
  632. package/dist/objects/types.d.ts +68 -0
  633. package/dist/objects/types.js +18 -0
  634. package/dist/packages/edit-class.d.ts +39 -0
  635. package/dist/packages/edit-class.js +269 -0
  636. package/dist/packages/edit.d.ts +60 -61
  637. package/dist/packages/edit.js +21 -286
  638. package/dist/packages/exports.d.ts +30 -28
  639. package/dist/packages/exports.js +38 -34
  640. package/dist/packages/isolation.d.ts +16 -7
  641. package/dist/packages/isolation.js +50 -57
  642. package/dist/packages/licenses.d.ts +49 -45
  643. package/dist/packages/licenses.js +13 -18
  644. package/dist/packages/manifest.d.ts +14 -14
  645. package/dist/packages/manifest.js +16 -15
  646. package/dist/packages/normalize.d.ts +17 -16
  647. package/dist/packages/normalize.js +20 -17
  648. package/dist/packages/operations.d.ts +49 -36
  649. package/dist/packages/operations.js +30 -15
  650. package/dist/packages/provenance.d.ts +22 -9
  651. package/dist/packages/provenance.js +76 -66
  652. package/dist/packages/specs.d.ts +21 -21
  653. package/dist/packages/specs.js +7 -7
  654. package/dist/{packages.d.ts → packages/types.d.ts} +12 -20
  655. package/dist/packages/types.js +18 -0
  656. package/dist/packages/validation.d.ts +13 -13
  657. package/dist/packages/validation.js +2 -2
  658. package/dist/paths/_internal.d.ts +51 -0
  659. package/dist/paths/_internal.js +102 -0
  660. package/dist/paths/conversion.d.ts +82 -0
  661. package/dist/paths/conversion.js +74 -0
  662. package/dist/paths/dirnames.d.ts +1 -1
  663. package/dist/paths/exts.d.ts +1 -1
  664. package/dist/paths/filenames.d.ts +1 -1
  665. package/dist/paths/globs.d.ts +1 -1
  666. package/dist/paths/normalize.d.ts +30 -440
  667. package/dist/paths/normalize.js +49 -289
  668. package/dist/paths/packages.d.ts +7 -1
  669. package/dist/paths/packages.js +7 -12
  670. package/dist/paths/predicates.d.ts +129 -0
  671. package/dist/paths/predicates.js +121 -0
  672. package/dist/paths/resolve.d.ts +71 -0
  673. package/dist/paths/resolve.js +135 -0
  674. package/dist/paths/rewire.d.ts +37 -38
  675. package/dist/paths/rewire.js +3 -3
  676. package/dist/paths/socket.d.ts +146 -47
  677. package/dist/paths/socket.js +23 -25
  678. package/dist/perf/_internal.d.ts +10 -0
  679. package/dist/perf/_internal.js +30 -0
  680. package/dist/perf/enabled.d.ts +13 -0
  681. package/dist/perf/enabled.js +33 -0
  682. package/dist/perf/metrics.d.ts +51 -0
  683. package/dist/perf/metrics.js +74 -0
  684. package/dist/perf/report.d.ts +40 -0
  685. package/dist/perf/report.js +85 -0
  686. package/dist/perf/timer.d.ts +100 -0
  687. package/dist/perf/timer.js +137 -0
  688. package/dist/perf/types.d.ts +15 -0
  689. package/dist/perf/types.js +18 -0
  690. package/dist/pkg-ext/data.d.ts +8 -0
  691. package/dist/{package-extensions.js → pkg-ext/data.js} +4 -4
  692. package/dist/pkg-ext/types.d.ts +6 -0
  693. package/dist/pkg-ext/types.js +18 -0
  694. package/dist/primordials/array.d.ts +73 -0
  695. package/dist/primordials/array.js +220 -0
  696. package/dist/primordials/buffer.d.ts +17 -0
  697. package/dist/primordials/buffer.js +61 -0
  698. package/dist/primordials/date.d.ts +16 -0
  699. package/dist/primordials/date.js +56 -0
  700. package/dist/primordials/error.d.ts +19 -0
  701. package/dist/primordials/error.js +75 -0
  702. package/dist/primordials/function.d.ts +10 -0
  703. package/dist/primordials/function.js +42 -0
  704. package/dist/primordials/globals.d.ts +17 -0
  705. package/dist/primordials/globals.js +54 -0
  706. package/dist/primordials/json.d.ts +11 -0
  707. package/dist/primordials/json.js +33 -0
  708. package/dist/primordials/map-set.d.ts +35 -0
  709. package/dist/primordials/map-set.js +115 -0
  710. package/dist/primordials/math.d.ts +51 -0
  711. package/dist/primordials/math.js +161 -0
  712. package/dist/primordials/number.d.ts +25 -0
  713. package/dist/primordials/number.js +92 -0
  714. package/dist/primordials/object.d.ts +74 -0
  715. package/dist/primordials/object.js +142 -0
  716. package/dist/primordials/promise.d.ts +34 -0
  717. package/dist/primordials/promise.js +61 -0
  718. package/dist/primordials/reflect.d.ts +18 -0
  719. package/dist/primordials/reflect.js +66 -0
  720. package/dist/primordials/regexp.d.ts +14 -0
  721. package/dist/primordials/regexp.js +50 -0
  722. package/dist/primordials/string.d.ts +71 -0
  723. package/dist/primordials/string.js +174 -0
  724. package/dist/primordials/symbol.d.ts +28 -0
  725. package/dist/primordials/symbol.js +94 -0
  726. package/dist/primordials/uncurry.d.ts +18 -0
  727. package/dist/primordials/uncurry.js +65 -0
  728. package/dist/primordials/url.d.ts +13 -0
  729. package/dist/primordials/url.js +69 -0
  730. package/dist/process/_internal.d.ts +8 -0
  731. package/dist/process/_internal.js +33 -0
  732. package/dist/process/abort.d.ts +20 -0
  733. package/dist/{constants/process.js → process/abort.js} +3 -3
  734. package/dist/process/lock-instance.d.ts +19 -0
  735. package/dist/process/lock-instance.js +31 -0
  736. package/dist/process/lock-manager.d.ts +152 -0
  737. package/dist/{process-lock.js → process/lock-manager.js} +97 -105
  738. package/dist/process/lock-types.d.ts +43 -0
  739. package/dist/process/lock-types.js +18 -0
  740. package/dist/process/transient.d.ts +22 -0
  741. package/dist/{temporary-executor.js → process/transient.js} +8 -8
  742. package/dist/promise-queue/queue.d.ts +51 -0
  743. package/dist/{promise-queue.js → promise-queue/queue.js} +27 -22
  744. package/dist/promise-queue/types.d.ts +10 -0
  745. package/dist/promise-queue/types.js +18 -0
  746. package/dist/promises/_internal.d.ts +15 -0
  747. package/dist/promises/_internal.js +41 -0
  748. package/dist/promises/iterate.d.ts +190 -0
  749. package/dist/promises/iterate.js +111 -0
  750. package/dist/promises/options.d.ts +76 -0
  751. package/dist/promises/options.js +108 -0
  752. package/dist/promises/resolvers.d.ts +55 -0
  753. package/dist/promises/resolvers.js +49 -0
  754. package/dist/promises/retry.d.ts +105 -0
  755. package/dist/promises/retry.js +104 -0
  756. package/dist/promises/types.d.ts +190 -0
  757. package/dist/promises/types.js +18 -0
  758. package/dist/regexps/escape.d.ts +6 -0
  759. package/dist/regexps/escape.js +32 -0
  760. package/dist/regexps/hex.d.ts +7 -0
  761. package/dist/regexps/hex.js +38 -0
  762. package/dist/regexps/spec.d.ts +15 -0
  763. package/dist/{regexps.js → regexps/spec.js} +32 -36
  764. package/dist/releases/github-archives.d.ts +47 -36
  765. package/dist/releases/github-archives.js +21 -35
  766. package/dist/releases/github-asset-url.d.ts +72 -0
  767. package/dist/releases/github-asset-url.js +167 -0
  768. package/dist/releases/github-assets.d.ts +13 -11
  769. package/dist/releases/github-assets.js +2 -2
  770. package/dist/releases/github-auth.d.ts +9 -9
  771. package/dist/releases/github-downloads.d.ts +31 -26
  772. package/dist/releases/github-downloads.js +22 -34
  773. package/dist/releases/github-listing.d.ts +105 -0
  774. package/dist/releases/github-listing.js +171 -0
  775. package/dist/releases/github-types.d.ts +45 -19
  776. package/dist/releases/socket-btm.d.ts +149 -99
  777. package/dist/releases/socket-btm.js +14 -20
  778. package/dist/schema/parse.d.ts +14 -15
  779. package/dist/schema/parse.js +2 -2
  780. package/dist/schema/types.d.ts +49 -37
  781. package/dist/schema/validate.d.ts +42 -19
  782. package/dist/schema/validate.js +15 -6
  783. package/dist/sea/detect.d.ts +37 -0
  784. package/dist/sea/{util.js → detect.js} +6 -6
  785. package/dist/secrets/_internal.d.ts +57 -0
  786. package/dist/secrets/_internal.js +84 -0
  787. package/dist/secrets/find.d.ts +79 -0
  788. package/dist/secrets/find.js +84 -0
  789. package/dist/secrets/keychain.d.ts +138 -0
  790. package/dist/secrets/keychain.js +328 -0
  791. package/dist/secrets/linux.d.ts +20 -0
  792. package/dist/secrets/linux.js +151 -0
  793. package/dist/secrets/macos.d.ts +36 -0
  794. package/dist/secrets/macos.js +165 -0
  795. package/dist/secrets/rc.d.ts +139 -0
  796. package/dist/secrets/rc.js +196 -0
  797. package/dist/secrets/socket-api-token.d.ts +23 -0
  798. package/dist/secrets/socket-api-token.js +50 -0
  799. package/dist/secrets/types.d.ts +69 -0
  800. package/dist/secrets/types.js +18 -0
  801. package/dist/secrets/windows.d.ts +50 -0
  802. package/dist/secrets/windows.js +318 -0
  803. package/dist/shadow/skip.d.ts +25 -0
  804. package/dist/{shadow.js → shadow/skip.js} +4 -4
  805. package/dist/shadow/types.d.ts +8 -0
  806. package/dist/shadow/types.js +18 -0
  807. package/dist/signal-exit/_internal.d.ts +68 -0
  808. package/dist/signal-exit/_internal.js +127 -0
  809. package/dist/signal-exit/intercept.d.ts +8 -0
  810. package/dist/signal-exit/intercept.js +75 -0
  811. package/dist/signal-exit/lifecycle.d.ts +28 -0
  812. package/dist/signal-exit/lifecycle.js +109 -0
  813. package/dist/signal-exit/register.d.ts +20 -0
  814. package/dist/signal-exit/register.js +58 -0
  815. package/dist/signal-exit/signals.d.ts +16 -0
  816. package/dist/signal-exit/signals.js +34 -0
  817. package/dist/signal-exit/types.d.ts +21 -0
  818. package/dist/signal-exit/types.js +18 -0
  819. package/dist/smol/detect.d.ts +80 -0
  820. package/dist/smol/{util.js → detect.js} +16 -24
  821. package/dist/smol/http.d.ts +60 -0
  822. package/dist/smol/http.js +42 -0
  823. package/dist/smol/https.d.ts +59 -0
  824. package/dist/smol/https.js +42 -0
  825. package/dist/smol/manifest.d.ts +140 -0
  826. package/dist/smol/manifest.js +42 -0
  827. package/dist/smol/primordial.d.ts +16 -21
  828. package/dist/smol/primordial.js +7 -11
  829. package/dist/smol/purl.d.ts +84 -0
  830. package/dist/smol/purl.js +42 -0
  831. package/dist/smol/versions.d.ts +11 -14
  832. package/dist/smol/versions.js +7 -11
  833. package/dist/smol/vfs.d.ts +99 -0
  834. package/dist/smol/vfs.js +43 -0
  835. package/dist/sorts/_internal.d.ts +9 -0
  836. package/dist/sorts/_internal.js +47 -0
  837. package/dist/sorts/natural.d.ts +39 -0
  838. package/dist/{sorts.js → sorts/natural.js} +5 -42
  839. package/dist/sorts/semver.d.ts +15 -0
  840. package/dist/sorts/semver.js +46 -0
  841. package/dist/sorts/strings.d.ts +16 -0
  842. package/dist/sorts/strings.js +33 -0
  843. package/dist/sorts/types.d.ts +7 -0
  844. package/dist/sorts/types.js +18 -0
  845. package/dist/spawn/_internal.d.ts +24 -0
  846. package/dist/spawn/_internal.js +62 -0
  847. package/dist/spawn/errors.d.ts +45 -0
  848. package/dist/spawn/errors.js +118 -0
  849. package/dist/spawn/spawn.d.ts +134 -0
  850. package/dist/{spawn.js → spawn/spawn.js} +29 -147
  851. package/dist/spawn/stdio.d.ts +37 -0
  852. package/dist/spawn/stdio.js +38 -0
  853. package/dist/spawn/types.d.ts +325 -0
  854. package/dist/spawn/types.js +18 -0
  855. package/dist/spinner/format.d.ts +64 -0
  856. package/dist/spinner/format.js +83 -0
  857. package/dist/spinner/registry.d.ts +49 -0
  858. package/dist/spinner/registry.js +70 -0
  859. package/dist/spinner/spinner.d.ts +40 -0
  860. package/dist/spinner/spinner.js +802 -0
  861. package/dist/spinner/types.d.ts +368 -0
  862. package/dist/spinner/types.js +18 -0
  863. package/dist/spinner/with.d.ts +125 -0
  864. package/dist/spinner/with.js +144 -0
  865. package/dist/ssri/convert.d.ts +48 -0
  866. package/dist/{ssri.js → ssri/convert.js} +11 -34
  867. package/dist/ssri/parse.d.ts +27 -0
  868. package/dist/ssri/parse.js +40 -0
  869. package/dist/ssri/validate.d.ts +41 -0
  870. package/dist/ssri/validate.js +39 -0
  871. package/dist/stdio/{_stream.d.ts → _internal.d.ts} +10 -5
  872. package/dist/stdio/{_stream.js → _internal.js} +3 -3
  873. package/dist/stdio/clear.d.ts +98 -84
  874. package/dist/stdio/divider.d.ts +100 -78
  875. package/dist/stdio/divider.js +36 -14
  876. package/dist/stdio/footer.d.ts +75 -51
  877. package/dist/stdio/footer.js +28 -18
  878. package/dist/stdio/header.d.ts +61 -50
  879. package/dist/stdio/header.js +15 -13
  880. package/dist/stdio/progress.d.ts +67 -57
  881. package/dist/stdio/progress.js +55 -51
  882. package/dist/stdio/prompts.d.ts +147 -100
  883. package/dist/stdio/prompts.js +23 -15
  884. package/dist/stdio/stderr.d.ts +86 -84
  885. package/dist/stdio/stderr.js +6 -6
  886. package/dist/stdio/stdout.d.ts +77 -78
  887. package/dist/stdio/stdout.js +6 -6
  888. package/dist/streams/parallel.d.ts +40 -0
  889. package/dist/{streams.js → streams/parallel.js} +10 -27
  890. package/dist/streams/transform.d.ts +20 -0
  891. package/dist/streams/transform.js +48 -0
  892. package/dist/strings/format.d.ts +115 -0
  893. package/dist/strings/format.js +73 -0
  894. package/dist/strings/predicates.d.ts +52 -0
  895. package/dist/strings/predicates.js +39 -0
  896. package/dist/strings/search.d.ts +34 -0
  897. package/dist/strings/search.js +45 -0
  898. package/dist/strings/transform.d.ts +80 -0
  899. package/dist/strings/transform.js +79 -0
  900. package/dist/strings/types.d.ts +38 -0
  901. package/dist/strings/types.js +18 -0
  902. package/dist/strings/width.d.ts +42 -0
  903. package/dist/strings/width.js +95 -0
  904. package/dist/tables/bordered.d.ts +44 -0
  905. package/dist/tables/bordered.js +84 -0
  906. package/dist/tables/padding.d.ts +18 -0
  907. package/dist/tables/padding.js +51 -0
  908. package/dist/tables/simple.d.ts +36 -0
  909. package/dist/tables/simple.js +73 -0
  910. package/dist/tables/types.d.ts +15 -0
  911. package/dist/tables/types.js +18 -0
  912. package/dist/temporal/instant.d.ts +39 -0
  913. package/dist/temporal/instant.js +91 -0
  914. package/dist/temporal/now.d.ts +24 -0
  915. package/dist/temporal/now.js +34 -0
  916. package/dist/temporal/slots.d.ts +32 -0
  917. package/dist/temporal/slots.js +45 -0
  918. package/dist/temporal/system.d.ts +20 -0
  919. package/dist/temporal/system.js +42 -0
  920. package/dist/temporal/temporal.d.ts +22 -0
  921. package/dist/temporal/temporal.js +43 -0
  922. package/dist/themes/context.d.ts +65 -48
  923. package/dist/themes/context.js +6 -2
  924. package/dist/themes/resolve.d.ts +90 -0
  925. package/dist/themes/{utils.js → resolve.js} +6 -6
  926. package/dist/themes/themes.d.ts +14 -16
  927. package/dist/themes/types.d.ts +93 -35
  928. package/dist/ttl-cache/cache.d.ts +29 -0
  929. package/dist/{cache-with-ttl.js → ttl-cache/cache.js} +45 -37
  930. package/dist/ttl-cache/types.d.ts +109 -0
  931. package/dist/ttl-cache/types.js +18 -0
  932. package/dist/url/parse.d.ts +26 -0
  933. package/dist/url/parse.js +57 -0
  934. package/dist/url/predicates.d.ts +15 -0
  935. package/dist/url/predicates.js +34 -0
  936. package/dist/url/search-params.d.ts +71 -0
  937. package/dist/{url.js → url/search-params.js} +19 -54
  938. package/dist/url/types.d.ts +20 -0
  939. package/dist/url/types.js +18 -0
  940. package/dist/versions/_internal.d.ts +24 -0
  941. package/dist/versions/_internal.js +37 -0
  942. package/dist/versions/compare.d.ts +57 -0
  943. package/dist/versions/compare.js +65 -0
  944. package/dist/versions/modify.d.ts +28 -0
  945. package/dist/versions/modify.js +44 -0
  946. package/dist/versions/parse.d.ts +67 -0
  947. package/dist/versions/parse.js +77 -0
  948. package/dist/versions/range.d.ts +45 -0
  949. package/dist/versions/range.js +50 -0
  950. package/dist/versions/types.d.ts +13 -0
  951. package/dist/versions/types.js +18 -0
  952. package/dist/warnings/event-target.d.ts +31 -0
  953. package/dist/warnings/event-target.js +43 -0
  954. package/dist/warnings/suppress.d.ts +65 -0
  955. package/dist/{suppress-warnings.js → warnings/suppress.js} +16 -28
  956. package/dist/words/article.d.ts +14 -0
  957. package/dist/words/article.js +33 -0
  958. package/dist/words/capitalize.d.ts +15 -0
  959. package/dist/{words.js → words/capitalize.js} +5 -18
  960. package/dist/words/pluralize.d.ts +16 -0
  961. package/dist/words/pluralize.js +34 -0
  962. package/dist/words/types.d.ts +7 -0
  963. package/dist/words/types.js +18 -0
  964. package/package.json +1939 -244
  965. package/dist/abort.d.ts +0 -27
  966. package/dist/agent.d.ts +0 -196
  967. package/dist/agent.js +0 -287
  968. package/dist/ansi.d.ts +0 -39
  969. package/dist/archives.d.ts +0 -95
  970. package/dist/archives.js +0 -408
  971. package/dist/argv/flags.d.ts +0 -292
  972. package/dist/argv/flags.js +0 -297
  973. package/dist/arrays.d.ts +0 -168
  974. package/dist/bin.d.ts +0 -181
  975. package/dist/bin.js +0 -544
  976. package/dist/cacache.d.ts +0 -130
  977. package/dist/cacache.js +0 -156
  978. package/dist/cache-with-ttl.d.ts +0 -165
  979. package/dist/colors.d.ts +0 -49
  980. package/dist/constants/process.d.ts +0 -20
  981. package/dist/crypto.d.ts +0 -36
  982. package/dist/debug.js +0 -337
  983. package/dist/env/helpers.d.ts +0 -66
  984. package/dist/env.d.ts +0 -182
  985. package/dist/env.js +0 -205
  986. package/dist/errors.d.ts +0 -100
  987. package/dist/fs.d.ts +0 -916
  988. package/dist/fs.js +0 -808
  989. package/dist/git.d.ts +0 -546
  990. package/dist/git.js +0 -409
  991. package/dist/github.d.ts +0 -526
  992. package/dist/github.js +0 -448
  993. package/dist/globs.d.ts +0 -119
  994. package/dist/globs.js +0 -282
  995. package/dist/http-request.d.ts +0 -951
  996. package/dist/http-request.js +0 -761
  997. package/dist/ipc-cli.d.ts +0 -28
  998. package/dist/ipc.d.ts +0 -76
  999. package/dist/ipc.js +0 -130
  1000. package/dist/links.d.ts +0 -69
  1001. package/dist/logger.d.ts +0 -993
  1002. package/dist/logger.js +0 -1498
  1003. package/dist/memoization.d.ts +0 -131
  1004. package/dist/memoization.js +0 -243
  1005. package/dist/objects.d.ts +0 -500
  1006. package/dist/objects.js +0 -303
  1007. package/dist/package-extensions.d.ts +0 -9
  1008. package/dist/packages.js +0 -132
  1009. package/dist/performance.d.ts +0 -181
  1010. package/dist/performance.js +0 -233
  1011. package/dist/primordials.d.ts +0 -420
  1012. package/dist/primordials.js +0 -1116
  1013. package/dist/process-lock.d.ts +0 -180
  1014. package/dist/promise-queue.d.ts +0 -48
  1015. package/dist/promises.d.ts +0 -506
  1016. package/dist/promises.js +0 -292
  1017. package/dist/regexps.d.ts +0 -6
  1018. package/dist/releases/github-api.d.ts +0 -56
  1019. package/dist/releases/github-api.js +0 -275
  1020. package/dist/sea/util.d.ts +0 -43
  1021. package/dist/shadow.d.ts +0 -28
  1022. package/dist/signal-exit.d.ts +0 -50
  1023. package/dist/signal-exit.js +0 -247
  1024. package/dist/smol/util.d.ts +0 -87
  1025. package/dist/sorts.d.ts +0 -59
  1026. package/dist/spawn.d.ts +0 -454
  1027. package/dist/spinner.d.ts +0 -444
  1028. package/dist/spinner.js +0 -988
  1029. package/dist/ssri.d.ts +0 -90
  1030. package/dist/streams.d.ts +0 -45
  1031. package/dist/strings.d.ts +0 -414
  1032. package/dist/strings.js +0 -218
  1033. package/dist/suppress-warnings.d.ts +0 -81
  1034. package/dist/tables.d.ts +0 -73
  1035. package/dist/tables.js +0 -133
  1036. package/dist/temporary-executor.d.ts +0 -20
  1037. package/dist/themes/utils.d.ts +0 -86
  1038. package/dist/url.d.ts +0 -114
  1039. package/dist/versions.d.ts +0 -207
  1040. package/dist/versions.js +0 -181
  1041. package/dist/words.d.ts +0 -39
@@ -1,34 +1,57 @@
1
1
  /**
2
- * @fileoverview Universal schema validator — non-throwing.
2
+ * @file Universal schema validator — non-throwing. Accepts any Zod-shaped
3
+ * schema (`.safeParse`-exposing) and returns a tagged result `{ ok: true,
4
+ * value } | { ok: false, errors }` with normalized `{ path, message }`
5
+ * issues. No runtime dependency on `zod` — detection is purely structural.
3
6
  *
4
- * Accepts any Zod-shaped schema (`.safeParse`-exposing) and returns a tagged
5
- * result `{ ok: true, value } | { ok: false, errors }` with normalized
6
- * `{ path, message }` issues. No runtime dependency on `zod` — detection
7
- * is purely structural.
7
+ * @example
8
+ * ;```ts
9
+ * import { z } from 'zod'
10
+ * import { validateSchema } from '@socketsecurity/lib/schema/validate'
11
+ *
12
+ * const User = z.object({ name: z.string() })
13
+ * const r = validateSchema(User, data)
14
+ * if (r.ok)
15
+ * r.value.name // string
16
+ * else r.errors // ValidationIssue[]
17
+ * ```
8
18
  *
9
19
  * @internal
10
20
  * socket-lib additionally recognizes TypeBox schemas for its own internal
11
21
  * use (e.g. `src/ipc.ts`'s stub-file validation). That path is not a
12
22
  * supported consumer API.
23
+ */
24
+ import type { Infer, ValidateResult, ValidationIssue } from './types';
25
+ /**
26
+ * Detect a TypeBox schema structurally: object with a symbol key whose
27
+ * description is `'TypeBox.Kind'`, holding a string value.
13
28
  *
14
- * @example
15
- * ```ts
16
- * import { z } from 'zod'
17
- * import { validateSchema } from '@socketsecurity/lib/schema/validate'
18
- *
19
- * const User = z.object({ name: z.string() })
20
- * const r = validateSchema(User, data)
21
- * if (r.ok) r.value.name // string
22
- * else r.errors // ValidationIssue[]
23
- * ```
29
+ * @internal
30
+ */
31
+ export declare function isTypeBoxSchema(schema: unknown): boolean;
32
+ /**
33
+ * Normalize a TypeBox `ValueError` iterator into plain issues. TypeBox paths
34
+ * are JSON Pointers (`/user/0/name`); convert to arrays.
35
+ *
36
+ * @internal
37
+ */
38
+ export declare function normalizeTypeBoxErrors(errors: Iterable<{
39
+ path: string;
40
+ message: string;
41
+ }>): ValidationIssue[];
42
+ /**
43
+ * Normalize a Zod error object (v3 or v4) into plain issues. Both versions
44
+ * expose `.issues: Array<{ path, message }>`.
45
+ *
46
+ * @internal
24
47
  */
25
- import type { Infer, ValidateResult } from './types';
48
+ export declare function normalizeZodError(err: unknown): ValidationIssue[];
26
49
  /**
27
50
  * Validate `data` against a Zod-style `schema`. Non-throwing.
28
51
  *
29
- * The return type narrows `value` to `Infer<S>`, so callers get
30
- * `z.infer<typeof S>` with no casts. Errors are normalized to
31
- * `{ path, message }` regardless of the underlying validator.
52
+ * The return type narrows `value` to `Infer<S>`, so callers get `z.infer<typeof
53
+ * S>` with no casts. Errors are normalized to `{ path, message }` regardless of
54
+ * the underlying validator.
32
55
  *
33
56
  * @throws {TypeError} When `schema` is not a recognized validator kind.
34
57
  */
@@ -20,15 +20,21 @@ var __copyProps = (to, from, except, desc) => {
20
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
21
  var validate_exports = {};
22
22
  __export(validate_exports, {
23
+ isTypeBoxSchema: () => isTypeBoxSchema,
24
+ normalizeTypeBoxErrors: () => normalizeTypeBoxErrors,
25
+ normalizeZodError: () => normalizeZodError,
23
26
  validateSchema: () => validateSchema
24
27
  });
25
28
  module.exports = __toCommonJS(validate_exports);
26
- var import_primordials = require("../primordials");
29
+ var import_array = require("../primordials/array");
30
+ var import_error = require("../primordials/error");
31
+ var import_number = require("../primordials/number");
32
+ var import_object = require("../primordials/object");
27
33
  function isTypeBoxSchema(schema) {
28
34
  if (schema === null || typeof schema !== "object") {
29
35
  return false;
30
36
  }
31
- for (const sym of (0, import_primordials.ObjectGetOwnPropertySymbols)(schema)) {
37
+ for (const sym of (0, import_object.ObjectGetOwnPropertySymbols)(schema)) {
32
38
  if (sym.description === "TypeBox.Kind") {
33
39
  return typeof schema[sym] === "string";
34
40
  }
@@ -42,7 +48,7 @@ function normalizeTypeBoxErrors(errors) {
42
48
  out.push({
43
49
  path: segs.map((s) => {
44
50
  const n = Number(s);
45
- return (0, import_primordials.NumberIsInteger)(n) && String(n) === s ? n : s;
51
+ return (0, import_number.NumberIsInteger)(n) && String(n) === s ? n : s;
46
52
  }),
47
53
  message: err.message
48
54
  });
@@ -54,13 +60,13 @@ function normalizeZodError(err) {
54
60
  return [{ path: [], message: String(err) }];
55
61
  }
56
62
  const issues = err.issues;
57
- if (!(0, import_primordials.ArrayIsArray)(issues)) {
63
+ if (!(0, import_array.ArrayIsArray)(issues)) {
58
64
  return [{ path: [], message: "Unknown validation error" }];
59
65
  }
60
66
  return issues.map((issue) => {
61
67
  const i = issue;
62
68
  return {
63
- path: (0, import_primordials.ArrayIsArray)(i.path) ? i.path : [],
69
+ path: (0, import_array.ArrayIsArray)(i.path) ? i.path : [],
64
70
  message: typeof i.message === "string" ? i.message : "Invalid value"
65
71
  };
66
72
  });
@@ -89,11 +95,14 @@ function validateSchema(schema, data) {
89
95
  errors: normalizeZodError(result.error)
90
96
  };
91
97
  }
92
- throw new import_primordials.TypeErrorCtor(
98
+ throw new import_error.TypeErrorCtor(
93
99
  "validateSchema: unsupported schema kind. Expected a Zod schema or an object with a safeParse method."
94
100
  );
95
101
  }
96
102
  // Annotate the CommonJS export names for ESM import in node:
97
103
  0 && (module.exports = {
104
+ isTypeBoxSchema,
105
+ normalizeTypeBoxErrors,
106
+ normalizeZodError,
98
107
  validateSchema
99
108
  });
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @file SEA (Single Executable Application) binary detection + path accessor.
3
+ * Two responsibilities (mirror of `src/smol/detect.ts` shape):
4
+ *
5
+ * 1. `isSeaBinary()` — memoized boolean detector for whether the current process
6
+ * is running as a Node.js Single Executable Application. Probes via Node
7
+ * 24+'s `node:sea.isSea()` native API; falls back to `false` on older
8
+ * runtimes.
9
+ * 2. `getSeaBinaryPath()` — returns the path of the SEA binary
10
+ * (`process.argv[0]` normalized) when running as SEA, otherwise
11
+ * `undefined`. Defensive across runtimes: returns `false` / `undefined`
12
+ * cleanly on stock Node < 24, browsers, Deno, Bun.
13
+ */
14
+ /**
15
+ * Get the current SEA binary path. Only valid when running as a SEA binary.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const binPath = getSeaBinaryPath()
20
+ * if (binPath) {
21
+ * console.log(`Running as SEA binary: ${binPath}`)
22
+ * }
23
+ * ```
24
+ */
25
+ export declare function getSeaBinaryPath(): string | undefined;
26
+ /**
27
+ * Detect if the current process is running as a SEA binary. Uses Node.js 24+
28
+ * native API with caching for performance.
29
+ *
30
+ * @example
31
+ * ;```typescript
32
+ * if (isSeaBinary()) {
33
+ * console.log('Running as a Single Executable Application')
34
+ * }
35
+ * ```
36
+ */
37
+ export declare function isSeaBinary(): boolean;
@@ -28,15 +28,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  mod
29
29
  ));
30
30
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
- var util_exports = {};
32
- __export(util_exports, {
31
+ var detect_exports = {};
32
+ __export(detect_exports, {
33
33
  getSeaBinaryPath: () => getSeaBinaryPath,
34
34
  isSeaBinary: () => isSeaBinary
35
35
  });
36
- module.exports = __toCommonJS(util_exports);
36
+ module.exports = __toCommonJS(detect_exports);
37
37
  var import_node_process = __toESM(require("node:process"));
38
38
  var import_normalize = require("../paths/normalize");
39
39
  let _isSea;
40
+ function getSeaBinaryPath() {
41
+ return isSeaBinary() && import_node_process.default.argv[0] ? (0, import_normalize.normalizePath)(import_node_process.default.argv[0]) : void 0;
42
+ }
40
43
  function isSeaBinary() {
41
44
  if (_isSea === void 0) {
42
45
  try {
@@ -48,9 +51,6 @@ function isSeaBinary() {
48
51
  }
49
52
  return _isSea ?? false;
50
53
  }
51
- function getSeaBinaryPath() {
52
- return isSeaBinary() && import_node_process.default.argv[0] ? (0, import_normalize.normalizePath)(import_node_process.default.argv[0]) : void 0;
53
- }
54
54
  // Annotate the CommonJS export names for ESM import in node:
55
55
  0 && (module.exports = {
56
56
  getSeaBinaryPath,
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @file Private internals for `secrets/` — process-scoped read cache for the
3
+ * keychain backend. Underscore-prefixed and skipped by the export generator
4
+ * (`dist/**\/_*` ignore pattern in
5
+ * `scripts/fix/generate-package-exports.mts`) so this module is NOT part of
6
+ * the public API surface. Imported by `./keychain.ts`. Every `readSecret`
7
+ * call shells out to the OS credential CLI (`security`, `secret-tool`,
8
+ * PowerShell). On macOS, the first read of a given entry by a new binary path
9
+ * triggers a Keychain auth prompt unless the entry was written with `-A -T
10
+ * ''` (which we now do — see `./macos.ts`). Even so, every read is a process
11
+ * spawn, which costs a few ms per call. For tools that read the same secret
12
+ * multiple times within one process (CLI commands handling multiple
13
+ * subcommands, MCP request handlers serving sibling endpoints), a
14
+ * process-scoped cache eliminates the redundant work. Lifetime: a single Node
15
+ * process. The cache lives in module-level state; importing this module from
16
+ * a child process gets a fresh cache. No persistence to disk — for that, see
17
+ * `./rc.ts` which materializes a one-time `export` block into the shell rc.
18
+ * Invalidation: callers MUST invalidate the cache when they write/delete the
19
+ * same `{service, account}` pair. The public keychain.ts wraps writeSecret /
20
+ * deleteSecret so cache eviction happens automatically. Concurrency:
21
+ * in-flight reads of the same key share a single Promise so two `await
22
+ * readSecret(...)` calls don't spawn two `security` processes for the same
23
+ * entry. Once the Promise resolves, the value is cached. If the read returns
24
+ * undefined (entry missing), `undefined` is cached too — callers that want a
25
+ * re-check after creating the entry must call `invalidate`.
26
+ */
27
+ export declare function cacheKey(service: string, account: string): string;
28
+ /**
29
+ * Coordinate concurrent reads of the same key. The first caller registers a
30
+ * Promise; subsequent callers receive the same Promise instead of spawning
31
+ * another OS call. On settle, the Promise's inflight slot is dropped and the
32
+ * value is cached.
33
+ */
34
+ export declare function dedupeRead(service: string, account: string, reader: () => Promise<string | undefined>): Promise<string | undefined>;
35
+ /**
36
+ * Look up a cached value. Returns `undefined` for both "cached as absent" and
37
+ * "not yet cached" — callers that need to distinguish those cases should use
38
+ * `has` first.
39
+ */
40
+ export declare function getCached(service: string, account: string): string | undefined;
41
+ export declare function has(service: string, account: string): boolean;
42
+ /**
43
+ * Drop a cached value. Called by `writeSecret` / `deleteSecret` after the
44
+ * underlying OS state changes so a subsequent `readSecret` reflects the new
45
+ * reality. Also called by `invalidateAll()` for service-wide refreshes.
46
+ */
47
+ export declare function invalidate(service: string, account: string): void;
48
+ /**
49
+ * Wipe the entire cache. Tests use this between cases; consumers generally
50
+ * don't need it (process exit drops the cache anyway).
51
+ */
52
+ export declare function invalidateAll(): void;
53
+ /**
54
+ * Store a value (or `undefined` to record an absent entry) so later reads of
55
+ * the same key short-circuit the OS call.
56
+ */
57
+ export declare function setCached(service: string, account: string, value: string | undefined): void;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with esbuild */
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var internal_exports = {};
22
+ __export(internal_exports, {
23
+ cacheKey: () => cacheKey,
24
+ dedupeRead: () => dedupeRead,
25
+ getCached: () => getCached,
26
+ has: () => has,
27
+ invalidate: () => invalidate,
28
+ invalidateAll: () => invalidateAll,
29
+ setCached: () => setCached
30
+ });
31
+ module.exports = __toCommonJS(internal_exports);
32
+ const valueCache = /* @__PURE__ */ new Map();
33
+ const inflight = /* @__PURE__ */ new Map();
34
+ function cacheKey(service, account) {
35
+ return `${service} ${account}`;
36
+ }
37
+ async function dedupeRead(service, account, reader) {
38
+ const key = cacheKey(service, account);
39
+ if (valueCache.has(key)) {
40
+ return valueCache.get(key);
41
+ }
42
+ const existing = inflight.get(key);
43
+ if (existing) {
44
+ return existing;
45
+ }
46
+ const promise = (async () => {
47
+ try {
48
+ const value = await reader();
49
+ valueCache.set(key, value);
50
+ return value;
51
+ } finally {
52
+ inflight.delete(key);
53
+ }
54
+ })();
55
+ inflight.set(key, promise);
56
+ return promise;
57
+ }
58
+ function getCached(service, account) {
59
+ return valueCache.get(cacheKey(service, account));
60
+ }
61
+ function has(service, account) {
62
+ return valueCache.has(cacheKey(service, account));
63
+ }
64
+ function invalidate(service, account) {
65
+ valueCache.delete(cacheKey(service, account));
66
+ inflight.delete(cacheKey(service, account));
67
+ }
68
+ function invalidateAll() {
69
+ valueCache.clear();
70
+ inflight.clear();
71
+ }
72
+ function setCached(service, account, value) {
73
+ valueCache.set(cacheKey(service, account), value);
74
+ }
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ cacheKey,
78
+ dedupeRead,
79
+ getCached,
80
+ has,
81
+ invalidate,
82
+ invalidateAll,
83
+ setCached
84
+ });
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @file Resolve a secret from the canonical fleet precedence order: process env
3
+ * → OS keychain. Returns the value + the source it came from so the caller
4
+ * can log which slot won. Why a helper instead of inlining: every consumer of
5
+ * the fleet's Socket API token does the same dance — check
6
+ * `process.env.SOCKET_API_TOKEN`, fall back to a legacy env-var alias, fall
7
+ * back to `readSecret({...})` from the keychain. Tools drift on the exact
8
+ * order and on which aliases they consider. This helper centralizes the
9
+ * precedence so a token check in socket-cli, socket-mcp, depot, and ad-hoc
10
+ * scripts all behave the same way. Not included: `.env` file parsing. Hosts
11
+ * that want `.env` support should pre-populate `process.env` from `.env`
12
+ * themselves (e.g. with `dotenv.config()` at process start). Folding `.env`
13
+ * reads into this helper would couple the secrets API to a config-file parser
14
+ * that's better lived at the application boundary. Prompt minimization: every
15
+ * keychain read short-circuits through the process-scoped cache in
16
+ * `./_internal.ts`. So calling `resolve` multiple times in one process spawns
17
+ * at most one `security` (macOS) / `secret-tool` (Linux) / `powershell`
18
+ * (Windows) per `{service, account}` pair. Combined with macOS's `-A -T ''`
19
+ * ACL (set by `writeSecret`), this means: at most one Keychain auth prompt
20
+ * across a process's entire lifetime — and zero prompts when the env-var path
21
+ * covers the read.
22
+ */
23
+ export interface ResolveOptions {
24
+ /**
25
+ * Logical service identifier for the keychain lookup. Same value the caller
26
+ * would pass to `writeSecret` / `readSecret`. Ignored when the env-var path
27
+ * resolves the value first.
28
+ */
29
+ service: string;
30
+ /**
31
+ * Names to try, in order. Each name is checked as both an env-var
32
+ * (`process.env[name]`) and a keychain account name. Env-var matches always
33
+ * beat keychain matches (env-var is cheaper and doesn't risk a Keychain
34
+ * prompt).
35
+ *
36
+ * Order matters: list the canonical name first so a legacy alias is only
37
+ * consulted when the canonical entry is missing.
38
+ */
39
+ accounts: readonly string[];
40
+ /**
41
+ * When `true`, skip the keychain fallback entirely. The resolver checks
42
+ * `process.env[account]` for each account and returns `undefined` immediately
43
+ * if none match. Use this in headless contexts (CI runners, bootstrap hooks)
44
+ * where a Keychain auth prompt is unacceptable.
45
+ *
46
+ * @default false
47
+ */
48
+ allowEnvOnly?: boolean | undefined;
49
+ }
50
+ export interface ResolveResult {
51
+ value: string;
52
+ /**
53
+ * Where the value came from: 'env' — `process.env[<account>]` had a non-empty
54
+ * value. 'keychain' — env-var was empty/missing; the value was read from the
55
+ * OS credential store under the matching account.
56
+ */
57
+ source: 'env' | 'keychain';
58
+ /**
59
+ * Which account in `accounts` was the actual hit.
60
+ */
61
+ account: string;
62
+ }
63
+ /**
64
+ * Pull a non-empty string from `process.env[name]`. Returns `undefined` for
65
+ * missing or empty values so the caller can fall through to the next source
66
+ * without distinguishing the two cases.
67
+ */
68
+ export declare function readEnv(name: string): string | undefined;
69
+ /**
70
+ * Resolve a secret following the canonical env → keychain order. Returns
71
+ * `undefined` when neither source has the value — the caller's signal to prompt
72
+ * the user or surface a setup hint.
73
+ */
74
+ export declare function resolve(opts: ResolveOptions): Promise<ResolveResult | undefined>;
75
+ /**
76
+ * Sync variant for non-async callers (hook initializers, schema validators that
77
+ * run before any `await` machinery exists).
78
+ */
79
+ export declare function resolveSync(opts: ResolveOptions): ResolveResult | undefined;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with esbuild */
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var find_exports = {};
22
+ __export(find_exports, {
23
+ readEnv: () => readEnv,
24
+ resolve: () => resolve,
25
+ resolveSync: () => resolveSync
26
+ });
27
+ module.exports = __toCommonJS(find_exports);
28
+ var import_keychain = require("./keychain");
29
+ function readEnv(name) {
30
+ const value = process.env[name];
31
+ if (typeof value !== "string") {
32
+ return void 0;
33
+ }
34
+ const trimmed = value.trim();
35
+ return trimmed ? trimmed : void 0;
36
+ }
37
+ async function resolve(opts) {
38
+ const { accounts, allowEnvOnly, service } = opts;
39
+ for (let i = 0, { length } = accounts; i < length; i += 1) {
40
+ const account = accounts[i];
41
+ const fromEnv = readEnv(account);
42
+ if (fromEnv) {
43
+ return { value: fromEnv, source: "env", account };
44
+ }
45
+ }
46
+ if (allowEnvOnly) {
47
+ return void 0;
48
+ }
49
+ for (let i = 0, { length } = accounts; i < length; i += 1) {
50
+ const account = accounts[i];
51
+ const fromKeychain = await (0, import_keychain.readSecret)({ service, account });
52
+ if (fromKeychain) {
53
+ return { value: fromKeychain, source: "keychain", account };
54
+ }
55
+ }
56
+ return void 0;
57
+ }
58
+ function resolveSync(opts) {
59
+ const { accounts, allowEnvOnly, service } = opts;
60
+ for (let i = 0, { length } = accounts; i < length; i += 1) {
61
+ const account = accounts[i];
62
+ const fromEnv = readEnv(account);
63
+ if (fromEnv) {
64
+ return { value: fromEnv, source: "env", account };
65
+ }
66
+ }
67
+ if (allowEnvOnly) {
68
+ return void 0;
69
+ }
70
+ for (let i = 0, { length } = accounts; i < length; i += 1) {
71
+ const account = accounts[i];
72
+ const fromKeychain = (0, import_keychain.readSecretSync)({ service, account });
73
+ if (fromKeychain) {
74
+ return { value: fromKeychain, source: "keychain", account };
75
+ }
76
+ }
77
+ return void 0;
78
+ }
79
+ // Annotate the CommonJS export names for ESM import in node:
80
+ 0 && (module.exports = {
81
+ readEnv,
82
+ resolve,
83
+ resolveSync
84
+ });
@@ -0,0 +1,138 @@
1
+ /**
2
+ * @file Cross-platform secret-storage helper. Reads / writes to the native OS
3
+ * credential store (Keychain on macOS, Secret Service via libsecret on Linux,
4
+ * Credential Manager + DPAPI on Windows). Consumers pick their own `{
5
+ * service, account }` pair. API shape: readSecret({ service, account }) →
6
+ * Promise<string | undefined> readSecretSync({ service, account }) → string |
7
+ * undefined writeSecret({ service, account, value }) → Promise<void>
8
+ * writeSecretSync({ service, account, value }) → void deleteSecret({ service,
9
+ * account }) → Promise<'removed' | 'absent'> deleteSecretSync({ service,
10
+ * account }) → 'removed' | 'absent' Multi-slot helpers exist for the common
11
+ * case of writing the same value under multiple account names (e.g.
12
+ * SOCKET_API_TOKEN + SOCKET_API_KEY for backwards compatibility):
13
+ * readSecretFromSlots({ service, accounts }) writeSecretToSlots({ service,
14
+ * accounts, value }) deleteSecretFromSlots({ service, accounts }) IMPORTANT:
15
+ * do NOT invoke these helpers from a shell rc / .zshenv file (or any other
16
+ * always-on-startup hook). On macOS each call triggers a Keychain auth
17
+ * prompt; piling that into per-shell startup floods the user with prompts.
18
+ * Use `write` from `./rc` to write a one-time literal `export` block into the
19
+ * user's shell rc file instead. (Incident memory: socket-cli session
20
+ * 2026-05-15.)
21
+ */
22
+ import type { BackendAvailability, SecretDeleteResult, SecretWriteResult } from './types';
23
+ /**
24
+ * Drop the in-process read cache. Tests use this between cases to force a fresh
25
+ * OS call; production code generally doesn't need it (process exit drops the
26
+ * cache anyway, and `writeSecret` / `deleteSecret` already invalidate per-key
27
+ * entries automatically).
28
+ */
29
+ export declare function clearCache(): void;
30
+ export interface DeleteOptions {
31
+ service: string;
32
+ account: string;
33
+ }
34
+ /**
35
+ * Remove a secret from the OS credential store. Idempotent — succeeds whether
36
+ * the entry exists or not. Returns the per-slot outcome so callers can log
37
+ * "actually removed X" vs "X was already absent."
38
+ */
39
+ export declare function deleteSecret({ service, account, }: DeleteOptions): Promise<'removed' | 'absent'>;
40
+ export interface DeleteFromSlotsOptions {
41
+ service: string;
42
+ accounts: readonly string[];
43
+ }
44
+ export declare function deleteSecretFromSlots({ service, accounts, }: DeleteFromSlotsOptions): Promise<SecretDeleteResult[]>;
45
+ export declare function deleteSecretFromSlotsSync({ service, accounts, }: DeleteFromSlotsOptions): SecretDeleteResult[];
46
+ export declare function deleteSecretSync({ service, account, }: DeleteOptions): 'removed' | 'absent';
47
+ export type { BackendAvailability, SecretDeleteResult, SecretWriteResult, } from './types';
48
+ export type { SecretSlot } from './types';
49
+ type Platform = 'darwin' | 'linux' | 'win32' | 'other';
50
+ /**
51
+ * Resolve the current OS to one of our four backend categories.
52
+ *
53
+ * Exported only because the fleet's `export-top-level-functions` lint rule
54
+ * requires top-level functions to be exported for testability. Not part of the
55
+ * public `secrets/keychain` API surface — consumers should call `readSecret` /
56
+ * `writeSecret` / `getBackendAvailability` instead, which handle the dispatch
57
+ * internally.
58
+ *
59
+ * @internal
60
+ */
61
+ export declare function detectPlatform(): Platform;
62
+ /**
63
+ * Diagnostic: tell the operator whether the OS credential backend is reachable.
64
+ * Used by installers to report up-front (before any prompt fires) when
65
+ * libsecret-tools or the CredentialManager module aren't installed.
66
+ */
67
+ export declare function getBackendAvailability(): BackendAvailability;
68
+ export interface ReadOptions {
69
+ service: string;
70
+ account: string;
71
+ }
72
+ /**
73
+ * Read a single secret value from the OS credential store. Returns `undefined`
74
+ * when the entry doesn't exist OR when the backend tool isn't available — read
75
+ * paths never throw, so callers can fall through to env / .env / prompt
76
+ * cleanly.
77
+ */
78
+ export declare function readSecret({ service, account, }: ReadOptions): Promise<string | undefined>;
79
+ export interface ReadFromSlotsOptions {
80
+ service: string;
81
+ accounts: readonly string[];
82
+ }
83
+ /**
84
+ * Read from the first matching account. Used when multiple env-var names map to
85
+ * the same logical secret (e.g. SOCKET_API_TOKEN canonical + SOCKET_API_KEY
86
+ * legacy). Returns the value AND the account it came from so callers can warn
87
+ * on legacy hits.
88
+ */
89
+ export declare function readSecretFromSlots({ service, accounts, }: ReadFromSlotsOptions): Promise<{
90
+ value: string;
91
+ account: string;
92
+ } | undefined>;
93
+ export declare function readSecretFromSlotsSync({ service, accounts, }: ReadFromSlotsOptions): {
94
+ value: string;
95
+ account: string;
96
+ } | undefined;
97
+ export declare function readSecretSync({ service, account, }: ReadOptions): string | undefined;
98
+ export interface WriteOptions {
99
+ service: string;
100
+ account: string;
101
+ value: string;
102
+ /**
103
+ * Display label shown in Keychain Access.app / GNOME keyring etc. Defaults to
104
+ * `<service> credential`. Per-secret labels make the keyring UI navigable
105
+ * when a service has multiple entries.
106
+ */
107
+ label?: string | undefined;
108
+ }
109
+ /**
110
+ * Persist a single secret to the OS credential store. Throws on write failure —
111
+ * the caller is in a setup flow and should see why persistence failed, not
112
+ * silently continue.
113
+ *
114
+ * Returns the outcome: - `'written'` — value persisted (entry was absent or
115
+ * differed). - `'unchanged'` — current stored value already matches; no OS
116
+ * write performed. Useful for idempotent flows (re-running an installer
117
+ * shouldn't show "rewrote N secrets" when nothing actually changed).
118
+ */
119
+ export declare function writeSecret({ service, account, value, label, }: WriteOptions): Promise<'written' | 'unchanged'>;
120
+ export declare function writeSecretSync({ service, account, value, label, }: WriteOptions): 'written' | 'unchanged';
121
+ export interface WriteToSlotsOptions {
122
+ service: string;
123
+ accounts: readonly string[];
124
+ value: string;
125
+ label?: string | undefined;
126
+ }
127
+ /**
128
+ * Persist the same value under each account name in `accounts`. Useful when a
129
+ * value needs to be reachable under several env-var names (legacy aliases,
130
+ * sibling tools). Each slot gets its own keychain entry — they all hold the
131
+ * same string.
132
+ *
133
+ * If any individual write throws, prior writes have already persisted. Failures
134
+ * aren't rolled back (the half-state is at worst a stale legacy alias, which
135
+ * the next successful write cleans up).
136
+ */
137
+ export declare function writeSecretToSlots({ service, accounts, value, label, }: WriteToSlotsOptions): Promise<SecretWriteResult[]>;
138
+ export declare function writeSecretToSlotsSync({ service, accounts, value, label, }: WriteToSlotsOptions): SecretWriteResult[];