@socketsecurity/lib 6.0.2 → 6.0.4

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 (552) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/_virtual/_rolldown/runtime.js +45 -0
  3. package/dist/abort/signal.js +53 -59
  4. package/dist/ai/discover.js +110 -110
  5. package/dist/ai/profiles.d.mts +48 -25
  6. package/dist/ai/profiles.js +95 -59
  7. package/dist/ai/spawn.d.mts +2 -2
  8. package/dist/ai/spawn.js +172 -194
  9. package/dist/ai/types.d.mts +3 -3
  10. package/dist/ai/types.js +1 -17
  11. package/dist/ai/worktree.d.mts +2 -2
  12. package/dist/ai/worktree.js +160 -183
  13. package/dist/ansi/constants.js +16 -38
  14. package/dist/ansi/strip.js +44 -41
  15. package/dist/archives/_internal.js +64 -73
  16. package/dist/archives/detect.js +30 -43
  17. package/dist/archives/extract.js +43 -50
  18. package/dist/archives/tar.js +197 -228
  19. package/dist/archives/types.js +1 -17
  20. package/dist/archives/zip.js +85 -121
  21. package/dist/argv/flag-predicates.js +203 -101
  22. package/dist/argv/flag-types.js +96 -113
  23. package/dist/argv/parse-args-string.d.ts +16 -14
  24. package/dist/argv/parse-args-string.js +42 -39
  25. package/dist/argv/parse.js +145 -163
  26. package/dist/arrays/_internal.js +65 -48
  27. package/dist/arrays/chunk.js +51 -40
  28. package/dist/arrays/join.js +87 -35
  29. package/dist/arrays/predicates.js +46 -28
  30. package/dist/arrays/unique.js +45 -31
  31. package/dist/bin/_internal.js +34 -42
  32. package/dist/bin/check-primordials.js +175 -233
  33. package/dist/bin/check.js +51 -72
  34. package/dist/bin/exec.js +70 -74
  35. package/dist/bin/find.js +151 -134
  36. package/dist/bin/resolve.js +180 -246
  37. package/dist/bin/shadow.js +24 -33
  38. package/dist/bin/socket-lib.js +51 -73
  39. package/dist/bin/types.js +1 -17
  40. package/dist/bin/which.js +211 -146
  41. package/dist/cacache/_internal.js +25 -40
  42. package/dist/cacache/clear.js +79 -72
  43. package/dist/cacache/read.js +48 -46
  44. package/dist/cacache/tmp.js +29 -36
  45. package/dist/cacache/types.js +1 -17
  46. package/dist/cacache/write.js +43 -48
  47. package/dist/cache/ttl/store.js +232 -288
  48. package/dist/cache/ttl/types.js +1 -17
  49. package/dist/checks/primordials-defaults.js +83 -89
  50. package/dist/checks/primordials.js +225 -277
  51. package/dist/colors/convert.js +45 -37
  52. package/dist/colors/palette.js +88 -45
  53. package/dist/colors/socket-palette.js +74 -84
  54. package/dist/colors/types.js +1 -17
  55. package/dist/compression/_internal.js +57 -72
  56. package/dist/compression/brotli.js +94 -127
  57. package/dist/compression/gzip.js +95 -121
  58. package/dist/compression/types.js +1 -17
  59. package/dist/constants/agents.js +61 -113
  60. package/dist/constants/encoding.js +19 -42
  61. package/dist/constants/github.js +12 -30
  62. package/dist/constants/licenses.js +48 -63
  63. package/dist/constants/lifecycle-script-names.js +31 -45
  64. package/dist/constants/maintained-node-versions.js +22 -37
  65. package/dist/constants/node.js +226 -167
  66. package/dist/constants/package-default-node-range.js +16 -41
  67. package/dist/constants/package-default-socket-categories.js +12 -30
  68. package/dist/constants/packages.js +77 -126
  69. package/dist/constants/platform.js +27 -49
  70. package/dist/constants/sentinels.js +23 -48
  71. package/dist/constants/socket.js +42 -87
  72. package/dist/constants/testing.js +15 -34
  73. package/dist/constants/time.js +16 -36
  74. package/dist/constants/typescript.js +32 -52
  75. package/dist/cover/code.js +111 -142
  76. package/dist/cover/formatters.js +118 -101
  77. package/dist/cover/type.js +50 -76
  78. package/dist/cover/types.js +1 -17
  79. package/dist/crypto/hash.js +54 -46
  80. package/dist/debug/_internal.js +62 -71
  81. package/dist/debug/caller-info.js +53 -64
  82. package/dist/debug/namespace.js +80 -90
  83. package/dist/debug/output.js +172 -188
  84. package/dist/debug/types.js +1 -17
  85. package/dist/dlx/_internal.js +24 -43
  86. package/dist/dlx/arborist.js +162 -160
  87. package/dist/dlx/binary-cache.js +228 -200
  88. package/dist/dlx/binary-download.js +172 -211
  89. package/dist/dlx/binary-resolution.js +165 -157
  90. package/dist/dlx/binary-types.js +1 -17
  91. package/dist/dlx/binary.js +149 -189
  92. package/dist/dlx/cache.js +45 -30
  93. package/dist/dlx/detect.js +245 -167
  94. package/dist/dlx/dir.js +67 -51
  95. package/dist/dlx/firewall.js +62 -100
  96. package/dist/dlx/lockfile.js +122 -127
  97. package/dist/dlx/manifest.js +264 -274
  98. package/dist/dlx/package.js +241 -244
  99. package/dist/dlx/packages.js +99 -96
  100. package/dist/dlx/paths.js +73 -59
  101. package/dist/dlx/spec.js +52 -60
  102. package/dist/dlx/types.js +1 -17
  103. package/dist/eco/cargo/lockfile-format.js +19 -36
  104. package/dist/eco/cargo/manifest-format.js +17 -35
  105. package/dist/eco/cargo/parse-lockfile.js +210 -237
  106. package/dist/eco/manifest/analyze-lockfile.js +46 -63
  107. package/dist/eco/manifest/detect-format.js +66 -90
  108. package/dist/eco/manifest/find-packages.js +39 -64
  109. package/dist/eco/manifest/get-package-versions.js +27 -48
  110. package/dist/eco/manifest/get-package.js +21 -40
  111. package/dist/eco/manifest/manifest-error.js +14 -35
  112. package/dist/eco/manifest/parse-lockfile.js +40 -86
  113. package/dist/eco/manifest/parse-manifest.js +26 -43
  114. package/dist/eco/manifest/parse.js +26 -47
  115. package/dist/eco/manifest/types.js +1 -17
  116. package/dist/eco/npm/bun/exec.js +23 -32
  117. package/dist/eco/npm/manifest-format.js +21 -35
  118. package/dist/eco/npm/npm/exec.js +51 -61
  119. package/dist/eco/npm/npm/extract-package-name-from-path.js +28 -50
  120. package/dist/eco/npm/npm/flags.js +80 -52
  121. package/dist/eco/npm/npm/lockfile-format.js +21 -40
  122. package/dist/eco/npm/npm/parse-git-url.js +26 -40
  123. package/dist/eco/npm/npm/parse-lockfile.js +184 -210
  124. package/dist/eco/npm/parse-package-json.js +71 -102
  125. package/dist/eco/npm/pnpm/detect-pnpm-version.js +22 -43
  126. package/dist/eco/npm/pnpm/exec.js +51 -62
  127. package/dist/eco/npm/pnpm/flags.js +75 -68
  128. package/dist/eco/npm/pnpm/lockfile-format.js +19 -36
  129. package/dist/eco/npm/pnpm/parse-lockfile.js +235 -259
  130. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +37 -47
  131. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +36 -49
  132. package/dist/eco/npm/script.js +82 -90
  133. package/dist/eco/npm/vlt/exec.js +24 -32
  134. package/dist/eco/npm/yarnpkg/yarn/exec.js +60 -59
  135. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +20 -36
  136. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +194 -242
  137. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +37 -61
  138. package/dist/eco/purl.js +50 -60
  139. package/dist/eco/types.js +1 -17
  140. package/dist/effects/pulse-frames.js +64 -65
  141. package/dist/effects/shimmer-keyframes.js +71 -52
  142. package/dist/effects/shimmer-terminal.js +81 -50
  143. package/dist/effects/shimmer.js +290 -153
  144. package/dist/env/boolean.js +42 -43
  145. package/dist/env/case-insensitive.js +54 -39
  146. package/dist/env/ci.js +29 -31
  147. package/dist/env/debug.js +28 -31
  148. package/dist/env/github.js +144 -59
  149. package/dist/env/home.js +38 -31
  150. package/dist/env/locale.js +59 -39
  151. package/dist/env/node-auth-token.js +28 -31
  152. package/dist/env/node-env.js +28 -31
  153. package/dist/env/npm.js +94 -47
  154. package/dist/env/number.js +50 -51
  155. package/dist/env/package-manager.js +95 -83
  156. package/dist/env/path.js +28 -31
  157. package/dist/env/pre-commit.js +30 -32
  158. package/dist/env/proxy.js +121 -122
  159. package/dist/env/rewire.js +204 -96
  160. package/dist/env/shell.js +28 -31
  161. package/dist/env/socket-cli.js +233 -81
  162. package/dist/env/socket.js +521 -156
  163. package/dist/env/string.js +43 -44
  164. package/dist/env/temp-dir.js +59 -39
  165. package/dist/env/term.js +28 -31
  166. package/dist/env/test.js +65 -43
  167. package/dist/env/types.js +1 -17
  168. package/dist/env/windows.js +78 -43
  169. package/dist/env/xdg.js +62 -39
  170. package/dist/errors/message.js +40 -46
  171. package/dist/errors/predicates.js +61 -49
  172. package/dist/errors/stack.js +24 -36
  173. package/dist/events/exit/_internal.js +86 -103
  174. package/dist/events/exit/handler.js +48 -55
  175. package/dist/events/exit/intercept.js +49 -70
  176. package/dist/events/exit/lifecycle.js +92 -101
  177. package/dist/events/exit/signals.js +25 -31
  178. package/dist/events/exit/types.js +1 -17
  179. package/dist/events/warning/handler.js +43 -40
  180. package/dist/events/warning/suppress.js +111 -90
  181. package/dist/external/@npmcli/package-json/lib/read-package.js +132 -153
  182. package/dist/external/@npmcli/package-json/lib/sort.js +73 -105
  183. package/dist/external/@npmcli/package-json.js +12705 -15140
  184. package/dist/external/@npmcli/promise-spawn.js +451 -472
  185. package/dist/external/@sinclair/typebox/value.js +7443 -9002
  186. package/dist/external/@sinclair/typebox.js +7516 -7885
  187. package/dist/external/@socketregistry/is-unicode-supported.js +31 -39
  188. package/dist/external/@socketregistry/packageurl-js.js +6127 -7369
  189. package/dist/external/@socketregistry/yocto-spinner.js +394 -455
  190. package/dist/external/@yarnpkg/extensions.js +435 -1022
  191. package/dist/external/adm-zip.js +2313 -2673
  192. package/dist/external/debug.js +700 -687
  193. package/dist/external/external-pack.js +2658 -3171
  194. package/dist/external/fast-sort.js +124 -138
  195. package/dist/external/get-east-asian-width.js +70 -64
  196. package/dist/external/libnpmexec.js +28 -31
  197. package/dist/external/npm-pack.js +43617 -50137
  198. package/dist/external/p-map.js +198 -222
  199. package/dist/external/pico-pack.js +6735 -7304
  200. package/dist/external/pony-cause.js +143 -139
  201. package/dist/external/shell-quote.js +226 -0
  202. package/dist/external/spdx-pack.js +1283 -1403
  203. package/dist/external/streaming-iterables.js +835 -1052
  204. package/dist/external/tar-fs.js +2769 -3048
  205. package/dist/external/which.js +267 -251
  206. package/dist/external/yargs-parser.js +851 -1074
  207. package/dist/external-tools/bazel/asset-names.js +98 -90
  208. package/dist/external-tools/bazel/from-download.js +52 -46
  209. package/dist/external-tools/bazel/from-path.js +27 -38
  210. package/dist/external-tools/bazel/read-bazel-version-file.js +35 -57
  211. package/dist/external-tools/bazel/resolve-asset-url.js +24 -39
  212. package/dist/external-tools/bazel/resolve-bazel-version.js +34 -56
  213. package/dist/external-tools/bazel/resolve.js +44 -58
  214. package/dist/external-tools/bazel/types.js +1 -17
  215. package/dist/external-tools/cdxgen/asset-names.js +59 -66
  216. package/dist/external-tools/cdxgen/from-download.js +52 -80
  217. package/dist/external-tools/cdxgen/from-path.js +19 -37
  218. package/dist/external-tools/cdxgen/from-vfs.js +22 -43
  219. package/dist/external-tools/cdxgen/resolve.js +48 -63
  220. package/dist/external-tools/cdxgen/types.js +1 -17
  221. package/dist/external-tools/from-download.js +107 -67
  222. package/dist/external-tools/janus/asset-names.js +44 -51
  223. package/dist/external-tools/janus/from-download.js +45 -70
  224. package/dist/external-tools/janus/from-path.js +19 -37
  225. package/dist/external-tools/janus/from-vfs.js +22 -43
  226. package/dist/external-tools/janus/resolve.js +45 -63
  227. package/dist/external-tools/janus/types.js +1 -17
  228. package/dist/external-tools/jre/asset-names.js +109 -82
  229. package/dist/external-tools/jre/detect-platform-arch.js +25 -49
  230. package/dist/external-tools/jre/from-download.js +71 -67
  231. package/dist/external-tools/jre/from-java-home.js +27 -54
  232. package/dist/external-tools/jre/from-path.js +27 -49
  233. package/dist/external-tools/jre/from-vfs.js +39 -60
  234. package/dist/external-tools/jre/resolve.js +55 -68
  235. package/dist/external-tools/jre/types.js +1 -17
  236. package/dist/external-tools/manifest.js +130 -150
  237. package/dist/external-tools/opengrep/asset-names.js +60 -72
  238. package/dist/external-tools/opengrep/from-download.js +58 -80
  239. package/dist/external-tools/opengrep/from-path.js +19 -37
  240. package/dist/external-tools/opengrep/from-vfs.js +23 -43
  241. package/dist/external-tools/opengrep/resolve.js +43 -63
  242. package/dist/external-tools/opengrep/types.js +1 -17
  243. package/dist/external-tools/sbt/asset-names.js +21 -30
  244. package/dist/external-tools/sbt/from-download.js +50 -61
  245. package/dist/external-tools/sbt/from-path.js +23 -38
  246. package/dist/external-tools/sbt/from-vfs.js +30 -44
  247. package/dist/external-tools/sbt/resolve.js +45 -63
  248. package/dist/external-tools/sbt/types.js +1 -17
  249. package/dist/external-tools/synp/asset-names.js +11 -29
  250. package/dist/external-tools/synp/from-download.js +24 -41
  251. package/dist/external-tools/synp/from-path.js +19 -37
  252. package/dist/external-tools/synp/from-vfs.js +22 -43
  253. package/dist/external-tools/synp/resolve.js +43 -62
  254. package/dist/external-tools/synp/types.js +1 -17
  255. package/dist/external-tools/trivy/asset-names.js +51 -62
  256. package/dist/external-tools/trivy/from-download.js +42 -64
  257. package/dist/external-tools/trivy/from-path.js +19 -37
  258. package/dist/external-tools/trivy/from-vfs.js +22 -43
  259. package/dist/external-tools/trivy/resolve.js +43 -63
  260. package/dist/external-tools/trivy/types.js +1 -17
  261. package/dist/external-tools/trufflehog/asset-names.js +54 -66
  262. package/dist/external-tools/trufflehog/from-download.js +44 -62
  263. package/dist/external-tools/trufflehog/from-path.js +21 -37
  264. package/dist/external-tools/trufflehog/from-vfs.js +26 -43
  265. package/dist/external-tools/trufflehog/resolve.js +43 -63
  266. package/dist/external-tools/trufflehog/types.js +1 -17
  267. package/dist/external-tools/uv/asset-names.js +64 -74
  268. package/dist/external-tools/uv/from-download.js +44 -65
  269. package/dist/external-tools/uv/from-path.js +19 -37
  270. package/dist/external-tools/uv/from-vfs.js +22 -43
  271. package/dist/external-tools/uv/resolve.js +42 -63
  272. package/dist/external-tools/uv/types.js +1 -17
  273. package/dist/fs/_internal.js +40 -42
  274. package/dist/fs/access.d.ts +32 -0
  275. package/dist/fs/access.js +66 -0
  276. package/dist/fs/encoding.js +80 -97
  277. package/dist/fs/find-up.js +126 -147
  278. package/dist/fs/inspect.js +168 -99
  279. package/dist/fs/path-cache.js +31 -32
  280. package/dist/fs/read-dir.js +102 -79
  281. package/dist/fs/read-file.js +177 -118
  282. package/dist/fs/read-json-cache.js +150 -134
  283. package/dist/fs/read-json.js +172 -187
  284. package/dist/fs/resolve-module.d.ts +57 -0
  285. package/dist/fs/resolve-module.js +40 -0
  286. package/dist/fs/safe.js +278 -169
  287. package/dist/fs/types.js +1 -17
  288. package/dist/fs/unique.js +52 -48
  289. package/dist/fs/validate.js +56 -43
  290. package/dist/fs/write-json.js +109 -75
  291. package/dist/git/_internal.js +251 -216
  292. package/dist/git/changed.js +191 -74
  293. package/dist/git/repo.js +118 -104
  294. package/dist/git/staged.js +172 -62
  295. package/dist/git/types.js +1 -17
  296. package/dist/git/unstaged.js +175 -62
  297. package/dist/github/constants.js +25 -33
  298. package/dist/github/errors.js +46 -38
  299. package/dist/github/fetch.js +137 -82
  300. package/dist/github/ghsa.js +217 -151
  301. package/dist/github/refs-cache.js +54 -43
  302. package/dist/github/refs-graphql.js +97 -89
  303. package/dist/github/refs-rest.js +70 -101
  304. package/dist/github/refs.js +105 -64
  305. package/dist/github/token.js +96 -48
  306. package/dist/github/types.js +1 -17
  307. package/dist/globs/_internal.js +73 -82
  308. package/dist/globs/defaults.js +40 -59
  309. package/dist/globs/match.js +93 -77
  310. package/dist/globs/matcher.js +104 -92
  311. package/dist/globs/stream.js +43 -55
  312. package/dist/globs/types.js +1 -17
  313. package/dist/http-request/_internal.js +11 -38
  314. package/dist/http-request/browser-fetch.js +19 -29
  315. package/dist/http-request/browser.js +188 -206
  316. package/dist/http-request/checksums.js +101 -65
  317. package/dist/http-request/download-types.js +1 -17
  318. package/dist/http-request/download.js +195 -196
  319. package/dist/http-request/errors.js +39 -47
  320. package/dist/http-request/headers.js +95 -80
  321. package/dist/http-request/http-request.js +10 -35
  322. package/dist/http-request/node.js +71 -97
  323. package/dist/http-request/request-attempt.js +232 -285
  324. package/dist/http-request/request-types.js +1 -17
  325. package/dist/http-request/request.js +106 -108
  326. package/dist/http-request/response-reader.js +47 -51
  327. package/dist/http-request/response-types.js +22 -38
  328. package/dist/http-request/user-agent.js +73 -55
  329. package/dist/integrity.js +105 -106
  330. package/dist/ipc/_internal.js +34 -48
  331. package/dist/ipc/directory.js +55 -63
  332. package/dist/ipc/paths.js +52 -45
  333. package/dist/ipc/types.js +1 -17
  334. package/dist/ipc/write.js +81 -74
  335. package/dist/ipc-cli/get.js +29 -56
  336. package/dist/ipc-cli/types.js +1 -17
  337. package/dist/json/edit.js +182 -242
  338. package/dist/json/format.js +202 -103
  339. package/dist/json/parse.js +206 -109
  340. package/dist/json/types.js +1 -17
  341. package/dist/links/create.js +93 -60
  342. package/dist/links/types.js +1 -17
  343. package/dist/logger/_internal.js +109 -73
  344. package/dist/logger/browser.js +45 -56
  345. package/dist/logger/colors.js +31 -49
  346. package/dist/logger/console.js +89 -112
  347. package/dist/logger/default.js +19 -33
  348. package/dist/logger/logger.js +5 -29
  349. package/dist/logger/node.js +794 -854
  350. package/dist/logger/symbols-builder.js +54 -56
  351. package/dist/logger/symbols.js +135 -118
  352. package/dist/logger/types.js +1 -17
  353. package/dist/memo/_internal.js +39 -49
  354. package/dist/memo/async.js +133 -117
  355. package/dist/memo/clear.js +25 -34
  356. package/dist/memo/decorator.js +43 -37
  357. package/dist/memo/memoize.js +97 -88
  358. package/dist/memo/once.js +42 -41
  359. package/dist/memo/types.js +1 -17
  360. package/dist/memo/weak.js +45 -41
  361. package/dist/node/async-hooks.js +9 -30
  362. package/dist/node/child-process.js +9 -30
  363. package/dist/node/crypto.js +9 -30
  364. package/dist/node/events.js +9 -30
  365. package/dist/node/fs-promises.js +9 -30
  366. package/dist/node/fs.js +9 -30
  367. package/dist/node/http.js +9 -30
  368. package/dist/node/https.js +9 -30
  369. package/dist/node/module.js +20 -34
  370. package/dist/node/os.js +9 -30
  371. package/dist/node/path.js +9 -30
  372. package/dist/node/timers-promises.js +9 -30
  373. package/dist/node/url.js +9 -30
  374. package/dist/node/util.js +9 -30
  375. package/dist/objects/getters.js +185 -126
  376. package/dist/objects/inspect.js +85 -52
  377. package/dist/objects/mutate.js +96 -76
  378. package/dist/objects/predicates.js +112 -59
  379. package/dist/objects/sort.js +120 -76
  380. package/dist/objects/types.js +1 -17
  381. package/dist/packages/edit-class.js +198 -265
  382. package/dist/packages/edit.js +79 -86
  383. package/dist/packages/exports.js +146 -157
  384. package/dist/packages/isolation.js +159 -209
  385. package/dist/packages/licenses.js +207 -189
  386. package/dist/packages/manifest.js +134 -172
  387. package/dist/packages/normalize.js +91 -102
  388. package/dist/packages/operations.d.ts +2 -0
  389. package/dist/packages/operations.js +283 -254
  390. package/dist/packages/provenance.js +195 -245
  391. package/dist/packages/specs.js +94 -84
  392. package/dist/packages/types.js +1 -17
  393. package/dist/packages/validation.js +49 -50
  394. package/dist/paths/_internal.js +82 -86
  395. package/dist/paths/conversion.js +112 -65
  396. package/dist/paths/dirnames.js +17 -42
  397. package/dist/paths/exts.js +23 -54
  398. package/dist/paths/filenames.js +21 -50
  399. package/dist/paths/globs.js +15 -38
  400. package/dist/paths/normalize.js +215 -236
  401. package/dist/paths/packages.js +34 -49
  402. package/dist/paths/predicates.js +184 -106
  403. package/dist/paths/resolve.js +146 -128
  404. package/dist/paths/rewire.js +108 -72
  405. package/dist/paths/socket.js +252 -132
  406. package/dist/paths/walk.d.ts +40 -0
  407. package/dist/paths/walk.js +58 -0
  408. package/dist/perf/_internal.js +10 -28
  409. package/dist/perf/enabled.js +21 -30
  410. package/dist/perf/metrics.js +81 -67
  411. package/dist/perf/report.js +79 -80
  412. package/dist/perf/timer.js +180 -126
  413. package/dist/perf/types.js +1 -17
  414. package/dist/pkg-ext/data.js +29 -82
  415. package/dist/pkg-ext/types.js +1 -17
  416. package/dist/primordials/array.js +120 -198
  417. package/dist/primordials/buffer.js +28 -51
  418. package/dist/primordials/date.js +26 -51
  419. package/dist/primordials/error.js +33 -59
  420. package/dist/primordials/function.js +21 -41
  421. package/dist/primordials/globals.js +25 -48
  422. package/dist/primordials/json.js +14 -30
  423. package/dist/primordials/map-set.js +88 -152
  424. package/dist/primordials/math.js +59 -116
  425. package/dist/primordials/number.js +41 -76
  426. package/dist/primordials/object.js +56 -116
  427. package/dist/primordials/promise.js +28 -52
  428. package/dist/primordials/reflect.js +24 -52
  429. package/dist/primordials/regexp.js +25 -47
  430. package/dist/primordials/string.js +114 -167
  431. package/dist/primordials/symbol.js +40 -72
  432. package/dist/primordials/uncurry.js +38 -55
  433. package/dist/primordials/url.js +27 -66
  434. package/dist/process/_internal.js +7 -32
  435. package/dist/process/abort.js +29 -35
  436. package/dist/process/lock-instance.js +26 -30
  437. package/dist/process/lock-manager.js +279 -307
  438. package/dist/process/lock-types.js +1 -17
  439. package/dist/process/spawn/_internal.js +43 -55
  440. package/dist/process/spawn/child.js +172 -211
  441. package/dist/process/spawn/errors.js +116 -113
  442. package/dist/process/spawn/stdio.js +51 -35
  443. package/dist/process/spawn/types.js +1 -17
  444. package/dist/process/transient.js +49 -66
  445. package/dist/promises/_internal.d.ts +8 -2
  446. package/dist/promises/_internal.js +31 -38
  447. package/dist/promises/iterate.js +238 -102
  448. package/dist/promises/options.js +123 -101
  449. package/dist/promises/queue.js +115 -136
  450. package/dist/promises/resolvers.js +77 -46
  451. package/dist/promises/retry.js +156 -101
  452. package/dist/promises/types.js +1 -17
  453. package/dist/regexps/escape.js +32 -30
  454. package/dist/regexps/hex.js +16 -33
  455. package/dist/regexps/spec.js +53 -81
  456. package/dist/releases/github-archives.js +127 -118
  457. package/dist/releases/github-asset-url.js +162 -155
  458. package/dist/releases/github-assets.js +37 -49
  459. package/dist/releases/github-auth.js +32 -48
  460. package/dist/releases/github-downloads.js +118 -138
  461. package/dist/releases/github-listing.js +175 -154
  462. package/dist/releases/github-retry-config.d.ts +31 -0
  463. package/dist/releases/github-retry-config.js +46 -0
  464. package/dist/releases/github-types.js +1 -17
  465. package/dist/releases/socket-btm.js +273 -192
  466. package/dist/schema/parse.js +35 -36
  467. package/dist/schema/types.js +1 -17
  468. package/dist/schema/validate.js +118 -99
  469. package/dist/sea/detect.js +57 -52
  470. package/dist/secrets/_internal.js +86 -67
  471. package/dist/secrets/find.js +96 -77
  472. package/dist/secrets/keychain.js +315 -309
  473. package/dist/secrets/linux.js +133 -135
  474. package/dist/secrets/macos.js +151 -147
  475. package/dist/secrets/rc.js +182 -181
  476. package/dist/secrets/socket-api-token.js +28 -43
  477. package/dist/secrets/types.js +1 -17
  478. package/dist/secrets/windows.js +184 -242
  479. package/dist/shadow/skip.js +51 -70
  480. package/dist/shadow/types.js +1 -17
  481. package/dist/shell/parse.d.ts +26 -0
  482. package/dist/shell/parse.js +35 -0
  483. package/dist/shell/quote.d.ts +19 -0
  484. package/dist/shell/quote.js +30 -0
  485. package/dist/smol/detect.js +67 -43
  486. package/dist/smol/http.js +33 -37
  487. package/dist/smol/https.js +31 -37
  488. package/dist/smol/manifest.js +33 -37
  489. package/dist/smol/path.d.ts +51 -0
  490. package/dist/smol/path.js +38 -0
  491. package/dist/smol/primordial.js +35 -37
  492. package/dist/smol/purl.js +34 -37
  493. package/dist/smol/versions.js +31 -37
  494. package/dist/smol/vfs.js +46 -38
  495. package/dist/sorts/_internal.js +14 -40
  496. package/dist/sorts/natural.js +57 -64
  497. package/dist/sorts/semver.js +33 -43
  498. package/dist/sorts/strings.js +24 -30
  499. package/dist/sorts/types.js +1 -17
  500. package/dist/spinner/default.js +72 -63
  501. package/dist/spinner/format.js +86 -71
  502. package/dist/spinner/spinner.js +749 -797
  503. package/dist/spinner/types.js +1 -17
  504. package/dist/spinner/with.js +193 -137
  505. package/dist/ssri/convert.js +64 -47
  506. package/dist/ssri/parse.js +38 -37
  507. package/dist/ssri/validate.js +51 -34
  508. package/dist/stdio/_internal.js +50 -46
  509. package/dist/stdio/clear.js +208 -86
  510. package/dist/stdio/divider.js +170 -97
  511. package/dist/stdio/footer.js +116 -110
  512. package/dist/stdio/header.js +117 -90
  513. package/dist/stdio/progress.js +189 -218
  514. package/dist/stdio/prompts.js +244 -168
  515. package/dist/stdio/stderr.js +173 -78
  516. package/dist/stdio/stdout.js +177 -94
  517. package/dist/streams/parallel.js +58 -50
  518. package/dist/streams/transform.js +36 -45
  519. package/dist/strings/format.js +145 -63
  520. package/dist/strings/predicates.js +56 -34
  521. package/dist/strings/search.js +52 -42
  522. package/dist/strings/transform.js +113 -72
  523. package/dist/strings/types.js +1 -17
  524. package/dist/strings/width.js +89 -82
  525. package/dist/tables/bordered.js +81 -81
  526. package/dist/tables/padding.js +36 -46
  527. package/dist/tables/simple.js +62 -70
  528. package/dist/tables/types.js +1 -17
  529. package/dist/temporal/instant.js +72 -81
  530. package/dist/temporal/now.js +40 -31
  531. package/dist/temporal/slots.js +42 -36
  532. package/dist/temporal/system.js +36 -36
  533. package/dist/temporal/temporal.js +11 -41
  534. package/dist/themes/context.js +131 -69
  535. package/dist/themes/resolve.js +207 -132
  536. package/dist/themes/themes.js +225 -194
  537. package/dist/themes/types.js +1 -17
  538. package/dist/url/parse.js +48 -51
  539. package/dist/url/predicates.js +24 -31
  540. package/dist/url/search-params.js +133 -101
  541. package/dist/url/types.js +1 -17
  542. package/dist/versions/_internal.js +31 -33
  543. package/dist/versions/compare.js +80 -58
  544. package/dist/versions/modify.js +41 -39
  545. package/dist/versions/parse.js +88 -64
  546. package/dist/versions/range.js +58 -41
  547. package/dist/versions/types.js +1 -17
  548. package/dist/words/article.js +22 -30
  549. package/dist/words/capitalize.js +25 -34
  550. package/dist/words/pluralize.js +23 -31
  551. package/dist/words/types.js +1 -17
  552. package/package.json +42 -5
