@psnext/slingcli 3.3.20260911-1 → 3.3.20260915-1

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 (471) hide show
  1. package/README.md +17 -0
  2. package/bin/sling.js +117 -43
  3. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-VDBOM5UG.js → chunk-VY7PRZDT.js} +2 -2
  4. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/cli.js +1 -1
  5. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/index.js +1 -1
  6. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/rpc-entry.js +1 -1
  7. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.js +79 -32
  8. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +2149 -248
  9. package/node_modules/@earendil-works/pi-coding-agent/package.json +1 -0
  10. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +2 -0
  11. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +25 -8
  12. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +2 -0
  13. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.browser.js +2 -0
  14. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.js +23 -8
  15. package/node_modules/@smithy/core/package.json +1 -1
  16. package/node_modules/@types/node/README.md +2 -2
  17. package/node_modules/@types/node/assert/strict.d.ts +13 -56
  18. package/node_modules/@types/node/assert.d.ts +189 -190
  19. package/node_modules/@types/node/async_hooks.d.ts +151 -43
  20. package/node_modules/@types/node/buffer.buffer.d.ts +12 -13
  21. package/node_modules/@types/node/buffer.d.ts +103 -237
  22. package/node_modules/@types/node/child_process.d.ts +39 -154
  23. package/node_modules/@types/node/cluster.d.ts +238 -384
  24. package/node_modules/@types/node/console.d.ts +45 -404
  25. package/node_modules/@types/node/constants.d.ts +3 -10
  26. package/node_modules/@types/node/crypto.d.ts +1000 -1593
  27. package/node_modules/@types/node/dgram.d.ts +133 -81
  28. package/node_modules/@types/node/diagnostics_channel.d.ts +277 -59
  29. package/node_modules/@types/node/dns/promises.d.ts +9 -15
  30. package/node_modules/@types/node/dns.d.ts +136 -183
  31. package/node_modules/@types/node/domain.d.ts +12 -32
  32. package/node_modules/@types/node/events.d.ts +872 -840
  33. package/node_modules/@types/node/ffi.d.ts +486 -0
  34. package/node_modules/@types/node/fs/promises.d.ts +256 -85
  35. package/node_modules/@types/node/fs.d.ts +865 -525
  36. package/node_modules/@types/node/globals.d.ts +12 -34
  37. package/node_modules/@types/node/globals.typedarray.d.ts +63 -0
  38. package/node_modules/@types/node/http.d.ts +433 -312
  39. package/node_modules/@types/node/http2.d.ts +545 -891
  40. package/node_modules/@types/node/https.d.ts +64 -243
  41. package/node_modules/@types/node/index.d.ts +25 -7
  42. package/node_modules/@types/node/inspector/promises.d.ts +35 -0
  43. package/node_modules/@types/node/inspector.d.ts +70 -58
  44. package/node_modules/@types/node/inspector.generated.d.ts +764 -410
  45. package/node_modules/@types/node/module.d.ts +54 -219
  46. package/node_modules/@types/node/net.d.ts +208 -222
  47. package/node_modules/@types/node/os.d.ts +41 -49
  48. package/node_modules/@types/node/package.json +13 -3
  49. package/node_modules/@types/node/path/posix.d.ts +8 -0
  50. package/node_modules/@types/node/path/win32.d.ts +8 -0
  51. package/node_modules/@types/node/path.d.ts +119 -141
  52. package/node_modules/@types/node/perf_hooks.d.ts +339 -690
  53. package/node_modules/@types/node/process.d.ts +389 -205
  54. package/node_modules/@types/node/punycode.d.ts +3 -31
  55. package/node_modules/@types/node/querystring.d.ts +3 -16
  56. package/node_modules/@types/node/quic.d.ts +2153 -0
  57. package/node_modules/@types/node/readline/promises.d.ts +3 -6
  58. package/node_modules/@types/node/readline.d.ts +66 -152
  59. package/node_modules/@types/node/repl.d.ts +101 -109
  60. package/node_modules/@types/node/sea.d.ts +1 -116
  61. package/node_modules/@types/node/sqlite.d.ts +486 -68
  62. package/node_modules/@types/node/stream/consumers.d.ts +91 -15
  63. package/node_modules/@types/node/stream/iter.d.ts +452 -0
  64. package/node_modules/@types/node/stream/promises.d.ts +136 -15
  65. package/node_modules/@types/node/stream/web.d.ts +197 -454
  66. package/node_modules/@types/node/stream.d.ts +603 -491
  67. package/node_modules/@types/node/string_decoder.d.ts +3 -43
  68. package/node_modules/@types/node/test/reporters.d.ts +59 -0
  69. package/node_modules/@types/node/test.d.ts +513 -292
  70. package/node_modules/@types/node/timers/promises.d.ts +3 -18
  71. package/node_modules/@types/node/timers.d.ts +3 -141
  72. package/node_modules/@types/node/tls.d.ts +166 -257
  73. package/node_modules/@types/node/trace_events.d.ts +3 -97
  74. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +7 -8
  75. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  76. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +2 -0
  77. package/node_modules/@types/node/ts5.6/index.d.ts +26 -6
  78. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  79. package/node_modules/@types/node/ts5.7/index.d.ts +118 -0
  80. package/node_modules/@types/node/tty.d.ts +61 -43
  81. package/node_modules/@types/node/url.d.ts +156 -584
  82. package/node_modules/@types/node/util/types.d.ts +558 -0
  83. package/node_modules/@types/node/util.d.ts +170 -1099
  84. package/node_modules/@types/node/v8.d.ts +175 -36
  85. package/node_modules/@types/node/vfs.d.ts +211 -0
  86. package/node_modules/@types/node/vm.d.ts +292 -209
  87. package/node_modules/@types/node/wasi.d.ts +24 -74
  88. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +27 -2
  89. package/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  90. package/node_modules/@types/node/web-globals/console.d.ts +9 -0
  91. package/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  92. package/node_modules/@types/node/web-globals/domexception.d.ts +15 -0
  93. package/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  94. package/node_modules/@types/node/web-globals/events.d.ts +9 -0
  95. package/node_modules/@types/node/web-globals/fetch.d.ts +14 -0
  96. package/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  97. package/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  98. package/node_modules/@types/node/web-globals/navigator.d.ts +3 -0
  99. package/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  100. package/node_modules/@types/node/web-globals/streams.d.ts +97 -0
  101. package/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  102. package/node_modules/@types/node/web-globals/url.d.ts +24 -0
  103. package/node_modules/@types/node/worker_threads.d.ts +257 -407
  104. package/node_modules/@types/node/zlib/iter.d.ts +131 -0
  105. package/node_modules/@types/node/zlib.d.ts +24 -165
  106. package/node_modules/brace-expansion/dist/commonjs/index.d.ts +4 -0
  107. package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -1
  108. package/node_modules/brace-expansion/dist/commonjs/index.js +69 -25
  109. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
  110. package/node_modules/brace-expansion/dist/esm/index.d.ts +4 -0
  111. package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -1
  112. package/node_modules/brace-expansion/dist/esm/index.js +68 -24
  113. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
  114. package/node_modules/brace-expansion/package.json +2 -1
  115. package/node_modules/fast-uri/index.js +10 -6
  116. package/node_modules/fast-uri/package.json +1 -1
  117. package/node_modules/fast-uri/test/security-normalization.test.js +38 -0
  118. package/node_modules/hono/README.md +1 -1
  119. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +5 -4
  120. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +5 -4
  121. package/node_modules/hono/dist/cjs/context.js +1 -1
  122. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +1 -1
  123. package/node_modules/hono/dist/cjs/jsx/dom/render.js +44 -8
  124. package/node_modules/hono/dist/cjs/middleware/language/language.js +4 -1
  125. package/node_modules/hono/dist/cjs/request.js +4 -1
  126. package/node_modules/hono/dist/cjs/utils/accept.js +4 -7
  127. package/node_modules/hono/dist/context.js +1 -1
  128. package/node_modules/hono/dist/helper/accepts/accepts.js +1 -1
  129. package/node_modules/hono/dist/jsx/dom/render.js +44 -8
  130. package/node_modules/hono/dist/middleware/language/language.js +4 -1
  131. package/node_modules/hono/dist/request.js +4 -1
  132. package/node_modules/hono/dist/types/helper/proxy/index.d.ts +1 -1
  133. package/node_modules/hono/dist/types/helper/route/index.d.ts +2 -2
  134. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +3 -1
  135. package/node_modules/hono/dist/types/utils/types.d.ts +1 -1
  136. package/node_modules/hono/dist/utils/accept.js +4 -7
  137. package/node_modules/hono/package.json +1 -1
  138. package/node_modules/ip-address/README.md +114 -114
  139. package/node_modules/ip-address/dist/common.d.ts +5 -0
  140. package/node_modules/ip-address/dist/common.js +12 -0
  141. package/node_modules/ip-address/dist/common.js.map +1 -1
  142. package/node_modules/ip-address/dist/ipv4.d.ts +5 -1
  143. package/node_modules/ip-address/dist/ipv4.js +12 -1
  144. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  145. package/node_modules/ip-address/dist/ipv6.d.ts +5 -1
  146. package/node_modules/ip-address/dist/ipv6.js +15 -1
  147. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  148. package/node_modules/ip-address/package.json +1 -1
  149. package/node_modules/proxy-addr/HISTORY.md +60 -54
  150. package/node_modules/proxy-addr/README.md +1 -1
  151. package/node_modules/proxy-addr/index.js +32 -0
  152. package/node_modules/proxy-addr/package.json +8 -4
  153. package/node_modules/undici-types/agent.d.ts +12 -13
  154. package/node_modules/undici-types/api.d.ts +26 -26
  155. package/node_modules/undici-types/balanced-pool.d.ts +13 -12
  156. package/node_modules/undici-types/cache-interceptor.d.ts +179 -0
  157. package/node_modules/undici-types/client-stats.d.ts +15 -0
  158. package/node_modules/undici-types/client.d.ts +63 -37
  159. package/node_modules/undici-types/connector.d.ts +5 -2
  160. package/node_modules/undici-types/cookies.d.ts +3 -1
  161. package/node_modules/undici-types/diagnostics-channel.d.ts +18 -10
  162. package/node_modules/undici-types/dispatcher.d.ts +136 -139
  163. package/node_modules/undici-types/dispatcher1-wrapper.d.ts +7 -0
  164. package/node_modules/undici-types/env-http-proxy-agent.d.ts +4 -3
  165. package/node_modules/undici-types/errors.d.ts +92 -54
  166. package/node_modules/undici-types/eventsource.d.ts +9 -4
  167. package/node_modules/undici-types/fetch.d.ts +51 -25
  168. package/node_modules/undici-types/formdata.d.ts +7 -7
  169. package/node_modules/undici-types/global-dispatcher.d.ts +4 -4
  170. package/node_modules/undici-types/global-origin.d.ts +5 -5
  171. package/node_modules/undici-types/h2c-client.d.ts +73 -0
  172. package/node_modules/undici-types/handlers.d.ts +10 -9
  173. package/node_modules/undici-types/header.d.ts +162 -1
  174. package/node_modules/undici-types/index.d.ts +69 -47
  175. package/node_modules/undici-types/interceptors.d.ts +72 -9
  176. package/node_modules/undici-types/mock-agent.d.ts +36 -18
  177. package/node_modules/undici-types/mock-call-history.d.ts +111 -0
  178. package/node_modules/undici-types/mock-client.d.ts +6 -4
  179. package/node_modules/undici-types/mock-errors.d.ts +3 -3
  180. package/node_modules/undici-types/mock-interceptor.d.ts +26 -21
  181. package/node_modules/undici-types/mock-pool.d.ts +6 -4
  182. package/node_modules/undici-types/package.json +1 -1
  183. package/node_modules/undici-types/patch.d.ts +0 -4
  184. package/node_modules/undici-types/pool-stats.d.ts +8 -8
  185. package/node_modules/undici-types/pool.d.ts +14 -14
  186. package/node_modules/undici-types/proxy-agent.d.ts +14 -6
  187. package/node_modules/undici-types/readable.d.ts +19 -16
  188. package/node_modules/undici-types/retry-agent.d.ts +1 -1
  189. package/node_modules/undici-types/retry-handler.d.ts +19 -10
  190. package/node_modules/undici-types/round-robin-pool.d.ts +39 -0
  191. package/node_modules/undici-types/snapshot-agent.d.ts +113 -0
  192. package/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
  193. package/node_modules/undici-types/util.d.ts +3 -3
  194. package/node_modules/undici-types/utility.d.ts +7 -0
  195. package/node_modules/undici-types/webidl.d.ts +148 -30
  196. package/node_modules/undici-types/websocket.d.ts +48 -10
  197. package/node_modules/zod/README.md +2 -2
  198. package/node_modules/zod/package.json +1 -1
  199. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  200. package/node_modules/zod/src/v4/classic/schemas.ts +14 -30
  201. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +1 -0
  202. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +2 -11
  203. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -4
  204. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +22 -0
  205. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +1 -1
  206. package/node_modules/zod/src/v4/classic/tests/number.test.ts +39 -0
  207. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +53 -137
  208. package/node_modules/zod/src/v4/classic/tests/string.test.ts +70 -1
  209. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +87 -35
  210. package/node_modules/zod/src/v4/core/api.ts +21 -29
  211. package/node_modules/zod/src/v4/core/checks.ts +61 -1
  212. package/node_modules/zod/src/v4/core/compile.ts +35 -24
  213. package/node_modules/zod/src/v4/core/core.ts +1 -3
  214. package/node_modules/zod/src/v4/core/json-schema-processors.ts +9 -63
  215. package/node_modules/zod/src/v4/core/memoizer.ts +2 -5
  216. package/node_modules/zod/src/v4/core/regexes.ts +4 -0
  217. package/node_modules/zod/src/v4/core/schemas.ts +36 -109
  218. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +35 -0
  219. package/node_modules/zod/src/v4/core/tests/compile.test.ts +177 -0
  220. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +118 -16
  221. package/node_modules/zod/src/v4/core/to-json-schema.ts +1 -1
  222. package/node_modules/zod/src/v4/core/util.ts +0 -4
  223. package/node_modules/zod/src/v4/core/versions.ts +1 -1
  224. package/node_modules/zod/src/v4/core/visit.ts +0 -11
  225. package/node_modules/zod/src/v4/locales/ar.ts +1 -0
  226. package/node_modules/zod/src/v4/locales/az.ts +1 -0
  227. package/node_modules/zod/src/v4/locales/be.ts +1 -0
  228. package/node_modules/zod/src/v4/locales/bg.ts +1 -0
  229. package/node_modules/zod/src/v4/locales/bn.ts +1 -0
  230. package/node_modules/zod/src/v4/locales/ca.ts +1 -0
  231. package/node_modules/zod/src/v4/locales/ckb.ts +1 -0
  232. package/node_modules/zod/src/v4/locales/cs.ts +1 -0
  233. package/node_modules/zod/src/v4/locales/da.ts +1 -0
  234. package/node_modules/zod/src/v4/locales/de.ts +1 -0
  235. package/node_modules/zod/src/v4/locales/el.ts +1 -0
  236. package/node_modules/zod/src/v4/locales/en.ts +1 -0
  237. package/node_modules/zod/src/v4/locales/eo.ts +1 -0
  238. package/node_modules/zod/src/v4/locales/es.ts +1 -0
  239. package/node_modules/zod/src/v4/locales/fa.ts +1 -0
  240. package/node_modules/zod/src/v4/locales/fi.ts +1 -0
  241. package/node_modules/zod/src/v4/locales/fr-CA.ts +1 -0
  242. package/node_modules/zod/src/v4/locales/fr.ts +1 -0
  243. package/node_modules/zod/src/v4/locales/gu.ts +1 -0
  244. package/node_modules/zod/src/v4/locales/he.ts +1 -0
  245. package/node_modules/zod/src/v4/locales/hi.ts +1 -0
  246. package/node_modules/zod/src/v4/locales/hr.ts +1 -0
  247. package/node_modules/zod/src/v4/locales/hu.ts +1 -0
  248. package/node_modules/zod/src/v4/locales/hy.ts +1 -0
  249. package/node_modules/zod/src/v4/locales/id.ts +1 -0
  250. package/node_modules/zod/src/v4/locales/is.ts +1 -0
  251. package/node_modules/zod/src/v4/locales/it.ts +1 -0
  252. package/node_modules/zod/src/v4/locales/ja.ts +1 -0
  253. package/node_modules/zod/src/v4/locales/ka.ts +1 -0
  254. package/node_modules/zod/src/v4/locales/km.ts +1 -0
  255. package/node_modules/zod/src/v4/locales/kn.ts +1 -0
  256. package/node_modules/zod/src/v4/locales/ko.ts +1 -0
  257. package/node_modules/zod/src/v4/locales/lt.ts +1 -0
  258. package/node_modules/zod/src/v4/locales/mk.ts +1 -0
  259. package/node_modules/zod/src/v4/locales/ms.ts +1 -0
  260. package/node_modules/zod/src/v4/locales/ne.ts +1 -0
  261. package/node_modules/zod/src/v4/locales/nl.ts +1 -0
  262. package/node_modules/zod/src/v4/locales/nn.ts +1 -0
  263. package/node_modules/zod/src/v4/locales/no.ts +1 -0
  264. package/node_modules/zod/src/v4/locales/ota.ts +1 -0
  265. package/node_modules/zod/src/v4/locales/pl.ts +1 -0
  266. package/node_modules/zod/src/v4/locales/ps.ts +1 -0
  267. package/node_modules/zod/src/v4/locales/pt-BR.ts +1 -0
  268. package/node_modules/zod/src/v4/locales/pt.ts +1 -0
  269. package/node_modules/zod/src/v4/locales/ro.ts +1 -0
  270. package/node_modules/zod/src/v4/locales/ru.ts +1 -0
  271. package/node_modules/zod/src/v4/locales/sk.ts +1 -0
  272. package/node_modules/zod/src/v4/locales/sl.ts +1 -0
  273. package/node_modules/zod/src/v4/locales/sv.ts +1 -0
  274. package/node_modules/zod/src/v4/locales/ta.ts +1 -0
  275. package/node_modules/zod/src/v4/locales/tg.ts +1 -0
  276. package/node_modules/zod/src/v4/locales/th.ts +1 -0
  277. package/node_modules/zod/src/v4/locales/tk.ts +1 -0
  278. package/node_modules/zod/src/v4/locales/tr.ts +1 -0
  279. package/node_modules/zod/src/v4/locales/uk.ts +1 -0
  280. package/node_modules/zod/src/v4/locales/ur.ts +1 -0
  281. package/node_modules/zod/src/v4/locales/uz.ts +1 -0
  282. package/node_modules/zod/src/v4/locales/vi.ts +1 -0
  283. package/node_modules/zod/src/v4/locales/yo.ts +1 -0
  284. package/node_modules/zod/src/v4/locales/zh-CN.ts +1 -0
  285. package/node_modules/zod/src/v4/locales/zh-TW.ts +1 -0
  286. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  287. package/node_modules/zod/src/v4/mini/schemas.ts +12 -23
  288. package/node_modules/zod/src/v4/mini/tests/index.test.ts +56 -0
  289. package/node_modules/zod/src/v4/mini/tests/string.test.ts +7 -0
  290. package/node_modules/zod/v4/classic/checks.cjs +2 -1
  291. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  292. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  293. package/node_modules/zod/v4/classic/checks.js +1 -1
  294. package/node_modules/zod/v4/classic/schemas.cjs +11 -15
  295. package/node_modules/zod/v4/classic/schemas.d.cts +4 -6
  296. package/node_modules/zod/v4/classic/schemas.d.ts +4 -6
  297. package/node_modules/zod/v4/classic/schemas.js +9 -13
  298. package/node_modules/zod/v4/core/api.cjs +11 -23
  299. package/node_modules/zod/v4/core/api.d.cts +8 -4
  300. package/node_modules/zod/v4/core/api.d.ts +8 -4
  301. package/node_modules/zod/v4/core/api.js +11 -23
  302. package/node_modules/zod/v4/core/checks.cjs +32 -1
  303. package/node_modules/zod/v4/core/checks.d.cts +16 -0
  304. package/node_modules/zod/v4/core/checks.d.ts +16 -0
  305. package/node_modules/zod/v4/core/checks.js +31 -0
  306. package/node_modules/zod/v4/core/compile.cjs +12 -17
  307. package/node_modules/zod/v4/core/compile.js +13 -18
  308. package/node_modules/zod/v4/core/core.cjs +1 -1
  309. package/node_modules/zod/v4/core/core.js +1 -1
  310. package/node_modules/zod/v4/core/json-schema-processors.cjs +8 -44
  311. package/node_modules/zod/v4/core/json-schema-processors.d.cts +0 -1
  312. package/node_modules/zod/v4/core/json-schema-processors.d.ts +0 -1
  313. package/node_modules/zod/v4/core/json-schema-processors.js +8 -43
  314. package/node_modules/zod/v4/core/memoizer.cjs +2 -5
  315. package/node_modules/zod/v4/core/memoizer.js +2 -5
  316. package/node_modules/zod/v4/core/regexes.cjs +4 -2
  317. package/node_modules/zod/v4/core/regexes.d.cts +1 -0
  318. package/node_modules/zod/v4/core/regexes.d.ts +1 -0
  319. package/node_modules/zod/v4/core/regexes.js +2 -0
  320. package/node_modules/zod/v4/core/schemas.cjs +33 -73
  321. package/node_modules/zod/v4/core/schemas.d.cts +7 -22
  322. package/node_modules/zod/v4/core/schemas.d.ts +7 -22
  323. package/node_modules/zod/v4/core/schemas.js +30 -72
  324. package/node_modules/zod/v4/core/to-json-schema.cjs +0 -1
  325. package/node_modules/zod/v4/core/to-json-schema.d.cts +0 -3
  326. package/node_modules/zod/v4/core/to-json-schema.d.ts +0 -3
  327. package/node_modules/zod/v4/core/to-json-schema.js +1 -1
  328. package/node_modules/zod/v4/core/util.cjs +0 -4
  329. package/node_modules/zod/v4/core/util.js +0 -4
  330. package/node_modules/zod/v4/core/versions.cjs +1 -1
  331. package/node_modules/zod/v4/core/versions.js +1 -1
  332. package/node_modules/zod/v4/core/visit.cjs +0 -12
  333. package/node_modules/zod/v4/core/visit.js +0 -12
  334. package/node_modules/zod/v4/locales/ar.cjs +1 -0
  335. package/node_modules/zod/v4/locales/ar.js +1 -0
  336. package/node_modules/zod/v4/locales/az.cjs +1 -0
  337. package/node_modules/zod/v4/locales/az.js +1 -0
  338. package/node_modules/zod/v4/locales/be.cjs +1 -0
  339. package/node_modules/zod/v4/locales/be.js +1 -0
  340. package/node_modules/zod/v4/locales/bg.cjs +1 -0
  341. package/node_modules/zod/v4/locales/bg.js +1 -0
  342. package/node_modules/zod/v4/locales/bn.cjs +1 -0
  343. package/node_modules/zod/v4/locales/bn.js +1 -0
  344. package/node_modules/zod/v4/locales/ca.cjs +1 -0
  345. package/node_modules/zod/v4/locales/ca.js +1 -0
  346. package/node_modules/zod/v4/locales/ckb.cjs +1 -0
  347. package/node_modules/zod/v4/locales/ckb.js +1 -0
  348. package/node_modules/zod/v4/locales/cs.cjs +1 -0
  349. package/node_modules/zod/v4/locales/cs.js +1 -0
  350. package/node_modules/zod/v4/locales/da.cjs +1 -0
  351. package/node_modules/zod/v4/locales/da.js +1 -0
  352. package/node_modules/zod/v4/locales/de.cjs +1 -0
  353. package/node_modules/zod/v4/locales/de.js +1 -0
  354. package/node_modules/zod/v4/locales/el.cjs +1 -0
  355. package/node_modules/zod/v4/locales/el.js +1 -0
  356. package/node_modules/zod/v4/locales/en.cjs +1 -0
  357. package/node_modules/zod/v4/locales/en.js +1 -0
  358. package/node_modules/zod/v4/locales/eo.cjs +1 -0
  359. package/node_modules/zod/v4/locales/eo.js +1 -0
  360. package/node_modules/zod/v4/locales/es.cjs +1 -0
  361. package/node_modules/zod/v4/locales/es.js +1 -0
  362. package/node_modules/zod/v4/locales/fa.cjs +1 -0
  363. package/node_modules/zod/v4/locales/fa.js +1 -0
  364. package/node_modules/zod/v4/locales/fi.cjs +1 -0
  365. package/node_modules/zod/v4/locales/fi.js +1 -0
  366. package/node_modules/zod/v4/locales/fr-CA.cjs +1 -0
  367. package/node_modules/zod/v4/locales/fr-CA.js +1 -0
  368. package/node_modules/zod/v4/locales/fr.cjs +1 -0
  369. package/node_modules/zod/v4/locales/fr.js +1 -0
  370. package/node_modules/zod/v4/locales/gu.cjs +1 -0
  371. package/node_modules/zod/v4/locales/gu.js +1 -0
  372. package/node_modules/zod/v4/locales/he.cjs +1 -0
  373. package/node_modules/zod/v4/locales/he.js +1 -0
  374. package/node_modules/zod/v4/locales/hi.cjs +1 -0
  375. package/node_modules/zod/v4/locales/hi.js +1 -0
  376. package/node_modules/zod/v4/locales/hr.cjs +1 -0
  377. package/node_modules/zod/v4/locales/hr.js +1 -0
  378. package/node_modules/zod/v4/locales/hu.cjs +1 -0
  379. package/node_modules/zod/v4/locales/hu.js +1 -0
  380. package/node_modules/zod/v4/locales/hy.cjs +1 -0
  381. package/node_modules/zod/v4/locales/hy.js +1 -0
  382. package/node_modules/zod/v4/locales/id.cjs +1 -0
  383. package/node_modules/zod/v4/locales/id.js +1 -0
  384. package/node_modules/zod/v4/locales/is.cjs +1 -0
  385. package/node_modules/zod/v4/locales/is.js +1 -0
  386. package/node_modules/zod/v4/locales/it.cjs +1 -0
  387. package/node_modules/zod/v4/locales/it.js +1 -0
  388. package/node_modules/zod/v4/locales/ja.cjs +1 -0
  389. package/node_modules/zod/v4/locales/ja.js +1 -0
  390. package/node_modules/zod/v4/locales/ka.cjs +1 -0
  391. package/node_modules/zod/v4/locales/ka.js +1 -0
  392. package/node_modules/zod/v4/locales/km.cjs +1 -0
  393. package/node_modules/zod/v4/locales/km.js +1 -0
  394. package/node_modules/zod/v4/locales/kn.cjs +1 -0
  395. package/node_modules/zod/v4/locales/kn.js +1 -0
  396. package/node_modules/zod/v4/locales/ko.cjs +1 -0
  397. package/node_modules/zod/v4/locales/ko.js +1 -0
  398. package/node_modules/zod/v4/locales/lt.cjs +1 -0
  399. package/node_modules/zod/v4/locales/lt.js +1 -0
  400. package/node_modules/zod/v4/locales/mk.cjs +1 -0
  401. package/node_modules/zod/v4/locales/mk.js +1 -0
  402. package/node_modules/zod/v4/locales/ms.cjs +1 -0
  403. package/node_modules/zod/v4/locales/ms.js +1 -0
  404. package/node_modules/zod/v4/locales/ne.cjs +1 -0
  405. package/node_modules/zod/v4/locales/ne.js +1 -0
  406. package/node_modules/zod/v4/locales/nl.cjs +1 -0
  407. package/node_modules/zod/v4/locales/nl.js +1 -0
  408. package/node_modules/zod/v4/locales/nn.cjs +1 -0
  409. package/node_modules/zod/v4/locales/nn.js +1 -0
  410. package/node_modules/zod/v4/locales/no.cjs +1 -0
  411. package/node_modules/zod/v4/locales/no.js +1 -0
  412. package/node_modules/zod/v4/locales/ota.cjs +1 -0
  413. package/node_modules/zod/v4/locales/ota.js +1 -0
  414. package/node_modules/zod/v4/locales/pl.cjs +1 -0
  415. package/node_modules/zod/v4/locales/pl.js +1 -0
  416. package/node_modules/zod/v4/locales/ps.cjs +1 -0
  417. package/node_modules/zod/v4/locales/ps.js +1 -0
  418. package/node_modules/zod/v4/locales/pt-BR.cjs +1 -0
  419. package/node_modules/zod/v4/locales/pt-BR.js +1 -0
  420. package/node_modules/zod/v4/locales/pt.cjs +1 -0
  421. package/node_modules/zod/v4/locales/pt.js +1 -0
  422. package/node_modules/zod/v4/locales/ro.cjs +1 -0
  423. package/node_modules/zod/v4/locales/ro.js +1 -0
  424. package/node_modules/zod/v4/locales/ru.cjs +1 -0
  425. package/node_modules/zod/v4/locales/ru.js +1 -0
  426. package/node_modules/zod/v4/locales/sk.cjs +1 -0
  427. package/node_modules/zod/v4/locales/sk.js +1 -0
  428. package/node_modules/zod/v4/locales/sl.cjs +1 -0
  429. package/node_modules/zod/v4/locales/sl.js +1 -0
  430. package/node_modules/zod/v4/locales/sv.cjs +1 -0
  431. package/node_modules/zod/v4/locales/sv.js +1 -0
  432. package/node_modules/zod/v4/locales/ta.cjs +1 -0
  433. package/node_modules/zod/v4/locales/ta.js +1 -0
  434. package/node_modules/zod/v4/locales/tg.cjs +1 -0
  435. package/node_modules/zod/v4/locales/tg.js +1 -0
  436. package/node_modules/zod/v4/locales/th.cjs +1 -0
  437. package/node_modules/zod/v4/locales/th.js +1 -0
  438. package/node_modules/zod/v4/locales/tk.cjs +1 -0
  439. package/node_modules/zod/v4/locales/tk.js +1 -0
  440. package/node_modules/zod/v4/locales/tr.cjs +1 -0
  441. package/node_modules/zod/v4/locales/tr.js +1 -0
  442. package/node_modules/zod/v4/locales/uk.cjs +1 -0
  443. package/node_modules/zod/v4/locales/uk.js +1 -0
  444. package/node_modules/zod/v4/locales/ur.cjs +1 -0
  445. package/node_modules/zod/v4/locales/ur.js +1 -0
  446. package/node_modules/zod/v4/locales/uz.cjs +1 -0
  447. package/node_modules/zod/v4/locales/uz.js +1 -0
  448. package/node_modules/zod/v4/locales/vi.cjs +1 -0
  449. package/node_modules/zod/v4/locales/vi.js +1 -0
  450. package/node_modules/zod/v4/locales/yo.cjs +1 -0
  451. package/node_modules/zod/v4/locales/yo.js +1 -0
  452. package/node_modules/zod/v4/locales/zh-CN.cjs +1 -0
  453. package/node_modules/zod/v4/locales/zh-CN.js +1 -0
  454. package/node_modules/zod/v4/locales/zh-TW.cjs +1 -0
  455. package/node_modules/zod/v4/locales/zh-TW.js +1 -0
  456. package/node_modules/zod/v4/mini/checks.cjs +2 -1
  457. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  458. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  459. package/node_modules/zod/v4/mini/checks.js +1 -1
  460. package/node_modules/zod/v4/mini/schemas.cjs +11 -13
  461. package/node_modules/zod/v4/mini/schemas.d.cts +1 -4
  462. package/node_modules/zod/v4/mini/schemas.d.ts +1 -4
  463. package/node_modules/zod/v4/mini/schemas.js +9 -11
  464. package/package.json +2 -2
  465. package/slingshot/index.js +268 -264
  466. package/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  467. package/node_modules/@types/node/compatibility/index.d.ts +0 -9
  468. package/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  469. package/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  470. package/node_modules/undici-types/file.d.ts +0 -39
  471. package/node_modules/undici-types/filereader.d.ts +0 -54
