@scriptc/compiler 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (726) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +470 -66
  2. package/dist/backend/cycle-analysis.d.ts +4 -1
  3. package/dist/backend/cycle-analysis.js +6 -4
  4. package/dist/backend/cycle-analysis.js.map +1 -1
  5. package/dist/backend/cycle-analysis.test.js +55 -0
  6. package/dist/backend/cycle-analysis.test.js.map +1 -1
  7. package/dist/backend/cycle-mutability.d.ts +7 -0
  8. package/dist/backend/cycle-mutability.js +19 -1
  9. package/dist/backend/cycle-mutability.js.map +1 -1
  10. package/dist/backend/executable-features.js +2 -0
  11. package/dist/backend/executable-features.js.map +1 -1
  12. package/dist/backend/immutability.d.ts +6 -3
  13. package/dist/backend/immutability.js +33 -29
  14. package/dist/backend/immutability.js.map +1 -1
  15. package/dist/backend/library-pack.js +1 -0
  16. package/dist/backend/library-pack.js.map +1 -1
  17. package/dist/backend/llvm/alloc.d.ts +16 -1
  18. package/dist/backend/llvm/alloc.js +54 -4
  19. package/dist/backend/llvm/alloc.js.map +1 -1
  20. package/dist/backend/llvm/appended-array-literals.d.ts +2 -1
  21. package/dist/backend/llvm/appended-array-literals.js +44 -36
  22. package/dist/backend/llvm/appended-array-literals.js.map +1 -1
  23. package/dist/backend/llvm/appended-array-literals.test.js +4 -3
  24. package/dist/backend/llvm/appended-array-literals.test.js.map +1 -1
  25. package/dist/backend/llvm/array-search.d.ts +4 -3
  26. package/dist/backend/llvm/array-search.js +21 -9
  27. package/dist/backend/llvm/array-search.js.map +1 -1
  28. package/dist/backend/llvm/blocks.d.ts +1 -1
  29. package/dist/backend/llvm/blocks.js +2 -2
  30. package/dist/backend/llvm/blocks.js.map +1 -1
  31. package/dist/backend/llvm/byte-windows.js +2 -0
  32. package/dist/backend/llvm/byte-windows.js.map +1 -1
  33. package/dist/backend/llvm/bytes-alias.d.ts +6 -1
  34. package/dist/backend/llvm/bytes-alias.js +8 -2
  35. package/dist/backend/llvm/bytes-alias.js.map +1 -1
  36. package/dist/backend/llvm/bytes-loop-versions.d.ts +47 -5
  37. package/dist/backend/llvm/bytes-loop-versions.js +479 -32
  38. package/dist/backend/llvm/bytes-loop-versions.js.map +1 -1
  39. package/dist/backend/llvm/bytes-loop-versions.test.js +263 -2
  40. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
  41. package/dist/backend/llvm/checked-value-lifetimes.js +2 -0
  42. package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
  43. package/dist/backend/llvm/classes.d.ts +7 -5
  44. package/dist/backend/llvm/classes.js +44 -20
  45. package/dist/backend/llvm/classes.js.map +1 -1
  46. package/dist/backend/llvm/classes.test.js +167 -7
  47. package/dist/backend/llvm/classes.test.js.map +1 -1
  48. package/dist/backend/llvm/common.d.ts +9 -3
  49. package/dist/backend/llvm/common.js +9 -3
  50. package/dist/backend/llvm/common.js.map +1 -1
  51. package/dist/backend/llvm/constant-callbacks.d.ts +2 -1
  52. package/dist/backend/llvm/constant-callbacks.js +83 -52
  53. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  54. package/dist/backend/llvm/counted-loops.d.ts +7 -0
  55. package/dist/backend/llvm/counted-loops.js +18 -0
  56. package/dist/backend/llvm/counted-loops.js.map +1 -1
  57. package/dist/backend/llvm/debug-info.js +2 -5
  58. package/dist/backend/llvm/debug-info.js.map +1 -1
  59. package/dist/backend/llvm/dense-array-access.d.ts +39 -8
  60. package/dist/backend/llvm/dense-array-access.js +222 -52
  61. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  62. package/dist/backend/llvm/dense-array-access.test.js +36 -0
  63. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  64. package/dist/backend/llvm/dense-array-loops.d.ts +17 -1
  65. package/dist/backend/llvm/dense-array-loops.js +194 -5
  66. package/dist/backend/llvm/dense-array-loops.js.map +1 -1
  67. package/dist/backend/llvm/dense-array-loops.test.js +90 -1
  68. package/dist/backend/llvm/dense-array-loops.test.js.map +1 -1
  69. package/dist/backend/llvm/dyn-handle-tags.test.js +6 -1
  70. package/dist/backend/llvm/dyn-handle-tags.test.js.map +1 -1
  71. package/dist/backend/llvm/dyn.d.ts +30 -0
  72. package/dist/backend/llvm/dyn.js +373 -70
  73. package/dist/backend/llvm/dyn.js.map +1 -1
  74. package/dist/backend/llvm/emit-function.js +13 -28
  75. package/dist/backend/llvm/emit-function.js.map +1 -1
  76. package/dist/backend/llvm/emit-journal.d.ts +93 -0
  77. package/dist/backend/llvm/emit-journal.js +170 -0
  78. package/dist/backend/llvm/emit-journal.js.map +1 -0
  79. package/dist/backend/llvm/emit-module.js +211 -33
  80. package/dist/backend/llvm/emit-module.js.map +1 -1
  81. package/dist/backend/llvm/emit-statements.d.ts +0 -4
  82. package/dist/backend/llvm/emit-statements.js +268 -84
  83. package/dist/backend/llvm/emit-statements.js.map +1 -1
  84. package/dist/backend/llvm/emitter-state.d.ts +7 -0
  85. package/dist/backend/llvm/emitter-state.js +14 -0
  86. package/dist/backend/llvm/emitter-state.js.map +1 -0
  87. package/dist/backend/llvm/emitter.d.ts +186 -37
  88. package/dist/backend/llvm/emitter.js +733 -90
  89. package/dist/backend/llvm/emitter.js.map +1 -1
  90. package/dist/backend/llvm/emitter.test.js +65 -7
  91. package/dist/backend/llvm/emitter.test.js.map +1 -1
  92. package/dist/backend/llvm/expr-async.js +11 -13
  93. package/dist/backend/llvm/expr-async.js.map +1 -1
  94. package/dist/backend/llvm/expr-bytes.js +48 -20
  95. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  96. package/dist/backend/llvm/expr-callbacks.js +47 -0
  97. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  98. package/dist/backend/llvm/expr-calls.js +28 -14
  99. package/dist/backend/llvm/expr-calls.js.map +1 -1
  100. package/dist/backend/llvm/expr-containers.d.ts +14 -2
  101. package/dist/backend/llvm/expr-containers.js +143 -37
  102. package/dist/backend/llvm/expr-containers.js.map +1 -1
  103. package/dist/backend/llvm/expr-context.d.ts +14 -0
  104. package/dist/backend/llvm/expr-dynamic.js +18 -11
  105. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  106. package/dist/backend/llvm/expr-primitives.js +119 -38
  107. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  108. package/dist/backend/llvm/expr-primitives.test.js +11 -6
  109. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  110. package/dist/backend/llvm/expr-records.d.ts +12 -0
  111. package/dist/backend/llvm/expr-records.js +106 -0
  112. package/dist/backend/llvm/expr-records.js.map +1 -1
  113. package/dist/backend/llvm/expr-stream-bridges.d.ts +2 -2
  114. package/dist/backend/llvm/expr-stream-bridges.js +210 -69
  115. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  116. package/dist/backend/llvm/expr-stream-bridges.test.js +1 -1
  117. package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
  118. package/dist/backend/llvm/expr-stream-callbacks.d.ts +2 -2
  119. package/dist/backend/llvm/expr-stream-callbacks.js +74 -20
  120. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  121. package/dist/backend/llvm/int32-kind-loops.d.ts +39 -0
  122. package/dist/backend/llvm/int32-kind-loops.js +106 -0
  123. package/dist/backend/llvm/int32-kind-loops.js.map +1 -0
  124. package/dist/backend/llvm/integer-or-nan-indexes.test.d.ts +1 -0
  125. package/dist/backend/llvm/integer-or-nan-indexes.test.js +118 -0
  126. package/dist/backend/llvm/integer-or-nan-indexes.test.js.map +1 -0
  127. package/dist/backend/llvm/integer-values.d.ts +25 -1
  128. package/dist/backend/llvm/integer-values.js +95 -0
  129. package/dist/backend/llvm/integer-values.js.map +1 -1
  130. package/dist/backend/llvm/js-ic.d.ts +1 -1
  131. package/dist/backend/llvm/js-ic.js +1 -1
  132. package/dist/backend/llvm/js-ic.js.map +1 -1
  133. package/dist/backend/llvm/key-orders.d.ts +7 -0
  134. package/dist/backend/llvm/key-orders.js +33 -0
  135. package/dist/backend/llvm/key-orders.js.map +1 -0
  136. package/dist/backend/llvm/lib-connect.js +4 -0
  137. package/dist/backend/llvm/lib-connect.js.map +1 -1
  138. package/dist/backend/llvm/lib-datagram.js +11 -0
  139. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  140. package/dist/backend/llvm/lib-dispatch.js +213 -5
  141. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  142. package/dist/backend/llvm/lib-filesystem.js +4 -4
  143. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  144. package/dist/backend/llvm/lib-http2.js +4 -0
  145. package/dist/backend/llvm/lib-http2.js.map +1 -1
  146. package/dist/backend/llvm/lib-lookup.js +16 -6
  147. package/dist/backend/llvm/lib-lookup.js.map +1 -1
  148. package/dist/backend/llvm/lib-process.js +37 -1
  149. package/dist/backend/llvm/lib-process.js.map +1 -1
  150. package/dist/backend/llvm/lib-shared.js +94 -2
  151. package/dist/backend/llvm/lib-shared.js.map +1 -1
  152. package/dist/backend/llvm/lib-stream.js +35 -5
  153. package/dist/backend/llvm/lib-stream.js.map +1 -1
  154. package/dist/backend/llvm/local-array-reads.js +115 -19
  155. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  156. package/dist/backend/llvm/local-array-reads.test.js +14 -0
  157. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  158. package/dist/backend/llvm/loop-state.d.ts +33 -0
  159. package/dist/backend/llvm/loop-state.js +42 -0
  160. package/dist/backend/llvm/loop-state.js.map +1 -0
  161. package/dist/backend/llvm/map-number-lookup.d.ts +26 -8
  162. package/dist/backend/llvm/map-number-lookup.js +91 -31
  163. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  164. package/dist/backend/llvm/map-number-lookup.test.js +55 -0
  165. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  166. package/dist/backend/llvm/map-read-lifetimes.js +4 -2
  167. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  168. package/dist/backend/llvm/nullable-unions.d.ts +2 -1
  169. package/dist/backend/llvm/nullable-unions.js +15 -3
  170. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  171. package/dist/backend/llvm/publish.d.ts +10 -0
  172. package/dist/backend/llvm/publish.js +15 -3
  173. package/dist/backend/llvm/publish.js.map +1 -1
  174. package/dist/backend/llvm/receivers.js +6 -1
  175. package/dist/backend/llvm/receivers.js.map +1 -1
  176. package/dist/backend/llvm/record-results.d.ts +1 -9
  177. package/dist/backend/llvm/record-results.js +2 -11
  178. package/dist/backend/llvm/record-results.js.map +1 -1
  179. package/dist/backend/llvm/reference-effects.js +3 -0
  180. package/dist/backend/llvm/reference-effects.js.map +1 -1
  181. package/dist/backend/llvm/reference-writes.d.ts +7 -2
  182. package/dist/backend/llvm/reference-writes.js +89 -72
  183. package/dist/backend/llvm/reference-writes.js.map +1 -1
  184. package/dist/backend/llvm/running-extrema.d.ts +11 -0
  185. package/dist/backend/llvm/running-extrema.js +115 -0
  186. package/dist/backend/llvm/running-extrema.js.map +1 -0
  187. package/dist/backend/llvm/running-extrema.test.d.ts +1 -0
  188. package/dist/backend/llvm/running-extrema.test.js +89 -0
  189. package/dist/backend/llvm/running-extrema.test.js.map +1 -0
  190. package/dist/backend/llvm/shapes.d.ts +71 -15
  191. package/dist/backend/llvm/shapes.js +224 -40
  192. package/dist/backend/llvm/shapes.js.map +1 -1
  193. package/dist/backend/llvm/shapes.test.js +53 -7
  194. package/dist/backend/llvm/shapes.test.js.map +1 -1
  195. package/dist/backend/llvm/speculative-integers.d.ts +6 -0
  196. package/dist/backend/llvm/speculative-integers.js +2 -2
  197. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  198. package/dist/backend/llvm/stack-captures.js +1 -5
  199. package/dist/backend/llvm/stack-captures.js.map +1 -1
  200. package/dist/backend/llvm/stack-objects.d.ts +3 -2
  201. package/dist/backend/llvm/stack-objects.js +5 -2
  202. package/dist/backend/llvm/stack-objects.js.map +1 -1
  203. package/dist/backend/llvm/string-reads.d.ts +12 -0
  204. package/dist/backend/llvm/string-reads.js +44 -0
  205. package/dist/backend/llvm/string-reads.js.map +1 -1
  206. package/dist/backend/llvm/union-repr.d.ts +4 -3
  207. package/dist/backend/llvm/union-repr.js +6 -5
  208. package/dist/backend/llvm/union-repr.js.map +1 -1
  209. package/dist/backend/llvm/walk-borrows.d.ts +3 -0
  210. package/dist/backend/llvm/walk-borrows.js +46 -41
  211. package/dist/backend/llvm/walk-borrows.js.map +1 -1
  212. package/dist/backend/llvm/walkers.d.ts +3 -0
  213. package/dist/backend/llvm/walkers.js +101 -65
  214. package/dist/backend/llvm/walkers.js.map +1 -1
  215. package/dist/backend/llvm/wrapping-sums.d.ts +16 -1
  216. package/dist/backend/llvm/wrapping-sums.js +126 -0
  217. package/dist/backend/llvm/wrapping-sums.js.map +1 -1
  218. package/dist/backend/may-throw.d.ts +8 -10
  219. package/dist/backend/may-throw.js +14 -10
  220. package/dist/backend/may-throw.js.map +1 -1
  221. package/dist/backend/native/contracts.d.ts +5 -0
  222. package/dist/backend/native/executable.js +7 -0
  223. package/dist/backend/native/executable.js.map +1 -1
  224. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  225. package/dist/backend/native/runtime-inputs.js +1 -0
  226. package/dist/backend/native/runtime-inputs.js.map +1 -1
  227. package/dist/backend/native-codegen-core.d.ts +5 -3
  228. package/dist/backend/native-codegen-core.js +13 -6
  229. package/dist/backend/native-codegen-core.js.map +1 -1
  230. package/dist/backend/native-codegen.test.js +6 -4
  231. package/dist/backend/native-codegen.test.js.map +1 -1
  232. package/dist/backend/native-link-info-core.d.ts +4 -0
  233. package/dist/backend/native-link-info-core.js.map +1 -1
  234. package/dist/backend/publication.d.ts +12 -1
  235. package/dist/backend/publication.js +37 -14
  236. package/dist/backend/publication.js.map +1 -1
  237. package/dist/backend/publication.test.js +30 -0
  238. package/dist/backend/publication.test.js.map +1 -1
  239. package/dist/backend/result-slots.d.ts +16 -0
  240. package/dist/backend/result-slots.js +23 -0
  241. package/dist/backend/result-slots.js.map +1 -0
  242. package/dist/backend/runtime-abi.d.ts +2 -2
  243. package/dist/backend/runtime-abi.js +2 -2
  244. package/dist/backend/runtime-pack-core.d.ts +1 -0
  245. package/dist/backend/runtime-pack-core.js +1 -0
  246. package/dist/backend/runtime-pack-core.js.map +1 -1
  247. package/dist/backend/runtime-pack-targets.test.js +2 -1
  248. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  249. package/dist/backend/runtime-pack.test.js +2 -1
  250. package/dist/backend/runtime-pack.test.js.map +1 -1
  251. package/dist/backend/stack-observations.d.ts +2 -1
  252. package/dist/backend/stack-observations.js +67 -42
  253. package/dist/backend/stack-observations.js.map +1 -1
  254. package/dist/backend/target-cpu.d.ts +26 -0
  255. package/dist/backend/target-cpu.js +98 -0
  256. package/dist/backend/target-cpu.js.map +1 -0
  257. package/dist/backend/target-cpu.test.d.ts +1 -0
  258. package/dist/backend/target-cpu.test.js +38 -0
  259. package/dist/backend/target-cpu.test.js.map +1 -0
  260. package/dist/backend/target-diagnostics.js +5 -3
  261. package/dist/backend/target-diagnostics.js.map +1 -1
  262. package/dist/backend/warm-cache.js +1 -0
  263. package/dist/backend/warm-cache.js.map +1 -1
  264. package/dist/cli/command.js +20 -1
  265. package/dist/cli/command.js.map +1 -1
  266. package/dist/cli/usage.d.ts +4 -1
  267. package/dist/cli/usage.js +10 -3
  268. package/dist/cli/usage.js.map +1 -1
  269. package/dist/compat/fetch-profile.js +1 -1
  270. package/dist/compat/fetch-profile.js.map +1 -1
  271. package/dist/compile-types.d.ts +7 -0
  272. package/dist/contracts/check.js +4 -3
  273. package/dist/contracts/check.js.map +1 -1
  274. package/dist/contracts/int32-elements.js +10 -2
  275. package/dist/contracts/int32-elements.js.map +1 -1
  276. package/dist/coverage/report.js +12 -3
  277. package/dist/coverage/report.js.map +1 -1
  278. package/dist/diagnostics/diagnostic.d.ts +4 -0
  279. package/dist/diagnostics/diagnostic.js +1 -1
  280. package/dist/diagnostics/diagnostic.js.map +1 -1
  281. package/dist/diagnostics/envelope.d.ts +3 -0
  282. package/dist/diagnostics/envelope.js +1 -0
  283. package/dist/diagnostics/envelope.js.map +1 -1
  284. package/dist/executable/executable-cache.d.ts +5 -0
  285. package/dist/executable/executable-cache.js +5 -0
  286. package/dist/executable/executable-cache.js.map +1 -1
  287. package/dist/executable/executable-cache.test.js +3 -0
  288. package/dist/executable/executable-cache.test.js.map +1 -1
  289. package/dist/frontend/decl-projection.d.ts +41 -0
  290. package/dist/frontend/decl-projection.js +949 -0
  291. package/dist/frontend/decl-projection.js.map +1 -0
  292. package/dist/frontend/decl-projection.test.d.ts +1 -0
  293. package/dist/frontend/decl-projection.test.js +30 -0
  294. package/dist/frontend/decl-projection.test.js.map +1 -0
  295. package/dist/frontend/dts-paths.d.ts +15 -0
  296. package/dist/frontend/dts-paths.js +25 -0
  297. package/dist/frontend/dts-paths.js.map +1 -1
  298. package/dist/frontend/input-tracker.d.ts +6 -0
  299. package/dist/frontend/input-tracker.js +51 -28
  300. package/dist/frontend/input-tracker.js.map +1 -1
  301. package/dist/frontend/input-tracker.test.js +19 -0
  302. package/dist/frontend/input-tracker.test.js.map +1 -1
  303. package/dist/frontend/lowering/array-values.js +100 -2
  304. package/dist/frontend/lowering/array-values.js.map +1 -1
  305. package/dist/frontend/lowering/builtins/async-context.d.ts +8 -2
  306. package/dist/frontend/lowering/builtins/async-context.js +62 -3
  307. package/dist/frontend/lowering/builtins/async-context.js.map +1 -1
  308. package/dist/frontend/lowering/builtins/child-process-methods.js +46 -15
  309. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  310. package/dist/frontend/lowering/builtins/child-process.js +13 -2
  311. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  312. package/dist/frontend/lowering/builtins/crypto.js +87 -10
  313. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  314. package/dist/frontend/lowering/builtins/dates.js +4 -1
  315. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  316. package/dist/frontend/lowering/builtins/filesystem-calls.js +3 -3
  317. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  318. package/dist/frontend/lowering/builtins/fs-glob.js +6 -3
  319. package/dist/frontend/lowering/builtins/fs-glob.js.map +1 -1
  320. package/dist/frontend/lowering/builtins/fs-paths.d.ts +43 -5
  321. package/dist/frontend/lowering/builtins/fs-paths.js +245 -93
  322. package/dist/frontend/lowering/builtins/fs-paths.js.map +1 -1
  323. package/dist/frontend/lowering/builtins/global-namespace-keys.d.ts +3 -0
  324. package/dist/frontend/lowering/builtins/global-namespace-keys.js +122 -0
  325. package/dist/frontend/lowering/builtins/global-namespace-keys.js.map +1 -0
  326. package/dist/frontend/lowering/builtins/module-calls.js +6 -3
  327. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  328. package/dist/frontend/lowering/builtins/numbers.js +9 -1
  329. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  330. package/dist/frontend/lowering/builtins/promises.d.ts +7 -1
  331. package/dist/frontend/lowering/builtins/promises.js +236 -139
  332. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  333. package/dist/frontend/lowering/builtins/readline.d.ts +5 -1
  334. package/dist/frontend/lowering/builtins/readline.js +35 -3
  335. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  336. package/dist/frontend/lowering/builtins/url.js +24 -1
  337. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  338. package/dist/frontend/lowering/builtins/webassembly.js +6 -3
  339. package/dist/frontend/lowering/builtins/webassembly.js.map +1 -1
  340. package/dist/frontend/lowering/call-signatures.js +0 -1
  341. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  342. package/dist/frontend/lowering/cjs-exports-object.js +1 -1
  343. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
  344. package/dist/frontend/lowering/cjs-inline-require.d.ts +32 -0
  345. package/dist/frontend/lowering/cjs-inline-require.js +307 -4
  346. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -1
  347. package/dist/frontend/lowering/class-callbacks.d.ts +5 -2
  348. package/dist/frontend/lowering/class-callbacks.js +82 -12
  349. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  350. package/dist/frontend/lowering/class-construction.d.ts +4 -1
  351. package/dist/frontend/lowering/class-construction.js +17 -3
  352. package/dist/frontend/lowering/class-construction.js.map +1 -1
  353. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +49 -2
  354. package/dist/frontend/lowering/class-dynamic-dispatch.js +880 -108
  355. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  356. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +47 -0
  357. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  358. package/dist/frontend/lowering/class-iterables.d.ts +2 -1
  359. package/dist/frontend/lowering/class-iterables.js +9 -1
  360. package/dist/frontend/lowering/class-iterables.js.map +1 -1
  361. package/dist/frontend/lowering/class-method-mutations.js +83 -24
  362. package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
  363. package/dist/frontend/lowering/class-protocols.d.ts +25 -0
  364. package/dist/frontend/lowering/class-protocols.js +183 -1
  365. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  366. package/dist/frontend/lowering/class-prototypes.js +31 -2
  367. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  368. package/dist/frontend/lowering/class-runtime-statics.d.ts +9 -3
  369. package/dist/frontend/lowering/class-runtime-statics.js +29 -4
  370. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  371. package/dist/frontend/lowering/coercions/structural-plans.js +48 -1
  372. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  373. package/dist/frontend/lowering/coercions/structural.js +91 -1
  374. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  375. package/dist/frontend/lowering/completion-callbacks.d.ts +4 -0
  376. package/dist/frontend/lowering/completion-callbacks.js +146 -0
  377. package/dist/frontend/lowering/completion-callbacks.js.map +1 -0
  378. package/dist/frontend/lowering/containers/array-callback-call.js +2 -2
  379. package/dist/frontend/lowering/containers/array-callback-call.js.map +1 -1
  380. package/dist/frontend/lowering/containers/array-callbacks.d.ts +5 -4
  381. package/dist/frontend/lowering/containers/array-callbacks.js +345 -24
  382. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  383. package/dist/frontend/lowering/containers/array-concat.js +10 -0
  384. package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
  385. package/dist/frontend/lowering/containers/array-construction.js +5 -0
  386. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  387. package/dist/frontend/lowering/containers/array-methods.js +26 -3
  388. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  389. package/dist/frontend/lowering/containers/array-pipelines.js +19 -8
  390. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
  391. package/dist/frontend/lowering/containers/bytes.d.ts +25 -17
  392. package/dist/frontend/lowering/containers/bytes.js +455 -46
  393. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  394. package/dist/frontend/lowering/containers/callback-arguments.js +3 -0
  395. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  396. package/dist/frontend/lowering/containers/collection-methods.js +7 -2
  397. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  398. package/dist/frontend/lowering/containers/filter-predicates.d.ts +6 -0
  399. package/dist/frontend/lowering/containers/filter-predicates.js +205 -0
  400. package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -0
  401. package/dist/frontend/lowering/containers/indexed-objects.d.ts +0 -12
  402. package/dist/frontend/lowering/containers/indexed-objects.js +46 -7
  403. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  404. package/dist/frontend/lowering/containers/string-and-regexp.js +55 -9
  405. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  406. package/dist/frontend/lowering/containers/string-replacement.js +43 -19
  407. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  408. package/dist/frontend/lowering/date-values.d.ts +11 -0
  409. package/dist/frontend/lowering/date-values.js +207 -0
  410. package/dist/frontend/lowering/date-values.js.map +1 -0
  411. package/dist/frontend/lowering/dispatch-sites.js +15 -1
  412. package/dist/frontend/lowering/dispatch-sites.js.map +1 -1
  413. package/dist/frontend/lowering/divergences.js +9 -1
  414. package/dist/frontend/lowering/divergences.js.map +1 -1
  415. package/dist/frontend/lowering/error-methods.js +47 -2
  416. package/dist/frontend/lowering/error-methods.js.map +1 -1
  417. package/dist/frontend/lowering/expressions/array-literals.js +53 -0
  418. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  419. package/dist/frontend/lowering/expressions/binary.js +100 -28
  420. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  421. package/dist/frontend/lowering/expressions/element-access.js +169 -13
  422. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  423. package/dist/frontend/lowering/expressions/identifiers.js +64 -5
  424. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  425. package/dist/frontend/lowering/expressions/narrowing.js +95 -1
  426. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  427. package/dist/frontend/lowering/expressions/nullish-assignment.js +3 -1
  428. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  429. package/dist/frontend/lowering/expressions/object-literals.d.ts +10 -0
  430. package/dist/frontend/lowering/expressions/object-literals.js +138 -51
  431. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  432. package/dist/frontend/lowering/expressions/optional-chains.js +12 -0
  433. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  434. package/dist/frontend/lowering/expressions/property-access.js +168 -10
  435. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  436. package/dist/frontend/lowering/expressions/relational.js +212 -33
  437. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  438. package/dist/frontend/lowering/expressions/typeof.js +6 -0
  439. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  440. package/dist/frontend/lowering/expressions/union-fields.js +4 -0
  441. package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
  442. package/dist/frontend/lowering/expressions/updates.js +39 -3
  443. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  444. package/dist/frontend/lowering/frozen-records.d.ts +28 -0
  445. package/dist/frontend/lowering/frozen-records.js +322 -0
  446. package/dist/frontend/lowering/frozen-records.js.map +1 -0
  447. package/dist/frontend/lowering/function-returns.js +64 -0
  448. package/dist/frontend/lowering/function-returns.js.map +1 -1
  449. package/dist/frontend/lowering/generic-functions.js +7 -2
  450. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  451. package/dist/frontend/lowering/indexed-unions.d.ts +54 -0
  452. package/dist/frontend/lowering/indexed-unions.js +401 -0
  453. package/dist/frontend/lowering/indexed-unions.js.map +1 -0
  454. package/dist/frontend/lowering/iterable-values.d.ts +49 -0
  455. package/dist/frontend/lowering/iterable-values.js +297 -0
  456. package/dist/frontend/lowering/iterable-values.js.map +1 -0
  457. package/dist/frontend/lowering/iterator-adapters.js +186 -1
  458. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  459. package/dist/frontend/lowering/js-class-fields.d.ts +8 -0
  460. package/dist/frontend/lowering/js-class-fields.js +45 -10
  461. package/dist/frontend/lowering/js-class-fields.js.map +1 -1
  462. package/dist/frontend/lowering/key-order-witness.d.ts +18 -3
  463. package/dist/frontend/lowering/key-order-witness.js +974 -48
  464. package/dist/frontend/lowering/key-order-witness.js.map +1 -1
  465. package/dist/frontend/lowering/key-order-witness.test.js +530 -10
  466. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -1
  467. package/dist/frontend/lowering/lower-assert.js +15 -3
  468. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  469. package/dist/frontend/lowering/lower-async-iteration.js +4 -1
  470. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  471. package/dist/frontend/lowering/lower-calls.d.ts +7 -0
  472. package/dist/frontend/lowering/lower-calls.js +462 -44
  473. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  474. package/dist/frontend/lowering/lower-classes.d.ts +11 -2
  475. package/dist/frontend/lowering/lower-classes.js +324 -69
  476. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  477. package/dist/frontend/lowering/lower-dgram.js +3 -1
  478. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  479. package/dist/frontend/lowering/lower-exprs.js +215 -3
  480. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  481. package/dist/frontend/lowering/lower-functions.d.ts +11 -0
  482. package/dist/frontend/lowering/lower-functions.js +83 -0
  483. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  484. package/dist/frontend/lowering/lower-generators.js +42 -32
  485. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  486. package/dist/frontend/lowering/lower-global-value.js +6 -3
  487. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  488. package/dist/frontend/lowering/lower-inspect.d.ts +1 -1
  489. package/dist/frontend/lowering/lower-inspect.js +53 -17
  490. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  491. package/dist/frontend/lowering/lower-modules.js +53 -5
  492. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  493. package/dist/frontend/lowering/lower-namespaces.js +5 -1
  494. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  495. package/dist/frontend/lowering/lower-server.js +2 -2
  496. package/dist/frontend/lowering/lower-server.js.map +1 -1
  497. package/dist/frontend/lowering/lower-stdlib.d.ts +5 -0
  498. package/dist/frontend/lowering/lower-stdlib.js +30 -0
  499. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  500. package/dist/frontend/lowering/lower-stmts.d.ts +23 -0
  501. package/dist/frontend/lowering/lower-stmts.js +553 -81
  502. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  503. package/dist/frontend/lowering/lower-stream.d.ts +20 -2
  504. package/dist/frontend/lowering/lower-stream.js +1483 -156
  505. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  506. package/dist/frontend/lowering/lowerer.d.ts +107 -8
  507. package/dist/frontend/lowering/lowerer.js +381 -36
  508. package/dist/frontend/lowering/lowerer.js.map +1 -1
  509. package/dist/frontend/lowering/module-namespace-elements.d.ts +11 -1
  510. package/dist/frontend/lowering/module-namespace-elements.js +82 -5
  511. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  512. package/dist/frontend/lowering/new-target.d.ts +12 -0
  513. package/dist/frontend/lowering/new-target.js +280 -0
  514. package/dist/frontend/lowering/new-target.js.map +1 -0
  515. package/dist/frontend/lowering/object-factory-new.d.ts +5 -0
  516. package/dist/frontend/lowering/object-factory-new.js +20 -6
  517. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  518. package/dist/frontend/lowering/overload-choice.d.ts +33 -0
  519. package/dist/frontend/lowering/overload-choice.js +190 -0
  520. package/dist/frontend/lowering/overload-choice.js.map +1 -0
  521. package/dist/frontend/lowering/surfaces.d.ts +3 -0
  522. package/dist/frontend/lowering/surfaces.js +73 -8
  523. package/dist/frontend/lowering/surfaces.js.map +1 -1
  524. package/dist/frontend/lowering/undefined-index.d.ts +27 -0
  525. package/dist/frontend/lowering/undefined-index.js +82 -0
  526. package/dist/frontend/lowering/undefined-index.js.map +1 -0
  527. package/dist/frontend/lowering/var-hoisting.js +29 -13
  528. package/dist/frontend/lowering/var-hoisting.js.map +1 -1
  529. package/dist/frontend/lowering/width-lift.d.ts +18 -0
  530. package/dist/frontend/npm-static-bundled-chunks.js +9 -11
  531. package/dist/frontend/npm-static-bundled-chunks.js.map +1 -1
  532. package/dist/frontend/npm-static-bundled-chunks.test.js +6 -5
  533. package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -1
  534. package/dist/frontend/npm-static-rewrite-syntax.js +9 -1
  535. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
  536. package/dist/frontend/npm-static.js +4 -20
  537. package/dist/frontend/npm-static.js.map +1 -1
  538. package/dist/frontend/package-shims.d.ts +3 -0
  539. package/dist/frontend/package-shims.js +71 -8
  540. package/dist/frontend/package-shims.js.map +1 -1
  541. package/dist/frontend/pipeline.js +19 -11
  542. package/dist/frontend/pipeline.js.map +1 -1
  543. package/dist/frontend/process-fork.d.ts +25 -0
  544. package/dist/frontend/process-fork.js +2 -0
  545. package/dist/frontend/process-fork.js.map +1 -0
  546. package/dist/frontend/program-analysis.d.ts +5 -1
  547. package/dist/frontend/program-analysis.js +5 -0
  548. package/dist/frontend/program-analysis.js.map +1 -1
  549. package/dist/frontend/program.d.ts +21 -6
  550. package/dist/frontend/program.js +681 -83
  551. package/dist/frontend/program.js.map +1 -1
  552. package/dist/frontend/program.test.js +43 -3
  553. package/dist/frontend/program.test.js.map +1 -1
  554. package/dist/frontend/token-equivalence.d.ts +3 -0
  555. package/dist/frontend/token-equivalence.js +409 -0
  556. package/dist/frontend/token-equivalence.js.map +1 -0
  557. package/dist/frontend/token-equivalence.test.d.ts +1 -0
  558. package/dist/frontend/token-equivalence.test.js +67 -0
  559. package/dist/frontend/token-equivalence.test.js.map +1 -0
  560. package/dist/frontend/ts7/ast-node.d.ts +22 -0
  561. package/dist/frontend/ts7/ast-node.js +1048 -103
  562. package/dist/frontend/ts7/ast-node.js.map +1 -1
  563. package/dist/frontend/ts7/ast-node.test.js +24 -0
  564. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  565. package/dist/frontend/ts7/ast-wire.d.ts +4 -3
  566. package/dist/frontend/ts7/ast-wire.js +34 -24
  567. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  568. package/dist/frontend/ts7/ast-wire.test.js +23 -0
  569. package/dist/frontend/ts7/ast-wire.test.js.map +1 -1
  570. package/dist/frontend/ts7/checker-backend.d.ts +3 -4
  571. package/dist/frontend/ts7/checker-backend.js +2 -2
  572. package/dist/frontend/ts7/checker-backend.js.map +1 -1
  573. package/dist/frontend/ts7/checker-backend.test.js +5 -9
  574. package/dist/frontend/ts7/checker-backend.test.js.map +1 -1
  575. package/dist/frontend/ts7/checker.d.ts +4 -0
  576. package/dist/frontend/ts7/checker.js +7 -0
  577. package/dist/frontend/ts7/checker.js.map +1 -1
  578. package/dist/frontend/ts7/lib-diagnostics.d.ts +24 -0
  579. package/dist/frontend/ts7/lib-diagnostics.js +307 -0
  580. package/dist/frontend/ts7/lib-diagnostics.js.map +1 -0
  581. package/dist/frontend/ts7/lib-diagnostics.test.d.ts +1 -0
  582. package/dist/frontend/ts7/lib-diagnostics.test.js +199 -0
  583. package/dist/frontend/ts7/lib-diagnostics.test.js.map +1 -0
  584. package/dist/frontend/ts7/program-host.d.ts +7 -0
  585. package/dist/frontend/ts7/program-host.js +25 -2
  586. package/dist/frontend/ts7/program-host.js.map +1 -1
  587. package/dist/frontend/ts7/semantic-model.d.ts +3 -0
  588. package/dist/frontend/ts7/semantic-model.js +5 -0
  589. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  590. package/dist/frontend/ts7/semantic-model.test.js +6 -1
  591. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  592. package/dist/frontend/ts7/semantic-types.d.ts +1 -1
  593. package/dist/frontend/ts7/semantic-types.js +1 -1
  594. package/dist/frontend/ts7/semantic-types.js.map +1 -1
  595. package/dist/frontend/ts7/session.d.ts +14 -1
  596. package/dist/frontend/ts7/session.js +22 -0
  597. package/dist/frontend/ts7/session.js.map +1 -1
  598. package/dist/frontend/type-mapper.d.ts +13 -1
  599. package/dist/frontend/type-mapper.js +229 -20
  600. package/dist/frontend/type-mapper.js.map +1 -1
  601. package/dist/index.d.ts +0 -5
  602. package/dist/index.js +46 -4
  603. package/dist/index.js.map +1 -1
  604. package/dist/ir/analysis.js +5 -3
  605. package/dist/ir/analysis.js.map +1 -1
  606. package/dist/ir/array-length-stability.d.ts +4 -0
  607. package/dist/ir/array-length-stability.js +19 -6
  608. package/dist/ir/array-length-stability.js.map +1 -1
  609. package/dist/ir/array-length-stability.test.js +24 -0
  610. package/dist/ir/array-length-stability.test.js.map +1 -1
  611. package/dist/ir/builtin-effects.d.ts +7 -0
  612. package/dist/ir/builtin-effects.js +60 -0
  613. package/dist/ir/builtin-effects.js.map +1 -1
  614. package/dist/ir/builtin-signatures.d.ts +6 -4
  615. package/dist/ir/builtin-signatures.js +222 -13
  616. package/dist/ir/builtin-signatures.js.map +1 -1
  617. package/dist/ir/callback-specialization.d.ts +2 -1
  618. package/dist/ir/callback-specialization.js +23 -18
  619. package/dist/ir/callback-specialization.js.map +1 -1
  620. package/dist/ir/char-unit-locals.d.ts +19 -0
  621. package/dist/ir/char-unit-locals.js +185 -0
  622. package/dist/ir/char-unit-locals.js.map +1 -0
  623. package/dist/ir/char-unit-locals.test.d.ts +1 -0
  624. package/dist/ir/char-unit-locals.test.js +94 -0
  625. package/dist/ir/char-unit-locals.test.js.map +1 -0
  626. package/dist/ir/final-fields.d.ts +2 -1
  627. package/dist/ir/final-fields.js +14 -16
  628. package/dist/ir/final-fields.js.map +1 -1
  629. package/dist/ir/function-references.d.ts +2 -0
  630. package/dist/ir/function-references.js +2 -0
  631. package/dist/ir/function-references.js.map +1 -1
  632. package/dist/ir/function-references.test.js +3 -0
  633. package/dist/ir/function-references.test.js.map +1 -1
  634. package/dist/ir/initializer-bindings.d.ts +2 -1
  635. package/dist/ir/initializer-bindings.js +27 -20
  636. package/dist/ir/initializer-bindings.js.map +1 -1
  637. package/dist/ir/int32-arrays.d.ts +108 -0
  638. package/dist/ir/int32-arrays.js +831 -0
  639. package/dist/ir/int32-arrays.js.map +1 -0
  640. package/dist/ir/int32-slots.d.ts +24 -2
  641. package/dist/ir/int32-slots.js +266 -57
  642. package/dist/ir/int32-slots.js.map +1 -1
  643. package/dist/ir/int32-slots.test.js +33 -0
  644. package/dist/ir/int32-slots.test.js.map +1 -1
  645. package/dist/ir/integer-loops.d.ts +3 -3
  646. package/dist/ir/integer-loops.js +28 -10
  647. package/dist/ir/integer-loops.js.map +1 -1
  648. package/dist/ir/integer-loops.test.js +10 -0
  649. package/dist/ir/integer-loops.test.js.map +1 -1
  650. package/dist/ir/integer-ranges.d.ts +5 -0
  651. package/dist/ir/integer-ranges.js +125 -12
  652. package/dist/ir/integer-ranges.js.map +1 -1
  653. package/dist/ir/integer-ranges.test.js +30 -0
  654. package/dist/ir/integer-ranges.test.js.map +1 -1
  655. package/dist/ir/ir.d.ts +83 -10
  656. package/dist/ir/ir.js +77 -6
  657. package/dist/ir/ir.js.map +1 -1
  658. package/dist/ir/ir.test.js +23 -2
  659. package/dist/ir/ir.test.js.map +1 -1
  660. package/dist/ir/js-ic.d.ts +4 -0
  661. package/dist/ir/js-ic.js +17 -1
  662. package/dist/ir/js-ic.js.map +1 -1
  663. package/dist/ir/js-ic.test.js +46 -0
  664. package/dist/ir/js-ic.test.js.map +1 -1
  665. package/dist/ir/node-index.d.ts +57 -0
  666. package/dist/ir/node-index.js +215 -0
  667. package/dist/ir/node-index.js.map +1 -0
  668. package/dist/ir/paired-while-loops.d.ts +25 -0
  669. package/dist/ir/paired-while-loops.js +335 -0
  670. package/dist/ir/paired-while-loops.js.map +1 -0
  671. package/dist/ir/paired-while-loops.test.d.ts +1 -0
  672. package/dist/ir/paired-while-loops.test.js +163 -0
  673. package/dist/ir/paired-while-loops.test.js.map +1 -0
  674. package/dist/ir/parameter-versions.d.ts +25 -0
  675. package/dist/ir/parameter-versions.js +300 -0
  676. package/dist/ir/parameter-versions.js.map +1 -0
  677. package/dist/ir/runtime-features.d.ts +34 -13
  678. package/dist/ir/runtime-features.js +177 -39
  679. package/dist/ir/runtime-features.js.map +1 -1
  680. package/dist/ir/serialize.d.ts +12 -2
  681. package/dist/ir/serialize.js +16 -3
  682. package/dist/ir/serialize.js.map +1 -1
  683. package/dist/ir/serialize.test.js +17 -0
  684. package/dist/ir/serialize.test.js.map +1 -1
  685. package/dist/ir/traverse.js +18 -6
  686. package/dist/ir/traverse.js.map +1 -1
  687. package/dist/ir/validate.js +167 -40
  688. package/dist/ir/validate.js.map +1 -1
  689. package/dist/library/ir-policy.js +3 -0
  690. package/dist/library/ir-policy.js.map +1 -1
  691. package/dist/native/cache.d.ts +6 -1
  692. package/dist/native/cache.js +28 -5
  693. package/dist/native/cache.js.map +1 -1
  694. package/dist/native/cache.test.js +16 -2
  695. package/dist/native/cache.test.js.map +1 -1
  696. package/dist/native/cli.js +21 -1
  697. package/dist/native/cli.js.map +1 -1
  698. package/dist/native/compiler.js +8 -6
  699. package/dist/native/compiler.js.map +1 -1
  700. package/dist/native/executable-cache.d.ts +1 -1
  701. package/dist/native/executable-cache.js +2 -2
  702. package/dist/native/executable-cache.js.map +1 -1
  703. package/dist/native/prepare.d.ts +4 -2
  704. package/dist/native/prepare.js +130 -32
  705. package/dist/native/prepare.js.map +1 -1
  706. package/dist/native/prepare.test.js +96 -20
  707. package/dist/native/prepare.test.js.map +1 -1
  708. package/dist/native/sanitizer.test.js +2 -0
  709. package/dist/native/sanitizer.test.js.map +1 -1
  710. package/dist/native/text-file.d.ts +13 -3
  711. package/dist/native/text-file.js +63 -9
  712. package/dist/native/text-file.js.map +1 -1
  713. package/dist/native/text-file.test.d.ts +1 -0
  714. package/dist/native/text-file.test.js +49 -0
  715. package/dist/native/text-file.test.js.map +1 -0
  716. package/dist/native/toolchain.js +4 -4
  717. package/dist/native/toolchain.js.map +1 -1
  718. package/dist/native/toolchain.test.js +3 -3
  719. package/dist/native/toolchain.test.js.map +1 -1
  720. package/package.json +21 -21
  721. package/shims/chalk/v5.ts +688 -0
  722. package/shims/hono-node-server/v2.ts +645 -0
  723. package/shims/hot-shots/client.ts +1126 -0
  724. package/shims/hot-shots/v8-unix-dgram.ts +8 -0
  725. package/shims/hot-shots/v8.ts +8 -0
  726. package/surface-manifest.json +27 -7