@@ -1,151 +1,149 @@
1
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 linux_exports = {};
22
- __export(linux_exports, {
23
- deleteLinux: () => deleteLinux,
24
- deleteLinuxSync: () => deleteLinuxSync,
25
- isLinuxBackendAvailable: () => isLinuxBackendAvailable,
26
- readLinux: () => readLinux,
27
- readLinuxSync: () => readLinuxSync,
28
- writeLinux: () => writeLinux,
29
- writeLinuxSync: () => writeLinuxSync
30
- });
31
- module.exports = __toCommonJS(linux_exports);
32
- var import_node_child_process = require("node:child_process");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ let node_child_process = require("node:child_process");
5
+
6
+ //#region src/secrets/linux.ts
7
+ /**
8
+ * @file Linux Secret Service backend via `secret-tool`. `secret-tool` is the
9
+ * user-facing CLI for libsecret, which talks to any running Secret Service
10
+ * provider (gnome-keyring, kwallet5, KeePassXC's Secret Service integration,
11
+ * etc.). Most desktop Linux installs have one; headless / containerized hosts
12
+ * do not. Storage shape: each item has a `service=<svc> user=<account>`
13
+ * attribute pair plus the password body. Reads + writes use those two
14
+ * attributes as the lookup key. The label (`--label`) is what shows up in the
15
+ * user's keyring UI; we set it to the same string passed in by the caller. No
16
+ * backing-file fallback. If `secret-tool` isn't on PATH or no Secret Service
17
+ * provider is running, reads return `undefined` and writes throw with an
18
+ * actionable hint — callers fall back to env variables for that session.
19
+ */
33
20
  const SECRET_TOOL_BIN = "secret-tool";