@@ -0,0 +1,131 @@
1
+ declare module "node:zlib/iter" {
2
+ import { StatefulTransform, SyncStatefulTransform } from "node:stream/iter";
3
+ interface BrotliOptions {
4
+ chunkSize?: number | undefined;
5
+ params?: { [key: number]: number | boolean } | undefined;
6
+ dictionary?: NodeJS.ArrayBufferView | undefined;
7
+ }
8
+ interface ZlibOptions {
9
+ chunkSize?: number | undefined;
10
+ windowBits?: number | undefined;
11
+ dictionary?: NodeJS.ArrayBufferView | undefined;
12
+ }
13
+ interface ZlibCompressionOptions extends ZlibOptions {
14
+ level?: number | undefined;
15
+ memLevel?: number | undefined;
16
+ strategy?: number | undefined;
17
+ }
18
+ interface ZstdOptions {
19
+ chunkSize?: number | undefined;
20
+ params?: { [key: number]: number | boolean } | undefined;
21
+ dictionary?: NodeJS.ArrayBufferView | undefined;
22
+ }
23
+ interface ZstdCompressionOptions extends ZstdOptions {
24
+ pledgedSrcSize?: number | undefined;
25
+ }
26
+ /**
27
+ * Create a Brotli compression transform. Output is compatible with
28
+ * `zlib.brotliDecompress()` and `decompressBrotli()`/`decompressBrotliSync()`.
29
+ * @since v25.9.0
30
+ * @returns A stateful transform.
31
+ */
32
+ function compressBrotli(options?: BrotliOptions): StatefulTransform;
33
+ /**
34
+ * Create a Brotli compression transform. Output is compatible with
35
+ * `zlib.brotliDecompress()` and `decompressBrotli()`/`decompressBrotliSync()`.
36
+ * @since v25.9.0
37
+ * @returns A stateful transform.
38
+ */
39
+ function compressBrotliSync(options?: BrotliOptions): SyncStatefulTransform;
40
+ /**
41
+ * Create a deflate compression transform. Output is compatible with
42
+ * `zlib.inflate()` and `decompressDeflate()`/`decompressDeflateSync()`.
43
+ * @since v25.9.0
44
+ * @returns A stateful transform.
45
+ */
46
+ function compressDeflate(options?: ZlibCompressionOptions): StatefulTransform;
47
+ /**
48
+ * Create a deflate compression transform. Output is compatible with
49
+ * `zlib.inflate()` and `decompressDeflate()`/`decompressDeflateSync()`.
50
+ * @since v25.9.0
51
+ * @returns A stateful transform.
52
+ */
53
+ function compressDeflateSync(options?: ZlibCompressionOptions): SyncStatefulTransform;
54
+ /**
55
+ * Create a gzip compression transform. Output is compatible with `zlib.gunzip()`
56
+ * and `decompressGzip()`/`decompressGzipSync()`.
57
+ * @returns A stateful transform.
58
+ */
59
+ function compressGzip(options?: ZlibCompressionOptions): StatefulTransform;
60
+ /**
61
+ * Create a gzip compression transform. Output is compatible with `zlib.gunzip()`
62
+ * and `decompressGzip()`/`decompressGzipSync()`.
63
+ * @returns A stateful transform.
64
+ */
65
+ function compressGzipSync(options?: ZlibCompressionOptions): SyncStatefulTransform;
66
+ /**
67
+ * Create a Zstandard compression transform. Output is compatible with
68
+ * `zlib.zstdDecompress()` and `decompressZstd()`/`decompressZstdSync()`.
69
+ * @since v25.9.0
70
+ * @returns A stateful transform.
71
+ */
72
+ function compressZstd(options?: ZstdCompressionOptions): StatefulTransform;
73
+ /**
74
+ * Create a Zstandard compression transform. Output is compatible with
75
+ * `zlib.zstdDecompress()` and `decompressZstd()`/`decompressZstdSync()`.
76
+ * @since v25.9.0
77
+ * @returns A stateful transform.
78
+ */
79
+ function compressZstdSync(options?: ZstdCompressionOptions): SyncStatefulTransform;
80
+ /**
81
+ * Create a Brotli decompression transform.
82
+ * @since v25.9.0
83
+ * @returns A stateful transform.
84
+ */
85
+ function decompressBrotli(options?: BrotliOptions): StatefulTransform;
86
+ /**
87
+ * Create a Brotli decompression transform.
88
+ * @since v25.9.0
89
+ * @returns A stateful transform.
90
+ */
91
+ function decompressBrotliSync(options?: BrotliOptions): SyncStatefulTransform;
92
+ /**
93
+ * Create a deflate decompression transform.
94
+ * @since v25.9.0
95
+ * @returns A stateful transform.
96
+ */
97
+ function decompressDeflate(options?: ZlibOptions): StatefulTransform;
98
+ /**
99
+ * Create a deflate decompression transform.
100
+ * @since v25.9.0
101
+ * @returns A stateful transform.
102
+ */
103
+ function decompressDeflateSync(options?: ZlibOptions): SyncStatefulTransform;
104
+ /**
105
+ * Create a gzip decompression transform.
106
+ * @since v25.9.0
107
+ * @returns A stateful transform.
108
+ */
109
+ function decompressGzip(options?: ZlibOptions): StatefulTransform;
110
+ /**
111
+ * Create a gzip decompression transform.
112
+ * @since v25.9.0
113
+ * @returns A stateful transform.
114
+ */
115
+ function decompressGzipSync(options?: ZlibOptions): SyncStatefulTransform;
116
+ /**
117
+ * Create a Zstandard decompression transform.
118
+ * @since v25.9.0
119
+ * @returns A stateful transform.
120
+ */
121
+ function decompressZstd(options?: ZstdOptions): StatefulTransform;
122
+ /**
123
+ * Create a Zstandard decompression transform.
124
+ * @since v25.9.0
125
+ * @returns A stateful transform.
126
+ */
127
+ function decompressZstdSync(options?: ZstdOptions): SyncStatefulTransform;
128
+ }
129
+ declare module "zlib/iter" {
130
+ export * from "node:zlib/iter";
131
+ }
@@ -1,97 +1,4 @@
1
- /**
2
- * The `node:zlib` module provides compression functionality implemented using
3
- * Gzip, Deflate/Inflate, and Brotli.
4
- *
5
- * To access it:
6
- *
7
- * ```js
8
- * import zlib from 'node:zlib';
9
- * ```
10
- *
11
- * Compression and decompression are built around the Node.js
12
- * [Streams API](https://nodejs.org/docs/latest-v22.x/api/stream.html).
13
- *
14
- * Compressing or decompressing a stream (such as a file) can be accomplished by
15
- * piping the source stream through a `zlib` `Transform` stream into a destination
16
- * stream:
17
- *
18
- * ```js
19
- * import { createGzip } from 'node:zlib';
20
- * import { pipeline } from 'node:stream';
21
- * import {
22
- * createReadStream,
23
- * createWriteStream,
24
- * } from 'node:fs';
25
- *
26
- * const gzip = createGzip();
27
- * const source = createReadStream('input.txt');
28
- * const destination = createWriteStream('input.txt.gz');
29
- *
30
- * pipeline(source, gzip, destination, (err) => {
31
- * if (err) {
32
- * console.error('An error occurred:', err);
33
- * process.exitCode = 1;
34
- * }
35
- * });
36
- *
37
- * // Or, Promisified
38
- *
39
- * import { promisify } from 'node:util';
40
- * const pipe = promisify(pipeline);
41
- *
42
- * async function do_gzip(input, output) {
43
- * const gzip = createGzip();
44
- * const source = createReadStream(input);
45
- * const destination = createWriteStream(output);
46
- * await pipe(source, gzip, destination);
47
- * }
48
- *
49
- * do_gzip('input.txt', 'input.txt.gz')
50
- * .catch((err) => {
51
- * console.error('An error occurred:', err);
52
- * process.exitCode = 1;
53
- * });
54
- * ```
55
- *
56
- * It is also possible to compress or decompress data in a single step:
57
- *
58
- * ```js
59
- * import { deflate, unzip } from 'node:zlib';
60
- *
61
- * const input = '.................................';
62
- * deflate(input, (err, buffer) => {
63
- * if (err) {
64
- * console.error('An error occurred:', err);
65
- * process.exitCode = 1;
66
- * }
67
- * console.log(buffer.toString('base64'));
68
- * });
69
- *
70
- * const buffer = Buffer.from('eJzT0yMAAGTvBe8=', 'base64');
71
- * unzip(buffer, (err, buffer) => {
72
- * if (err) {
73
- * console.error('An error occurred:', err);
74
- * process.exitCode = 1;
75
- * }
76
- * console.log(buffer.toString());
77
- * });
78
- *
79
- * // Or, Promisified
80
- *
81
- * import { promisify } from 'node:util';
82
- * const do_unzip = promisify(unzip);
83
- *
84
- * do_unzip(buffer)
85
- * .then((buf) => console.log(buf.toString()))
86
- * .catch((err) => {
87
- * console.error('An error occurred:', err);
88
- * process.exitCode = 1;
89
- * });
90
- * ```
91
- * @since v0.5.8
92
- * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/zlib.js)
93
- */
94
- declare module "zlib" {
1
+ declare module "node:zlib" {
95
2
  import { NonSharedBuffer } from "node:buffer";
96
3
  import * as stream from "node:stream";
97
4
  interface ZlibOptions {
@@ -125,6 +32,13 @@ declare module "zlib" {
125
32
  * @default buffer.kMaxLength
126
33
  */
127
34
  maxOutputLength?: number | undefined;
35
+ /**
36
+ * If `true`, decompression fails when
37
+ * trailing input is detected after the end of the compressed stream. This
38
+ * includes unreadable bytes and, when decompressing gzip, additional gzip
39
+ * members following the first member. **Default:** `false`
40
+ */
41
+ rejectGarbageAfterEnd?: boolean | undefined;
128
42
  }
129
43
  interface BrotliOptions {
130
44
  /**
@@ -148,7 +62,7 @@ declare module "zlib" {
148
62
  }
149
63
  | undefined;
150
64
  /**
151
- * Limits output size when using [convenience methods](https://nodejs.org/docs/latest-v22.x/api/zlib.html#convenience-methods).
65
+ * Limits output size when using [convenience methods](https://nodejs.org/docs/latest-v26.x/api/zlib.html#convenience-methods).
152
66
  * @default buffer.kMaxLength
153
67
  */
154
68
  maxOutputLength?: number | undefined;
@@ -156,6 +70,11 @@ declare module "zlib" {
156
70
  * If `true`, returns an object with `buffer` and `engine`.
157
71
  */
158
72
  info?: boolean | undefined;
73
+ /**
74
+ * If `true`, decompression fails when
75
+ * input remains after the first complete compressed stream. **Default:** `false`
76
+ */
77
+ rejectGarbageAfterEnd?: boolean | undefined;
159
78
  }
160
79
  interface ZstdOptions {
161
80
  /**
@@ -172,12 +91,12 @@ declare module "zlib" {
172
91
  chunkSize?: number | undefined;
173
92
  /**
174
93
  * Key-value object containing indexed
175
- * [Zstd parameters](https://nodejs.org/docs/latest-v22.x/api/zlib.html#zstd-constants).
94
+ * [Zstd parameters](https://nodejs.org/docs/latest-v26.x/api/zlib.html#zstd-constants).
176
95
  */
177
96
  params?: { [key: number]: number | boolean } | undefined;
178
97
  /**
179
98
  * Limits output size when using
180
- * [convenience methods](https://nodejs.org/docs/latest-v22.x/api/zlib.html#convenience-methods).
99
+ * [convenience methods](https://nodejs.org/docs/latest-v26.x/api/zlib.html#convenience-methods).
181
100
  * @default buffer.kMaxLength
182
101
  */
183
102
  maxOutputLength?: number | undefined;
@@ -188,13 +107,16 @@ declare module "zlib" {
188
107
  /**
189
108
  * Optional dictionary used to improve compression efficiency when compressing or decompressing data that
190
109
  * shares common patterns with the dictionary.
191
- * @since v22.19.0
110
+ * @since v24.6.0
192
111
  */
193
112
  dictionary?: NodeJS.ArrayBufferView | undefined;
113
+ /**
114
+ * If `true`, decompression fails when
115
+ * input remains after the first complete compressed stream. **Default:** `false`
116
+ */
117
+ rejectGarbageAfterEnd?: boolean | undefined;
194
118
  }
195
119
  interface Zlib {
196
- /** @deprecated Use bytesWritten instead. */
197
- readonly bytesRead: number;
198
120
  readonly bytesWritten: number;
199
121
  shell?: boolean | string | undefined;
200
122
  close(callback?: () => void): void;
@@ -678,70 +600,7 @@ declare module "zlib" {
678
600
  const Z_SYNC_FLUSH: number;
679
601
  const Z_VERSION_ERROR: number;
680
602
  }
681
- // Allowed flush values.
682
- /** @deprecated Use `constants.Z_NO_FLUSH` */
683
- const Z_NO_FLUSH: number;
684
- /** @deprecated Use `constants.Z_PARTIAL_FLUSH` */
685
- const Z_PARTIAL_FLUSH: number;
686
- /** @deprecated Use `constants.Z_SYNC_FLUSH` */
687
- const Z_SYNC_FLUSH: number;
688
- /** @deprecated Use `constants.Z_FULL_FLUSH` */
689
- const Z_FULL_FLUSH: number;
690
- /** @deprecated Use `constants.Z_FINISH` */
691
- const Z_FINISH: number;
692
- /** @deprecated Use `constants.Z_BLOCK` */
693
- const Z_BLOCK: number;
694
- // Return codes for the compression/decompression functions.
695
- // Negative values are errors, positive values are used for special but normal events.
696
- /** @deprecated Use `constants.Z_OK` */
697
- const Z_OK: number;
698
- /** @deprecated Use `constants.Z_STREAM_END` */
699
- const Z_STREAM_END: number;
700
- /** @deprecated Use `constants.Z_NEED_DICT` */
701
- const Z_NEED_DICT: number;
702
- /** @deprecated Use `constants.Z_ERRNO` */
703
- const Z_ERRNO: number;
704
- /** @deprecated Use `constants.Z_STREAM_ERROR` */
705
- const Z_STREAM_ERROR: number;
706
- /** @deprecated Use `constants.Z_DATA_ERROR` */
707
- const Z_DATA_ERROR: number;
708
- /** @deprecated Use `constants.Z_MEM_ERROR` */
709
- const Z_MEM_ERROR: number;
710
- /** @deprecated Use `constants.Z_BUF_ERROR` */
711
- const Z_BUF_ERROR: number;
712
- /** @deprecated Use `constants.Z_VERSION_ERROR` */
713
- const Z_VERSION_ERROR: number;
714
- // Compression levels.
715
- /** @deprecated Use `constants.Z_NO_COMPRESSION` */
716
- const Z_NO_COMPRESSION: number;
717
- /** @deprecated Use `constants.Z_BEST_SPEED` */
718
- const Z_BEST_SPEED: number;
719
- /** @deprecated Use `constants.Z_BEST_COMPRESSION` */
720
- const Z_BEST_COMPRESSION: number;
721
- /** @deprecated Use `constants.Z_DEFAULT_COMPRESSION` */
722
- const Z_DEFAULT_COMPRESSION: number;
723
- // Compression strategy.
724
- /** @deprecated Use `constants.Z_FILTERED` */
725
- const Z_FILTERED: number;
726
- /** @deprecated Use `constants.Z_HUFFMAN_ONLY` */
727
- const Z_HUFFMAN_ONLY: number;
728
- /** @deprecated Use `constants.Z_RLE` */
729
- const Z_RLE: number;
730
- /** @deprecated Use `constants.Z_FIXED` */
731
- const Z_FIXED: number;
732
- /** @deprecated Use `constants.Z_DEFAULT_STRATEGY` */
733
- const Z_DEFAULT_STRATEGY: number;
734
- /** @deprecated */
735
- const Z_BINARY: number;
736
- /** @deprecated */
737
- const Z_TEXT: number;
738
- /** @deprecated */
739
- const Z_ASCII: number;
740
- /** @deprecated */
741
- const Z_UNKNOWN: number;
742
- /** @deprecated */
743
- const Z_DEFLATED: number;
744
603
  }
745
- declare module "node:zlib" {
746
- export * from "zlib";
604
+ declare module "zlib" {
605
+ export * from "node:zlib";
747
606
  }
@@ -1,8 +1,12 @@
1
1
  export declare const EXPANSION_MAX = 100000;
2
2
  export declare const EXPANSION_MAX_LENGTH = 4000000;
3
+ export declare const EXPANSION_MAX_DEPTH = 1000;
4
+ export declare const EXPANSION_MAX_REWRITES = 1000;
3
5
  export type BraceExpansionOptions = {
4
6
  max?: number;
5
7
  maxLength?: number;
8
+ maxDepth?: number;
9
+ maxRewrites?: number;
6
10
  };
7
11
  export declare function expand(str: string, options?: BraceExpansionOptions): string[];
8
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,aAAa,SAAU,CAAA;AAYpC,eAAO,MAAM,oBAAoB,UAAY,CAAA;AAwD7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,YAkBtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,aAAa,SAAU,CAAA;AAYpC,eAAO,MAAM,oBAAoB,UAAY,CAAA;AAU7C,eAAO,MAAM,mBAAmB,OAAQ,CAAA;AAUxC,eAAO,MAAM,sBAAsB,OAAQ,CAAA;AAyE3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,YA+BtE"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EXPANSION_MAX_LENGTH = exports.EXPANSION_MAX = void 0;
3
+ exports.EXPANSION_MAX_REWRITES = exports.EXPANSION_MAX_DEPTH = exports.EXPANSION_MAX_LENGTH = exports.EXPANSION_MAX = void 0;
4
4
  exports.expand = expand;
5
5
  const balanced_match_1 = require("balanced-match");
6
6
  const escSlash = '\0SLASH' + Math.random() + '\0';
@@ -30,6 +30,24 @@ exports.EXPANSION_MAX = 100_000;
30
30
  // realistic expansion (100k results hitting `EXPANSION_MAX` measure ~1M
31
31
  // characters) so legitimate input is unaffected.
32
32
  exports.EXPANSION_MAX_LENGTH = 4_000_000;
33
+ // `expand_` recurses once per level of brace *nesting* - both when expanding a
34
+ // set's comma members and when re-wrapping a set whose body is a single part.
35
+ // The CVE-2026-14257 fix made the *tail* iterative (recursion on `m.post`, one
36
+ // level per chained group), which left nesting depth unbounded: about 3,100
37
+ // levels of `{{{...a,b...}}}` - only ~6KB of input - exhausted the native stack
38
+ // and crashed the process. `EXPANSION_MAX_DEPTH` bounds how deep the parser
39
+ // will follow nesting. It sits far above any realistic pattern and well below
40
+ // the depth at which the stack runs out.
41
+ exports.EXPANSION_MAX_DEPTH = 1_000;
42
+ // Bash keeps a quirk where a brace group followed by a comma set still expands
43
+ // (`{a},b}`). The parser implements it by rewriting the string and restarting
44
+ // the scan, absorbing one `}` per pass. `n` trailing braces therefore cost `n`
45
+ // full passes over a string that itself grows by one `escClose` sentinel each
46
+ // time - quadratic in `n`, with a ~26x constant from the sentinel's length.
47
+ // 128KB of `'{a}' + '}'.repeat(n) + ',z}'` blocked the event loop for 27
48
+ // seconds to produce two results. `EXPANSION_MAX_REWRITES` bounds how many
49
+ // times the scan may restart. Real `{a},b}` input needs a handful.
50
+ exports.EXPANSION_MAX_REWRITES = 1_000;
33
51
  function numeric(str) {
34
52
  return !isNaN(str) ? parseInt(str, 10) : str.charCodeAt(0);
35
53
  }
@@ -49,37 +67,52 @@ function unescapeBraces(str) {
49
67
  .replace(escCommaPattern, ',')
50
68
  .replace(escPeriodPattern, '.');
51
69
  }
70
+ // Like `target.push(...items)` but doesn't overflow the stack
71
+ function pushAll(target, items) {
72
+ for (let i = 0; i < items.length; i++) {
73
+ target.push(items[i]);
74
+ }
75
+ }
52
76
  /**
53
77
  * Basically just str.split(","), but handling cases
54
78
  * where we have nested braced sections, which should be
55
79
  * treated as individual members, like {a,{b,c},d}
56
80
  */
57
81
  function parseCommaParts(str) {
58
- if (!str) {
59
- return [''];
60
- }
61
82
  const parts = [];
62
- const m = (0, balanced_match_1.balanced)('{', '}', str);
63
- if (!m) {
64
- return str.split(',');
65
- }
66
- const { pre, body, post } = m;
67
- const p = pre.split(',');
68
- p[p.length - 1] += '{' + body + '}';
69
- const postParts = parseCommaParts(post);
70
- if (post.length) {
71
- ;
72
- p[p.length - 1] += postParts.shift();
73
- p.push.apply(p, postParts);
83
+ // Walk the brace groups iteratively. Recursing on `post` once per group let a
84
+ // chain of them exhaust the stack - the parsing-side counterpart to
85
+ // the `expand_` overflow fixed for CVE-2026-14257, and not something `max` or
86
+ // `maxLength` can bound, since it happens before expansion.
87
+ //
88
+ // The part the next chunk continues
89
+ let carry = '';
90
+ for (;;) {
91
+ const m = (0, balanced_match_1.balanced)('{', '}', str);
92
+ if (!m) {
93
+ const tail = str.split(',');
94
+ tail[0] = carry + tail[0];
95
+ pushAll(parts, tail);
96
+ return parts;
97
+ }
98
+ const { pre, body, post } = m;
99
+ const p = pre.split(',');
100
+ p[0] = carry + p[0];
101
+ p[p.length - 1] += '{' + body + '}';
102
+ if (!post.length) {
103
+ pushAll(parts, p);
104
+ return parts;
105
+ }
106
+ carry = p.pop();
107
+ pushAll(parts, p);
108
+ str = post;
74
109
  }
75
- parts.push.apply(parts, p);
76
- return parts;
77
110
  }
78
111
  function expand(str, options = {}) {
79
112
  if (!str) {
80
113
  return [];
81
114
  }
82
- const { max = exports.EXPANSION_MAX, maxLength = exports.EXPANSION_MAX_LENGTH } = options;
115
+ const { max = exports.EXPANSION_MAX, maxLength = exports.EXPANSION_MAX_LENGTH, maxDepth = exports.EXPANSION_MAX_DEPTH, maxRewrites = exports.EXPANSION_MAX_REWRITES, } = options;
83
116
  // I don't know why Bash 4.3 does this, but it does.
84
117
  // Anything starting with {} will have the first two bytes preserved
85
118
  // but *only* at the top level, so {},a}b will not expand to anything,
@@ -89,7 +122,7 @@ function expand(str, options = {}) {
89
122
  if (str.slice(0, 2) === '{}') {
90
123
  str = '\\{\\}' + str.slice(2);
91
124
  }
92
- return expand_(escapeBraces(str), max, maxLength, true).map(unescapeBraces);
125
+ return expand_(escapeBraces(str), max, maxLength, maxDepth, 0, maxRewrites, true).map(unescapeBraces);
93
126
  }
94
127
  function embrace(str) {
95
128
  return '{' + str + '}';
@@ -184,7 +217,13 @@ function expandSequence(body, isAlphaSequence, max, maxLength) {
184
217
  }
185
218
  return N;
186
219
  }
187
- function expand_(str, max, maxLength, isTop) {
220
+ function expand_(str, max, maxLength, maxDepth, depth, maxRewrites, isTop) {
221
+ // Too deeply nested to keep following: treat the rest as literal, the same
222
+ // way a group that cannot expand is already handled. Truncating rather than
223
+ // throwing keeps `expand` total, matching `max` and `maxLength`.
224
+ if (depth > maxDepth) {
225
+ return [str];
226
+ }
188
227
  // Consume the string's top-level brace groups left to right, threading a
189
228
  // running set of combined prefixes (`acc`). Expanding the tail iteratively -
190
229
  // rather than recursing on `m.post` once per group - keeps the native stack
@@ -196,6 +235,9 @@ function expand_(str, max, maxLength, isTop) {
196
235
  // comma set - a sequence like `{a..\}` may legitimately yield ''. The drop
197
236
  // is on the final strings, so it is applied to whichever `combine` produces
198
237
  // them (the one with no brace set left in the tail).
238
+ // How many times the `{a},b}` rewrite below has restarted the scan. Each pass
239
+ // re-reads the whole string, so leaving this unbounded is quadratic.
240
+ let rewrites = 0;
199
241
  let dropEmpties = false;
200
242
  let firstGroup = true;
201
243
  for (;;) {
@@ -220,7 +262,8 @@ function expand_(str, max, maxLength, isTop) {
220
262
  const isOptions = m.body.indexOf(',') >= 0;
221
263
  if (!isSequence && !isOptions) {
222
264
  // {a},b}
223
- if (m.post.match(/,(?!,).*\}/)) {
265
+ if (rewrites < maxRewrites && m.post.match(/,(?!,).*\}/)) {
266
+ rewrites++;
224
267
  str = m.pre + '{' + m.body + escClose + m.post;
225
268
  isTop = true;
226
269
  continue;
@@ -240,7 +283,7 @@ function expand_(str, max, maxLength, isTop) {
240
283
  let n = parseCommaParts(m.body);
241
284
  if (n.length === 1 && n[0] !== undefined) {
242
285
  // x{{a,b}}y ==> x{a}y x{b}y
243
- n = expand_(n[0], max, maxLength, false).map(embrace);
286
+ n = expand_(n[0], max, maxLength, maxDepth, depth + 1, maxRewrites, false).map(embrace);
244
287
  //XXX is this necessary? Can't seem to hit it in tests.
245
288
  /* c8 ignore start */
246
289
  if (n.length === 1) {
@@ -266,12 +309,13 @@ function expand_(str, max, maxLength, isTop) {
266
309
  values = [];
267
310
  let valuesLength = 0;
268
311
  outer: for (let j = 0; j < n.length; j++) {
269
- const expanded = expand_(n[j], max, maxLength, false);
312
+ const expanded = expand_(n[j], max, maxLength, maxDepth, depth + 1, maxRewrites, false);
270
313
  for (let k = 0; k < expanded.length; k++) {
271
314
  const v = expanded[k];
272
315
  if (dropsEmpties && !v)
273
316
  continue;
274
- if (values.length >= max || valuesLength + v.length > maxLength) {
317
+ if (values.length >= max ||
318
+ valuesLength + v.length > maxLength) {
275
319
  break outer;
276
320
  }
277
321
  values.push(v);