@socketsecurity/lib 6.0.8 → 6.0.10

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 (396) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +8 -9
  3. package/dist/abort/signal.d.ts +1 -1
  4. package/dist/abort/signal.js +1 -1
  5. package/dist/ai/agent-context.d.mts +1 -1
  6. package/dist/ai/agent-context.js +3 -2
  7. package/dist/ai/backends.d.mts +3 -3
  8. package/dist/ai/backends.js +2 -2
  9. package/dist/ai/billing-context.d.mts +74 -0
  10. package/dist/ai/billing-context.js +129 -0
  11. package/dist/ai/credentials.d.mts +39 -5
  12. package/dist/ai/credentials.js +61 -6
  13. package/dist/ai/discover.d.mts +4 -0
  14. package/dist/ai/discover.js +4 -0
  15. package/dist/ai/exec.d.mts +1 -1
  16. package/dist/ai/exec.js +1 -1
  17. package/dist/ai/http.d.mts +8 -8
  18. package/dist/ai/http.js +6 -6
  19. package/dist/ai/profiles.d.mts +9 -10
  20. package/dist/ai/profiles.js +0 -5
  21. package/dist/ai/role.d.mts +58 -0
  22. package/dist/ai/role.js +96 -0
  23. package/dist/ai/route-heuristic.d.mts +177 -0
  24. package/dist/ai/route-heuristic.js +194 -0
  25. package/dist/ai/route.d.mts +31 -17
  26. package/dist/ai/route.js +35 -19
  27. package/dist/ai/spawn.d.mts +34 -1
  28. package/dist/ai/spawn.js +115 -3
  29. package/dist/ai/subagent-status.d.mts +2 -0
  30. package/dist/ai/subagent-status.js +2 -0
  31. package/dist/ai/tier.d.mts +1 -1
  32. package/dist/ai/types.d.mts +19 -2
  33. package/dist/ai/worktree.d.mts +1 -1
  34. package/dist/ai/worktree.js +3 -2
  35. package/dist/argv/parse.d.ts +2 -0
  36. package/dist/argv/parse.js +2 -0
  37. package/dist/bin/_internal.d.ts +1 -1
  38. package/dist/bin/_internal.js +1 -1
  39. package/dist/bin/prim.cjs +19253 -13937
  40. package/dist/bin/resolve.js +1 -1
  41. package/dist/bin/shadow.js +2 -1
  42. package/dist/bin/which.d.ts +28 -3
  43. package/dist/bin/which.js +45 -3
  44. package/dist/cacache/_internal.d.ts +10 -2
  45. package/dist/cacache/_internal.js +6 -10
  46. package/dist/cache/ttl/_internal.d.ts +33 -0
  47. package/dist/cache/ttl/_internal.js +68 -0
  48. package/dist/cache/ttl/browser.d.ts +56 -0
  49. package/dist/cache/ttl/browser.js +257 -0
  50. package/dist/cache/ttl/store.js +11 -34
  51. package/dist/cache/ttl/types.d.ts +46 -3
  52. package/dist/checks/primordials-defaults.d.ts +5 -5
  53. package/dist/checks/primordials-defaults.js +5 -5
  54. package/dist/checks/primordials.d.ts +1 -1
  55. package/dist/checks/primordials.js +25 -17
  56. package/dist/cli/check-primordials.d.ts +6 -1
  57. package/dist/cli/check-primordials.js +14 -5
  58. package/dist/cli/check.js +1 -1
  59. package/dist/cli/socket-lib.d.ts +1 -1
  60. package/dist/cli/socket-lib.js +3 -3
  61. package/dist/colors/socket-palette.d.ts +1 -1
  62. package/dist/compression/brotli.d.ts +6 -2
  63. package/dist/compression/brotli.js +5 -1
  64. package/dist/compression/gzip.d.ts +6 -2
  65. package/dist/compression/gzip.js +7 -2
  66. package/dist/config/layers.d.ts +53 -0
  67. package/dist/config/layers.js +83 -0
  68. package/dist/constants/agents.d.ts +3 -0
  69. package/dist/constants/agents.js +3 -0
  70. package/dist/constants/node.d.ts +14 -0
  71. package/dist/constants/node.js +14 -0
  72. package/dist/constants/package-default-node-range.js +1 -5
  73. package/dist/constants/packages.d.ts +5 -0
  74. package/dist/constants/packages.js +5 -0
  75. package/dist/constants/platform.d.ts +1 -1
  76. package/dist/constants/platform.js +1 -1
  77. package/dist/constants/socket.js +1 -1
  78. package/dist/constants/typescript.d.ts +5 -0
  79. package/dist/constants/typescript.js +5 -0
  80. package/dist/debug/_internal.d.ts +22 -7
  81. package/dist/debug/_internal.js +33 -15
  82. package/dist/debug/caller-info.js +1 -1
  83. package/dist/debug/namespace.js +11 -8
  84. package/dist/debug/output.d.ts +12 -1
  85. package/dist/debug/output.js +33 -16
  86. package/dist/dlx/binary-cache.js +1 -1
  87. package/dist/dlx/binary-resolution.js +8 -5
  88. package/dist/dlx/firewall.js +1 -1
  89. package/dist/dlx/lockfile.js +1 -1
  90. package/dist/eco/npm/npm/parse-lockfile.js +3 -2
  91. package/dist/eco/npm/vlt/exec.d.ts +1 -1
  92. package/dist/eco/npm/vlt/exec.js +1 -1
  93. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +1 -1
  94. package/dist/env/agents.d.ts +6 -0
  95. package/dist/env/agents.js +29 -0
  96. package/dist/env/flags.d.ts +12 -0
  97. package/dist/env/flags.js +23 -0
  98. package/dist/env/github-status.js +2 -2
  99. package/dist/env/providers.d.ts +6 -0
  100. package/dist/env/providers.js +23 -0
  101. package/dist/env/proxy.js +1 -1
  102. package/dist/env/rewire.d.ts +37 -3
  103. package/dist/env/rewire.js +60 -29
  104. package/dist/env/runtimes.d.ts +9 -0
  105. package/dist/env/runtimes.js +53 -0
  106. package/dist/env/socket-cli.d.ts +5 -2
  107. package/dist/env/socket-cli.js +6 -3
  108. package/dist/env/xdg.d.ts +17 -0
  109. package/dist/env/xdg.js +21 -1
  110. package/dist/errors/predicates.d.ts +3 -2
  111. package/dist/errors/predicates.js +5 -3
  112. package/dist/events/exit/_internal.d.ts +1 -23
  113. package/dist/external/@npmcli/package-json.js +3570 -4905
  114. package/dist/external/@npmcli/promise-spawn.js +2 -2
  115. package/dist/external/@sinclair/typebox/value.js +5 -4
  116. package/dist/external/@socketregistry/yocto-spinner.js +3 -3
  117. package/dist/external/@yarnpkg/extensions.js +1 -1
  118. package/dist/external/adm-zip.d.ts +82 -0
  119. package/dist/external/adm-zip.js +2 -2
  120. package/dist/external/cacache.d.ts +87 -0
  121. package/dist/external/debug.d.ts +22 -0
  122. package/dist/external/debug.js +11 -4
  123. package/dist/external/del.d.ts +1 -0
  124. package/dist/external/external-pack.d.ts +12 -0
  125. package/dist/external/external-pack.js +42 -35
  126. package/dist/external/fast-glob.d.ts +8 -0
  127. package/dist/external/fast-sort.d.ts +1 -0
  128. package/dist/external/get-east-asian-width.d.ts +5 -0
  129. package/dist/external/get-east-asian-width.js +8 -1
  130. package/dist/external/has-flag.d.ts +1 -0
  131. package/dist/external/inquirer-pack.d.ts +18 -0
  132. package/dist/external/libnpmexec.d.ts +35 -0
  133. package/dist/external/libnpmpack.d.ts +1 -0
  134. package/dist/external/make-fetch-happen.d.ts +13 -0
  135. package/dist/external/normalize-package-data.d.ts +4 -0
  136. package/dist/external/npm-core.d.ts +14 -0
  137. package/dist/external/npm-pack.d.ts +24 -0
  138. package/dist/external/npm-pack.js +28934 -31885
  139. package/dist/external/npm-package-arg.d.ts +4 -0
  140. package/dist/external/p-map.js +8 -1
  141. package/dist/external/pacote.d.ts +15 -0
  142. package/dist/external/pico-pack.d.ts +16 -0
  143. package/dist/external/pico-pack.js +38 -23
  144. package/dist/external/picomatch.d.ts +96 -0
  145. package/dist/external/pony-cause.d.ts +14 -0
  146. package/dist/external/semver.d.ts +60 -0
  147. package/dist/external/semver.js +1459 -4
  148. package/dist/external/shell-quote.d.ts +51 -0
  149. package/dist/external/shell-quote.js +55 -15
  150. package/dist/external/signal-exit.d.ts +1 -0
  151. package/dist/external/spdx-correct.d.ts +4 -0
  152. package/dist/external/spdx-expression-parse.d.ts +4 -0
  153. package/dist/external/spdx-pack.d.ts +10 -0
  154. package/dist/external/std-env.d.ts +284 -0
  155. package/dist/external/std-env.js +323 -0
  156. package/dist/external/streaming-iterables.d.ts +11 -0
  157. package/dist/external/supports-color.d.ts +1 -0
  158. package/dist/external/tar-fs.d.ts +31 -0
  159. package/dist/external/tar-fs.js +63 -16
  160. package/dist/external/validate-npm-package-name.d.ts +4 -0
  161. package/dist/external/which.d.ts +25 -0
  162. package/dist/external/which.js +2 -2
  163. package/dist/external/yargs-parser.d.ts +2 -0
  164. package/dist/external/yargs-parser.js +11 -3
  165. package/dist/external/yoctocolors-cjs.d.ts +51 -0
  166. package/dist/external-tools/bazel/asset-names.d.ts +1 -1
  167. package/dist/external-tools/bazel/from-download.d.ts +1 -1
  168. package/dist/external-tools/bazel/resolve.d.ts +3 -0
  169. package/dist/external-tools/bazel/resolve.js +3 -0
  170. package/dist/external-tools/cdxgen/asset-names.d.ts +5 -5
  171. package/dist/external-tools/cdxgen/asset-names.js +3 -3
  172. package/dist/external-tools/cdxgen/from-download.d.ts +2 -2
  173. package/dist/external-tools/cdxgen/from-download.js +1 -1
  174. package/dist/external-tools/cdxgen/resolve.d.ts +4 -1
  175. package/dist/external-tools/cdxgen/resolve.js +4 -1
  176. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  177. package/dist/external-tools/from-download.d.ts +2 -2
  178. package/dist/external-tools/from-download.js +1 -1
  179. package/dist/external-tools/janus/asset-names.d.ts +4 -1
  180. package/dist/external-tools/janus/asset-names.js +3 -0
  181. package/dist/external-tools/janus/from-download.d.ts +3 -3
  182. package/dist/external-tools/janus/from-download.js +2 -2
  183. package/dist/external-tools/janus/resolve.d.ts +3 -0
  184. package/dist/external-tools/janus/resolve.js +3 -0
  185. package/dist/external-tools/jre/asset-names.d.ts +3 -1
  186. package/dist/external-tools/jre/asset-names.js +2 -0
  187. package/dist/external-tools/jre/detect-platform-arch.js +1 -1
  188. package/dist/external-tools/jre/from-download.d.ts +1 -1
  189. package/dist/external-tools/manifest.d.ts +5 -3
  190. package/dist/external-tools/manifest.js +5 -3
  191. package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
  192. package/dist/external-tools/opengrep/resolve.d.ts +3 -0
  193. package/dist/external-tools/opengrep/resolve.js +3 -0
  194. package/dist/external-tools/python/asset-names.d.ts +3 -1
  195. package/dist/external-tools/python/asset-names.js +8 -4
  196. package/dist/external-tools/python/pin.js +3 -1
  197. package/dist/external-tools/python/resolve.d.ts +3 -0
  198. package/dist/external-tools/python/resolve.js +3 -0
  199. package/dist/external-tools/python/uv-install.d.ts +89 -0
  200. package/dist/external-tools/python/uv-install.js +165 -0
  201. package/dist/external-tools/sbt/resolve.d.ts +3 -0
  202. package/dist/external-tools/sbt/resolve.js +3 -0
  203. package/dist/external-tools/skillspector/from-uv.d.ts +30 -0
  204. package/dist/external-tools/skillspector/from-uv.js +56 -0
  205. package/dist/external-tools/skillspector/resolve.d.ts +18 -3
  206. package/dist/external-tools/skillspector/resolve.js +21 -8
  207. package/dist/external-tools/skillspector/types.d.ts +3 -1
  208. package/dist/external-tools/synp/resolve.d.ts +3 -0
  209. package/dist/external-tools/synp/resolve.js +3 -0
  210. package/dist/external-tools/trivy/asset-names.d.ts +1 -1
  211. package/dist/external-tools/trivy/resolve.d.ts +3 -0
  212. package/dist/external-tools/trivy/resolve.js +3 -0
  213. package/dist/external-tools/trufflehog/asset-names.d.ts +4 -1
  214. package/dist/external-tools/trufflehog/asset-names.js +3 -0
  215. package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
  216. package/dist/external-tools/trufflehog/resolve.d.ts +3 -0
  217. package/dist/external-tools/trufflehog/resolve.js +3 -0
  218. package/dist/external-tools/uv/asset-names.d.ts +36 -0
  219. package/dist/external-tools/uv/asset-names.js +73 -0
  220. package/dist/external-tools/uv/from-download.d.ts +17 -0
  221. package/dist/external-tools/uv/from-download.js +50 -0
  222. package/dist/external-tools/uv/from-path.d.ts +5 -0
  223. package/dist/external-tools/uv/from-path.js +22 -0
  224. package/dist/external-tools/uv/from-vfs.d.ts +7 -0
  225. package/dist/external-tools/uv/from-vfs.js +26 -0
  226. package/dist/external-tools/uv/resolve.d.ts +28 -0
  227. package/dist/external-tools/uv/resolve.js +64 -0
  228. package/dist/external-tools/uv/types.d.ts +24 -0
  229. package/dist/external-tools/uv/types.js +2 -0
  230. package/dist/fleet/repo-config.d.ts +55 -0
  231. package/dist/fleet/repo-config.js +81 -0
  232. package/dist/fs/_internal.d.ts +1 -1
  233. package/dist/fs/_internal.js +1 -1
  234. package/dist/fs/access.d.ts +2 -0
  235. package/dist/fs/access.js +2 -0
  236. package/dist/fs/copy.d.ts +88 -0
  237. package/dist/fs/copy.js +89 -0
  238. package/dist/fs/find.js +1 -2
  239. package/dist/fs/inspect.d.ts +2 -2
  240. package/dist/fs/read-file.js +3 -4
  241. package/dist/fs/safe.js +2 -2
  242. package/dist/git/_internal.js +7 -3
  243. package/dist/github/commit.d.ts +92 -0
  244. package/dist/github/commit.js +113 -0
  245. package/dist/github/ghsa.js +1 -1
  246. package/dist/github/refs-graphql.js +1 -1
  247. package/dist/github/refs.js +10 -15
  248. package/dist/github/request.js +1 -1
  249. package/dist/github/token.d.ts +5 -2
  250. package/dist/github/token.js +6 -4
  251. package/dist/github/workflow-runs.d.ts +107 -0
  252. package/dist/github/workflow-runs.js +98 -0
  253. package/dist/globs/_internal.js +1 -1
  254. package/dist/http-request/_internal.d.ts +1 -1
  255. package/dist/http-request/browser.d.ts +6 -0
  256. package/dist/http-request/browser.js +4 -3
  257. package/dist/http-request/checksum-file.js +1 -1
  258. package/dist/http-request/download.js +2 -0
  259. package/dist/http-request/headers.d.ts +1 -1
  260. package/dist/http-request/headers.js +2 -2
  261. package/dist/http-request/request-attempt.js +6 -3
  262. package/dist/http-request/request-types.d.ts +10 -1
  263. package/dist/http-request/request.js +2 -2
  264. package/dist/http-request/user-agent.d.ts +23 -2
  265. package/dist/http-request/user-agent.js +48 -6
  266. package/dist/integrity.d.ts +127 -78
  267. package/dist/integrity.js +170 -84
  268. package/dist/json/format.js +4 -1
  269. package/dist/logger/_internal.d.ts +13 -15
  270. package/dist/logger/_internal.js +21 -21
  271. package/dist/logger/colors.d.ts +10 -5
  272. package/dist/logger/colors.js +7 -14
  273. package/dist/logger/console-methods.js +2 -2
  274. package/dist/logger/console.d.ts +1 -0
  275. package/dist/logger/console.js +9 -9
  276. package/dist/logger/node.js +2 -1
  277. package/dist/logger/symbols-builder.js +7 -8
  278. package/dist/logger/symbols.js +8 -8
  279. package/dist/native-messaging/install.js +1 -1
  280. package/dist/native-messaging/rate-limit.d.ts +4 -1
  281. package/dist/native-messaging/rate-limit.js +4 -1
  282. package/dist/node/events.d.ts +3 -0
  283. package/dist/node/events.js +3 -0
  284. package/dist/node/fs.d.ts +1 -1
  285. package/dist/node/module.d.ts +73 -2
  286. package/dist/node/module.js +97 -12
  287. package/dist/node/timers-promises.d.ts +3 -0
  288. package/dist/node/timers-promises.js +3 -0
  289. package/dist/node/url.d.ts +3 -0
  290. package/dist/node/url.js +3 -0
  291. package/dist/npm/meta-cache.d.ts +183 -0
  292. package/dist/npm/meta-cache.js +318 -0
  293. package/dist/npm/meta-slice.d.ts +27 -0
  294. package/dist/npm/meta-slice.js +68 -0
  295. package/dist/npm/meta-types.d.ts +282 -0
  296. package/dist/npm/meta-types.js +2 -0
  297. package/dist/npm/meta.d.ts +125 -0
  298. package/dist/npm/meta.js +347 -0
  299. package/dist/npm/registry.d.ts +212 -0
  300. package/dist/npm/registry.js +284 -0
  301. package/dist/objects/getters.d.ts +1 -1
  302. package/dist/objects/getters.js +1 -1
  303. package/dist/objects/predicates.js +1 -1
  304. package/dist/packages/exports.js +2 -2
  305. package/dist/packages/isolation.js +1 -1
  306. package/dist/packages/manifest.d.ts +29 -0
  307. package/dist/packages/manifest.js +44 -9
  308. package/dist/packages/metadata-extensions.js +2 -4
  309. package/dist/packages/normalize.js +1 -1
  310. package/dist/packages/provenance.d.ts +8 -0
  311. package/dist/packages/provenance.js +10 -2
  312. package/dist/packages/specs.js +1 -1
  313. package/dist/packages/tarball.js +1 -2
  314. package/dist/packages/validation.d.ts +0 -10
  315. package/dist/packages/validation.js +0 -14
  316. package/dist/paths/_internal.d.ts +1 -7
  317. package/dist/paths/_internal.js +9 -15
  318. package/dist/paths/conversion.js +1 -1
  319. package/dist/paths/exts.d.ts +30 -0
  320. package/dist/paths/exts.js +30 -0
  321. package/dist/paths/filenames.d.ts +6 -0
  322. package/dist/paths/filenames.js +6 -0
  323. package/dist/paths/globs.d.ts +6 -0
  324. package/dist/paths/globs.js +6 -0
  325. package/dist/paths/normalize.js +1 -1
  326. package/dist/paths/predicates.js +2 -1
  327. package/dist/paths/resolve.js +19 -14
  328. package/dist/paths/socket.d.ts +81 -30
  329. package/dist/paths/socket.js +102 -28
  330. package/dist/perf/metrics.js +1 -1
  331. package/dist/perf/report.js +5 -3
  332. package/dist/pkg-ext/data.js +0 -2
  333. package/dist/primordials/globals.d.ts +1 -1
  334. package/dist/primordials/globals.js +1 -1
  335. package/dist/primordials/headers.d.ts +13 -1
  336. package/dist/primordials/headers.js +13 -1
  337. package/dist/primordials/process.d.ts +1 -1
  338. package/dist/primordials/process.js +1 -1
  339. package/dist/primordials/url.d.ts +18 -0
  340. package/dist/primordials/url.js +18 -0
  341. package/dist/process/spawn/child.js +3 -5
  342. package/dist/promises/_internal.d.ts +1 -1
  343. package/dist/promises/_internal.js +1 -2
  344. package/dist/promises/options.js +3 -3
  345. package/dist/regexps/spec.js +1 -1
  346. package/dist/releases/socket-btm-binary-naming.js +12 -1
  347. package/dist/schema/validate.js +1 -1
  348. package/dist/secrets/_internal.d.ts +1 -1
  349. package/dist/secrets/_internal.js +1 -1
  350. package/dist/secrets/broker.d.ts +35 -0
  351. package/dist/secrets/broker.js +72 -0
  352. package/dist/secrets/find.d.ts +8 -6
  353. package/dist/secrets/find.js +17 -3
  354. package/dist/secrets/keychain.d.ts +10 -1
  355. package/dist/secrets/keychain.js +10 -1
  356. package/dist/secrets/rc.js +1 -1
  357. package/dist/secrets/socket-api-token.d.ts +1 -1
  358. package/dist/secrets/socket-api-token.js +1 -1
  359. package/dist/secrets/types.d.ts +1 -1
  360. package/dist/smol/detect.js +1 -1
  361. package/dist/smol/http.d.ts +2 -0
  362. package/dist/smol/http.js +3 -1
  363. package/dist/smol/https.d.ts +2 -0
  364. package/dist/smol/https.js +3 -1
  365. package/dist/smol/manifest.js +1 -1
  366. package/dist/smol/path.js +1 -1
  367. package/dist/smol/primordial.js +1 -1
  368. package/dist/smol/purl.js +1 -1
  369. package/dist/smol/versions.js +1 -1
  370. package/dist/smol/vfs.js +1 -1
  371. package/dist/sorts/_internal.d.ts +2 -4
  372. package/dist/sorts/_internal.js +1 -7
  373. package/dist/sorts/semver.js +2 -2
  374. package/dist/spinner/create-spinner-class.js +1 -1
  375. package/dist/spinner/format.js +2 -4
  376. package/dist/stdio/footer.js +8 -7
  377. package/dist/stdio/progress.js +1 -1
  378. package/dist/stdio/prompts.d.ts +8 -23
  379. package/dist/stdio/prompts.js +28 -52
  380. package/dist/strings/format.js +1 -1
  381. package/dist/strings/predicates.d.ts +2 -2
  382. package/dist/strings/search.js +2 -2
  383. package/dist/strings/types.d.ts +4 -0
  384. package/dist/strings/width.d.ts +1 -0
  385. package/dist/strings/width.js +17 -8
  386. package/dist/themes/context.d.ts +18 -3
  387. package/dist/themes/context.js +28 -14
  388. package/dist/versions/_internal.d.ts +43 -13
  389. package/dist/versions/_internal.js +27 -15
  390. package/dist/versions/compare.d.ts +16 -10
  391. package/dist/versions/compare.js +36 -16
  392. package/dist/versions/parse.js +1 -1
  393. package/dist/versions/range.js +3 -2
  394. package/dist/words/pluralize.js +4 -1
  395. package/llms.txt +63 -0
  396. package/package.json +271 -40
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_node_path = require('../node/path.js');
5
+ const require_fs_read_json = require('../fs/read-json.js');
6
+ const require_primordials_process = require('../primordials/process.js');
7
+ const require_git_repo = require('../git/repo.js');
8
+
9
+ //#region src/config/layers.ts
10
+ /**
11
+ * @file Read a layered config — a base config that higher layers may override
12
+ * or extend. Generic over the layer directories, the base name, and the file
13
+ * extension: `readConfigLayers('vitest', { dirs: ['.config/base',
14
+ * '.config/local'] })` reads each `<dir>/vitest.json` in precedence order and
15
+ * returns the layers that exist. Callers apply their own merge, because merge
16
+ * policy varies (a denylist unions all layers; an allowlist takes the highest
17
+ * layer that declares one; an array key concatenates). `mergeConfigArray`
18
+ * covers the concat case across any number of layers. No Socket-specific
19
+ * knowledge lives here — the Socket-convention `.config/fleet` +
20
+ * `.config/repo` wrapper is `fleet/repo-config`'s `resolveRepoConfig`, a thin
21
+ * layer over this reader.
22
+ */
23
+ /**
24
+ * Concatenate one array-valued key across all layers — the common merge for a
25
+ * list that higher layers EXTEND rather than replace (e.g. extra exclude
26
+ * globs). Layers contribute in precedence order; a non-array value for the key
27
+ * (or a missing key, or an `undefined` layer) contributes nothing.
28
+ *
29
+ * @param layers - The layers from `readConfigLayers` (or any object array).
30
+ * @param key - The array-valued property to concatenate.
31
+ *
32
+ * @returns Each layer's entries in order; `[]` when no layer has the array.
33
+ */
34
+ function mergeConfigArray(layers, key) {
35
+ const out = [];
36
+ for (let i = 0, { length } = layers; i < length; i += 1) {
37
+ const value = layers[i]?.[key];
38
+ if (Array.isArray(value)) out.push(...value);
39
+ }
40
+ return out;
41
+ }
42
+ /**
43
+ * Read a named config from an ordered list of layer directories.
44
+ *
45
+ * For each dir in `dirs`, reads `<rootDir>/<dir>/<name><ext>`; layers that are
46
+ * absent or unparseable are skipped (never throws — config reads are
47
+ * best-effort). The returned array preserves `dirs` order (lowest precedence
48
+ * first), so the last element is the highest-precedence layer present.
49
+ *
50
+ * @example
51
+ * ;```typescript
52
+ * const layers = readConfigLayers<VitestConfig>('vitest', {
53
+ * dirs: ['.config/base', '.config/team', '.config/local'],
54
+ * })
55
+ * // layers === every one of those that existed, in that order
56
+ * ```
57
+ *
58
+ * @param name - Base name of the config file (no directory, no extension).
59
+ * @param options - Layer dirs + resolution options.
60
+ *
61
+ * @returns Parsed layers in precedence order; empty when none exist.
62
+ */
63
+ function readConfigLayers(name, options) {
64
+ const opts = {
65
+ __proto__: null,
66
+ ...options
67
+ };
68
+ const path = require_node_path.getNodePath();
69
+ const cwd = opts.cwd ?? require_primordials_process.processCwd();
70
+ const rootDir = opts.rootDir ?? require_git_repo.findGitRoot(cwd);
71
+ const file = `${name}${opts.ext ?? ".json"}`;
72
+ const layers = [];
73
+ const { dirs } = opts;
74
+ for (let i = 0, { length } = dirs; i < length; i += 1) {
75
+ const value = require_fs_read_json.readJsonSync(path.join(rootDir, dirs[i], file), { throws: false });
76
+ if (value !== void 0) layers.push(value);
77
+ }
78
+ return layers;
79
+ }
80
+
81
+ //#endregion
82
+ exports.mergeConfigArray = mergeConfigArray;
83
+ exports.readConfigLayers = readConfigLayers;
@@ -17,6 +17,9 @@ export declare const NPM_REGISTRY_URL = "https://registry.npmjs.org";
17
17
  export declare const YARN_BERRY = "yarn/berry";