34
21
  async function deleteLinux(service, account) {
35
- return new Promise((resolve) => {
36
- const child = (0, import_node_child_process.spawn)(
37
- SECRET_TOOL_BIN,
38
- ["clear", "service", service, "user", account],
39
- { stdio: "ignore" }
40
- );
41
- child.on("error", () => resolve("absent"));
42
- child.on("close", (status) => resolve(status === 0 ? "removed" : "absent"));
43
- });
22
+ return new Promise((resolve) => {
23
+ const child = (0, node_child_process.spawn)(SECRET_TOOL_BIN, [
24
+ "clear",
25
+ "service",
26
+ service,
27
+ "user",
28
+ account
29
+ ], { stdio: "ignore" });
30
+ child.on("error", () => resolve("absent"));
31
+ child.on("close", (status) => resolve(status === 0 ? "removed" : "absent"));
32
+ });
44
33
  }
45
34
  function deleteLinuxSync(service, account) {
46
- const r = (0, import_node_child_process.spawnSync)(
47
- SECRET_TOOL_BIN,
48
- ["clear", "service", service, "user", account],
49
- { stdio: "ignore" }
50
- );
51
- return r.status === 0 ? "removed" : "absent";
35
+ return (0, node_child_process.spawnSync)(SECRET_TOOL_BIN, [
36
+ "clear",
37
+ "service",
38
+ service,
39
+ "user",
40
+ account
41
+ ], { stdio: "ignore" }).status === 0 ? "removed" : "absent";
52
42
  }