@@ -917,6 +917,14 @@ interface Buffer<
917
917
  readBigUint64LE(offset?: number): bigint;
918
918
  }
919
919
  interface BufferConstructor {
920
+ /** @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead. */
921
+ new (str: string, encoding?: BufferEncoding): Buffer;
922
+ /** @deprecated since v10.0.0 - Use `Buffer.alloc()` instead. */
923
+ new (size: number): Buffer;
924
+ /** @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. */
925
+ new (array: ArrayLike<number>): Buffer;
926
+ /** @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead. */
927
+ new (arrayBuffer: ArrayBuffer | SharedArrayBuffer): Buffer;
920
928
  from(data: string, encoding?: BufferEncoding): Buffer;
921
929
  /* The ArrayBuffer form is the VIEW construction: x.buffer with an
922
930
  * optional byte offset/length shares x's storage (the subarray rule). */
@@ -1106,6 +1114,34 @@ declare var ReadableStream: {
1106
1114
  from(iterable: string): ReadableStream<string>;
1107
1115
  readonly prototype: ReadableStream<unknown>;
1108
1116
  };
1117
+ /* The writable side of a TransformStream and its writer. The
1118
+ * WritableStream constructor has no native lowering; writable streams come
1119
+ * from `new TransformStream()`. */
1120
+ interface WritableStreamDefaultWriter<W = unknown> {
1121
+ readonly closed: Promise<void>;
1122
+ readonly desiredSize: number | null;
1123
+ readonly ready: Promise<void>;
1124
+ abort(reason?: unknown): Promise<void>;
1125
+ close(): Promise<void>;
1126
+ releaseLock(): void;
1127
+ write(chunk?: W): Promise<void>;
1128
+ }
1129
+ interface WritableStream<W = unknown> {
1130
+ readonly locked: boolean;
1131
+ abort(reason?: unknown): Promise<void>;
1132
+ close(): Promise<void>;
1133
+ getWriter(): WritableStreamDefaultWriter<W>;
1134
+ }
1135
+ /* The identity transform: chunks written to `writable` are read from
1136
+ * `readable`, and a write completes when its chunk is read. */
1137
+ interface TransformStream<I = unknown, O = unknown> {
1138
+ readonly readable: ReadableStream<O>;
1139
+ readonly writable: WritableStream<I>;
1140
+ }
1141
+ declare var TransformStream: {
1142
+ new <I = unknown, O = I>(): TransformStream<I, O>;
1143
+ readonly prototype: TransformStream<unknown, unknown>;
1144
+ };
1109
1145
 
1110
1146
  /* fetch, typed as the native JSON + readable-stream slice: one URL, an
1111
1147
  * optional init with the members CLI requests carry, and a Response
@@ -1554,7 +1590,7 @@ declare module "node:fs" {
1554
1590
  export function writeFileSync(path: string | URL, data: string, encoding: "utf8" | "utf-8"): void;
1555
1591
  export function writeFileSync(path: string | URL, data: string | Uint8Array): void;
1556
1592
  export function appendFileSync(path: string | URL, data: string | Uint8Array): void;
1557
- export function existsSync(path: string): boolean;
1593
+ export function existsSync(path: string | URL): boolean;
1558
1594
  export function mkdirSync(path: string | URL): void;
1559
1595
  export function mkdirSync(
1560
1596
  path: string | URL,
@@ -2195,7 +2231,7 @@ declare module "fs/promises" {
2195
2231
  stat(): Promise<import("node:fs").Stats>;
2196
2232
  [Symbol.asyncDispose](): Promise<void>;
2197
2233
  }
2198
- export function open(path: string, flags?: string, mode?: number): Promise<FileHandle>;
2234
+ export function open(path: string | URL, flags?: string, mode?: number): Promise<FileHandle>;
2199
2235
  export function link(
2200
2236
  existingPath: string | Uint8Array | URL,
2201
2237
  newPath: string | Uint8Array | URL,
@@ -2232,14 +2268,14 @@ declare module "fs/promises" {
2232
2268
  atime: number | string | Date,
2233
2269
  mtime: number | string | Date,
2234
2270
  ): Promise<void>;
2235
- export function readFile(path: string, encoding: "utf8" | "utf-8"): Promise<string>;
2271
+ export function readFile(path: string | URL, encoding: "utf8" | "utf-8"): Promise<string>;
2236
2272
  export function readFile(
2237
- path: string,
2273
+ path: string | URL,
2238
2274
  options: BufferEncoding | { encoding: BufferEncoding },
2239
2275
  ): Promise<string>;
2240
- export function readFile(path: string): Promise<Buffer>;
2276
+ export function readFile(path: string | URL): Promise<Buffer>;
2241
2277
  export function writeFile(
2242
- path: string,
2278
+ path: string | URL,
2243
2279
  data: string,
2244
2280
  options?: {
2245
2281
  mode?: number;
@@ -2248,14 +2284,18 @@ declare module "fs/promises" {
2248
2284
  [option: string]: unknown;
2249
2285
  },
2250
2286
  ): Promise<void>;
2251
- export function writeFile(path: string, data: string, encoding: "utf8" | "utf-8"): Promise<void>;
2287
+ export function writeFile(
2288
+ path: string | URL,
2289
+ data: string,
2290
+ encoding: "utf8" | "utf-8",
2291
+ ): Promise<void>;
2252
2292
  export function mkdir(
2253
- path: string,
2293
+ path: string | URL,
2254
2294
  options?: { recursive?: boolean; mode?: number },
2255
2295
  ): Promise<void>;
2256
- export function readdir(path: string): Promise<string[]>;
2296
+ export function readdir(path: string | URL): Promise<string[]>;
2257
2297
  export function readdir(
2258
- path: string,
2298
+ path: string | URL,
2259
2299
  options: {
2260
2300
  encoding?: "utf8" | "utf-8";
2261
2301
  withFileTypes: true;
@@ -2272,12 +2312,12 @@ declare module "fs/promises" {
2272
2312
  pattern: string | readonly string[],
2273
2313
  options: import("node:fs").GlobOptionsWithFileTypes,
2274
2314
  ): AsyncIterableIterator<import("node:fs").Dirent>;
2275
- export function rm(path: string): Promise<void>;
2315
+ export function rm(path: string | URL): Promise<void>;
2276
2316
  export function rm(
2277
- path: string,
2317
+ path: string | URL,
2278
2318
  options: { recursive?: boolean; force?: boolean; maxRetries?: number; retryDelay?: number },
2279
2319
  ): Promise<void>;
2280
- export function stat(path: string): Promise<import("node:fs").Stats>;
2320
+ export function stat(path: string | URL): Promise<import("node:fs").Stats>;
2281
2321
  export function statfs(
2282
2322
  path: string | Uint8Array | URL,
2283
2323
  options?: import("node:fs").StatFsOptions & { bigint?: false },
@@ -2290,21 +2330,21 @@ declare module "fs/promises" {
2290
2330
  path: string | Uint8Array | URL,
2291
2331
  options?: import("node:fs").StatFsOptions,
2292
2332
  ): Promise<import("node:fs").StatsFs | import("node:fs").BigIntStatsFs>;
2293
- export function realpath(path: string): Promise<string>;
2294
- export function lstat(path: string): Promise<import("node:fs").Stats>;
2295
- export function unlink(path: string): Promise<void>;
2296
- export function chmod(path: string, mode: number): Promise<void>;
2297
- export function chown(path: string, uid: number, gid: number): Promise<void>;
2298
- export function lchown(path: string, uid: number, gid: number): Promise<void>;
2299
- export function access(path: string, mode?: number): Promise<void>;
2300
- export function truncate(path: string, len?: number): Promise<void>;
2301
- export function appendFile(path: string, data: string | Uint8Array): Promise<void>;
2302
- export function copyFile(src: string, dest: string): Promise<void>;
2303
- export function mkdtemp(prefix: string): Promise<string>;
2304
- export function rmdir(path: string): Promise<void>;
2305
- export function rename(oldPath: string, newPath: string): Promise<void>;
2333
+ export function realpath(path: string | URL): Promise<string>;
2334
+ export function lstat(path: string | URL): Promise<import("node:fs").Stats>;
2335
+ export function unlink(path: string | URL): Promise<void>;
2336
+ export function chmod(path: string | URL, mode: number): Promise<void>;
2337
+ export function chown(path: string | URL, uid: number, gid: number): Promise<void>;
2338
+ export function lchown(path: string | URL, uid: number, gid: number): Promise<void>;
2339
+ export function access(path: string | URL, mode?: number): Promise<void>;
2340
+ export function truncate(path: string | URL, len?: number): Promise<void>;
2341
+ export function appendFile(path: string | URL, data: string | Uint8Array): Promise<void>;
2342
+ export function copyFile(src: string | URL, dest: string | URL): Promise<void>;
2343
+ export function mkdtemp(prefix: string | URL): Promise<string>;
2344
+ export function rmdir(path: string | URL): Promise<void>;
2345
+ export function rename(oldPath: string | URL, newPath: string | URL): Promise<void>;
2306
2346
  export function opendir(
2307
- path: string,
2347
+ path: string | URL,
2308
2348
  options?: import("node:fs").OpenDirOptions,
2309
2349
  ): Promise<import("node:fs").Dir>;
2310
2350
  }
@@ -2964,6 +3004,24 @@ declare module "crypto" {
2964
3004
  options: ED25519KeyPairOptions<"der", "der">,
2965
3005
  ): KeyPairSyncResult<Buffer, Buffer>;
2966
3006
  export function generateKeyPairSync(type: "ed25519", options?: {}): KeyPairKeyObjectResult;
3007
+ export interface X25519KeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {
3008
+ publicKeyEncoding: { type: "spki"; format: PubF };
3009
+ privateKeyEncoding: { type: "pkcs8"; format: PrivF };
3010
+ }
3011
+ export function generateKeyPairSync(
3012
+ type: "x25519",
3013
+ options: X25519KeyPairOptions<"pem", "pem">,
3014
+ ): KeyPairSyncResult<string, string>;
3015
+ export function generateKeyPairSync(
3016
+ type: "x25519",
3017
+ options: X25519KeyPairOptions<"der", "der">,
3018
+ ): KeyPairSyncResult<Buffer, Buffer>;
3019
+ export function generateKeyPairSync(type: "x25519", options?: {}): KeyPairKeyObjectResult;
3020
+ export function generateKeyPair(
3021
+ type: "x25519",
3022
+ options: {} | undefined,
3023
+ callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
3024
+ ): void;
2967
3025
  export function generateKeyPair(
2968
3026
  type: "ed25519",
2969
3027
  options: {} | undefined,
@@ -2992,6 +3050,11 @@ declare module "crypto" {
2992
3050
  export interface VerifyKeyObjectInput extends SigningOptions {
2993
3051
  key: KeyObject;
2994
3052
  }
3053
+ export function diffieHellman(options: { privateKey: KeyObject; publicKey: KeyObject }): Buffer;
3054
+ export function diffieHellman(
3055
+ options: { privateKey: KeyObject; publicKey: KeyObject },
3056
+ callback: (err: Error | null, secret: Buffer) => void,
3057
+ ): void;
2995
3058
  export function sign(
2996
3059
  algorithm: string | null | undefined,
2997
3060
  data: ArrayBufferView,
@@ -3171,12 +3234,17 @@ declare module "crypto" {
3171
3234
  callback: (error: Error | null, buffer: Buffer) => void,
3172
3235
  ): void;
3173
3236
  export type BinaryLike = string | ArrayBuffer | ArrayBufferView;
3174
- /* Cipheriv/Decipheriv: aes-128/192/256 in cbc, ctr, and gcm modes and
3175
- * chacha20-poly1305. Both are Transforms: written chunks go through
3176
- * update(), and the end pushes final(). */
3237
+ /* Cipheriv/Decipheriv: aes-128/192/256 in cbc, ctr, gcm, ccm, ecb, cfb,
3238
+ * cfb8, cfb1, and ofb modes and their key wraps, des-ede3 and des-ede,
3239
+ * chacha20, and chacha20-poly1305. Both are Transforms: written chunks go
3240
+ * through update(), and the end pushes final(). */
3241
+ export type CipherCCMTypes = "aes-128-ccm" | "aes-192-ccm" | "aes-256-ccm";
3177
3242
  export type CipherGCMTypes = "aes-128-gcm" | "aes-192-gcm" | "aes-256-gcm";
3178
3243
  export type CipherChaCha20Poly1305Types = "chacha20-poly1305";
3179
3244
  export type CipherKey = BinaryLike | KeyObject;
3245
+ export interface CipherCCMOptions {
3246
+ authTagLength: number;
3247
+ }
3180
3248
  export interface CipherGCMOptions {
3181
3249
  authTagLength?: number;
3182
3250
  }
@@ -3196,6 +3264,10 @@ declare module "crypto" {
3196
3264
  final(outputEncoding: BufferEncoding): string;
3197
3265
  setAutoPadding(autoPadding?: boolean): this;
3198
3266
  }
3267
+ export interface CipherCCM extends Cipheriv {
3268
+ setAAD(buffer: ArrayBufferView, options: { plaintextLength: number }): this;
3269
+ getAuthTag(): Buffer;
3270
+ }
3199
3271
  export interface CipherGCM extends Cipheriv {
3200
3272
  setAAD(buffer: ArrayBufferView, options?: { plaintextLength: number }): this;
3201
3273
  getAuthTag(): Buffer;
@@ -3217,6 +3289,10 @@ declare module "crypto" {
3217
3289
  final(outputEncoding: BufferEncoding): string;
3218
3290
  setAutoPadding(autoPadding?: boolean): this;
3219
3291
  }
3292
+ export interface DecipherCCM extends Decipheriv {
3293
+ setAuthTag(buffer: ArrayBufferView): this;
3294
+ setAAD(buffer: ArrayBufferView, options: { plaintextLength: number }): this;
3295
+ }
3220
3296
  export interface DecipherGCM extends Decipheriv {
3221
3297
  setAuthTag(buffer: ArrayBufferView): this;
3222
3298
  setAAD(buffer: ArrayBufferView, options?: { plaintextLength: number }): this;
@@ -3225,6 +3301,12 @@ declare module "crypto" {
3225
3301
  setAuthTag(buffer: ArrayBufferView): this;
3226
3302
  setAAD(buffer: ArrayBufferView, options?: { plaintextLength: number }): this;
3227
3303
  }
3304
+ export function createCipheriv(
3305
+ algorithm: CipherCCMTypes,
3306
+ key: CipherKey,
3307
+ iv: BinaryLike,
3308
+ options: CipherCCMOptions,
3309
+ ): CipherCCM;
3228
3310
  export function createCipheriv(
3229
3311
  algorithm: CipherGCMTypes,
3230
3312
  key: CipherKey,
@@ -3243,6 +3325,12 @@ declare module "crypto" {
3243
3325
  iv: BinaryLike | null,
3244
3326
  options?: { authTagLength?: number },
3245
3327
  ): Cipheriv;
3328
+ export function createDecipheriv(
3329
+ algorithm: CipherCCMTypes,
3330
+ key: CipherKey,
3331
+ iv: BinaryLike,
3332
+ options: CipherCCMOptions,
3333
+ ): DecipherCCM;
3246
3334
  export function createDecipheriv(
3247
3335
  algorithm: CipherGCMTypes,
3248
3336
  key: CipherKey,
@@ -3351,6 +3439,61 @@ declare module "crypto" {
3351
3439
  ): DiffieHellman;
3352
3440
  export function getDiffieHellman(groupName: string): DiffieHellmanGroup;
3353
3441
  export function createDiffieHellmanGroup(name: string): DiffieHellmanGroup;
3442
+ export type LargeNumberLike = ArrayBufferView | SharedArrayBuffer | ArrayBuffer | bigint;
3443
+ export interface GeneratePrimeOptions {
3444
+ add?: LargeNumberLike | undefined;
3445
+ rem?: LargeNumberLike | undefined;
3446
+ safe?: boolean | undefined;
3447
+ bigint?: boolean | undefined;
3448
+ }
3449
+ export interface GeneratePrimeOptionsBigInt extends GeneratePrimeOptions {
3450
+ bigint: true;
3451
+ }
3452
+ export interface GeneratePrimeOptionsArrayBuffer extends GeneratePrimeOptions {
3453
+ bigint?: false | undefined;
3454
+ }
3455
+ export function generatePrime(
3456
+ size: number,
3457
+ callback: (err: Error | null, prime: ArrayBuffer) => void,
3458
+ ): void;
3459
+ export function generatePrime(
3460
+ size: number,
3461
+ options: GeneratePrimeOptionsBigInt,
3462
+ callback: (err: Error | null, prime: bigint) => void,
3463
+ ): void;
3464
+ export function generatePrime(
3465
+ size: number,
3466
+ options: GeneratePrimeOptionsArrayBuffer,
3467
+ callback: (err: Error | null, prime: ArrayBuffer) => void,
3468
+ ): void;
3469
+ export function generatePrime(
3470
+ size: number,
3471
+ options: GeneratePrimeOptions,
3472
+ callback: (err: Error | null, prime: ArrayBuffer | bigint) => void,
3473
+ ): void;
3474
+ export function generatePrimeSync(size: number): ArrayBuffer;
3475
+ export function generatePrimeSync(size: number, options: GeneratePrimeOptionsBigInt): bigint;
3476
+ export function generatePrimeSync(
3477
+ size: number,
3478
+ options: GeneratePrimeOptionsArrayBuffer,
3479
+ ): ArrayBuffer;
3480
+ export function generatePrimeSync(
3481
+ size: number,
3482
+ options: GeneratePrimeOptions,
3483
+ ): ArrayBuffer | bigint;
3484
+ export interface CheckPrimeOptions {
3485
+ checks?: number | undefined;
3486
+ }
3487
+ export function checkPrime(
3488
+ value: LargeNumberLike,
3489
+ callback: (err: Error | null, result: boolean) => void,
3490
+ ): void;
3491
+ export function checkPrime(
3492
+ value: LargeNumberLike,
3493
+ options: CheckPrimeOptions,
3494
+ callback: (err: Error | null, result: boolean) => void,
3495
+ ): void;
3496
+ export function checkPrimeSync(candidate: LargeNumberLike, options?: CheckPrimeOptions): boolean;
3354
3497
  export interface ScryptOptions {
3355
3498
  N?: number;
3356
3499
  r?: number;
@@ -3412,6 +3555,34 @@ declare module "crypto" {
3412
3555
  * per member like http2.constants. */
3413
3556
  export function getFips(): 1 | 0;
3414
3557
  export function getCiphers(): string[];
3558
+ export type CipherMode =
3559
+ | "cbc"
3560
+ | "ccm"
3561
+ | "cfb"
3562
+ | "ctr"
3563
+ | "ecb"
3564
+ | "gcm"
3565
+ | "ocb"
3566
+ | "ofb"
3567
+ | "stream"
3568
+ | "wrap"
3569
+ | "xts";
3570
+ export interface CipherInfoOptions {
3571
+ keyLength?: number | undefined;
3572
+ ivLength?: number | undefined;
3573
+ }
3574
+ export interface CipherInfo {
3575
+ name: string;
3576
+ nid: number;
3577
+ blockSize?: number | undefined;
3578
+ ivLength?: number | undefined;
3579
+ keyLength: number;
3580
+ mode: CipherMode;
3581
+ }
3582
+ export function getCipherInfo(
3583
+ nameOrNid: string | number,
3584
+ options?: CipherInfoOptions,
3585
+ ): CipherInfo | undefined;
3415
3586
  export function getHashes(): string[];
3416
3587
  export function getCurves(): string[];
3417
3588
  /* Node v24 crypto.constants, literal-typed (the Http2Constants
@@ -3512,7 +3683,8 @@ declare module "child_process" {
3512
3683
  * killSignal at the deadline and the result carries error: ETIMEDOUT +
3513
3684
  * the signal, never a throw), killSignal (a signal NAME literal),
3514
3685
  * stdio ("ignore"/"inherit"/"pipe" or a 3-tuple of those — captures
3515
- * read "" for non-piped streams), and windowsHide (a POSIX no-op). */
3686
+ * read "" for non-piped streams), env (replaces the child's
3687
+ * environment), and windowsHide (a POSIX no-op). */
3516
3688
  export function spawnSync(
3517
3689
  command: string,
3518
3690
  args?: string[],
@@ -3521,6 +3693,7 @@ declare module "child_process" {
3521
3693
  timeout?: number;
3522
3694
  killSignal?: string;
3523
3695
  stdio?: "pipe" | "ignore" | "inherit" | ("pipe" | "ignore" | "inherit")[];
3696
+ env?: { [k: string]: string | undefined };
3524
3697
  windowsHide?: boolean;
3525
3698
  },
3526
3699
  ): SpawnSyncReturns;
@@ -3554,20 +3727,20 @@ declare module "child_process" {
3554
3727
 
3555
3728
  export interface ChildProcess extends Disposable {
3556
3729
  ref(): void;
3557
- on(event: "spawn", listener: () => void): void;
3558
- once(event: "spawn", listener: () => void): void;
3730
+ on(event: "spawn", listener: () => void): this;
3731
+ once(event: "spawn", listener: () => void): this;
3559
3732
  /* The exit listener may also take Node's second parameter — the
3560
3733
  * terminating signal's name, null for a normal exit. */
3561
- on(event: "exit", listener: (code: number | null, signal: string | null) => void): void;
3562
- on(event: "close", listener: (code: number | null, signal: string | null) => void): void;
3563
- on(event: "error", listener: (err: Error) => void): void;
3564
- once(event: "exit", listener: (code: number | null, signal: string | null) => void): void;
3565
- once(event: "close", listener: (code: number | null, signal: string | null) => void): void;
3566
- once(event: "error", listener: (err: Error) => void): void;
3567
- on(event: "message", listener: (message: any) => void): void;
3568
- on(event: "disconnect", listener: () => void): void;
3569
- once(event: "message", listener: (message: any) => void): void;
3570
- once(event: "disconnect", listener: () => void): void;
3734
+ on(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
3735
+ on(event: "close", listener: (code: number | null, signal: string | null) => void): this;
3736
+ on(event: "error", listener: (err: Error) => void): this;
3737
+ once(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
3738
+ once(event: "close", listener: (code: number | null, signal: string | null) => void): this;
3739
+ once(event: "error", listener: (err: Error) => void): this;
3740
+ on(event: "message", listener: (message: any) => void): this;
3741
+ on(event: "disconnect", listener: () => void): this;
3742
+ once(event: "message", listener: (message: any) => void): this;
3743
+ once(event: "disconnect", listener: () => void): this;
3571
3744
  /* The lifecycle members, Node's exact shapes: pid is undefined exactly
3572
3745
  * when the spawn failed; exitCode is null while running, the code
3573
3746
  * after a normal exit, null for a signal death, and -errno once a
@@ -3780,9 +3953,8 @@ declare module "util" {
3780
3953
  export type TextDecoder = globalThis.TextDecoder;
3781
3954
  export var TextEncoder: typeof globalThis.TextEncoder;
3782
3955
  export var TextDecoder: typeof globalThis.TextDecoder;
3783
- /* stream.pipeline's (...streams: unknown[]) => unknown is assignable to
3784
- * every other target's parameter type, so its overload comes first; no
3785
- * other target is assignable to it. */
3956
+ /* stream.pipeline's overload comes first: its __promisify__ member keeps
3957
+ * every other target out of it. */
3786
3958
  export function promisify(
3787
3959
  fn: typeof import("node:stream").pipeline,
3788
3960
  ): typeof import("node:stream/promises").pipeline;
@@ -5504,6 +5676,7 @@ declare module "http" {
5504
5676
  readonly trailersDistinct: { [name: string]: string[] | undefined };
5505
5677
  readonly rawTrailers: string[];
5506
5678
  resume(): void;
5679
+ pause(): void;
5507
5680
  destroy(): void;
5508
5681
  setTimeout(msecs: number, callback?: () => void): this;
5509
5682
  /* setEncoding('utf8'): 'data' delivers strings (other real encodings
@@ -5929,6 +6102,7 @@ declare module "http2" {
5929
6102
  export interface Http2Stream {
5930
6103
  on(event: "error" | "close", listener: (err: Error) => void): void;
5931
6104
  once(event: "error" | "close", listener: (err: Error) => void): void;
6105
+ addListener(event: "error" | "close", listener: (err: Error) => void): void;
5932
6106
  destroy(): void;
5933
6107
  }
5934
6108
  export interface Http2ServerRequest {
@@ -6029,11 +6203,6 @@ declare module "http2" {
6029
6203
  listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
6030
6204
  ): void;
6031
6205
  on(event: "session", listener: (session: ServerHttp2Session) => void): void;
6032
- once(
6033
- event: "stream",
6034
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
6035
- ): void;
6036
- once(event: "session", listener: (session: ServerHttp2Session) => void): void;
6037
6206
  /* HTTP CONNECT (and, in Node, the h2 extended CONNECT — which the
6038
6207
  * allowHTTP1 lowering never sees): the second argument is the raw
6039
6208
  * socket on HTTP/1.1 connections; narrow with instanceof. */
@@ -6051,6 +6220,42 @@ declare module "http2" {
6051
6220
  ): void;
6052
6221
  once(event: "error", listener: (err: Error) => void): void;
6053
6222
  once(event: "close", listener: () => void): void;
6223
+ once(event: "sessionError", listener: (err: Error, session: ServerHttp2Session) => void): void;
6224
+ once(
6225
+ event: "stream",
6226
+ listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
6227
+ ): void;
6228
+ once(event: "session", listener: (session: ServerHttp2Session) => void): void;
6229
+ once(
6230
+ event: "connect",
6231
+ listener: (
6232
+ req: Http2ServerRequest | import("http").IncomingMessage,
6233
+ resOrSocket: Http2ServerResponse | Socket,
6234
+ ) => void,
6235
+ ): void;
6236
+ addListener(event: "connection", listener: (socket: Socket) => void): void;
6237
+ addListener(
6238
+ event: "request",
6239
+ listener: (req: Http2ServerRequest, res: Http2ServerResponse) => void,
6240
+ ): void;
6241
+ addListener(event: "error", listener: (err: Error) => void): void;
6242
+ addListener(event: "close", listener: () => void): void;
6243
+ addListener(
6244
+ event: "sessionError",
6245
+ listener: (err: Error, session: ServerHttp2Session) => void,
6246
+ ): void;
6247
+ addListener(
6248
+ event: "stream",
6249
+ listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
6250
+ ): void;
6251
+ addListener(event: "session", listener: (session: ServerHttp2Session) => void): void;
6252
+ addListener(
6253
+ event: "connect",
6254
+ listener: (
6255
+ req: Http2ServerRequest | import("http").IncomingMessage,
6256
+ resOrSocket: Http2ServerResponse | Socket,
6257
+ ) => void,
6258
+ ): void;
6054
6259
  }
6055
6260
  export interface SecureServerOptions {
6056
6261
  allowHTTP1?: boolean;
@@ -6392,6 +6597,28 @@ declare module "http2" {
6392
6597
  listener: (errorCode: number, lastStreamID: number, opaqueData?: Uint8Array) => void,
6393
6598
  ): void;
6394
6599
  once(event: "localSettings" | "remoteSettings", listener: (settings: any) => void): void;
6600
+ once(event: "frameError", listener: (type: number, code: number, id: number) => void): void;
6601
+ once(event: "ping", listener: (payload: Uint8Array) => void): void;
6602
+ addListener(event: "close" | "timeout", listener: () => void): void;
6603
+ addListener(event: "error", listener: (err: Error) => void): void;
6604
+ addListener(
6605
+ event: "connect",
6606
+ listener: (session: Http2Session, socket: import("net").Socket) => void,
6607
+ ): void;
6608
+ addListener(
6609
+ event: "stream",
6610
+ listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
6611
+ ): void;
6612
+ addListener(
6613
+ event: "goaway",
6614
+ listener: (errorCode: number, lastStreamID: number, opaqueData?: Uint8Array) => void,
6615
+ ): void;
6616
+ addListener(event: "localSettings" | "remoteSettings", listener: (settings: any) => void): void;
6617
+ addListener(
6618
+ event: "frameError",
6619
+ listener: (type: number, code: number, id: number) => void,
6620
+ ): void;
6621
+ addListener(event: "ping", listener: (payload: Uint8Array) => void): void;
6395
6622
  }
6396
6623
 
6397
6624
  export interface ClientHttp2Session extends Http2Session {
@@ -6469,7 +6696,30 @@ declare module "http2" {
6469
6696
  listener: () => void,
6470
6697
  ): void;
6471
6698
  once(event: "error", listener: (err: Error) => void): void;
6699
+ once(event: "frameError", listener: (type: number, code: number, id: number) => void): void;
6472
6700
  once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): void;
6701
+ addListener(event: "data", listener: (chunk: any) => void): void;
6702
+ addListener(
6703
+ event:
6704
+ | "end"
6705
+ | "close"
6706
+ | "aborted"
6707
+ | "ready"
6708
+ | "timeout"
6709
+ | "drain"
6710
+ | "finish"
6711
+ | "wantTrailers",
6712
+ listener: () => void,
6713
+ ): void;
6714
+ addListener(event: "error", listener: (err: Error) => void): void;
6715
+ addListener(
6716
+ event: "frameError",
6717
+ listener: (type: number, code: number, id: number) => void,
6718
+ ): void;
6719
+ addListener(
6720
+ event: "trailers",
6721
+ listener: (trailers: IncomingHttpHeaders, flags: number) => void,
6722
+ ): void;
6473
6723
  respond(
6474
6724
  headers?: OutgoingHttpHeaders,
6475
6725
  options?: { endStream?: boolean; waitForTrailers?: boolean },
@@ -6519,6 +6769,7 @@ declare module "http2" {
6519
6769
  on(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): void;
6520
6770
  once(event: "response", listener: (headers: IncomingHttpHeaders, flags: number) => void): void;
6521
6771
  once(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): void;
6772
+ once(event: "headers", listener: (headers: IncomingHttpHeaders, flags: number) => void): void;
6522
6773
  once(event: "data", listener: (chunk: any) => void): void;
6523
6774
  once(
6524
6775
  event:
@@ -6533,6 +6784,42 @@ declare module "http2" {
6533
6784
  listener: () => void,
6534
6785
  ): void;
6535
6786
  once(event: "error", listener: (err: Error) => void): void;
6787
+ once(event: "frameError", listener: (type: number, code: number, id: number) => void): void;
6788
+ once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): void;
6789
+ addListener(
6790
+ event: "response",
6791
+ listener: (headers: IncomingHttpHeaders, flags: number) => void,
6792
+ ): void;
6793
+ addListener(
6794
+ event: "push",
6795
+ listener: (headers: IncomingHttpHeaders, flags: number) => void,
6796
+ ): void;
6797
+ addListener(
6798
+ event: "headers",
6799
+ listener: (headers: IncomingHttpHeaders, flags: number) => void,
6800
+ ): void;
6801
+ addListener(event: "data", listener: (chunk: any) => void): void;
6802
+ addListener(
6803
+ event:
6804
+ | "end"
6805
+ | "close"
6806
+ | "aborted"
6807
+ | "ready"
6808
+ | "timeout"
6809
+ | "drain"
6810
+ | "finish"
6811
+ | "wantTrailers",
6812
+ listener: () => void,
6813
+ ): void;
6814
+ addListener(event: "error", listener: (err: Error) => void): void;
6815
+ addListener(
6816
+ event: "frameError",
6817
+ listener: (type: number, code: number, id: number) => void,
6818
+ ): void;
6819
+ addListener(
6820
+ event: "trailers",
6821
+ listener: (trailers: IncomingHttpHeaders, flags: number) => void,
6822
+ ): void;
6536
6823
  }
6537
6824
 
6538
6825
  export interface Http2Server {
@@ -6567,6 +6854,24 @@ declare module "http2" {
6567
6854
  ): void;
6568
6855
  once(event: "error", listener: (err: Error) => void): void;
6569
6856
  once(event: "close" | "listening" | "timeout", listener: () => void): void;
6857
+ once(event: "connection", listener: (socket: import("net").Socket) => void): void;
6858
+ once(event: "sessionError", listener: (err: Error, session: ServerHttp2Session) => void): void;
6859
+ addListener(
6860
+ event: "stream",
6861
+ listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
6862
+ ): void;
6863
+ addListener(event: "session", listener: (session: ServerHttp2Session) => void): void;
6864
+ addListener(
6865
+ event: "request",
6866
+ listener: (req: Http2ServerRequest, res: Http2ServerResponse) => void,
6867
+ ): void;
6868
+ addListener(event: "error", listener: (err: Error) => void): void;
6869
+ addListener(event: "close" | "listening" | "timeout", listener: () => void): void;
6870
+ addListener(event: "connection", listener: (socket: import("net").Socket) => void): void;
6871
+ addListener(
6872
+ event: "sessionError",
6873
+ listener: (err: Error, session: ServerHttp2Session) => void,
6874
+ ): void;
6570
6875
  }
6571
6876
 
6572
6877
  export interface ServerOptions {
@@ -6965,9 +7270,18 @@ declare module "node:tty" {
6965
7270
  declare module "async_hooks" {
6966
7271
  /* AsyncLocalStorage: fiber-carried context snapshots — run/getStore/
6967
7272
  * exit/enterWith/disable lower onto the runtime's active-slot machinery
6968
- * (als.* libCalls); values cross as dyn values. */
7273
+ * (als.* libCalls); values cross as dyn values. bind and snapshot bind
7274
+ * functions to the active context; the options carry the store's
7275
+ * default value and name. */
7276
+ export interface AsyncLocalStorageOptions {
7277
+ defaultValue?: any;
7278
+ name?: string | undefined;
7279
+ }
6969
7280
  export class AsyncLocalStorage<T = any> {
6970
- constructor();
7281
+ constructor(options?: AsyncLocalStorageOptions);
7282
+ static bind<Func extends (...args: any[]) => any>(fn: Func): Func;
7283
+ static snapshot(): <R, TArgs extends any[]>(fn: (...args: TArgs) => R, ...args: TArgs) => R;
7284
+ readonly name: string;
6971
7285
  run<R>(store: T, callback: (...args: any[]) => R, ...args: any[]): R;
6972
7286
  exit<R>(callback: (...args: any[]) => R, ...args: any[]): R;
6973
7287
  getStore(): T | undefined;
@@ -7090,7 +7404,11 @@ declare module "stream" {
7090
7404
  encoding: string,
7091
7405
  callback: (error?: Error | null) => void,
7092
7406
  ): void;
7093
- writev?(this: Writable, chunks: unknown[], callback: (error?: Error | null) => void): void;
7407
+ writev?(
7408
+ this: Writable,
7409
+ chunks: Array<{ chunk: any; encoding: string }>,
7410
+ callback: (error?: Error | null) => void,
7411
+ ): void;
7094
7412
  final?(this: Writable, callback: (error?: Error | null) => void): void;
7095
7413
  destroy?(this: Writable, error: Error | null, callback: (error?: Error | null) => void): void;
7096
7414
  construct?(this: Writable, callback: (error?: Error | null) => void): void;
@@ -7125,7 +7443,11 @@ declare module "stream" {
7125
7443
  readable?: boolean;
7126
7444
  writable?: boolean;
7127
7445
  defaultEncoding?: string;
7128
- writev?(this: Duplex, chunks: unknown[], callback: (error?: Error | null) => void): void;
7446
+ writev?(
7447
+ this: Duplex,
7448
+ chunks: Array<{ chunk: any; encoding: string }>,
7449
+ callback: (error?: Error | null) => void,
7450
+ ): void;
7129
7451
  signal?: AbortSignal;
7130
7452
  }
7131
7453
  interface TransformOptions {
@@ -7210,6 +7532,36 @@ declare module "stream" {
7210
7532
  ): void;
7211
7533
  } & ObjectModeFlag;
7212
7534
 
7535
+ /* decodeStrings: false — a string write reaches write/transform as the
7536
+ * string with its encoding (Buffers keep 'buffer'). */
7537
+ interface StringWritableOptions extends Omit<WritableOptions, "decodeStrings" | "write"> {
7538
+ decodeStrings: false;
7539
+ write?(
7540
+ this: Writable,
7541
+ chunk: string | Buffer,
7542
+ encoding: string,
7543
+ callback: (error?: Error | null) => void,
7544
+ ): void;
7545
+ }
7546
+ type StringDuplexOptions = Omit<DuplexOptions, "decodeStrings" | "write"> & {
7547
+ decodeStrings: false;
7548
+ write?(
7549
+ this: Duplex,
7550
+ chunk: string | Buffer,
7551
+ encoding: string,
7552
+ callback: (error?: Error | null) => void,
7553
+ ): void;
7554
+ };
7555
+ type StringTransformOptions = Omit<TransformOptions, "decodeStrings" | "transform"> & {
7556
+ decodeStrings: false;
7557
+ transform?(
7558
+ this: Transform,
7559
+ chunk: string | Buffer,
7560
+ encoding: string,
7561
+ callback: (error?: Error | null, data?: Buffer | string) => void,
7562
+ ): void;
7563
+ };
7564
+
7213
7565
  /* The operators' options: concurrency and highWaterMark bound map's
7214
7566
  * in-flight callbacks and queued results. */
7215
7567
  interface ArrayOptions {
@@ -7228,12 +7580,16 @@ declare module "stream" {
7228
7580
  _destroy(error: Error | null, callback: (error?: Error | null) => void): void;
7229
7581
  [Symbol.asyncIterator](): AsyncIterableIterator<any>;
7230
7582
  iterator(options?: { destroyOnReturn?: boolean }): AsyncIterableIterator<any>;
7583
+ /* compose(this, stage), destroyed when options.signal aborts. */
7584
+ compose(stage: ComposeStage, options?: { signal: AbortSignal }): Duplex;
7231
7585
  push(chunk: Buffer | string | null, encoding?: string): boolean;
7232
7586
  /* An object-mode stream's values. */
7233
7587
  push(chunk: any, encoding?: string): boolean;
7234
7588
  unshift(chunk: Buffer | string, encoding?: string): void;
7235
7589
  unshift(chunk: any, encoding?: string): void;
7236
- read(size?: number): Buffer | null;
7590
+ /* A Buffer, a string once encoded, an object-mode value, or null (as
7591
+ * @types/node types it). */
7592
+ read(size?: number): any;
7237
7593
  pause(): this;
7238
7594
  resume(): this;
7239
7595
  isPaused(): boolean;
@@ -7251,6 +7607,16 @@ declare module "stream" {
7251
7607
  readonly destroyed: boolean;
7252
7608
  readonly errored: Error | null;
7253
7609
  static from(iterable: unknown, options?: ReadableOptions): Readable;
7610
+ /* A Readable over a web ReadableStream's reader. */
7611
+ static fromWeb(
7612
+ readableStream: globalThis.ReadableStream,
7613
+ options?: {
7614
+ encoding?: string;
7615
+ highWaterMark?: number;
7616
+ objectMode?: boolean;
7617
+ signal?: AbortSignal;
7618
+ },
7619
+ ): Readable;
7254
7620
  /* The Readable operators: chunks are strings or Buffers, map and
7255
7621
  * flatMap callbacks return strings or Buffers (flatMap: arrays of
7256
7622
  * them, or strings), and callbacks that declare the options argument
@@ -7340,6 +7706,7 @@ declare module "stream" {
7340
7706
 
7341
7707
  class Writable extends EventEmitter {
7342
7708
  constructor(opts: ObjectWritableOptions);
7709
+ constructor(opts: StringWritableOptions);
7343
7710
  constructor(opts?: WritableOptions);
7344
7711
  /* The underscore-method surface (see Readable). */
7345
7712
  _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
@@ -7417,7 +7784,11 @@ declare module "stream" {
7417
7784
  * mirrors @types/node: extends Readable, the writable half declared
7418
7785
  * again. The lowering treats both halves as first-class. */
7419
7786
  class Duplex extends Readable {
7787
+ /* Duplex.from: an async generator function, an iterable, a string or
7788
+ * a stream (duplexify.js). */
7789
+ static from(body: unknown): Duplex;
7420
7790
  constructor(opts: ObjectDuplexOptions);
7791
+ constructor(opts: StringDuplexOptions);
7421
7792
  constructor(opts?: DuplexOptions);
7422
7793
  /* The underscore-method surface (see Readable). */
7423
7794
  _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
@@ -7517,6 +7888,7 @@ declare module "stream" {
7517
7888
 
7518
7889
  class Transform extends Duplex {
7519
7890
  constructor(opts: ObjectTransformOptions);
7891
+ constructor(opts: StringTransformOptions);
7520
7892
  constructor(opts?: TransformOptions);
7521
7893
  /* The underscore-method surface (see Readable). */
7522
7894
  _transform(
@@ -7528,17 +7900,43 @@ declare module "stream" {
7528
7900
  }
7529
7901
  class PassThrough extends Transform {
7530
7902
  constructor(opts: ObjectTransformOptions);
7903
+ constructor(opts: StringTransformOptions);
7531
7904
  constructor(opts?: TransformOptions);
7532
7905
  }
7533
7906
 
7534
7907
  /* addAbortSignal(signal, stream): the stream, destroyed with an
7535
7908
  * AbortError (cause: signal.reason) when the signal aborts. */
7536
7909
  function addAbortSignal<T extends Readable | Writable>(signal: AbortSignal, stream: T): T;
7537
- /* Declared so requires typecheck; each fences at its use site. */
7538
- function pipeline(...streams: unknown[]): unknown;
7539
- /* compose(...streams): a Duplex that writes to the first stream and
7540
- * reads from the last, with the streams running as a pipeline. */
7541
- function compose(...streams: Array<Readable | Writable>): Duplex;
7910
+ /* pipeline(...stages, callback): the last stream, or the object-mode
7911
+ * PassThrough that a function destination feeds. */
7912
+ type PipelineResult<T extends unknown[]> = T extends [
7913
+ ...unknown[],
7914
+ infer D,
7915
+ (...args: any[]) => unknown,
7916
+ ]
7917
+ ? D extends (...args: any[]) => unknown
7918
+ ? PassThrough
7919
+ : D
7920
+ : unknown;
7921
+ function pipeline<T extends unknown[]>(...streams: T): PipelineResult<T>;
7922
+ /* util.promisify's pipeline overload matches only pipeline itself: a
7923
+ * generic signature alone admits every function. */
7924
+ namespace pipeline {
7925
+ const __promisify__: typeof promises.pipeline;
7926
+ }
7927
+ /* A compose stage: a stream, an async generator function over the
7928
+ * previous stage, or (first) an iterable, async iterable or web
7929
+ * ReadableStream. */
7930
+ type ComposeStage =
7931
+ | Readable
7932
+ | Writable
7933
+ | Iterable<unknown>
7934
+ | AsyncIterable<unknown>
7935
+ | globalThis.ReadableStream
7936
+ | ((source: any, options?: { signal: AbortSignal }) => unknown);
7937
+ /* compose(...streams): a Duplex that writes to the first stage and
7938
+ * reads from the last, with the stages running as a pipeline. */
7939
+ function compose(...streams: ComposeStage[]): Duplex;
7542
7940
  /* finished's options: readable/writable choose which ends count,
7543
7941
  * error: false ignores 'error' events, signal aborts the wait. */
7544
7942
  interface FinishedOptions {
@@ -7557,13 +7955,20 @@ declare module "stream" {
7557
7955
  * else 65536 — Node's own state.js split); literal argument only. */
7558
7956
  function getDefaultHighWaterMark(objectMode: boolean): number;
7559
7957
  /* The promise pipeline's result: a last stage that is an async
7560
- * function resolves the promise with its value. */
7958
+ * function resolves the promise with its value (before the options
7959
+ * argument, when one follows). */
7561
7960
  type PipelinePromise<T extends unknown[]> = T extends [
7562
7961
  ...unknown[],
7563
7962
  (...args: any[]) => Promise<infer P>,
7564
7963
  ]
7565
7964
  ? Promise<P>
7566
- : Promise<void>;
7965
+ : T extends [
7966
+ ...unknown[],
7967
+ (...args: any[]) => Promise<infer P>,
7968
+ { signal?: AbortSignal; end?: boolean },
7969
+ ]
7970
+ ? Promise<P>
7971
+ : Promise<void>;
7567
7972
  namespace promises {
7568
7973
  function pipeline<T extends unknown[]>(...streams: T): PipelinePromise<T>;
7569
7974
  function finished(
@@ -7593,6 +7998,7 @@ declare module "stream" {
7593
7998
  DuplexOptions,
7594
7999
  TransformOptions,
7595
8000
  FinishedOptions,
8001
+ PipelinePromise,
7596
8002
  };
7597
8003
  }
7598
8004
  declare module "node:stream" {
@@ -7607,9 +8013,7 @@ declare module "stream/promises" {
7607
8013
  * pipeline's trailing { signal, end } object and finished's options
7608
8014
  * (readable, writable, error, cleanup, signal) are supported. A last
7609
8015
  * stage that is an async function resolves the promise with its value. */
7610
- function pipeline<T extends unknown[]>(
7611
- ...streams: T
7612
- ): T extends [...unknown[], (...args: any[]) => Promise<infer P>] ? Promise<P> : Promise<void>;
8016
+ function pipeline<T extends unknown[]>(...streams: T): import("stream").PipelinePromise<T>;
7613
8017
  function finished(
7614
8018
  stream: unknown,
7615
8019
  options?: {