18
18
  export declare const YARN_CLASSIC = "yarn/classic";
19
19
  export declare const ZPM = "zpm";
20
+ /**
21
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
22
+ */
20
23
  export declare const PACKAGE_LOCK = "package-lock";
21
24
  export declare const PACKAGE_LOCK_JSON = "package-lock.json";
22
25
  export declare const NPM_SHRINKWRAP_JSON = "npm-shrinkwrap.json";
@@ -51,6 +51,9 @@ const NPM_REGISTRY_URL = "https://registry.npmjs.org";
51
51
  const YARN_BERRY = "yarn/berry";
52
52
  const YARN_CLASSIC = "yarn/classic";
53
53
  const ZPM = "zpm";
54
+ /**
55
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
56
+ */
54
57
  const PACKAGE_LOCK = "package-lock";
55
58
  const PACKAGE_LOCK_JSON = "package-lock.json";
56
59
  const NPM_SHRINKWRAP_JSON = "npm-shrinkwrap.json";
@@ -61,6 +61,8 @@ export declare function getNodeNoWarningsFlags(): string[];
61
61
  * Get the patch component of the current Node.js version.
62
62
  *
63
63
  * @returns The patch version number, or `0` if it cannot be parsed.
64
+ *
65
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
64
66
  */
65
67
  export declare function getNodePatchVersion(): number;