53
43
  function isLinuxBackendAvailable() {
54
- const r = (0, import_node_child_process.spawnSync)(SECRET_TOOL_BIN, ["--version"], { stdio: "ignore" });
55
- return r.status === 0;
44
+ return (0, node_child_process.spawnSync)(SECRET_TOOL_BIN, ["--version"], { stdio: "ignore" }).status === 0;
56
45
  }
57
46
  async function readLinux(service, account) {
58
- return new Promise((resolve) => {
59
- const child = (0, import_node_child_process.spawn)(
60
- SECRET_TOOL_BIN,
61
- ["lookup", "service", service, "user", account],
62
- { stdio: ["ignore", "pipe", "pipe"] }
63
- );
64
- let stdout = "";
65
- child.stdout.setEncoding("utf8");
66
- child.stdout.on("data", (chunk) => {
67
- stdout += chunk;
68
- });
69
- child.on("error", () => resolve(void 0));
70
- child.on("close", (status) => {
71
- if (status !== 0) {
72
- resolve(void 0);
73
- return;
74
- }
75
- const out = stdout.trim();
76
- resolve(out || void 0);
77
- });
78
- });
47
+ return new Promise((resolve) => {
48
+ const child = (0, node_child_process.spawn)(SECRET_TOOL_BIN, [
49
+ "lookup",
50
+ "service",
51
+ service,
52
+ "user",
53
+ account
54
+ ], { stdio: [
55
+ "ignore",
56
+ "pipe",
57
+ "pipe"
58
+ ] });
59
+ let stdout = "";
60
+ child.stdout.setEncoding("utf8");
61
+ child.stdout.on("data", (chunk) => {
62
+ stdout += chunk;
63
+ });
64
+ child.on("error", () => resolve(void 0));
65
+ child.on("close", (status) => {
66
+ if (status !== 0) {
67
+ resolve(void 0);
68
+ return;
69
+ }
70
+ resolve(stdout.trim() || void 0);
71
+ });
72
+ });
79
73
  }