66
68
  /**
@@ -83,6 +85,8 @@ export declare function getNodeVersion(): string;
83
85
  * API. The API is available on Node.js 24+.
84
86
  *
85
87
  * @returns `true` when the current runtime is Node.js 24 or newer.
88
+ *
89
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
86
90
  */
87
91
  export declare function supportsNodeCompileCacheApi(): boolean;
88
92
  /**
@@ -90,6 +94,8 @@ export declare function supportsNodeCompileCacheApi(): boolean;
90
94
  * Env-var-based compile caching is available on Node.js 22+.
91
95
  *
92
96
  * @returns `true` when the current runtime is Node.js 22 or newer.
97
+ *
98
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
93
99
  */
94
100
  export declare function supportsNodeCompileCacheEnvVar(): boolean;
95
101
  /**
@@ -105,6 +111,8 @@ export declare function supportsNodeDisableSigusr1Flag(): boolean;
105
111
  * The flag is available on Node.js 21+.
106
112
  *
107
113
  * @returns `true` when the current runtime is Node.js 21 or newer.
114
+ *
115
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
108
116
  */
109
117
  export declare function supportsNodeDisableWarningFlag(): boolean;
110
118
  /**
@@ -112,6 +120,8 @@ export declare function supportsNodeDisableWarningFlag(): boolean;
112
120
  * (`--experimental-permission` on Node 20-23, `--permission` on Node 24+).
113
121
  *
114
122
  * @returns `true` when the current runtime is Node.js 20 or newer.
123
+ *
124
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
115
125
  */
116
126
  export declare function supportsNodePermissionFlag(): boolean;
117
127
  /**
@@ -119,6 +129,8 @@ export declare function supportsNodePermissionFlag(): boolean;
119
129
  * Node.js 22.12+ or Node.js 23+.
120
130
  *
121
131
  * @returns `true` when the runtime supports `require()`-ing ES modules.
132
+ *
133
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
122
134
  */
123
135
  export declare function supportsNodeRequireModule(): boolean;
124
136
  /**
@@ -157,6 +169,8 @@ export declare function supportsNodeStripTypesDefault(): boolean;
157
169
  * `process.send()` is callable to message the parent process.
158
170
  *
159
171
  * @returns `true` when the current process has an IPC channel to its parent.
172
+ *
173
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
160
174
  */
161
175
  export declare function supportsProcessSend(): boolean;
162
176
  export declare const ESNEXT = "esnext";
@@ -106,6 +106,8 @@ function getNodeNoWarningsFlags() {
106
106
  * Get the patch component of the current Node.js version.
107
107
  *
108
108
  * @returns The patch version number, or `0` if it cannot be parsed.
109
+ *
110
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
109
111
  */
110
112
  function getNodePatchVersion() {
111
113
  /* c8 ignore start */
@@ -142,6 +144,8 @@ function getNodeVersion() {
142
144
  * API. The API is available on Node.js 24+.
143
145
  *
144
146
  * @returns `true` when the current runtime is Node.js 24 or newer.
147
+ *
148
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
145
149
  */
146
150
  function supportsNodeCompileCacheApi() {
147
151
  return getNodeMajorVersion() >= 24;
@@ -151,6 +155,8 @@ function supportsNodeCompileCacheApi() {
151
155
  * Env-var-based compile caching is available on Node.js 22+.
152
156
  *
153
157
  * @returns `true` when the current runtime is Node.js 22 or newer.
158
+ *
159
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
154
160
  */
155
161
  function supportsNodeCompileCacheEnvVar() {
156
162
  return getNodeMajorVersion() >= 22;
@@ -180,6 +186,8 @@ function supportsNodeDisableSigusr1Flag() {
180
186
  * The flag is available on Node.js 21+.
181
187
  *
182
188
  * @returns `true` when the current runtime is Node.js 21 or newer.
189
+ *
190
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
183
191
  */
184
192
  function supportsNodeDisableWarningFlag() {
185
193
  return getNodeMajorVersion() >= 21;
@@ -189,6 +197,8 @@ function supportsNodeDisableWarningFlag() {
189
197
  * (`--experimental-permission` on Node 20-23, `--permission` on Node 24+).
190
198
  *
191
199
  * @returns `true` when the current runtime is Node.js 20 or newer.
200
+ *
201
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
192
202
  */
193
203
  function supportsNodePermissionFlag() {
194
204
  return getNodeMajorVersion() >= 20;
@@ -198,6 +208,8 @@ function supportsNodePermissionFlag() {
198
208
  * Node.js 22.12+ or Node.js 23+.
199
209
  *
200
210
  * @returns `true` when the runtime supports `require()`-ing ES modules.
211
+ *
212
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
201
213
  */
202
214
  function supportsNodeRequireModule() {
203
215
  const major = getNodeMajorVersion();
@@ -253,6 +265,8 @@ function supportsNodeStripTypesDefault() {
253
265
  * `process.send()` is callable to message the parent process.
254
266
  *
255
267
  * @returns `true` when the current process has an IPC channel to its parent.
268
+ *
269
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
256
270
  */
257
271
  function supportsProcessSend() {
258
272
  return typeof node_process.default.send === "function";
@@ -1,17 +1,13 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_runtime = require('../_virtual/_rolldown/runtime.js');
5
4
  const require_constants_maintained_node_versions = require('./maintained-node-versions.js');
6
- let src_external_semver = require("../external/semver");
7
- src_external_semver = require_runtime.__toESM(src_external_semver);
8
5
 
9
6
  //#region src/constants/package-default-node-range.ts
10
7
  /**
11
8
  * @file Default Node.js version range for packages.
12
9
  */
13
- /* c8 ignore next - External semver call */
14
- const packageDefaultNodeRange = `>=${src_external_semver.parse(require_constants_maintained_node_versions.maintainedNodeVersions.last).major}`;
10
+ const packageDefaultNodeRange = `>=${Number.parseInt(require_constants_maintained_node_versions.maintainedNodeVersions.last, 10)}`;
15
11
 
16
12
  //#endregion
17
13
  exports.packageDefaultNodeRange = packageDefaultNodeRange;
@@ -11,8 +11,13 @@ export declare const PACKAGE_DEFAULT_VERSION = "1.0.0";
11
11
  /**
12
12
  * Clear the packument cache. Useful for long-running processes that want to
13
13
  * force a re-fetch of registry metadata.
14
+ *
15
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
14
16
  */
15
17
  export declare function clearPackumentCache(): void;
18
+ /**
19
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
20
+ */
16
21
  export declare function getLifecycleScriptNames(): string[];
17
22
  export declare function getPackageDefaultNodeRange(): string | undefined;
18
23
  export declare function getPackageDefaultSocketCategories(): readonly string[];
@@ -33,11 +33,16 @@ const PACKAGE_DEFAULT_VERSION = "1.0.0";
33
33
  /**
34
34
  * Clear the packument cache. Useful for long-running processes that want to
35
35
  * force a re-fetch of registry metadata.
36
+ *
37
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
36
38
  */
37
39
  function clearPackumentCache() {
38
40
  /* c8 ignore next 3 - uninitialized-cache branch unreachable in tests */
39
41
  if (cachedPackumentCache !== void 0) cachedPackumentCache.clear();
40
42
  }
43
+ /**
44
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
45
+ */
41
46
  function getLifecycleScriptNames() {
42
47
  if (cachedLifecycleScriptNames === void 0) cachedLifecycleScriptNames = require_primordials_array.ArrayFrom(require_constants_lifecycle_script_names.lifecycleScriptNames);
43
48
  return cachedLifecycleScriptNames;
@@ -34,7 +34,7 @@ export declare function getOs(): Platform;
34
34
  * Get the current host **target** in the pnpm `pack-app` vocabulary (memoized):
35
35
  * `<os>-<arch>[-<libc>]`, e.g. `darwin-arm64`, `linux-x64`, `win32-x64`,
36
36
  * `linux-x64-musl`. Raw Node `process.platform`/`process.arch` joined with `-`,
37
- * plus a `-musl` suffix on Alpine. This is the fleet-general naming for
37
+ * plus a `-musl` suffix on Alpine. This is the Socket-wide naming for
38
38
  * non-python / non-JRE tools (matches pnpm's release assets,
39
39
  * `pnpm-<os>-<arch>[-<libc>].{tar.gz,zip}`). Tool-specific resolvers that need
40
40
  * a different vocabulary own their own helper — see `getPythonArch`
@@ -60,7 +60,7 @@ let memoizedTarget;
60
60
  * Get the current host **target** in the pnpm `pack-app` vocabulary (memoized):
61
61
  * `<os>-<arch>[-<libc>]`, e.g. `darwin-arm64`, `linux-x64`, `win32-x64`,
62
62
  * `linux-x64-musl`. Raw Node `process.platform`/`process.arch` joined with `-`,
63
- * plus a `-musl` suffix on Alpine. This is the fleet-general naming for
63
+ * plus a `-musl` suffix on Alpine. This is the Socket-wide naming for
64
64
  * non-python / non-JRE tools (matches pnpm's release assets,
65
65
  * `pnpm-<os>-<arch>[-<libc>].{tar.gz,zip}`). Tool-specific resolvers that need
66
66
  * a different vocabulary own their own helper — see `getPythonArch`
@@ -35,7 +35,7 @@ const SOCKET_DIR = {
35
35
  wheelhouse: `${"_"}wheelhouse`
36
36
  };
37
37
  const SOCKET_LIB_NAME = "@socketsecurity/lib";
38
- const SOCKET_LIB_VERSION = "6.0.8";
38
+ const SOCKET_LIB_VERSION = "6.0.10";
39
39
  const SOCKET_IPC_HANDSHAKE = "SOCKET_IPC_HANDSHAKE";
40
40
  const CACHE_SOCKET_API_DIR = "socket-api";
41
41
  const REGISTRY = "registry";
@@ -8,6 +8,11 @@
8
8
  * project by probing `typescript/lib`.
9
9
  *
10
10
  * @returns `true` when the `typescript` package's libs can be resolved.
11
+ *
12
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
11
13
  */
12
14
  export declare function getTsLibsAvailable(): boolean;
15
+ /**
16
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
17
+ */
13
18
  export declare function getTsTypesAvailable(): boolean;
@@ -13,6 +13,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
13
13
  * project by probing `typescript/lib`.
14
14
  *
15
15
  * @returns `true` when the `typescript` package's libs can be resolved.
16
+ *
17
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
16
18
  */
17
19
  function getTsLibsAvailable() {
18
20
  try {
@@ -22,6 +24,9 @@ function getTsLibsAvailable() {
22
24
  return false;
23
25
  }
24
26
  }
27
+ /**
28
+ * @unused No internal or Socket consumers (exercised only by its unit tests).
29
+ */
25
30
  function getTsTypesAvailable() {
26
31
  try {
27
32
  require.resolve("typescript/lib/lib.d.ts");
@@ -1,12 +1,18 @@
1
1
  /**
2
- * @file Private internals for `debug/*` modules — the cached logger instance,
3
- * lazy `node:util` accessor, the `debugByNamespace` cache that
4
- * `namespace.getDebugJsInstance` fills, the lazy `pointingTriangle` glyph
5
- * used by every output function, and `customLog` (the `debug-js` log-writer
6
- * override). Co-located so the namespace / output / caller-info leaves don't
7
- * fragment ownership of this shared module state.
2
+ * @file Private internals for `debug/*` modules — the lazy debug-js accessor,
3
+ * the `debugByNamespace` cache that `namespace.getDebugJsInstance` fills,
4
+ * the lazy `pointingTriangle` glyph used by every output function, and
5
+ * `customLog` (the `debug-js` log-writer override). Node-bound pieces are
6
+ * deferred to first use — the vendored debug-js bundle is required lazily
7
+ * (its module top-level reads env / requires tty), the default `Logger` is
8
+ * constructed per call via the already-lazy `getDefaultLogger`, and
9
+ * `node:util` loads through the `getNodeUtil` accessor. Every call site
10
+ * sits behind the SOCKET_DEBUG / DEBUG env gates, so importing a `debug/*`
11
+ * leaf stays browser-load-safe and V8-snapshot-safe. Co-located so the
12
+ * namespace / output / caller-info leaves don't fragment ownership of this
13
+ * shared module state.
8
14
  */
9
- export declare const logger: import("../logger/node").Logger;
15
+ import type debugJs from '../external/debug';
10
16
  export declare const debugByNamespace: Map<any, any>;
11
17
  export { getNodeUtil as getUtil } from '../node/util';
12
18
  /**
@@ -15,6 +21,15 @@ export { getNodeUtil as getUtil } from '../node/util';
15
21
  * @private
16
22
  */
17
23
  export declare function customLog(...args: unknown[]): void;
24
+ /**
25
+ * Lazily require the vendored `debug-js` bundle. Deferred to first use so
26
+ * importing a `debug/*` leaf never evaluates debug-js's node-bound module
27
+ * top-level (tty/util requires, process.env reads); every caller sits behind
28
+ * the env gates, so browser bundles load this leaf without executing it.
29
+ *
30
+ * @private
31
+ */
32
+ export declare function getDebugJs(): typeof debugJs;
18
33
  /**
19
34
  * Lazily resolve the "pointing triangle" glyph — `▸` on terminals with unicode
20
35
  * support, `>` everywhere else. Initialised on first call by the output
@@ -8,20 +8,24 @@ const require_logger_default = require('../logger/default.js');
8
8
  const require_node_util = require('../node/util.js');
9
9
  let src_external__socketregistry_is_unicode_supported = require("../external/@socketregistry/is-unicode-supported");
10
10
  src_external__socketregistry_is_unicode_supported = require_runtime.__toESM(src_external__socketregistry_is_unicode_supported);
11
- let src_external_debug = require("../external/debug");
12
- src_external_debug = require_runtime.__toESM(src_external_debug);
13
11
 
14
12
  //#region src/debug/_internal.ts
15
13
  /**
16
- * @file Private internals for `debug/*` modules — the cached logger instance,
17
- * lazy `node:util` accessor, the `debugByNamespace` cache that
18
- * `namespace.getDebugJsInstance` fills, the lazy `pointingTriangle` glyph
19
- * used by every output function, and `customLog` (the `debug-js` log-writer
20
- * override). Co-located so the namespace / output / caller-info leaves don't
21
- * fragment ownership of this shared module state.
14
+ * @file Private internals for `debug/*` modules — the lazy debug-js accessor,
15
+ * the `debugByNamespace` cache that `namespace.getDebugJsInstance` fills,
16
+ * the lazy `pointingTriangle` glyph used by every output function, and
17
+ * `customLog` (the `debug-js` log-writer override). Node-bound pieces are
18
+ * deferred to first use — the vendored debug-js bundle is required lazily
19
+ * (its module top-level reads env / requires tty), the default `Logger` is
20
+ * constructed per call via the already-lazy `getDefaultLogger`, and
21
+ * `node:util` loads through the `getNodeUtil` accessor. Every call site
22
+ * sits behind the SOCKET_DEBUG / DEBUG env gates, so importing a `debug/*`
23
+ * leaf stays browser-load-safe and V8-snapshot-safe. Co-located so the
24
+ * namespace / output / caller-info leaves don't fragment ownership of this
25
+ * shared module state.
22
26
  */
23
- const logger = require_logger_default.getDefaultLogger();
24
27
  const debugByNamespace = new require_primordials_map_set.MapCtor();
28
+ let cachedDebugJs;
25
29
  let pointingTriangle;
26
30
  /**
27
31
  * Custom log function for debug output.
@@ -34,15 +38,29 @@ set at the right module-load timing. Tests use the SOCKET_DEBUG
34
38
  path which writes via logger.info directly. */
35
39
  function customLog(...args) {
36
40
  const util = require_node_util.getNodeUtil();
37
- const inspectOpts = src_external_debug.default.inspectOpts ? {
38
- ...src_external_debug.default.inspectOpts,
39
- showHidden: src_external_debug.default.inspectOpts.showHidden === null ? void 0 : src_external_debug.default.inspectOpts.showHidden,
40
- depth: src_external_debug.default.inspectOpts.depth === null || typeof src_external_debug.default.inspectOpts.depth === "boolean" ? void 0 : src_external_debug.default.inspectOpts.depth
41
+ const debugJsInstance = getDebugJs();
42
+ const inspectOpts = debugJsInstance.inspectOpts ? {
43
+ ...debugJsInstance.inspectOpts,
44
+ showHidden: debugJsInstance.inspectOpts.showHidden === null ? void 0 : debugJsInstance.inspectOpts.showHidden,
45
+ depth: debugJsInstance.inspectOpts.depth === null || typeof debugJsInstance.inspectOpts.depth === "boolean" ? void 0 : debugJsInstance.inspectOpts.depth
41
46
  } : {};
47
+ const logger = require_logger_default.getDefaultLogger();
42
48
  require_primordials_reflect.ReflectApply(logger.info, logger, [util.formatWithOptions(inspectOpts, ...args)]);
43
49
  }
44
50
  /* c8 ignore stop */
45
51
  /**
52
+ * Lazily require the vendored `debug-js` bundle. Deferred to first use so
53
+ * importing a `debug/*` leaf never evaluates debug-js's node-bound module
54
+ * top-level (tty/util requires, process.env reads); every caller sits behind
55
+ * the env gates, so browser bundles load this leaf without executing it.
56
+ *
57
+ * @private
58
+ */
59
+ function getDebugJs() {
60
+ if (cachedDebugJs === void 0) cachedDebugJs = require("../external/debug");
61
+ return cachedDebugJs;
62
+ }
63
+ /**
46
64
  * Lazily resolve the "pointing triangle" glyph — `▸` on terminals with unicode
47
65
  * support, `>` everywhere else. Initialised on first call by the output
48
66
  * functions.
@@ -61,6 +79,6 @@ function getPointingTriangle() {
61
79
  //#endregion
62
80
  exports.customLog = customLog;
63
81
  exports.debugByNamespace = debugByNamespace;
82
+ exports.getDebugJs = getDebugJs;
64
83
  exports.getPointingTriangle = getPointingTriangle;
65
- exports.getUtil = require_node_util.getNodeUtil;
66
- exports.logger = logger;
84
+ exports.getUtil = require_node_util.getNodeUtil;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_objects_predicates = require('../objects/predicates.js');
5
4
  const require_primordials_string = require('../primordials/string.js');
5
+ const require_objects_predicates = require('../objects/predicates.js');
6
6
 
7
7
  //#region src/debug/caller-info.ts
8
8
  /**
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_runtime = require('../_virtual/_rolldown/runtime.js');
5
4
  const require_primordials_string = require('../primordials/string.js');
6
5
  const require_env_debug = require('../env/debug.js');
7
6
  const require_env_socket = require('../env/socket.js');
8
7
  const require_debug__internal = require('./_internal.js');
9
- let src_external_debug = require("../external/debug");
10
- src_external_debug = require_runtime.__toESM(src_external_debug);
11
8
 
12
9
  //#region src/debug/namespace.ts
13
10
  /**
@@ -39,12 +36,15 @@ function extractOptions(namespaces) {
39
36
  */
40
37
  function getDebugJsInstance(namespace) {
41
38
  let inst = require_debug__internal.debugByNamespace.get(namespace);
42
- /* c8 ignore start */
39
+ /* c8 ignore start - cache-hit arm needs a repeated same-namespace probe */
43
40
  if (inst) return inst;
44
- if (!require_env_debug.getDebug() && require_env_socket.getSocketDebug() && (namespace === "error" || namespace === "notice")) src_external_debug.default.enable(namespace);
41
+ /* c8 ignore stop */
42
+ const debugJs = require_debug__internal.getDebugJs();
43
+ /* c8 ignore start - error/notice auto-enable needs SOCKET_DEBUG without DEBUG */
44
+ if (!require_env_debug.getDebug() && require_env_socket.getSocketDebug() && (namespace === "error" || namespace === "notice")) debugJs.enable(namespace);
45
45
  /* c8 ignore stop */
46
46
  /* c8 ignore next - External debug library call */
47
- inst = (0, src_external_debug.default)(namespace);
47
+ inst = debugJs(namespace);
48
48
  inst.log = require_debug__internal.customLog;
49
49
  require_debug__internal.debugByNamespace.set(namespace, inst);
50
50
  return inst;
@@ -72,8 +72,11 @@ function isEnabled(namespaces) {
72
72
  const split = namespaces.trim().replace(/\s+/g, ",").split(",").filter(Boolean);
73
73
  const names = [];
74
74
  const skips = [];
75
- for (const ns of split) if (require_primordials_string.StringPrototypeStartsWith(ns, "-")) skips.push(ns.slice(1));
76
- else names.push(ns);
75
+ for (let i = 0, { length } = split; i < length; i += 1) {
76
+ const ns = split[i];
77
+ if (require_primordials_string.StringPrototypeStartsWith(ns, "-")) skips.push(ns.slice(1));
78
+ else names.push(ns);
79
+ }
77
80
  if (names.length && !names.some((ns) => getDebugJsInstance(ns).enabled)) return false;
78
81
  return skips.every((ns) => !getDebugJsInstance(ns).enabled);
79
82
  }
@@ -6,6 +6,7 @@
6
6
  * active spinner across the write, and uses the lazy `pointingTriangle` glyph
7
7
  * for the divider.
8
8
  */
9
+ import type { SpinnerInstance } from '../spinner/types';
9
10
  import type { InspectOptions, NamespacesOrOptions } from './types';
10
11
  /**
11
12
  * Debug output with caller info (wrapper for debugNs with default namespace).
@@ -52,7 +53,7 @@ export declare function debugNs(namespacesOrOpts: NamespacesOrOptions, ...args:
52
53
  * Create a Node.js util.debuglog compatible function. Returns a function that
53
54
  * conditionally writes debug messages to stderr.
54
55
  */
55
- export declare function debuglog(section: string): import("util").DebugLogger;
56
+ export declare function debuglog(section: string): import("node:util").DebugLogger;
56
57
  /**
57
58
  * Create timing functions for measuring code execution time. Returns an object
58
59
  * with start() and end() methods, plus a callable function.
@@ -62,3 +63,13 @@ export declare function debugtime(label: string): {
62
63
  start: () => void;
63
64
  end: () => void;
64
65
  };
66
+ /**
67
+ * Resolve the default spinner on Node; off Node (browser bundles) there is no
68
+ * spinner — callers no-op through their optional chains. Construction is
69
+ * deferred to first debug write (every call site sits behind the `isEnabled`
70
+ * / `getSocketDebug` gates), so a browser bundle never constructs the
71
+ * node-bound spinner even when debug output is force-enabled.
72
+ *
73
+ * @private
74
+ */
75
+ export declare function getSpinner(): SpinnerInstance | undefined;