80
74
  function readLinuxSync(service, account) {
81
- const r = (0, import_node_child_process.spawnSync)(
82
- SECRET_TOOL_BIN,
83
- ["lookup", "service", service, "user", account],
84
- { encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] }
85
- );
86
- if (r.status !== 0) {
87
- return void 0;
88
- }
89
- const out = r.stdout.trim();
90
- return out || void 0;
75
+ const r = (0, node_child_process.spawnSync)(SECRET_TOOL_BIN, [
76
+ "lookup",
77
+ "service",
78
+ service,
79
+ "user",
80
+ account
81
+ ], {
82
+ encoding: "utf8",
83
+ stdio: [
84
+ "ignore",
85
+ "pipe",
86
+ "pipe"
87
+ ]
88
+ });
89
+ if (r.status !== 0) return;
90
+ return r.stdout.trim() || void 0;
91
91
  }
92
92
  async function writeLinux(service, account, value, label) {
93
- return new Promise((resolve, reject) => {
94
- const child = (0, import_node_child_process.spawn)(
95
- SECRET_TOOL_BIN,
96
- ["store", `--label=${label}`, "service", service, "user", account],
97
- { stdio: ["pipe", "pipe", "pipe"] }
98
- );
99
- let stderr = "";
100
- child.stderr.setEncoding("utf8");
101
- child.stderr.on("data", (chunk) => {
102
- stderr += chunk;
103
- });
104
- child.on(
105
- "error",
106
- (err) => reject(
107
- new Error(
108
- `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.`
109
- )
110
- )
111
- );
112
- child.on("close", (status) => {
113
- if (status === 0) {
114
- resolve();
115
- return;
116
- }
117
- reject(
118
- new Error(
119
- `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
- )
121
- );
122
- });
123
- child.stdin.end(value);
124
- });
93
+ return new Promise((resolve, reject) => {
94
+ const child = (0, node_child_process.spawn)(SECRET_TOOL_BIN, [
95
+ "store",
96
+ `--label=${label}`,
97
+ "service",
98
+ service,
99
+ "user",
100
+ account
101
+ ], { stdio: [
102
+ "pipe",
103
+ "pipe",
104
+ "pipe"
105
+ ] });
106
+ let stderr = "";
107
+ child.stderr.setEncoding("utf8");
108
+ child.stderr.on("data", (chunk) => {
109
+ stderr += chunk;
110
+ });
111
+ 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.`)));
112
+ child.on("close", (status) => {
113
+ if (status === 0) {
114
+ resolve();
115
+ return;
116
+ }
117
+ 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.`));
118
+ });
119
+ child.stdin.end(value);
120
+ });
125
121
  }
126
122
  function writeLinuxSync(service, account, value, label) {
127
- const r = (0, import_node_child_process.spawnSync)(
128
- SECRET_TOOL_BIN,
129
- ["store", `--label=${label}`, "service", service, "user", account],
130
- {
131
- encoding: "utf8",
132
- input: value,
133
- stdio: ["pipe", "pipe", "pipe"]
134
- }
135
- );
136
- if (r.status !== 0) {
137
- throw new Error(
138
- `secret-tool store failed (status=${r.status}, user=${account}): ${r.stderr.trim()}. Install libsecret-tools (apt install libsecret-tools / dnf install libsecret) or ensure a Secret Service provider (gnome-keyring, kwallet) is running.`
139
- );
140
- }
123
+ const r = (0, node_child_process.spawnSync)(SECRET_TOOL_BIN, [
124
+ "store",
125
+ `--label=${label}`,
126
+ "service",
127
+ service,
128
+ "user",
129
+ account
130
+ ], {
131
+ encoding: "utf8",
132
+ input: value,
133
+ stdio: [
134
+ "pipe",
135
+ "pipe",
136
+ "pipe"
137
+ ]
138
+ });
139
+ if (r.status !== 0) throw new Error(`secret-tool store failed (status=${r.status}, user=${account}): ${r.stderr.trim()}. Install libsecret-tools (apt install libsecret-tools / dnf install libsecret) or ensure a Secret Service provider (gnome-keyring, kwallet) is running.`);
141
140
  }
142
- // Annotate the CommonJS export names for ESM import in node:
143
- 0 && (module.exports = {
144
- deleteLinux,
145
- deleteLinuxSync,
146
- isLinuxBackendAvailable,
147
- readLinux,
148
- readLinuxSync,
149
- writeLinux,
150
- writeLinuxSync
151
- });
141
+
142
+ //#endregion
143
+ exports.deleteLinux = deleteLinux;
144
+ exports.deleteLinuxSync = deleteLinuxSync;
145
+ exports.isLinuxBackendAvailable = isLinuxBackendAvailable;
146
+ exports.readLinux = readLinux;
147
+ exports.readLinuxSync = readLinuxSync;
148
+ exports.writeLinux = writeLinux;
149
+ exports.writeLinuxSync = writeLinuxSync;
@@ -1,165 +1,169 @@
1
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 macos_exports = {};
22
- __export(macos_exports, {
23
- deleteMacOS: () => deleteMacOS,
24
- deleteMacOSSync: () => deleteMacOSSync,
25
- isMacOSBackendAvailable: () => isMacOSBackendAvailable,
26
- readMacOS: () => readMacOS,
27
- readMacOSSync: () => readMacOSSync,
28
- runAsync: () => runAsync,
29
- writeMacOS: () => writeMacOS,
30
- writeMacOSSync: () => writeMacOSSync
31
- });
32
- module.exports = __toCommonJS(macos_exports);
33
- var import_node_child_process = require("node:child_process");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ let node_child_process = require("node:child_process");
5
+
6
+ //#region src/secrets/macos.ts
7
+ /**
8
+ * @file MacOS Keychain backend via `security(1)`. The native `security` CLI
9
+ * ships with macOS no install step. We use generic-password items, which
10
+ * are the simplest credential shape Keychain supports (service + account →
11
+ * password string). Process model: each call spawns `security`. Read returns
12
+ * the password on stdout; write uses `-w <value>` (we accept that the value
13
+ * briefly appears in argv `security` is local-only and runs in the user's
14
+ * session, so the leakage surface is `ps(1)` for one other process on the
15
+ * same user). Delete is best-effort. ACL: writes use `-A -T ''` so any
16
+ * application on the user's account can read the entry without an extra
17
+ * Keychain prompt. The first write still prompts once (creating / updating
18
+ * the entry requires the user to authorize that one action), but every later
19
+ * read is silent — sfw, socket-cli, MCP servers, and the bash shell itself
20
+ * all read the same value with no UI. The trust model: the user explicitly
21
+ * authorized the install flow that wrote this; the value is theirs to use
22
+ * across their tooling, not a credential earmarked for a single binary path.
23
+ * Revocable in Keychain Access.app if the user changes their mind. This
24
+ * restores the original wheelhouse `token-storage.mts` behavior dropped in
25
+ * v6's first cut.
26
+ */
34
27
  const SECURITY_BIN = "security";
35
28
  async function deleteMacOS(service, account) {
36
- const r = await runAsync(
37
- ["delete-generic-password", "-s", service, "-a", account],
38
- { stdio: "ignore" }
39
- );
40
- return r.status === 0 ? "removed" : "absent";
29
+ return (await runAsync([
30
+ "delete-generic-password",
31
+ "-s",
32
+ service,
33
+ "-a",
34
+ account
35
+ ], { stdio: "ignore" })).status === 0 ? "removed" : "absent";
41
36
  }
42
37
  function deleteMacOSSync(service, account) {
43
- const r = (0, import_node_child_process.spawnSync)(
44
- SECURITY_BIN,
45
- ["delete-generic-password", "-s", service, "-a", account],
46
- { stdio: "ignore" }
47
- );
48
- return r.status === 0 ? "removed" : "absent";
38
+ return (0, node_child_process.spawnSync)(SECURITY_BIN, [
39
+ "delete-generic-password",
40
+ "-s",
41
+ service,
42
+ "-a",
43
+ account
44
+ ], { stdio: "ignore" }).status === 0 ? "removed" : "absent";
49
45
  }
50
46
  function isMacOSBackendAvailable() {
51
- return true;
47
+ return true;
52
48
  }
53
49
  async function readMacOS(service, account) {
54
- const r = await runAsync([
55
- "find-generic-password",
56
- "-s",
57
- service,
58
- "-a",
59
- account,
60
- "-w"
61
- ]);
62
- if (r.status !== 0) {
63
- return void 0;
64
- }
65
- const out = r.stdout.trim();
66
- return out || void 0;
50
+ const r = await runAsync([
51
+ "find-generic-password",
52
+ "-s",
53
+ service,
54
+ "-a",
55
+ account,
56
+ "-w"
57
+ ]);
58
+ if (r.status !== 0) return;
59
+ return r.stdout.trim() || void 0;
67
60
  }
68
61
  function readMacOSSync(service, account) {
69
- const r = (0, import_node_child_process.spawnSync)(
70
- SECURITY_BIN,
71
- ["find-generic-password", "-s", service, "-a", account, "-w"],
72
- { encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] }
73
- );
74
- if (r.status !== 0) {
75
- return void 0;
76
- }
77
- const out = r.stdout.trim();
78
- return out || void 0;
62
+ const r = (0, node_child_process.spawnSync)(SECURITY_BIN, [
63
+ "find-generic-password",
64
+ "-s",
65
+ service,
66
+ "-a",
67
+ account,
68
+ "-w"
69
+ ], {
70
+ encoding: "utf8",
71
+ stdio: [
72
+ "ignore",
73
+ "pipe",
74
+ "pipe"
75
+ ]
76
+ });
77
+ if (r.status !== 0) return;
78
+ return r.stdout.trim() || void 0;
79
79
  }
80
80
  function runAsync(args, opts = {}) {
81
- return new Promise((resolve) => {
82
- const child = (0, import_node_child_process.spawn)(SECURITY_BIN, args, {
83
- stdio: opts.stdio ?? ["ignore", "pipe", "pipe"]
84
- });
85
- let stdout = "";
86
- let stderr = "";
87
- if (child.stdout) {
88
- child.stdout.setEncoding("utf8");
89
- child.stdout.on("data", (chunk) => {
90
- stdout += chunk;
91
- });
92
- }
93
- if (child.stderr) {
94
- child.stderr.setEncoding("utf8");
95
- child.stderr.on("data", (chunk) => {
96
- stderr += chunk;
97
- });
98
- }
99
- child.on("error", () => resolve({ status: -1, stdout, stderr }));
100
- child.on("close", (status) => resolve({ status, stdout, stderr }));
101
- });
81
+ return new Promise((resolve) => {
82
+ const child = (0, node_child_process.spawn)(SECURITY_BIN, args, { stdio: opts.stdio ?? [
83
+ "ignore",
84
+ "pipe",
85
+ "pipe"
86
+ ] });
87
+ let stdout = "";
88
+ let stderr = "";
89
+ if (child.stdout) {
90
+ child.stdout.setEncoding("utf8");
91
+ child.stdout.on("data", (chunk) => {
92
+ stdout += chunk;
93
+ });
94
+ }
95
+ if (child.stderr) {
96
+ child.stderr.setEncoding("utf8");
97
+ child.stderr.on("data", (chunk) => {
98
+ stderr += chunk;
99
+ });
100
+ }
101
+ child.on("error", () => resolve({
102
+ status: -1,
103
+ stdout,
104
+ stderr
105
+ }));
106
+ child.on("close", (status) => resolve({
107
+ status,
108
+ stdout,
109
+ stderr
110
+ }));
111
+ });
102
112
  }
103
113
  async function writeMacOS(service, account, value, label) {
104
- const r = await runAsync([
105
- "add-generic-password",
106
- "-U",
107
- "-A",
108
- "-T",
109
- "",
110
- "-s",
111
- service,
112
- "-a",
113
- account,
114
- "-w",
115
- value,
116
- "-D",
117
- label,
118
- "-l",
119
- label
120
- ]);
121
- if (r.status !== 0) {
122
- throw new Error(
123
- `security(1) add-generic-password failed (status=${r.status}, account=${account}): ${r.stderr.trim()}`
124
- );
125
- }
114
+ const r = await runAsync([
115
+ "add-generic-password",
116
+ "-U",
117
+ "-A",
118
+ "-T",
119
+ "",
120
+ "-s",
121
+ service,
122
+ "-a",
123
+ account,
124
+ "-w",
125
+ value,
126
+ "-D",
127
+ label,
128
+ "-l",
129
+ label
130
+ ]);
131
+ if (r.status !== 0) throw new Error(`security(1) add-generic-password failed (status=${r.status}, account=${account}): ${r.stderr.trim()}`);
126
132
  }
127
133
  function writeMacOSSync(service, account, value, label) {
128
- const r = (0, import_node_child_process.spawnSync)(
129
- SECURITY_BIN,
130
- [
131
- "add-generic-password",
132
- "-U",
133
- "-A",
134
- "-T",
135
- "",
136
- "-s",
137
- service,
138
- "-a",
139
- account,
140
- "-w",
141
- value,
142
- "-D",
143
- label,
144
- "-l",
145
- label
146
- ],
147
- { encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] }
148
- );
149
- if (r.status !== 0) {
150
- throw new Error(
151
- `security(1) add-generic-password failed (status=${r.status}, account=${account}): ${r.stderr.trim()}`
152
- );
153
- }
134
+ const r = (0, node_child_process.spawnSync)(SECURITY_BIN, [
135
+ "add-generic-password",
136
+ "-U",
137
+ "-A",
138
+ "-T",
139
+ "",
140
+ "-s",
141
+ service,
142
+ "-a",
143
+ account,
144
+ "-w",
145
+ value,
146
+ "-D",
147
+ label,
148
+ "-l",
149
+ label
150
+ ], {
151
+ encoding: "utf8",
152
+ stdio: [
153
+ "ignore",
154
+ "pipe",
155
+ "pipe"
156
+ ]
157
+ });
158
+ if (r.status !== 0) throw new Error(`security(1) add-generic-password failed (status=${r.status}, account=${account}): ${r.stderr.trim()}`);
154
159
  }
155
- // Annotate the CommonJS export names for ESM import in node:
156
- 0 && (module.exports = {
157
- deleteMacOS,
158
- deleteMacOSSync,
159
- isMacOSBackendAvailable,
160
- readMacOS,
161
- readMacOSSync,
162
- runAsync,
163
- writeMacOS,
164
- writeMacOSSync
165
- });
160
+
161
+ //#endregion
162
+ exports.deleteMacOS = deleteMacOS;
163
+ exports.deleteMacOSSync = deleteMacOSSync;
164
+ exports.isMacOSBackendAvailable = isMacOSBackendAvailable;
165
+ exports.readMacOS = readMacOS;
166
+ exports.readMacOSSync = readMacOSSync;
167
+ exports.runAsync = runAsync;
168
+ exports.writeMacOS = writeMacOS;
169
+ exports.writeMacOSSync = writeMacOSSync;