@scriptc/compiler 0.3.6 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1218) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +682 -50
  2. package/ambient/scriptc.d.ts +134 -0
  3. package/dist/backend/cycle-analysis.d.ts +1 -1
  4. package/dist/backend/cycle-analysis.js +1 -0
  5. package/dist/backend/cycle-analysis.js.map +1 -1
  6. package/dist/backend/cycle-analysis.test.js +13 -1
  7. package/dist/backend/cycle-analysis.test.js.map +1 -1
  8. package/dist/backend/cycle-mutability.js +16 -5
  9. package/dist/backend/cycle-mutability.js.map +1 -1
  10. package/dist/backend/executable-features.js +13 -0
  11. package/dist/backend/executable-features.js.map +1 -1
  12. package/dist/backend/immutability.test.js +1 -1
  13. package/dist/backend/library-pack.js +6 -0
  14. package/dist/backend/library-pack.js.map +1 -1
  15. package/dist/backend/llvm/alloc.d.ts +41 -4
  16. package/dist/backend/llvm/alloc.js +138 -7
  17. package/dist/backend/llvm/alloc.js.map +1 -1
  18. package/dist/backend/llvm/alloc.test.js +30 -1
  19. package/dist/backend/llvm/alloc.test.js.map +1 -1
  20. package/dist/backend/llvm/appended-array-literals.test.js +1 -1
  21. package/dist/backend/llvm/array-search.test.js +1 -1
  22. package/dist/backend/llvm/blocks.d.ts +8 -0
  23. package/dist/backend/llvm/blocks.js +43 -1
  24. package/dist/backend/llvm/blocks.js.map +1 -1
  25. package/dist/backend/llvm/blocks.test.js +22 -1
  26. package/dist/backend/llvm/blocks.test.js.map +1 -1
  27. package/dist/backend/llvm/byte-numbers.js +15 -5
  28. package/dist/backend/llvm/byte-numbers.js.map +1 -1
  29. package/dist/backend/llvm/bytes-alias.d.ts +14 -0
  30. package/dist/backend/llvm/bytes-alias.js +20 -0
  31. package/dist/backend/llvm/bytes-alias.js.map +1 -0
  32. package/dist/backend/llvm/bytes-loop-versions.d.ts +86 -0
  33. package/dist/backend/llvm/bytes-loop-versions.js +506 -0
  34. package/dist/backend/llvm/bytes-loop-versions.js.map +1 -0
  35. package/dist/backend/llvm/bytes-loop-versions.test.d.ts +1 -0
  36. package/dist/backend/llvm/bytes-loop-versions.test.js +244 -0
  37. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -0
  38. package/dist/backend/llvm/call-lifetimes.js +50 -1
  39. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  40. package/dist/backend/llvm/call-lifetimes.test.js +34 -0
  41. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  42. package/dist/backend/llvm/checked-narrows.test.js +1 -1
  43. package/dist/backend/llvm/checked-value-lifetimes.js +4 -1
  44. package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
  45. package/dist/backend/llvm/classes.d.ts +11 -0
  46. package/dist/backend/llvm/classes.js +71 -14
  47. package/dist/backend/llvm/classes.js.map +1 -1
  48. package/dist/backend/llvm/classes.test.js +58 -8
  49. package/dist/backend/llvm/classes.test.js.map +1 -1
  50. package/dist/backend/llvm/common.js +1 -0
  51. package/dist/backend/llvm/common.js.map +1 -1
  52. package/dist/backend/llvm/constant-callbacks.d.ts +5 -1
  53. package/dist/backend/llvm/constant-callbacks.js +55 -12
  54. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  55. package/dist/backend/llvm/constant-callbacks.test.js +88 -1
  56. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  57. package/dist/backend/llvm/counted-loops.d.ts +4 -0
  58. package/dist/backend/llvm/counted-loops.js +37 -0
  59. package/dist/backend/llvm/counted-loops.js.map +1 -1
  60. package/dist/backend/llvm/dense-array-access.d.ts +12 -3
  61. package/dist/backend/llvm/dense-array-access.js +72 -14
  62. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  63. package/dist/backend/llvm/dense-array-access.test.js +59 -3
  64. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  65. package/dist/backend/llvm/dense-array-loops.d.ts +51 -0
  66. package/dist/backend/llvm/dense-array-loops.js +162 -0
  67. package/dist/backend/llvm/dense-array-loops.js.map +1 -0
  68. package/dist/backend/llvm/dense-array-loops.test.d.ts +1 -0
  69. package/dist/backend/llvm/dense-array-loops.test.js +128 -0
  70. package/dist/backend/llvm/dense-array-loops.test.js.map +1 -0
  71. package/dist/backend/llvm/dyn-handle-tags.test.d.ts +1 -0
  72. package/dist/backend/llvm/dyn-handle-tags.test.js +38 -0
  73. package/dist/backend/llvm/dyn-handle-tags.test.js.map +1 -0
  74. package/dist/backend/llvm/dyn.d.ts +28 -4
  75. package/dist/backend/llvm/dyn.js +293 -178
  76. package/dist/backend/llvm/dyn.js.map +1 -1
  77. package/dist/backend/llvm/emit-function.d.ts +64 -0
  78. package/dist/backend/llvm/emit-function.js +1190 -0
  79. package/dist/backend/llvm/emit-function.js.map +1 -0
  80. package/dist/backend/llvm/emit-module.d.ts +24 -0
  81. package/dist/backend/llvm/emit-module.js +1535 -0
  82. package/dist/backend/llvm/emit-module.js.map +1 -0
  83. package/dist/backend/llvm/emit-statements.d.ts +58 -0
  84. package/dist/backend/llvm/emit-statements.js +1964 -0
  85. package/dist/backend/llvm/emit-statements.js.map +1 -0
  86. package/dist/backend/llvm/emitter.d.ts +547 -283
  87. package/dist/backend/llvm/emitter.js +689 -4643
  88. package/dist/backend/llvm/emitter.js.map +1 -1
  89. package/dist/backend/llvm/emitter.test.js +57 -3
  90. package/dist/backend/llvm/emitter.test.js.map +1 -1
  91. package/dist/backend/llvm/expr-async.js +73 -46
  92. package/dist/backend/llvm/expr-async.js.map +1 -1
  93. package/dist/backend/llvm/expr-async.test.js +1 -1
  94. package/dist/backend/llvm/expr-bytes.d.ts +2 -0
  95. package/dist/backend/llvm/expr-bytes.js +76 -29
  96. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  97. package/dist/backend/llvm/expr-callbacks.d.ts +6 -2
  98. package/dist/backend/llvm/expr-callbacks.js +48 -11
  99. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  100. package/dist/backend/llvm/expr-calls.d.ts +1 -1
  101. package/dist/backend/llvm/expr-calls.js +71 -53
  102. package/dist/backend/llvm/expr-calls.js.map +1 -1
  103. package/dist/backend/llvm/expr-calls.test.js +1 -1
  104. package/dist/backend/llvm/expr-containers.js +39 -15
  105. package/dist/backend/llvm/expr-containers.js.map +1 -1
  106. package/dist/backend/llvm/expr-control.js +16 -16
  107. package/dist/backend/llvm/expr-control.js.map +1 -1
  108. package/dist/backend/llvm/expr-dynamic.d.ts +3 -0
  109. package/dist/backend/llvm/expr-dynamic.js +67 -62
  110. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  111. package/dist/backend/llvm/expr-primitives.js +121 -25
  112. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  113. package/dist/backend/llvm/expr-primitives.test.js +2 -2
  114. package/dist/backend/llvm/expr-records.d.ts +1 -1
  115. package/dist/backend/llvm/expr-records.js +32 -11
  116. package/dist/backend/llvm/expr-records.js.map +1 -1
  117. package/dist/backend/llvm/expr-stream-bridges.js +54 -12
  118. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  119. package/dist/backend/llvm/expr-stream-bridges.test.js +2 -2
  120. package/dist/backend/llvm/expr-stream-callbacks.js +22 -1
  121. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  122. package/dist/backend/llvm/int32-abi.test.js +2 -2
  123. package/dist/backend/llvm/integer-clones.test.js +3 -3
  124. package/dist/backend/llvm/integer-remainder.d.ts +34 -13
  125. package/dist/backend/llvm/integer-remainder.js +156 -22
  126. package/dist/backend/llvm/integer-remainder.js.map +1 -1
  127. package/dist/backend/llvm/intern-tables.test.js +1 -1
  128. package/dist/backend/llvm/jsval-encoding.d.ts +21 -0
  129. package/dist/backend/llvm/jsval-encoding.js +20 -0
  130. package/dist/backend/llvm/jsval-encoding.js.map +1 -0
  131. package/dist/backend/llvm/jsval.d.ts +12 -0
  132. package/dist/backend/llvm/jsval.js +488 -0
  133. package/dist/backend/llvm/jsval.js.map +1 -0
  134. package/dist/backend/llvm/lazy-captures.d.ts +12 -2
  135. package/dist/backend/llvm/lazy-captures.js +39 -17
  136. package/dist/backend/llvm/lazy-captures.js.map +1 -1
  137. package/dist/backend/llvm/lib-abi.js +1 -1
  138. package/dist/backend/llvm/lib-abi.js.map +1 -1
  139. package/dist/backend/llvm/lib-connect.js +1 -1
  140. package/dist/backend/llvm/lib-connect.js.map +1 -1
  141. package/dist/backend/llvm/lib-datagram.js +14 -8
  142. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  143. package/dist/backend/llvm/lib-dispatch.js +189 -23
  144. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  145. package/dist/backend/llvm/lib-filesystem.js +42 -13
  146. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  147. package/dist/backend/llvm/lib-http2.js +3 -3
  148. package/dist/backend/llvm/lib-http2.js.map +1 -1
  149. package/dist/backend/llvm/lib-lookup.js +2 -2
  150. package/dist/backend/llvm/lib-lookup.js.map +1 -1
  151. package/dist/backend/llvm/lib-network.js +56 -22
  152. package/dist/backend/llvm/lib-network.js.map +1 -1
  153. package/dist/backend/llvm/lib-process.js +90 -50
  154. package/dist/backend/llvm/lib-process.js.map +1 -1
  155. package/dist/backend/llvm/lib-shared.d.ts +12 -0
  156. package/dist/backend/llvm/lib-shared.js +187 -6
  157. package/dist/backend/llvm/lib-shared.js.map +1 -1
  158. package/dist/backend/llvm/lib-stream.js +46 -16
  159. package/dist/backend/llvm/lib-stream.js.map +1 -1
  160. package/dist/backend/llvm/lib-test.js +43 -7
  161. package/dist/backend/llvm/lib-test.js.map +1 -1
  162. package/dist/backend/llvm/lib-tls.js +4 -9
  163. package/dist/backend/llvm/lib-tls.js.map +1 -1
  164. package/dist/backend/llvm/local-array-reads.js +2 -2
  165. package/dist/backend/llvm/local-array-reads.test.js +1 -1
  166. package/dist/backend/llvm/local-extents.d.ts +19 -0
  167. package/dist/backend/llvm/local-extents.js +169 -0
  168. package/dist/backend/llvm/local-extents.js.map +1 -0
  169. package/dist/backend/llvm/local-extents.test.d.ts +1 -0
  170. package/dist/backend/llvm/local-extents.test.js +92 -0
  171. package/dist/backend/llvm/local-extents.test.js.map +1 -0
  172. package/dist/backend/llvm/local-union-storage.js +7 -7
  173. package/dist/backend/llvm/local-union-storage.js.map +1 -1
  174. package/dist/backend/llvm/local-union-storage.test.js +2 -2
  175. package/dist/backend/llvm/map-entry-fusion.test.js +1 -1
  176. package/dist/backend/llvm/map-number-lookup.js +2 -2
  177. package/dist/backend/llvm/map-number-lookup.test.js +2 -2
  178. package/dist/backend/llvm/map-read-lifetimes.test.js +2 -2
  179. package/dist/backend/llvm/narrow-guards.d.ts +38 -0
  180. package/dist/backend/llvm/narrow-guards.js +151 -0
  181. package/dist/backend/llvm/narrow-guards.js.map +1 -0
  182. package/dist/backend/llvm/nullable-unions.d.ts +64 -6
  183. package/dist/backend/llvm/nullable-unions.js +103 -6
  184. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  185. package/dist/backend/llvm/nullable-unions.test.d.ts +1 -0
  186. package/dist/backend/llvm/nullable-unions.test.js +65 -0
  187. package/dist/backend/llvm/nullable-unions.test.js.map +1 -0
  188. package/dist/backend/llvm/publish.d.ts +4 -0
  189. package/dist/backend/llvm/publish.js +14 -2
  190. package/dist/backend/llvm/publish.js.map +1 -1
  191. package/dist/backend/llvm/publish.test.js +1 -1
  192. package/dist/backend/llvm/receivers.d.ts +31 -0
  193. package/dist/backend/llvm/receivers.js +395 -0
  194. package/dist/backend/llvm/receivers.js.map +1 -0
  195. package/dist/backend/llvm/record-results.d.ts +12 -1
  196. package/dist/backend/llvm/record-results.js +64 -4
  197. package/dist/backend/llvm/record-results.js.map +1 -1
  198. package/dist/backend/llvm/reference-effects.js +9 -0
  199. package/dist/backend/llvm/reference-effects.js.map +1 -1
  200. package/dist/backend/llvm/reference-writes.d.ts +4 -0
  201. package/dist/backend/llvm/reference-writes.js +142 -6
  202. package/dist/backend/llvm/reference-writes.js.map +1 -1
  203. package/dist/backend/llvm/reference-writes.test.d.ts +1 -0
  204. package/dist/backend/llvm/reference-writes.test.js +88 -0
  205. package/dist/backend/llvm/reference-writes.test.js.map +1 -0
  206. package/dist/backend/llvm/regex-matchers.d.ts +8 -0
  207. package/dist/backend/llvm/regex-matchers.js +33 -0
  208. package/dist/backend/llvm/regex-matchers.js.map +1 -1
  209. package/dist/backend/llvm/regex-matchers.test.js +23 -1
  210. package/dist/backend/llvm/regex-matchers.test.js.map +1 -1
  211. package/dist/backend/llvm/regions.d.ts +1 -1
  212. package/dist/backend/llvm/regions.js +9 -6
  213. package/dist/backend/llvm/regions.js.map +1 -1
  214. package/dist/backend/llvm/regions.test.js +1 -1
  215. package/dist/backend/llvm/shapes.d.ts +66 -43
  216. package/dist/backend/llvm/shapes.js +280 -21
  217. package/dist/backend/llvm/shapes.js.map +1 -1
  218. package/dist/backend/llvm/shapes.test.js +37 -3
  219. package/dist/backend/llvm/shapes.test.js.map +1 -1
  220. package/dist/backend/llvm/split-loops.js +2 -2
  221. package/dist/backend/llvm/split-loops.js.map +1 -1
  222. package/dist/backend/llvm/stack-objects.d.ts +26 -6
  223. package/dist/backend/llvm/stack-objects.js +133 -10
  224. package/dist/backend/llvm/stack-objects.js.map +1 -1
  225. package/dist/backend/llvm/stack-objects.test.js +55 -1
  226. package/dist/backend/llvm/stack-objects.test.js.map +1 -1
  227. package/dist/backend/llvm/stack-unions.test.js +1 -1
  228. package/dist/backend/llvm/string-construction.test.js +1 -1
  229. package/dist/backend/llvm/string-lifetimes.test.js +15 -14
  230. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  231. package/dist/backend/llvm/string-slices.d.ts +25 -0
  232. package/dist/backend/llvm/string-slices.js +207 -1
  233. package/dist/backend/llvm/string-slices.js.map +1 -1
  234. package/dist/backend/llvm/string-slices.test.js +139 -2
  235. package/dist/backend/llvm/string-slices.test.js.map +1 -1
  236. package/dist/backend/llvm/switch-dispatch.test.js +2 -2
  237. package/dist/backend/llvm/thread-slots.d.ts +5 -0
  238. package/dist/backend/llvm/thread-slots.js +142 -0
  239. package/dist/backend/llvm/thread-slots.js.map +1 -0
  240. package/dist/backend/llvm/thread-slots.test.d.ts +1 -0
  241. package/dist/backend/llvm/thread-slots.test.js +110 -0
  242. package/dist/backend/llvm/thread-slots.test.js.map +1 -0
  243. package/dist/backend/llvm/union-repr.d.ts +7 -7
  244. package/dist/backend/llvm/union-repr.js +18 -2
  245. package/dist/backend/llvm/union-repr.js.map +1 -1
  246. package/dist/backend/llvm/union-retype.test.js +17 -3
  247. package/dist/backend/llvm/union-retype.test.js.map +1 -1
  248. package/dist/backend/llvm/walkers.d.ts +2 -2
  249. package/dist/backend/llvm/walkers.js +51 -26
  250. package/dist/backend/llvm/walkers.js.map +1 -1
  251. package/dist/backend/llvm/wasm-modules.d.ts +16 -0
  252. package/dist/backend/llvm/wasm-modules.js +66 -0
  253. package/dist/backend/llvm/wasm-modules.js.map +1 -0
  254. package/dist/backend/llvm/wrapping-sums.d.ts +7 -0
  255. package/dist/backend/llvm/wrapping-sums.js +11 -3
  256. package/dist/backend/llvm/wrapping-sums.js.map +1 -1
  257. package/dist/backend/mangle.d.ts +7 -0
  258. package/dist/backend/mangle.js +11 -0
  259. package/dist/backend/mangle.js.map +1 -1
  260. package/dist/backend/may-throw.d.ts +3 -0
  261. package/dist/backend/may-throw.js +4 -2
  262. package/dist/backend/may-throw.js.map +1 -1
  263. package/dist/backend/may-throw.test.js +1 -1
  264. package/dist/backend/native/contracts.d.ts +37 -0
  265. package/dist/backend/native/executable.js +192 -137
  266. package/dist/backend/native/executable.js.map +1 -1
  267. package/dist/backend/native/library.js +1 -0
  268. package/dist/backend/native/library.js.map +1 -1
  269. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  270. package/dist/backend/native/runtime-inputs.js +1 -0
  271. package/dist/backend/native/runtime-inputs.js.map +1 -1
  272. package/dist/backend/native-link-info-core.d.ts +30 -0
  273. package/dist/backend/native-link-info-core.js.map +1 -1
  274. package/dist/backend/publication.test.js +1 -1
  275. package/dist/backend/runtime-pack-core.d.ts +9 -1
  276. package/dist/backend/runtime-pack-core.js +10 -1
  277. package/dist/backend/runtime-pack-core.js.map +1 -1
  278. package/dist/backend/runtime-pack-native.js +1 -1
  279. package/dist/backend/runtime-pack-native.js.map +1 -1
  280. package/dist/backend/runtime-pack-native.test.d.ts +1 -0
  281. package/dist/backend/runtime-pack-native.test.js +31 -0
  282. package/dist/backend/runtime-pack-native.test.js.map +1 -0
  283. package/dist/backend/runtime-pack-targets.test.js +5 -0
  284. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  285. package/dist/backend/runtime-pack.test.js +5 -0
  286. package/dist/backend/runtime-pack.test.js.map +1 -1
  287. package/dist/backend/stack-observations.d.ts +22 -0
  288. package/dist/backend/stack-observations.js +382 -0
  289. package/dist/backend/stack-observations.js.map +1 -0
  290. package/dist/backend/stack-observations.test.d.ts +1 -0
  291. package/dist/backend/stack-observations.test.js +233 -0
  292. package/dist/backend/stack-observations.test.js.map +1 -0
  293. package/dist/backend/target-diagnostics.js +8 -0
  294. package/dist/backend/target-diagnostics.js.map +1 -1
  295. package/dist/backend/target-diagnostics.test.js +1 -1
  296. package/dist/backend/warm-cache.js +5 -0
  297. package/dist/backend/warm-cache.js.map +1 -1
  298. package/dist/backend/young-nursery.d.ts +7 -0
  299. package/dist/backend/young-nursery.js +10 -0
  300. package/dist/backend/young-nursery.js.map +1 -0
  301. package/dist/cli/command.js +44 -4
  302. package/dist/cli/command.js.map +1 -1
  303. package/dist/cli/usage.d.ts +11 -1
  304. package/dist/cli/usage.js +20 -1
  305. package/dist/cli/usage.js.map +1 -1
  306. package/dist/compat/fetch-profile.js +10 -1
  307. package/dist/compat/fetch-profile.js.map +1 -1
  308. package/dist/compile-types.d.ts +13 -0
  309. package/dist/contracts/check.js +24 -6
  310. package/dist/contracts/check.js.map +1 -1
  311. package/dist/contracts/int32-elements.d.ts +115 -0
  312. package/dist/contracts/int32-elements.js +1179 -0
  313. package/dist/contracts/int32-elements.js.map +1 -0
  314. package/dist/coverage/report.d.ts +16 -0
  315. package/dist/coverage/report.js +182 -1
  316. package/dist/coverage/report.js.map +1 -1
  317. package/dist/coverage/surface-manifest.js +16 -3
  318. package/dist/coverage/surface-manifest.js.map +1 -1
  319. package/dist/coverage/verdict-cache.d.ts +2 -0
  320. package/dist/coverage/verdict-cache.js +12 -0
  321. package/dist/coverage/verdict-cache.js.map +1 -1
  322. package/dist/coverage/verdict-cache.test.js +2 -1
  323. package/dist/coverage/verdict-cache.test.js.map +1 -1
  324. package/dist/diagnostics/diagnostic.d.ts +10 -6
  325. package/dist/diagnostics/diagnostic.js +29 -21
  326. package/dist/diagnostics/diagnostic.js.map +1 -1
  327. package/dist/diagnostics/envelope.d.ts +39 -2
  328. package/dist/diagnostics/envelope.js.map +1 -1
  329. package/dist/diagnostics/render.d.ts +7 -0
  330. package/dist/diagnostics/render.js +50 -13
  331. package/dist/diagnostics/render.js.map +1 -1
  332. package/dist/diagnostics/render.test.d.ts +1 -0
  333. package/dist/diagnostics/render.test.js +49 -0
  334. package/dist/diagnostics/render.test.js.map +1 -0
  335. package/dist/executable/executable-cache.d.ts +17 -0
  336. package/dist/executable/executable-cache.js +13 -1
  337. package/dist/executable/executable-cache.js.map +1 -1
  338. package/dist/executable/executable-cache.test.js +7 -1
  339. package/dist/executable/executable-cache.test.js.map +1 -1
  340. package/dist/executable/prepare.js +2 -1
  341. package/dist/executable/prepare.js.map +1 -1
  342. package/dist/frontend/analysis.js +6 -1
  343. package/dist/frontend/analysis.js.map +1 -1
  344. package/dist/frontend/builtin-modules.d.ts +16 -2
  345. package/dist/frontend/builtin-modules.js +40 -7
  346. package/dist/frontend/builtin-modules.js.map +1 -1
  347. package/dist/frontend/cjs-syntax.js +52 -51
  348. package/dist/frontend/cjs-syntax.js.map +1 -1
  349. package/dist/frontend/contract-types.d.ts +3 -0
  350. package/dist/frontend/contract-types.js +36 -7
  351. package/dist/frontend/contract-types.js.map +1 -1
  352. package/dist/frontend/experimental-import.d.ts +5 -1
  353. package/dist/frontend/experimental-import.js +26 -7
  354. package/dist/frontend/experimental-import.js.map +1 -1
  355. package/dist/frontend/fork-target.js +20 -22
  356. package/dist/frontend/fork-target.js.map +1 -1
  357. package/dist/frontend/fork-target.test.js +2 -1
  358. package/dist/frontend/fork-target.test.js.map +1 -1
  359. package/dist/frontend/function-completion.js +6 -6
  360. package/dist/frontend/function-completion.js.map +1 -1
  361. package/dist/frontend/helper-tokens.js +15 -3
  362. package/dist/frontend/helper-tokens.js.map +1 -1
  363. package/dist/frontend/helper-tokens.test.js +7 -1
  364. package/dist/frontend/helper-tokens.test.js.map +1 -1
  365. package/dist/frontend/inferred-js-diagnostics.js +14 -17
  366. package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
  367. package/dist/frontend/input-tracker.d.ts +3 -0
  368. package/dist/frontend/input-tracker.js +32 -3
  369. package/dist/frontend/input-tracker.js.map +1 -1
  370. package/dist/frontend/lib-contract.js +36 -32
  371. package/dist/frontend/lib-contract.js.map +1 -1
  372. package/dist/frontend/lib-exports.js +3 -3
  373. package/dist/frontend/lib-exports.js.map +1 -1
  374. package/dist/frontend/lowering/array-values.d.ts +8 -3
  375. package/dist/frontend/lowering/array-values.js +60 -11
  376. package/dist/frontend/lowering/array-values.js.map +1 -1
  377. package/dist/frontend/lowering/assert-instances.js +4 -4
  378. package/dist/frontend/lowering/assert-instances.js.map +1 -1
  379. package/dist/frontend/lowering/assertion-identity.d.ts +12 -0
  380. package/dist/frontend/lowering/assertion-identity.js +70 -0
  381. package/dist/frontend/lowering/assertion-identity.js.map +1 -0
  382. package/dist/frontend/lowering/assertion-members.d.ts +28 -0
  383. package/dist/frontend/lowering/assertion-members.js +185 -0
  384. package/dist/frontend/lowering/assertion-members.js.map +1 -0
  385. package/dist/frontend/lowering/binding-analysis.js +27 -20
  386. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  387. package/dist/frontend/lowering/builtin-calls.js +63 -5
  388. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  389. package/dist/frontend/lowering/builtin-function-fences.d.ts +14 -0
  390. package/dist/frontend/lowering/builtin-function-fences.js +42 -0
  391. package/dist/frontend/lowering/builtin-function-fences.js.map +1 -0
  392. package/dist/frontend/lowering/builtins/arguments.js +1 -1
  393. package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
  394. package/dist/frontend/lowering/builtins/async-context.js +53 -52
  395. package/dist/frontend/lowering/builtins/async-context.js.map +1 -1
  396. package/dist/frontend/lowering/builtins/atomics.js +6 -6
  397. package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
  398. package/dist/frontend/lowering/builtins/blob.js +8 -6
  399. package/dist/frontend/lowering/builtins/blob.js.map +1 -1
  400. package/dist/frontend/lowering/builtins/builtin-class-dyn.d.ts +23 -0
  401. package/dist/frontend/lowering/builtins/builtin-class-dyn.js +156 -0
  402. package/dist/frontend/lowering/builtins/builtin-class-dyn.js.map +1 -0
  403. package/dist/frontend/lowering/builtins/callable-aliases.js +16 -5
  404. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
  405. package/dist/frontend/lowering/builtins/child-process-async.js +7 -7
  406. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -1
  407. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +6 -4
  408. package/dist/frontend/lowering/builtins/child-process-methods.js +310 -57
  409. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  410. package/dist/frontend/lowering/builtins/child-process-sync.js +16 -10
  411. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
  412. package/dist/frontend/lowering/builtins/child-process.d.ts +6 -4
  413. package/dist/frontend/lowering/builtins/child-process.js +85 -61
  414. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  415. package/dist/frontend/lowering/builtins/class-values.d.ts +60 -0
  416. package/dist/frontend/lowering/builtins/class-values.js +226 -0
  417. package/dist/frontend/lowering/builtins/class-values.js.map +1 -0
  418. package/dist/frontend/lowering/builtins/compression.d.ts +9 -0
  419. package/dist/frontend/lowering/builtins/compression.js +107 -44
  420. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  421. package/dist/frontend/lowering/builtins/constants.d.ts +9 -1
  422. package/dist/frontend/lowering/builtins/constants.js +28 -7
  423. package/dist/frontend/lowering/builtins/constants.js.map +1 -1
  424. package/dist/frontend/lowering/builtins/crypto.d.ts +19 -0
  425. package/dist/frontend/lowering/builtins/crypto.js +211 -37
  426. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  427. package/dist/frontend/lowering/builtins/dates.d.ts +7 -1
  428. package/dist/frontend/lowering/builtins/dates.js +92 -16
  429. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  430. package/dist/frontend/lowering/builtins/disposable-stack.d.ts +18 -0
  431. package/dist/frontend/lowering/builtins/disposable-stack.js +137 -0
  432. package/dist/frontend/lowering/builtins/disposable-stack.js.map +1 -0
  433. package/dist/frontend/lowering/builtins/environment.js +3 -3
  434. package/dist/frontend/lowering/builtins/environment.js.map +1 -1
  435. package/dist/frontend/lowering/builtins/errors.d.ts +14 -10
  436. package/dist/frontend/lowering/builtins/errors.js +169 -3
  437. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  438. package/dist/frontend/lowering/builtins/filesystem-calls.js +128 -116
  439. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  440. package/dist/frontend/lowering/builtins/filesystem.js +77 -77
  441. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  442. package/dist/frontend/lowering/builtins/fs-glob.js +3 -3
  443. package/dist/frontend/lowering/builtins/fs-glob.js.map +1 -1
  444. package/dist/frontend/lowering/builtins/fs-streams.js +10 -11
  445. package/dist/frontend/lowering/builtins/fs-streams.js.map +1 -1
  446. package/dist/frontend/lowering/builtins/ipc.js +45 -8
  447. package/dist/frontend/lowering/builtins/ipc.js.map +1 -1
  448. package/dist/frontend/lowering/builtins/json.js +232 -24
  449. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  450. package/dist/frontend/lowering/builtins/key-object.js +4 -4
  451. package/dist/frontend/lowering/builtins/key-object.js.map +1 -1
  452. package/dist/frontend/lowering/builtins/module-bindings.d.ts +8 -0
  453. package/dist/frontend/lowering/builtins/module-bindings.js +71 -22
  454. package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -1
  455. package/dist/frontend/lowering/builtins/module-calls.js +55 -44
  456. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  457. package/dist/frontend/lowering/builtins/module-resolution.d.ts +4 -3
  458. package/dist/frontend/lowering/builtins/module-resolution.js +24 -23
  459. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  460. package/dist/frontend/lowering/builtins/navigator.d.ts +13 -0
  461. package/dist/frontend/lowering/builtins/navigator.js +40 -0
  462. package/dist/frontend/lowering/builtins/navigator.js.map +1 -0
  463. package/dist/frontend/lowering/builtins/net-address.d.ts +19 -0
  464. package/dist/frontend/lowering/builtins/net-address.js +156 -0
  465. package/dist/frontend/lowering/builtins/net-address.js.map +1 -0
  466. package/dist/frontend/lowering/builtins/numbers.js +25 -9
  467. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  468. package/dist/frontend/lowering/builtins/operating-system.d.ts +4 -0
  469. package/dist/frontend/lowering/builtins/operating-system.js +25 -12
  470. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  471. package/dist/frontend/lowering/builtins/performance.d.ts +12 -0
  472. package/dist/frontend/lowering/builtins/performance.js +259 -8
  473. package/dist/frontend/lowering/builtins/performance.js.map +1 -1
  474. package/dist/frontend/lowering/builtins/process.d.ts +32 -1
  475. package/dist/frontend/lowering/builtins/process.js +461 -99
  476. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  477. package/dist/frontend/lowering/builtins/promises.d.ts +5 -1
  478. package/dist/frontend/lowering/builtins/promises.js +326 -43
  479. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  480. package/dist/frontend/lowering/builtins/promisify-callback.d.ts +37 -0
  481. package/dist/frontend/lowering/builtins/promisify-callback.js +320 -0
  482. package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -0
  483. package/dist/frontend/lowering/builtins/properties.js +37 -1
  484. package/dist/frontend/lowering/builtins/properties.js.map +1 -1
  485. package/dist/frontend/lowering/builtins/querystring.js +14 -14
  486. package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
  487. package/dist/frontend/lowering/builtins/readline.d.ts +12 -2
  488. package/dist/frontend/lowering/builtins/readline.js +136 -39
  489. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  490. package/dist/frontend/lowering/builtins/receiver-types.js +3 -5
  491. package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -1
  492. package/dist/frontend/lowering/builtins/reflection.js +16 -14
  493. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  494. package/dist/frontend/lowering/builtins/runtime-constructor.d.ts +26 -0
  495. package/dist/frontend/lowering/builtins/runtime-constructor.js +165 -0
  496. package/dist/frontend/lowering/builtins/runtime-constructor.js.map +1 -0
  497. package/dist/frontend/lowering/builtins/strings.js +101 -12
  498. package/dist/frontend/lowering/builtins/strings.js.map +1 -1
  499. package/dist/frontend/lowering/builtins/text-codecs.js +41 -38
  500. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  501. package/dist/frontend/lowering/builtins/timers.js +75 -30
  502. package/dist/frontend/lowering/builtins/timers.js.map +1 -1
  503. package/dist/frontend/lowering/builtins/url.d.ts +3 -0
  504. package/dist/frontend/lowering/builtins/url.js +120 -17
  505. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  506. package/dist/frontend/lowering/builtins/util-types.js +20 -4
  507. package/dist/frontend/lowering/builtins/util-types.js.map +1 -1
  508. package/dist/frontend/lowering/builtins/v8.d.ts +11 -0
  509. package/dist/frontend/lowering/builtins/v8.js +105 -0
  510. package/dist/frontend/lowering/builtins/v8.js.map +1 -0
  511. package/dist/frontend/lowering/builtins/webassembly.d.ts +33 -0
  512. package/dist/frontend/lowering/builtins/webassembly.js +388 -0
  513. package/dist/frontend/lowering/builtins/webassembly.js.map +1 -0
  514. package/dist/frontend/lowering/builtins/webcrypto.d.ts +20 -0
  515. package/dist/frontend/lowering/builtins/webcrypto.js +112 -0
  516. package/dist/frontend/lowering/builtins/webcrypto.js.map +1 -0
  517. package/dist/frontend/lowering/builtins/workers.d.ts +12 -0
  518. package/dist/frontend/lowering/builtins/workers.js +193 -8
  519. package/dist/frontend/lowering/builtins/workers.js.map +1 -1
  520. package/dist/frontend/lowering/call-arguments.js +69 -14
  521. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  522. package/dist/frontend/lowering/call-signatures.d.ts +19 -1
  523. package/dist/frontend/lowering/call-signatures.js +254 -47
  524. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  525. package/dist/frontend/lowering/checked-promise-all.d.ts +3 -0
  526. package/dist/frontend/lowering/checked-promise-all.js +1 -1
  527. package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
  528. package/dist/frontend/lowering/cjs-exports-object.d.ts +53 -0
  529. package/dist/frontend/lowering/cjs-exports-object.js +528 -0
  530. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -0
  531. package/dist/frontend/lowering/cjs-inline-require.d.ts +86 -0
  532. package/dist/frontend/lowering/cjs-inline-require.js +314 -0
  533. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -0
  534. package/dist/frontend/lowering/cjs-tsc-interop.d.ts +28 -0
  535. package/dist/frontend/lowering/cjs-tsc-interop.js +208 -0
  536. package/dist/frontend/lowering/cjs-tsc-interop.js.map +1 -0
  537. package/dist/frontend/lowering/class-attributes.d.ts +19 -0
  538. package/dist/frontend/lowering/class-attributes.js +378 -0
  539. package/dist/frontend/lowering/class-attributes.js.map +1 -0
  540. package/dist/frontend/lowering/class-callbacks.d.ts +3 -1
  541. package/dist/frontend/lowering/class-callbacks.js +21 -10
  542. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  543. package/dist/frontend/lowering/class-construction.js +49 -4
  544. package/dist/frontend/lowering/class-construction.js.map +1 -1
  545. package/dist/frontend/lowering/class-descriptors.d.ts +2 -0
  546. package/dist/frontend/lowering/class-descriptors.js +8 -8
  547. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  548. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +64 -0
  549. package/dist/frontend/lowering/class-dynamic-dispatch.js +1115 -89
  550. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  551. package/dist/frontend/lowering/class-instance-constructor.js +1 -1
  552. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
  553. package/dist/frontend/lowering/class-iterables.d.ts +11 -0
  554. package/dist/frontend/lowering/class-iterables.js +31 -0
  555. package/dist/frontend/lowering/class-iterables.js.map +1 -0
  556. package/dist/frontend/lowering/class-method-mutations.js +73 -35
  557. package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
  558. package/dist/frontend/lowering/class-method-values.js +56 -10
  559. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  560. package/dist/frontend/lowering/class-protocol-dispatch.js +24 -22
  561. package/dist/frontend/lowering/class-protocol-dispatch.js.map +1 -1
  562. package/dist/frontend/lowering/class-protocols.js +25 -44
  563. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  564. package/dist/frontend/lowering/class-prototypes.d.ts +6 -0
  565. package/dist/frontend/lowering/class-prototypes.js +80 -18
  566. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  567. package/dist/frontend/lowering/class-runtime-statics.js +1 -1
  568. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  569. package/dist/frontend/lowering/class-static-data.js +2 -2
  570. package/dist/frontend/lowering/class-static-data.js.map +1 -1
  571. package/dist/frontend/lowering/class-to-primitive.d.ts +25 -0
  572. package/dist/frontend/lowering/class-to-primitive.js +261 -0
  573. package/dist/frontend/lowering/class-to-primitive.js.map +1 -0
  574. package/dist/frontend/lowering/class-unions.d.ts +25 -0
  575. package/dist/frontend/lowering/class-unions.js +102 -1
  576. package/dist/frontend/lowering/class-unions.js.map +1 -1
  577. package/dist/frontend/lowering/code-generation.d.ts +14 -0
  578. package/dist/frontend/lowering/code-generation.js +127 -0
  579. package/dist/frontend/lowering/code-generation.js.map +1 -0
  580. package/dist/frontend/lowering/coercions/function-adapters.d.ts +16 -2
  581. package/dist/frontend/lowering/coercions/function-adapters.js +145 -3
  582. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  583. package/dist/frontend/lowering/coercions/structural-plans.js +25 -3
  584. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  585. package/dist/frontend/lowering/coercions/structural.js +35 -3
  586. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  587. package/dist/frontend/lowering/coercions/unions.d.ts +15 -0
  588. package/dist/frontend/lowering/coercions/unions.js +57 -1
  589. package/dist/frontend/lowering/coercions/unions.js.map +1 -1
  590. package/dist/frontend/lowering/collection-ingestion.js +2 -2
  591. package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
  592. package/dist/frontend/lowering/collection-narrowing.js +2 -4
  593. package/dist/frontend/lowering/collection-narrowing.js.map +1 -1
  594. package/dist/frontend/lowering/construction-escapes.js +8 -8
  595. package/dist/frontend/lowering/construction-escapes.js.map +1 -1
  596. package/dist/frontend/lowering/construction-escapes.test.js +4 -4
  597. package/dist/frontend/lowering/construction-escapes.test.js.map +1 -1
  598. package/dist/frontend/lowering/constructor-returns.d.ts +61 -0
  599. package/dist/frontend/lowering/constructor-returns.js +477 -0
  600. package/dist/frontend/lowering/constructor-returns.js.map +1 -0
  601. package/dist/frontend/lowering/containers/array-callback-call.js +1 -1
  602. package/dist/frontend/lowering/containers/array-callback-call.js.map +1 -1
  603. package/dist/frontend/lowering/containers/array-callbacks.d.ts +9 -0
  604. package/dist/frontend/lowering/containers/array-callbacks.js +266 -100
  605. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  606. package/dist/frontend/lowering/containers/array-concat.js +1 -1
  607. package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
  608. package/dist/frontend/lowering/containers/array-construction.d.ts +0 -1
  609. package/dist/frontend/lowering/containers/array-construction.js +51 -13
  610. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  611. package/dist/frontend/lowering/containers/array-from-async.d.ts +6 -5
  612. package/dist/frontend/lowering/containers/array-from-async.js +159 -14
  613. package/dist/frontend/lowering/containers/array-from-async.js.map +1 -1
  614. package/dist/frontend/lowering/containers/array-methods.js +89 -77
  615. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  616. package/dist/frontend/lowering/containers/array-pipelines.js +1 -0
  617. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
  618. package/dist/frontend/lowering/containers/bytes.js +161 -101
  619. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  620. package/dist/frontend/lowering/containers/callback-arguments.d.ts +9 -1
  621. package/dist/frontend/lowering/containers/callback-arguments.js +55 -5
  622. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  623. package/dist/frontend/lowering/containers/collection-grouping.d.ts +7 -8
  624. package/dist/frontend/lowering/containers/collection-grouping.js +217 -26
  625. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
  626. package/dist/frontend/lowering/containers/collection-methods.js +54 -25
  627. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  628. package/dist/frontend/lowering/containers/dynamic-receivers.js +1 -1
  629. package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -1
  630. package/dist/frontend/lowering/containers/exec-result-uses.js +2 -2
  631. package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -1
  632. package/dist/frontend/lowering/containers/for-of.d.ts +6 -0
  633. package/dist/frontend/lowering/containers/for-of.js +19 -19
  634. package/dist/frontend/lowering/containers/for-of.js.map +1 -1
  635. package/dist/frontend/lowering/containers/indexed-objects.js +142 -57
  636. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  637. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +53 -4
  638. package/dist/frontend/lowering/containers/iterator-helpers.js +1581 -462
  639. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
  640. package/dist/frontend/lowering/containers/match-row-uses.d.ts +17 -0
  641. package/dist/frontend/lowering/containers/match-row-uses.js +264 -0
  642. package/dist/frontend/lowering/containers/match-row-uses.js.map +1 -0
  643. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +14 -0
  644. package/dist/frontend/lowering/containers/string-and-regexp.js +419 -30
  645. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  646. package/dist/frontend/lowering/containers/string-replacement.js +1 -1
  647. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  648. package/dist/frontend/lowering/cycle-initialization.d.ts +4 -0
  649. package/dist/frontend/lowering/cycle-initialization.js +39 -0
  650. package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
  651. package/dist/frontend/lowering/deferred-module-initializers.js +47 -43
  652. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  653. package/dist/frontend/lowering/devirtualize.d.ts +1 -1
  654. package/dist/frontend/lowering/devirtualize.js +27 -7
  655. package/dist/frontend/lowering/devirtualize.js.map +1 -1
  656. package/dist/frontend/lowering/divergences.d.ts +0 -5
  657. package/dist/frontend/lowering/divergences.js +62 -125
  658. package/dist/frontend/lowering/divergences.js.map +1 -1
  659. package/dist/frontend/lowering/dyn-streams.d.ts +25 -0
  660. package/dist/frontend/lowering/dyn-streams.js +257 -0
  661. package/dist/frontend/lowering/dyn-streams.js.map +1 -0
  662. package/dist/frontend/lowering/error-methods.js +4 -1
  663. package/dist/frontend/lowering/error-methods.js.map +1 -1
  664. package/dist/frontend/lowering/error-name-order.d.ts +19 -0
  665. package/dist/frontend/lowering/error-name-order.js +93 -0
  666. package/dist/frontend/lowering/error-name-order.js.map +1 -0
  667. package/dist/frontend/lowering/expressions/array-literals.d.ts +21 -0
  668. package/dist/frontend/lowering/expressions/array-literals.js +703 -0
  669. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -0
  670. package/dist/frontend/lowering/expressions/binary.d.ts +35 -0
  671. package/dist/frontend/lowering/expressions/binary.js +2483 -0
  672. package/dist/frontend/lowering/expressions/binary.js.map +1 -0
  673. package/dist/frontend/lowering/expressions/element-access.d.ts +31 -0
  674. package/dist/frontend/lowering/expressions/element-access.js +1797 -0
  675. package/dist/frontend/lowering/expressions/element-access.js.map +1 -0
  676. package/dist/frontend/lowering/expressions/evaluation-safety.js +4 -3
  677. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
  678. package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +38 -0
  679. package/dist/frontend/lowering/expressions/hosted-narrowing.js +160 -0
  680. package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -0
  681. package/dist/frontend/lowering/expressions/identifiers.d.ts +4 -0
  682. package/dist/frontend/lowering/expressions/identifiers.js +830 -0
  683. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -0
  684. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +40 -0
  685. package/dist/frontend/lowering/expressions/keyed-field-targets.js +226 -0
  686. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -0
  687. package/dist/frontend/lowering/expressions/narrowing.d.ts +37 -0
  688. package/dist/frontend/lowering/expressions/narrowing.js +1322 -0
  689. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -0
  690. package/dist/frontend/lowering/expressions/native-proxy.js +4 -4
  691. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
  692. package/dist/frontend/lowering/expressions/nullish-assignment.js +45 -0
  693. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  694. package/dist/frontend/lowering/expressions/object-literals.d.ts +10 -0
  695. package/dist/frontend/lowering/expressions/object-literals.js +253 -85
  696. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  697. package/dist/frontend/lowering/expressions/optional-chains.d.ts +2 -1
  698. package/dist/frontend/lowering/expressions/optional-chains.js +91 -14
  699. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  700. package/dist/frontend/lowering/expressions/property-access.d.ts +110 -0
  701. package/dist/frontend/lowering/expressions/property-access.js +3544 -0
  702. package/dist/frontend/lowering/expressions/property-access.js.map +1 -0
  703. package/dist/frontend/lowering/expressions/relational.d.ts +28 -0
  704. package/dist/frontend/lowering/expressions/relational.js +1679 -0
  705. package/dist/frontend/lowering/expressions/relational.js.map +1 -0
  706. package/dist/frontend/lowering/expressions/typeof.d.ts +22 -0
  707. package/dist/frontend/lowering/expressions/typeof.js +538 -0
  708. package/dist/frontend/lowering/expressions/typeof.js.map +1 -0
  709. package/dist/frontend/lowering/expressions/union-fields.js +1 -1
  710. package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
  711. package/dist/frontend/lowering/expressions/updates.d.ts +21 -0
  712. package/dist/frontend/lowering/expressions/updates.js +780 -0
  713. package/dist/frontend/lowering/expressions/updates.js.map +1 -0
  714. package/dist/frontend/lowering/function-context.d.ts +10 -0
  715. package/dist/frontend/lowering/function-context.js +11 -1
  716. package/dist/frontend/lowering/function-context.js.map +1 -1
  717. package/dist/frontend/lowering/function-returns.js +52 -28
  718. package/dist/frontend/lowering/function-returns.js.map +1 -1
  719. package/dist/frontend/lowering/general-streams.d.ts +25 -0
  720. package/dist/frontend/lowering/general-streams.js +108 -0
  721. package/dist/frontend/lowering/general-streams.js.map +1 -0
  722. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +7 -0
  723. package/dist/frontend/lowering/generator-dynamic-dispatch.js +172 -69
  724. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
  725. package/dist/frontend/lowering/generic-functions.d.ts +39 -0
  726. package/dist/frontend/lowering/generic-functions.js +393 -75
  727. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  728. package/dist/frontend/lowering/import-meta.js +2 -2
  729. package/dist/frontend/lowering/import-meta.js.map +1 -1
  730. package/dist/frontend/lowering/intern-tables.js +10 -9
  731. package/dist/frontend/lowering/intern-tables.js.map +1 -1
  732. package/dist/frontend/lowering/iterator-adapters.d.ts +19 -0
  733. package/dist/frontend/lowering/iterator-adapters.js +331 -3
  734. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  735. package/dist/frontend/lowering/js-class-fields.d.ts +28 -0
  736. package/dist/frontend/lowering/js-class-fields.js +170 -0
  737. package/dist/frontend/lowering/js-class-fields.js.map +1 -0
  738. package/dist/frontend/lowering/js-dynamic-objects.d.ts +15 -0
  739. package/dist/frontend/lowering/js-dynamic-objects.js +299 -0
  740. package/dist/frontend/lowering/js-dynamic-objects.js.map +1 -0
  741. package/dist/frontend/lowering/js-dynamic-objects.test.d.ts +1 -0
  742. package/dist/frontend/lowering/js-dynamic-objects.test.js +35 -0
  743. package/dist/frontend/lowering/js-dynamic-objects.test.js.map +1 -0
  744. package/dist/frontend/lowering/json-require.d.ts +22 -0
  745. package/dist/frontend/lowering/json-require.js +131 -0
  746. package/dist/frontend/lowering/json-require.js.map +1 -0
  747. package/dist/frontend/lowering/key-order-witness.d.ts +44 -0
  748. package/dist/frontend/lowering/key-order-witness.js +641 -0
  749. package/dist/frontend/lowering/key-order-witness.js.map +1 -0
  750. package/dist/frontend/lowering/key-order-witness.test.d.ts +1 -0
  751. package/dist/frontend/lowering/key-order-witness.test.js +239 -0
  752. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -0
  753. package/dist/frontend/lowering/lifetime-regions.js +7 -7
  754. package/dist/frontend/lowering/lifetime-regions.js.map +1 -1
  755. package/dist/frontend/lowering/lower-assert.js +61 -60
  756. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  757. package/dist/frontend/lowering/lower-async-iteration.d.ts +10 -1
  758. package/dist/frontend/lowering/lower-async-iteration.js +34 -6
  759. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  760. package/dist/frontend/lowering/lower-builtin-values.d.ts +5 -0
  761. package/dist/frontend/lowering/lower-builtin-values.js +32 -3
  762. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  763. package/dist/frontend/lowering/lower-calls.js +1239 -442
  764. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  765. package/dist/frontend/lowering/lower-classes.d.ts +50 -3
  766. package/dist/frontend/lowering/lower-classes.js +1473 -468
  767. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  768. package/dist/frontend/lowering/lower-comptime.d.ts +4 -2
  769. package/dist/frontend/lowering/lower-comptime.js +111 -13
  770. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  771. package/dist/frontend/lowering/lower-console.js +13 -11
  772. package/dist/frontend/lowering/lower-console.js.map +1 -1
  773. package/dist/frontend/lowering/lower-dgram.d.ts +10 -0
  774. package/dist/frontend/lowering/lower-dgram.js +179 -8
  775. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  776. package/dist/frontend/lowering/lower-enums.js +113 -14
  777. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  778. package/dist/frontend/lowering/lower-event-emitter.d.ts +16 -7
  779. package/dist/frontend/lowering/lower-event-emitter.js +258 -70
  780. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  781. package/dist/frontend/lowering/lower-event-target.js +2 -2
  782. package/dist/frontend/lowering/lower-event-target.js.map +1 -1
  783. package/dist/frontend/lowering/lower-expando.js +17 -13
  784. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  785. package/dist/frontend/lowering/lower-exprs.d.ts +188 -186
  786. package/dist/frontend/lowering/lower-exprs.js +1481 -12489
  787. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  788. package/dist/frontend/lowering/lower-functions.js +68 -22
  789. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  790. package/dist/frontend/lowering/lower-generators.d.ts +6 -0
  791. package/dist/frontend/lowering/lower-generators.js +29 -16
  792. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  793. package/dist/frontend/lowering/lower-global-value.js +5 -1
  794. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  795. package/dist/frontend/lowering/lower-inspect.js +331 -96
  796. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  797. package/dist/frontend/lowering/lower-mixins.js +23 -20
  798. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  799. package/dist/frontend/lowering/lower-mock.d.ts +8 -1
  800. package/dist/frontend/lowering/lower-mock.js +185 -18
  801. package/dist/frontend/lowering/lower-mock.js.map +1 -1
  802. package/dist/frontend/lowering/lower-modules.js +267 -61
  803. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  804. package/dist/frontend/lowering/lower-namespaces.d.ts +6 -0
  805. package/dist/frontend/lowering/lower-namespaces.js +45 -33
  806. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  807. package/dist/frontend/lowering/lower-node-module.d.ts +16 -0
  808. package/dist/frontend/lowering/lower-node-module.js +147 -14
  809. package/dist/frontend/lowering/lower-node-module.js.map +1 -1
  810. package/dist/frontend/lowering/lower-server.d.ts +6 -6
  811. package/dist/frontend/lowering/lower-server.js +488 -100
  812. package/dist/frontend/lowering/lower-server.js.map +1 -1
  813. package/dist/frontend/lowering/lower-stdlib.d.ts +4 -0
  814. package/dist/frontend/lowering/lower-stdlib.js +151 -109
  815. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  816. package/dist/frontend/lowering/lower-stmts.d.ts +28 -2
  817. package/dist/frontend/lowering/lower-stmts.js +1541 -391
  818. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  819. package/dist/frontend/lowering/lower-stream.d.ts +3 -0
  820. package/dist/frontend/lowering/lower-stream.js +398 -56
  821. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  822. package/dist/frontend/lowering/lower-test.d.ts +3 -0
  823. package/dist/frontend/lowering/lower-test.js +437 -62
  824. package/dist/frontend/lowering/lower-test.js.map +1 -1
  825. package/dist/frontend/lowering/lower-timers.js +80 -32
  826. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  827. package/dist/frontend/lowering/lower-url.js +1 -1
  828. package/dist/frontend/lowering/lower-url.js.map +1 -1
  829. package/dist/frontend/lowering/lowerer.d.ts +399 -26
  830. package/dist/frontend/lowering/lowerer.js +1910 -305
  831. package/dist/frontend/lowering/lowerer.js.map +1 -1
  832. package/dist/frontend/lowering/lowerer.test.js +10 -4
  833. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  834. package/dist/frontend/lowering/maybe-promise.d.ts +46 -0
  835. package/dist/frontend/lowering/maybe-promise.js +249 -0
  836. package/dist/frontend/lowering/maybe-promise.js.map +1 -0
  837. package/dist/frontend/lowering/module-member-this.d.ts +3 -0
  838. package/dist/frontend/lowering/module-member-this.js +262 -0
  839. package/dist/frontend/lowering/module-member-this.js.map +1 -0
  840. package/dist/frontend/lowering/module-namespace-elements.js +1 -1
  841. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  842. package/dist/frontend/lowering/nan-coded-reads.d.ts +3 -0
  843. package/dist/frontend/lowering/nan-coded-reads.js +45 -32
  844. package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
  845. package/dist/frontend/lowering/narrowing-stability.d.ts +18 -3
  846. package/dist/frontend/lowering/narrowing-stability.js +104 -32
  847. package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
  848. package/dist/frontend/lowering/native-ffi.js +11 -11
  849. package/dist/frontend/lowering/native-ffi.js.map +1 -1
  850. package/dist/frontend/lowering/object-factory-new.js +6 -8
  851. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  852. package/dist/frontend/lowering/private-brands.d.ts +46 -0
  853. package/dist/frontend/lowering/private-brands.js +265 -0
  854. package/dist/frontend/lowering/private-brands.js.map +1 -0
  855. package/dist/frontend/lowering/promise-executor-adapter.d.ts +11 -0
  856. package/dist/frontend/lowering/promise-executor-adapter.js +87 -0
  857. package/dist/frontend/lowering/promise-executor-adapter.js.map +1 -0
  858. package/dist/frontend/lowering/require-initialization.d.ts +32 -0
  859. package/dist/frontend/lowering/require-initialization.js +246 -0
  860. package/dist/frontend/lowering/require-initialization.js.map +1 -0
  861. package/dist/frontend/lowering/runtime-optional-bounds.js +7 -7
  862. package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
  863. package/dist/frontend/lowering/runtime-optional-elements.js +12 -12
  864. package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -1
  865. package/dist/frontend/lowering/runtime-optional-guards.js +10 -10
  866. package/dist/frontend/lowering/runtime-optional-guards.js.map +1 -1
  867. package/dist/frontend/lowering/runtime-optional-guards.test.js +1 -1
  868. package/dist/frontend/lowering/runtime-optional-guards.test.js.map +1 -1
  869. package/dist/frontend/lowering/runtime-optional-ownership.js +10 -9
  870. package/dist/frontend/lowering/runtime-optional-ownership.js.map +1 -1
  871. package/dist/frontend/lowering/runtime-optional-provenance.js +2 -2
  872. package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -1
  873. package/dist/frontend/lowering/runtime-optional-records.d.ts +35 -0
  874. package/dist/frontend/lowering/runtime-optional-records.js +205 -32
  875. package/dist/frontend/lowering/runtime-optional-records.js.map +1 -1
  876. package/dist/frontend/lowering/runtime-optional-records.test.js +19 -1
  877. package/dist/frontend/lowering/runtime-optional-records.test.js.map +1 -1
  878. package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
  879. package/dist/frontend/lowering/split-consumers.js +4 -4
  880. package/dist/frontend/lowering/split-consumers.js.map +1 -1
  881. package/dist/frontend/lowering/static-function-names.d.ts +28 -0
  882. package/dist/frontend/lowering/static-function-names.js +212 -0
  883. package/dist/frontend/lowering/static-function-names.js.map +1 -0
  884. package/dist/frontend/lowering/static-this.js +6 -6
  885. package/dist/frontend/lowering/static-this.js.map +1 -1
  886. package/dist/frontend/lowering/strict-mode.d.ts +5 -0
  887. package/dist/frontend/lowering/strict-mode.js +31 -0
  888. package/dist/frontend/lowering/strict-mode.js.map +1 -0
  889. package/dist/frontend/lowering/string-index-bounds.js +10 -10
  890. package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
  891. package/dist/frontend/lowering/string-index.d.ts +12 -0
  892. package/dist/frontend/lowering/string-index.js +72 -1
  893. package/dist/frontend/lowering/string-index.js.map +1 -1
  894. package/dist/frontend/lowering/surfaces.d.ts +12 -3
  895. package/dist/frontend/lowering/surfaces.js +252 -41
  896. package/dist/frontend/lowering/surfaces.js.map +1 -1
  897. package/dist/frontend/lowering/symbol-fields.d.ts +7 -0
  898. package/dist/frontend/lowering/symbol-fields.js +204 -36
  899. package/dist/frontend/lowering/symbol-fields.js.map +1 -1
  900. package/dist/frontend/lowering/symbol-methods.d.ts +2 -1
  901. package/dist/frontend/lowering/symbol-methods.js +24 -6
  902. package/dist/frontend/lowering/symbol-methods.js.map +1 -1
  903. package/dist/frontend/lowering/thread-slots.d.ts +13 -0
  904. package/dist/frontend/lowering/thread-slots.js +208 -0
  905. package/dist/frontend/lowering/thread-slots.js.map +1 -0
  906. package/dist/frontend/lowering/typed-arguments.d.ts +74 -0
  907. package/dist/frontend/lowering/typed-arguments.js +472 -0
  908. package/dist/frontend/lowering/typed-arguments.js.map +1 -0
  909. package/dist/frontend/lowering/union-retag.d.ts +8 -0
  910. package/dist/frontend/lowering/union-retag.js +27 -0
  911. package/dist/frontend/lowering/union-retag.js.map +1 -1
  912. package/dist/frontend/lowering/union-retag.test.js +24 -1
  913. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  914. package/dist/frontend/lowering/var-hoisting.js +6 -6
  915. package/dist/frontend/lowering/var-hoisting.js.map +1 -1
  916. package/dist/frontend/lowering/width-lift.d.ts +4 -0
  917. package/dist/frontend/mock-shapes.js +13 -6
  918. package/dist/frontend/mock-shapes.js.map +1 -1
  919. package/dist/frontend/module-source-candidates.js +1 -1
  920. package/dist/frontend/module-source-candidates.js.map +1 -1
  921. package/dist/frontend/module-source-candidates.test.js +2 -1
  922. package/dist/frontend/module-source-candidates.test.js.map +1 -1
  923. package/dist/frontend/module-syntax.js +8 -8
  924. package/dist/frontend/module-syntax.js.map +1 -1
  925. package/dist/frontend/npm-static-bundled-chunks.d.ts +51 -0
  926. package/dist/frontend/npm-static-bundled-chunks.js +810 -0
  927. package/dist/frontend/npm-static-bundled-chunks.js.map +1 -0
  928. package/dist/frontend/npm-static-bundled-chunks.test.d.ts +1 -0
  929. package/dist/frontend/npm-static-bundled-chunks.test.js +287 -0
  930. package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -0
  931. package/dist/frontend/npm-static-bundled-cjs.js +24 -23
  932. package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
  933. package/dist/frontend/npm-static-bundled-esm.d.ts +9 -0
  934. package/dist/frontend/npm-static-bundled-esm.js +768 -0
  935. package/dist/frontend/npm-static-bundled-esm.js.map +1 -0
  936. package/dist/frontend/npm-static-bundled-esm.test.d.ts +1 -0
  937. package/dist/frontend/npm-static-bundled-esm.test.js +207 -0
  938. package/dist/frontend/npm-static-bundled-esm.test.js.map +1 -0
  939. package/dist/frontend/npm-static-cjs-exports-alias.d.ts +2 -0
  940. package/dist/frontend/npm-static-cjs-exports-alias.js +186 -0
  941. package/dist/frontend/npm-static-cjs-exports-alias.js.map +1 -0
  942. package/dist/frontend/npm-static-cjs-exports-alias.test.d.ts +1 -0
  943. package/dist/frontend/npm-static-cjs-exports-alias.test.js +73 -0
  944. package/dist/frontend/npm-static-cjs-exports-alias.test.js.map +1 -0
  945. package/dist/frontend/npm-static-cjs-exports-var.d.ts +2 -0
  946. package/dist/frontend/npm-static-cjs-exports-var.js +236 -0
  947. package/dist/frontend/npm-static-cjs-exports-var.js.map +1 -0
  948. package/dist/frontend/npm-static-declaration-syntax.js +102 -101
  949. package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
  950. package/dist/frontend/npm-static-prune.js +36 -24
  951. package/dist/frontend/npm-static-prune.js.map +1 -1
  952. package/dist/frontend/npm-static-rewrite-host.d.ts +4 -1
  953. package/dist/frontend/npm-static-rewrite-host.js +14 -3
  954. package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
  955. package/dist/frontend/npm-static-rewrite-syntax.d.ts +19 -0
  956. package/dist/frontend/npm-static-rewrite-syntax.js +274 -101
  957. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
  958. package/dist/frontend/npm-static-subtyping.js +7 -9
  959. package/dist/frontend/npm-static-subtyping.js.map +1 -1
  960. package/dist/frontend/npm-static.d.ts +17 -1
  961. package/dist/frontend/npm-static.js +167 -16
  962. package/dist/frontend/npm-static.js.map +1 -1
  963. package/dist/frontend/npm-static.test.js +22 -1
  964. package/dist/frontend/npm-static.test.js.map +1 -1
  965. package/dist/frontend/pipeline.js +164 -26
  966. package/dist/frontend/pipeline.js.map +1 -1
  967. package/dist/frontend/pipeline.test.js +22 -1
  968. package/dist/frontend/pipeline.test.js.map +1 -1
  969. package/dist/frontend/program-analysis.d.ts +6 -1
  970. package/dist/frontend/program-analysis.js +7 -0
  971. package/dist/frontend/program-analysis.js.map +1 -1
  972. package/dist/frontend/program.d.ts +92 -2
  973. package/dist/frontend/program.js +1557 -255
  974. package/dist/frontend/program.js.map +1 -1
  975. package/dist/frontend/program.test.js +76 -6
  976. package/dist/frontend/program.test.js.map +1 -1
  977. package/dist/frontend/resolve.js +36 -2
  978. package/dist/frontend/resolve.js.map +1 -1
  979. package/dist/frontend/resolve.test.js +49 -0
  980. package/dist/frontend/resolve.test.js.map +1 -1
  981. package/dist/frontend/services.d.ts +20 -1
  982. package/dist/frontend/services.js +40 -3
  983. package/dist/frontend/services.js.map +1 -1
  984. package/dist/frontend/services.test.js +2 -1
  985. package/dist/frontend/services.test.js.map +1 -1
  986. package/dist/frontend/threads-import.js +1 -1
  987. package/dist/frontend/threads-import.js.map +1 -1
  988. package/dist/frontend/tier-analysis.d.ts +71 -0
  989. package/dist/frontend/tier-analysis.js +522 -0
  990. package/dist/frontend/tier-analysis.js.map +1 -0
  991. package/dist/frontend/ts7/api-conformance.d.ts +234 -0
  992. package/dist/frontend/ts7/api-conformance.js +7 -0
  993. package/dist/frontend/ts7/api-conformance.js.map +1 -0
  994. package/dist/frontend/ts7/ast-guards.generated.js +2 -1
  995. package/dist/frontend/ts7/ast-guards.generated.js.map +1 -1
  996. package/dist/frontend/ts7/ast-node.d.ts +47 -25
  997. package/dist/frontend/ts7/ast-node.js +64 -18
  998. package/dist/frontend/ts7/ast-node.js.map +1 -1
  999. package/dist/frontend/ts7/ast-node.test.js +36 -12
  1000. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  1001. package/dist/frontend/ts7/ast-types.d.ts +10 -3
  1002. package/dist/frontend/ts7/ast-types.generated.d.ts +39 -39
  1003. package/dist/frontend/ts7/ast.d.ts +1 -0
  1004. package/dist/frontend/ts7/ast.js +3 -2
  1005. package/dist/frontend/ts7/ast.js.map +1 -1
  1006. package/dist/frontend/ts7/checker-backend.d.ts +23 -0
  1007. package/dist/frontend/ts7/checker-backend.js +88 -0
  1008. package/dist/frontend/ts7/checker-backend.js.map +1 -0
  1009. package/dist/frontend/ts7/checker-backend.test.d.ts +1 -0
  1010. package/dist/frontend/ts7/checker-backend.test.js +63 -0
  1011. package/dist/frontend/ts7/checker-backend.test.js.map +1 -0
  1012. package/dist/frontend/ts7/checker-cache.d.ts +0 -3
  1013. package/dist/frontend/ts7/checker-cache.js +0 -6
  1014. package/dist/frontend/ts7/checker-cache.js.map +1 -1
  1015. package/dist/frontend/ts7/checker.d.ts +18 -11
  1016. package/dist/frontend/ts7/checker.js +42 -55
  1017. package/dist/frontend/ts7/checker.js.map +1 -1
  1018. package/dist/frontend/ts7/checker.test.js +10 -7
  1019. package/dist/frontend/ts7/checker.test.js.map +1 -1
  1020. package/dist/frontend/ts7/diagnostic.d.ts +19 -0
  1021. package/dist/frontend/ts7/diagnostic.js +22 -0
  1022. package/dist/frontend/ts7/diagnostic.js.map +1 -0
  1023. package/dist/frontend/ts7/node-functions.d.ts +8 -0
  1024. package/dist/frontend/ts7/node-functions.js +18 -0
  1025. package/dist/frontend/ts7/node-functions.js.map +1 -0
  1026. package/dist/frontend/ts7/program-host.d.ts +5 -1
  1027. package/dist/frontend/ts7/program-host.js +12 -0
  1028. package/dist/frontend/ts7/program-host.js.map +1 -1
  1029. package/dist/frontend/ts7/rpc-api.d.ts +5 -1
  1030. package/dist/frontend/ts7/rpc-api.js +8 -1
  1031. package/dist/frontend/ts7/rpc-api.js.map +1 -1
  1032. package/dist/frontend/ts7/semantic-checker.d.ts +13 -6
  1033. package/dist/frontend/ts7/semantic-checker.js +26 -8
  1034. package/dist/frontend/ts7/semantic-checker.js.map +1 -1
  1035. package/dist/frontend/ts7/semantic-checker.test.js +12 -9
  1036. package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
  1037. package/dist/frontend/ts7/semantic-model.d.ts +54 -24
  1038. package/dist/frontend/ts7/semantic-model.js +88 -16
  1039. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  1040. package/dist/frontend/ts7/semantic-model.test.js +4 -4
  1041. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  1042. package/dist/frontend/ts7/semantic-types.d.ts +7 -3
  1043. package/dist/frontend/ts7/semantic-types.js +1 -1
  1044. package/dist/frontend/ts7/semantic-types.js.map +1 -1
  1045. package/dist/frontend/ts7/session.d.ts +11 -11
  1046. package/dist/frontend/ts7/session.js +8 -5
  1047. package/dist/frontend/ts7/session.js.map +1 -1
  1048. package/dist/frontend/ts7/session.test.js +9 -5
  1049. package/dist/frontend/ts7/session.test.js.map +1 -1
  1050. package/dist/frontend/ts7/source-parser.d.ts +6 -2
  1051. package/dist/frontend/ts7/source-parser.js +24 -3
  1052. package/dist/frontend/ts7/source-parser.js.map +1 -1
  1053. package/dist/frontend/ts7/source-parser.test.js +38 -17
  1054. package/dist/frontend/ts7/source-parser.test.js.map +1 -1
  1055. package/dist/frontend/type-mapper.d.ts +122 -2
  1056. package/dist/frontend/type-mapper.js +2545 -719
  1057. package/dist/frontend/type-mapper.js.map +1 -1
  1058. package/dist/frontend/type-only-imports.d.ts +28 -0
  1059. package/dist/frontend/type-only-imports.js +122 -0
  1060. package/dist/frontend/type-only-imports.js.map +1 -0
  1061. package/dist/frontend/worker-target.js +8 -8
  1062. package/dist/frontend/worker-target.js.map +1 -1
  1063. package/dist/index.d.ts +3 -1
  1064. package/dist/index.js +29 -2
  1065. package/dist/index.js.map +1 -1
  1066. package/dist/ir/analysis.js +4 -2
  1067. package/dist/ir/analysis.js.map +1 -1
  1068. package/dist/ir/api.d.ts +1 -1
  1069. package/dist/ir/api.js +1 -1
  1070. package/dist/ir/api.js.map +1 -1
  1071. package/dist/ir/array-length-stability.d.ts +30 -0
  1072. package/dist/ir/array-length-stability.js +236 -0
  1073. package/dist/ir/array-length-stability.js.map +1 -0
  1074. package/dist/ir/array-length-stability.test.d.ts +1 -0
  1075. package/dist/ir/array-length-stability.test.js +113 -0
  1076. package/dist/ir/array-length-stability.test.js.map +1 -0
  1077. package/dist/ir/build.d.ts +2 -2
  1078. package/dist/ir/build.js +1 -1
  1079. package/dist/ir/build.js.map +1 -1
  1080. package/dist/ir/builtin-effects.js +103 -0
  1081. package/dist/ir/builtin-effects.js.map +1 -1
  1082. package/dist/ir/builtin-signatures.d.ts +1 -1
  1083. package/dist/ir/builtin-signatures.js +494 -25
  1084. package/dist/ir/builtin-signatures.js.map +1 -1
  1085. package/dist/ir/byte-numbers.js +3 -0
  1086. package/dist/ir/byte-numbers.js.map +1 -1
  1087. package/dist/ir/callback-specialization.d.ts +37 -0
  1088. package/dist/ir/callback-specialization.js +459 -0
  1089. package/dist/ir/callback-specialization.js.map +1 -0
  1090. package/dist/ir/callback-specialization.test.d.ts +1 -0
  1091. package/dist/ir/callback-specialization.test.js +208 -0
  1092. package/dist/ir/callback-specialization.test.js.map +1 -0
  1093. package/dist/ir/capture-values.d.ts +0 -1
  1094. package/dist/ir/capture-values.js +51 -40
  1095. package/dist/ir/capture-values.js.map +1 -1
  1096. package/dist/ir/constant-globals.test.js +1 -1
  1097. package/dist/ir/constant-tables.test.js +1 -1
  1098. package/dist/ir/field-values.test.js +1 -1
  1099. package/dist/ir/final-fields.test.js +1 -1
  1100. package/dist/ir/function-references.test.js +9 -1
  1101. package/dist/ir/function-references.test.js.map +1 -1
  1102. package/dist/ir/init-only-globals.test.js +1 -1
  1103. package/dist/ir/initializer-bindings.test.js +1 -1
  1104. package/dist/ir/int32-slots.d.ts +14 -0
  1105. package/dist/ir/int32-slots.js +97 -14
  1106. package/dist/ir/int32-slots.js.map +1 -1
  1107. package/dist/ir/int32-slots.test.js +1 -1
  1108. package/dist/ir/integer-loop-facts.d.ts +2 -0
  1109. package/dist/ir/integer-loop-facts.js +24 -3
  1110. package/dist/ir/integer-loop-facts.js.map +1 -1
  1111. package/dist/ir/integer-loops.d.ts +1 -1
  1112. package/dist/ir/integer-loops.js +39 -9
  1113. package/dist/ir/integer-loops.js.map +1 -1
  1114. package/dist/ir/integer-loops.test.js +104 -0
  1115. package/dist/ir/integer-loops.test.js.map +1 -1
  1116. package/dist/ir/integer-ranges.d.ts +3 -0
  1117. package/dist/ir/integer-ranges.js +3 -1
  1118. package/dist/ir/integer-ranges.js.map +1 -1
  1119. package/dist/ir/integer-ranges.test.js +82 -1
  1120. package/dist/ir/integer-ranges.test.js.map +1 -1
  1121. package/dist/ir/intrinsic-signatures.js +6 -0
  1122. package/dist/ir/intrinsic-signatures.js.map +1 -1
  1123. package/dist/ir/ir.d.ts +221 -58
  1124. package/dist/ir/ir.js +119 -12
  1125. package/dist/ir/ir.js.map +1 -1
  1126. package/dist/ir/ir.test.js +10 -0
  1127. package/dist/ir/ir.test.js.map +1 -1
  1128. package/dist/ir/jsval.d.ts +8 -0
  1129. package/dist/ir/jsval.js +365 -0
  1130. package/dist/ir/jsval.js.map +1 -0
  1131. package/dist/ir/jsval.test.d.ts +1 -0
  1132. package/dist/ir/jsval.test.js +239 -0
  1133. package/dist/ir/jsval.test.js.map +1 -0
  1134. package/dist/ir/runtime-features.d.ts +148 -33
  1135. package/dist/ir/runtime-features.js +629 -386
  1136. package/dist/ir/runtime-features.js.map +1 -1
  1137. package/dist/ir/scalar-records.test.js +1 -1
  1138. package/dist/ir/self-captures.d.ts +33 -0
  1139. package/dist/ir/self-captures.js +245 -0
  1140. package/dist/ir/self-captures.js.map +1 -0
  1141. package/dist/ir/self-captures.test.d.ts +1 -0
  1142. package/dist/ir/self-captures.test.js +135 -0
  1143. package/dist/ir/self-captures.test.js.map +1 -0
  1144. package/dist/ir/serialize.d.ts +1 -1
  1145. package/dist/ir/serialize.js +7 -4
  1146. package/dist/ir/serialize.js.map +1 -1
  1147. package/dist/ir/tiers.d.ts +26 -0
  1148. package/dist/ir/tiers.js +101 -0
  1149. package/dist/ir/tiers.js.map +1 -0
  1150. package/dist/ir/tiers.test.d.ts +1 -0
  1151. package/dist/ir/tiers.test.js +140 -0
  1152. package/dist/ir/tiers.test.js.map +1 -0
  1153. package/dist/ir/traverse.js +103 -94
  1154. package/dist/ir/traverse.js.map +1 -1
  1155. package/dist/ir/traverse.test.js +33 -30
  1156. package/dist/ir/traverse.test.js.map +1 -1
  1157. package/dist/ir/unshare.js +65 -3
  1158. package/dist/ir/unshare.js.map +1 -1
  1159. package/dist/ir/unshare.test.js +1 -1
  1160. package/dist/ir/validate.js +175 -68
  1161. package/dist/ir/validate.js.map +1 -1
  1162. package/dist/ir/validate.test.js +26 -9
  1163. package/dist/ir/validate.test.js.map +1 -1
  1164. package/dist/library/fence-eval.test.js +1 -1
  1165. package/dist/library/int-infer.test.js +4 -4
  1166. package/dist/library/ir-policy.js +13 -0
  1167. package/dist/library/ir-policy.js.map +1 -1
  1168. package/dist/library/library-cache.d.ts +1 -0
  1169. package/dist/library/library-cache.js.map +1 -1
  1170. package/dist/library/library-cache.test.js +5 -5
  1171. package/dist/library/library-profile.d.ts +4 -4
  1172. package/dist/library/library-profile.js +35 -7
  1173. package/dist/library/library-profile.js.map +1 -1
  1174. package/dist/library/prepare.js +13 -1
  1175. package/dist/library/prepare.js.map +1 -1
  1176. package/dist/native/cli.js +5 -0
  1177. package/dist/native/cli.js.map +1 -1
  1178. package/dist/native/compiler.js +2 -2
  1179. package/dist/native/compiler.js.map +1 -1
  1180. package/dist/native/compiler.test.js +2 -2
  1181. package/dist/native/prepare.js +7 -0
  1182. package/dist/native/prepare.js.map +1 -1
  1183. package/dist/native/sanitizer.test.js +12 -0
  1184. package/dist/native/sanitizer.test.js.map +1 -1
  1185. package/dist/native/toolchain.d.ts +2 -0
  1186. package/dist/native/toolchain.js +10 -1
  1187. package/dist/native/toolchain.js.map +1 -1
  1188. package/dist/native/toolchain.test.js +39 -1
  1189. package/dist/native/toolchain.test.js.map +1 -1
  1190. package/dist/startup-cache.d.ts +1 -0
  1191. package/dist/startup-cache.js +1 -0
  1192. package/dist/startup-cache.js.map +1 -1
  1193. package/dist/wasm/base64.d.ts +5 -0
  1194. package/dist/wasm/base64.js +62 -0
  1195. package/dist/wasm/base64.js.map +1 -0
  1196. package/dist/wasm/binary.d.ts +36 -0
  1197. package/dist/wasm/binary.js +1976 -0
  1198. package/dist/wasm/binary.js.map +1 -0
  1199. package/dist/wasm/binary.test.d.ts +1 -0
  1200. package/dist/wasm/binary.test.js +190 -0
  1201. package/dist/wasm/binary.test.js.map +1 -0
  1202. package/dist/wasm/discover.d.ts +38 -0
  1203. package/dist/wasm/discover.js +377 -0
  1204. package/dist/wasm/discover.js.map +1 -0
  1205. package/dist/wasm/discover.test.d.ts +1 -0
  1206. package/dist/wasm/discover.test.js +24 -0
  1207. package/dist/wasm/discover.test.js.map +1 -0
  1208. package/dist/wasm/module.d.ts +151 -0
  1209. package/dist/wasm/module.js +575 -0
  1210. package/dist/wasm/module.js.map +1 -0
  1211. package/dist/wasm/translate.d.ts +48 -0
  1212. package/dist/wasm/translate.js +2129 -0
  1213. package/dist/wasm/translate.js.map +1 -0
  1214. package/dist/wasm/translate.test.d.ts +1 -0
  1215. package/dist/wasm/translate.test.js +207 -0
  1216. package/dist/wasm/translate.test.js.map +1 -0
  1217. package/package.json +21 -20
  1218. package/surface-manifest.json +303 -19
@@ -80,21 +80,54 @@ declare namespace NodeJS {
80
80
  path?: string | undefined;
81
81
  syscall?: string | undefined;
82
82
  }
83
- /* The piped child-output stream (child.stdout / child.stderr under
84
- * stdio ["ignore", "pipe", "pipe"]): 'data' fires one Buffer chunk per
85
- * read (≤64KB, consumer-driven — no listener, no read), 'end' fires
86
- * once at EOF and always BEFORE the child's 'exit'. A flowing stream
87
- * keeps the loop alive. */
83
+ /* The readable-stream interface every Node stream implements. The
84
+ * piped child-output stream (child.stdout / child.stderr under stdio
85
+ * ["ignore", "pipe", "pipe"]) is declared with it: 'data' fires one
86
+ * Buffer chunk per read (≤64KB, consumer-driven — no listener, no
87
+ * read), 'end' fires once at EOF and always BEFORE the child's 'exit'. A
88
+ * flowing stream keeps the loop alive. A program that also passes
89
+ * other streams (fs, zlib, node:stream) where this interface is
90
+ * expected compiles it as the node:stream Readable, with child output
91
+ * bridged into one. */
88
92
  interface ReadableStream {
89
93
  on(event: "data", listener: (chunk: Buffer) => void): void;
90
94
  on(event: "data", listener: (chunk: string) => void): void;
91
95
  on(event: "end", listener: () => void): void;
96
+ on(event: string, listener: (...args: any[]) => void): void;
92
97
  once(event: "data", listener: (chunk: Buffer) => void): void;
93
98
  once(event: "data", listener: (chunk: string) => void): void;
94
99
  once(event: "end", listener: () => void): void;
100
+ once(event: string, listener: (...args: any[]) => void): void;
95
101
  /* setEncoding('utf8') makes subsequent data chunks strings, including
96
102
  * multibyte sequences split across native pipe reads. */
97
103
  setEncoding(encoding: string): this;
104
+ readonly readable: boolean;
105
+ pause(): this;
106
+ resume(): this;
107
+ isPaused(): boolean;
108
+ pipe<T extends WritableStream>(destination: T, options?: { end?: boolean }): T;
109
+ unpipe(destination?: WritableStream): this;
110
+ [Symbol.asyncIterator](): AsyncIterableIterator<string | Buffer>;
111
+ }
112
+ /* The writable-stream interface every Node stream implements:
113
+ * process.stdout/process.stderr, fs.WriteStream and the node:stream
114
+ * Writable family. Written only to the process streams, it compiles as
115
+ * their descriptor; with other streams flowing into it, as the
116
+ * node:stream Writable (the process streams convert into one). */
117
+ interface WritableStream {
118
+ readonly writable: boolean;
119
+ write(data: string | Uint8Array, callback?: (error?: Error | null) => void): boolean;
120
+ write(
121
+ data: string | Uint8Array,
122
+ encoding: BufferEncoding,
123
+ callback?: (error?: Error | null) => void,
124
+ ): boolean;
125
+ end(callback?: () => void): void;
126
+ end(data: string | Uint8Array, callback?: () => void): void;
127
+ end(data: string | Uint8Array, encoding: BufferEncoding, callback?: () => void): void;
128
+ /* Node's EventEmitter signature: listeners take untyped arguments. */
129
+ on(event: string, listener: (...args: any[]) => void): void;
130
+ once(event: string, listener: (...args: any[]) => void): void;
98
131
  }
99
132
  }
100
133
 
@@ -511,14 +544,119 @@ declare var DOMException: {
511
544
  readonly prototype: DOMException;
512
545
  };
513
546
 
514
- /* Capability-gated globals harness code probes behind feature guards
515
- * (globalThis.crypto under a hasCrypto check, the SQLite-backed storage
516
- * pair): typed `unknown` — no lowering exists, the guard is expected to
517
- * be false in a compiled binary, and any reached use fences per site. */
518
- declare var crypto: unknown;
547
+ /* WebCrypto's HMAC slice (scr_webcrypto.c): crypto.subtle's importKey for
548
+ * raw HMAC keys, HMAC sign/verify and the SHA-1/SHA-2 digests, typed as
549
+ * exactly that surface (the declarations mirror @types/node's webcrypto
550
+ * shapes). Every other SubtleCrypto method and crypto member is absent,
551
+ * so a use is an honest type error. CryptoKey values are native handles
552
+ * whose four members read through the handle. */
553
+ declare var crypto: Crypto;
554
+ /* The Crypto and SubtleCrypto constructors (feature probes only) stay
555
+ * `unknown`; the values keep this declaration order. */
519
556
  declare var Crypto: unknown;
520
- declare var CryptoKey: unknown;
557
+ declare var CryptoKey: {
558
+ prototype: CryptoKey;
559
+ new (): CryptoKey;
560
+ };
521
561
  declare var SubtleCrypto: unknown;
562
+ type KeyUsage =
563
+ | "encrypt"
564
+ | "decrypt"
565
+ | "sign"
566
+ | "verify"
567
+ | "deriveKey"
568
+ | "deriveBits"
569
+ | "encapsulateBits"
570
+ | "decapsulateBits"
571
+ | "encapsulateKey"
572
+ | "decapsulateKey"
573
+ | "wrapKey"
574
+ | "unwrapKey";
575
+ type KeyType = "private" | "public" | "secret";
576
+ interface Algorithm {
577
+ name: string;
578
+ }
579
+ type AlgorithmIdentifier = Algorithm | string;
580
+ type HashAlgorithmIdentifier = AlgorithmIdentifier;
581
+ interface HmacImportParams extends Algorithm {
582
+ hash: HashAlgorithmIdentifier;
583
+ length?: number;
584
+ }
585
+ interface KeyAlgorithm {
586
+ name: string;
587
+ }
588
+ interface HmacKeyAlgorithm extends KeyAlgorithm {
589
+ hash: KeyAlgorithm;
590
+ length: number;
591
+ }
592
+ interface CryptoKey {
593
+ readonly algorithm: KeyAlgorithm;
594
+ readonly extractable: boolean;
595
+ readonly type: KeyType;
596
+ readonly usages: KeyUsage[];
597
+ }
598
+ type KeyFormat =
599
+ | "jwk"
600
+ | "pkcs8"
601
+ | "raw"
602
+ | "raw-private"
603
+ | "raw-public"
604
+ | "raw-secret"
605
+ | "raw-seed"
606
+ | "spki";
607
+ interface JsonWebKey {
608
+ alg?: string;
609
+ crv?: string;
610
+ d?: string;
611
+ dp?: string;
612
+ dq?: string;
613
+ e?: string;
614
+ ext?: boolean;
615
+ k?: string;
616
+ key_ops?: string[];
617
+ kty?: string;
618
+ n?: string;
619
+ p?: string;
620
+ q?: string;
621
+ qi?: string;
622
+ use?: string;
623
+ x?: string;
624
+ y?: string;
625
+ }
626
+ /* The 'jwk' form type-checks like @types/node's; the compiler refuses it
627
+ * (the JsonWebKey import is not implemented). */
628
+ interface SubtleCrypto {
629
+ digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;
630
+ importKey(
631
+ format: "jwk",
632
+ keyData: JsonWebKey,
633
+ algorithm: AlgorithmIdentifier | HmacImportParams,
634
+ extractable: boolean,
635
+ keyUsages: readonly KeyUsage[],
636
+ ): Promise<CryptoKey>;
637
+ importKey(
638
+ format: Exclude<KeyFormat, "jwk">,
639
+ keyData: BufferSource,
640
+ algorithm: AlgorithmIdentifier | HmacImportParams,
641
+ extractable: boolean,
642
+ keyUsages: readonly KeyUsage[],
643
+ ): Promise<CryptoKey>;
644
+ sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
645
+ verify(
646
+ algorithm: AlgorithmIdentifier,
647
+ key: CryptoKey,
648
+ signature: BufferSource,
649
+ data: BufferSource,
650
+ ): Promise<boolean>;
651
+ }
652
+ interface Crypto {
653
+ readonly subtle: SubtleCrypto;
654
+ }
655
+
656
+ /* Capability-gated globals harness code probes behind feature guards
657
+ * (the SQLite-backed storage pair): typed `unknown` — no lowering exists,
658
+ * the guard is expected to be false in a compiled binary, and any reached
659
+ * use fences per site. */
522
660
  declare var localStorage: unknown;
523
661
  declare var sessionStorage: unknown;
524
662
 
@@ -708,6 +846,7 @@ interface MessageEvent<T = unknown> extends Event {
708
846
  readonly data: T;
709
847
  readonly origin: string;
710
848
  readonly lastEventId: string;
849
+ readonly source: unknown;
711
850
  readonly ports: readonly MessagePort[];
712
851
  }
713
852
  declare var MessageEvent: {
@@ -1026,7 +1165,7 @@ declare module "node:timers/promises" {
1026
1165
  options?: unknown,
1027
1166
  ): AsyncGenerator<T, void, undefined>;
1028
1167
  export const scheduler: {
1029
- wait(delay?: number): Promise<void>;
1168
+ wait(delay?: number, options?: TimerOptions): Promise<void>;
1030
1169
  yield(): Promise<void>;
1031
1170
  };
1032
1171
  }
@@ -1165,8 +1304,37 @@ declare module "node:perf_hooks" {
1165
1304
  getEntriesByType(type: EntryType): PerformanceEntry[];
1166
1305
  clearMarks(name?: string): void;
1167
1306
  clearMeasures(name?: string): void;
1307
+ eventLoopUtilization(
1308
+ utilization1?: EventLoopUtilization,
1309
+ utilization2?: EventLoopUtilization,
1310
+ ): EventLoopUtilization;
1168
1311
  }
1169
1312
  export const performance: Performance;
1313
+ /* Event-loop metrics: utilization (idle/active ms since the loop started)
1314
+ * and monitorEventLoopDelay's sampling histogram (nanoseconds). */
1315
+ export interface EventLoopUtilization {
1316
+ idle: number;
1317
+ active: number;
1318
+ utilization: number;
1319
+ }
1320
+ export interface EventLoopMonitorOptions {
1321
+ resolution?: number | undefined;
1322
+ }
1323
+ export interface Histogram {
1324
+ readonly count: number;
1325
+ readonly exceeds: number;
1326
+ readonly max: number;
1327
+ readonly mean: number;
1328
+ readonly min: number;
1329
+ readonly stddev: number;
1330
+ percentile(percentile: number): number;
1331
+ reset(): void;
1332
+ }
1333
+ export interface IntervalHistogram extends Histogram {
1334
+ enable(): boolean;
1335
+ disable(): boolean;
1336
+ }
1337
+ export function monitorEventLoopDelay(options?: EventLoopMonitorOptions): IntervalHistogram;
1170
1338
  }
1171
1339
  declare module "perf_hooks" {
1172
1340
  export * from "node:perf_hooks";
@@ -1492,6 +1660,51 @@ declare module "node:fs" {
1492
1660
  readonly COPYFILE_EXCL: number;
1493
1661
  readonly COPYFILE_FICLONE: number;
1494
1662
  readonly COPYFILE_FICLONE_FORCE: number;
1663
+ readonly UV_FS_SYMLINK_DIR: number;
1664
+ readonly UV_FS_SYMLINK_JUNCTION: number;
1665
+ readonly UV_DIRENT_UNKNOWN: number;
1666
+ readonly UV_DIRENT_FILE: number;
1667
+ readonly UV_DIRENT_DIR: number;
1668
+ readonly UV_DIRENT_LINK: number;
1669
+ readonly UV_DIRENT_FIFO: number;
1670
+ readonly UV_DIRENT_SOCKET: number;
1671
+ readonly UV_DIRENT_CHAR: number;
1672
+ readonly UV_DIRENT_BLOCK: number;
1673
+ readonly UV_FS_O_FILEMAP: number;
1674
+ readonly UV_FS_O_TEMPORARY: number;
1675
+ readonly UV_FS_O_SHORT_LIVED: number;
1676
+ readonly UV_FS_O_SEQUENTIAL: number;
1677
+ readonly UV_FS_O_RANDOM: number;
1678
+ readonly UV_FS_COPYFILE_EXCL: number;
1679
+ readonly UV_FS_COPYFILE_FICLONE: number;
1680
+ readonly UV_FS_COPYFILE_FICLONE_FORCE: number;
1681
+ readonly S_IFMT: number;
1682
+ readonly S_IFREG: number;
1683
+ readonly S_IFDIR: number;
1684
+ readonly S_IFCHR: number;
1685
+ readonly S_IFBLK: number;
1686
+ readonly S_IFIFO: number;
1687
+ readonly S_IFLNK: number;
1688
+ readonly S_IFSOCK: number;
1689
+ readonly O_NOCTTY: number;
1690
+ readonly O_DIRECTORY: number;
1691
+ readonly O_NOATIME: number;
1692
+ readonly O_SYNC: number;
1693
+ readonly O_DSYNC: number;
1694
+ readonly O_SYMLINK: number;
1695
+ readonly O_DIRECT: number;
1696
+ readonly S_IRWXU: number;
1697
+ readonly S_IRUSR: number;
1698
+ readonly S_IWUSR: number;
1699
+ readonly S_IXUSR: number;
1700
+ readonly S_IRWXG: number;
1701
+ readonly S_IRGRP: number;
1702
+ readonly S_IWGRP: number;
1703
+ readonly S_IXGRP: number;
1704
+ readonly S_IRWXO: number;
1705
+ readonly S_IROTH: number;
1706
+ readonly S_IWOTH: number;
1707
+ readonly S_IXOTH: number;
1495
1708
  };
1496
1709
  /* A stat(2) snapshot (statSync follows symlinks, lstatSync does not —
1497
1710
  * Node's split) — immutable; the supported surface is exactly these
@@ -1727,6 +1940,13 @@ declare module "node:fs" {
1727
1940
  declare module "fs" {
1728
1941
  export * from "node:fs";
1729
1942
  }
1943
+ /* graceful-fs — served as node:fs (it monkeypatches fs and retries on
1944
+ * EMFILE/ENFILE; compiled programs call fs directly, without the retry
1945
+ * queue). gracefulify is a no-op statement. The @types/graceful-fs shape. */
1946
+ declare module "graceful-fs" {
1947
+ export * from "node:fs";
1948
+ export function gracefulify<T>(fsModule: T): T;
1949
+ }
1730
1950
 
1731
1951
  /* fs/promises — the SAME synchronous operations behind already-settled
1732
1952
  * promises: success fulfills, failure REJECTS with the would-be thrown
@@ -2109,6 +2329,8 @@ declare module "os" {
2109
2329
  export function version(): string;
2110
2330
  export function endianness(): "BE" | "LE";
2111
2331
  export function getPriority(pid?: number): number;
2332
+ export function setPriority(priority: number): void;
2333
+ export function setPriority(pid: number, priority: number): void;
2112
2334
  /* The TARGET platform's null device ("\\\\.\\nul" under a win32 triple). */
2113
2335
  export const devNull: string;
2114
2336
  /* The platform's constants: null-prototype objects with read-only
@@ -2554,6 +2776,23 @@ declare module "crypto" {
2554
2776
  a: ArrayBufferView | ArrayBufferLike,
2555
2777
  b: ArrayBufferView | ArrayBufferLike,
2556
2778
  ): boolean;
2779
+ /* WebCrypto's getRandomValues (also the webcrypto object's): integer
2780
+ * typed arrays, filled in place and returned. The crypto GLOBAL stays
2781
+ * unknown in fallback builds. */
2782
+ type RandomValuesArray =
2783
+ | Int8Array
2784
+ | Uint8Array
2785
+ | Uint8ClampedArray
2786
+ | Int16Array
2787
+ | Uint16Array
2788
+ | Int32Array
2789
+ | Uint32Array
2790
+ | BigInt64Array
2791
+ | BigUint64Array;
2792
+ export function getRandomValues<T extends RandomValuesArray>(typedArray: T): T;
2793
+ export const webcrypto: {
2794
+ getRandomValues<T extends RandomValuesArray>(typedArray: T): T;
2795
+ };
2557
2796
  export function randomFillSync<T extends ArrayBufferView | ArrayBufferLike>(
2558
2797
  buffer: T,
2559
2798
  offset?: number,
@@ -2889,8 +3128,10 @@ declare module "child_process" {
2889
3128
  destroy(): void;
2890
3129
  on(event: "drain" | "finish", listener: () => void): void;
2891
3130
  on(event: "error", listener: (err: Error) => void): void;
3131
+ on(event: string, listener: (...args: any[]) => void): void;
2892
3132
  once(event: "drain" | "finish", listener: () => void): void;
2893
3133
  once(event: "error", listener: (err: Error) => void): void;
3134
+ once(event: string, listener: (...args: any[]) => void): void;
2894
3135
  }
2895
3136
 
2896
3137
  export interface ChildProcess extends Disposable {
@@ -3030,10 +3271,10 @@ declare module "child_process" {
3030
3271
  args?: string[] | null,
3031
3272
  options?: ExecSyncOptions,
3032
3273
  ): unknown;
3033
- /* The async shell form — declared surface without full lowering (the
3034
- * type-level tolerance story): harness code on paths tests don't reach
3035
- * must typecheck; a reached call fences at its site. util.promisify
3036
- * recognizes it statically, as it does execFile. */
3274
+ /* The async shell form. The callback forms lower like execFile's, with
3275
+ * the command line run by /bin/sh -c, and util.promisify recognizes it
3276
+ * statically, as it does execFile; reached calls without a callback
3277
+ * fence at their site. */
3037
3278
  export function exec(
3038
3279
  command: string,
3039
3280
  options?: ExecSyncOptions | ((error: Error | null, stdout: string, stderr: string) => void),
@@ -3171,6 +3412,76 @@ declare module "util" {
3171
3412
  export function promisify(
3172
3413
  fn: typeof import("node:stream").finished,
3173
3414
  ): typeof import("node:stream/promises").finished;
3415
+ /* The crypto callback functions: the promise settles with the callback's
3416
+ * value. */
3417
+ export function promisify(
3418
+ fn: typeof import("node:crypto").randomBytes,
3419
+ ): (size: number) => Promise<Buffer>;
3420
+ export function promisify(
3421
+ fn: typeof import("node:crypto").pbkdf2,
3422
+ ): (
3423
+ password: string | Uint8Array,
3424
+ salt: string | Uint8Array,
3425
+ iterations: number,
3426
+ keylen: number,
3427
+ digest: string,
3428
+ ) => Promise<Buffer>;
3429
+ export function promisify(
3430
+ fn: typeof import("node:crypto").scrypt,
3431
+ ): (
3432
+ password: import("node:crypto").BinaryLike,
3433
+ salt: import("node:crypto").BinaryLike,
3434
+ keylen: number,
3435
+ options?: import("node:crypto").ScryptOptions,
3436
+ ) => Promise<Buffer>;
3437
+ export function promisify(
3438
+ fn: typeof import("node:crypto").hkdf,
3439
+ ): (
3440
+ digest: string,
3441
+ ikm: import("node:crypto").BinaryLike | import("node:crypto").KeyObject,
3442
+ salt: import("node:crypto").BinaryLike,
3443
+ info: import("node:crypto").BinaryLike,
3444
+ keylen: number,
3445
+ ) => Promise<ArrayBuffer>;
3446
+ /* A callback-only function (`obj.close.bind(obj)`): before the targets
3447
+ * whose leading parameters would otherwise capture it. Builtins that take
3448
+ * arguments before their callback never match these. */
3449
+ export function promisify<TResult>(
3450
+ fn: (callback: (err: any, result: TResult) => void) => void,
3451
+ ): () => Promise<TResult>;
3452
+ export function promisify(fn: (callback: (err?: any) => void) => void): () => Promise<void>;
3453
+ export function promisify(
3454
+ fn: typeof import("node:crypto").randomFill,
3455
+ ): <T extends ArrayBufferView | ArrayBufferLike>(
3456
+ buffer: T,
3457
+ offset?: number,
3458
+ size?: number,
3459
+ ) => Promise<T>;
3460
+ export function promisify(fn: typeof import("node:crypto").randomInt): {
3461
+ (max: number): Promise<number>;
3462
+ (min: number, max: number): Promise<number>;
3463
+ };
3464
+ export function promisify(
3465
+ fn: typeof import("node:crypto").generateKey,
3466
+ ): (
3467
+ type: "hmac" | "aes",
3468
+ options: { length: number },
3469
+ ) => Promise<import("node:crypto").KeyObject>;
3470
+ /* dns.lookup's promise settles with { address, family } (the address
3471
+ * array with options.all), and lookupService's with { hostname, service }. */
3472
+ export function promisify(fn: typeof import("node:dns").lookup): {
3473
+ (
3474
+ hostname: string,
3475
+ options: import("node:dns").LookupAllOptions,
3476
+ ): Promise<import("node:dns").LookupAddress[]>;
3477
+ (
3478
+ hostname: string,
3479
+ options?: number | import("node:dns").LookupOneOptions,
3480
+ ): Promise<import("node:dns").LookupAddress>;
3481
+ };
3482
+ export function promisify(
3483
+ fn: typeof import("node:dns").lookupService,
3484
+ ): (address: string, port: number) => Promise<{ hostname: string; service: string }>;
3174
3485
  /* Declared surface without full lowering (the type-level tolerance
3175
3486
  * story: guarded/diagnostic-path code must TYPECHECK; a reached use
3176
3487
  * without a lowering fences at its site). inspect's options carry the
@@ -3250,6 +3561,7 @@ declare module "util/types" {
3250
3561
  export function isInt8Array(value: unknown): value is Int8Array;
3251
3562
  export function isInt16Array(value: unknown): value is Int16Array;
3252
3563
  export function isInt32Array(value: unknown): value is Int32Array;
3564
+ export function isFloat16Array(value: unknown): value is Float16Array;
3253
3565
  export function isFloat32Array(value: unknown): value is Float32Array;
3254
3566
  export function isFloat64Array(value: unknown): value is Float64Array;
3255
3567
  export function isMap(value: unknown): value is Map<unknown, unknown>;
@@ -3264,6 +3576,21 @@ declare module "util/types" {
3264
3576
  export function isGeneratorFunction(value: unknown): boolean;
3265
3577
  export function isGeneratorObject(value: unknown): boolean;
3266
3578
  export function isModuleNamespaceObject(value: unknown): boolean;
3579
+ export function isDate(value: unknown): value is Date;
3580
+ export function isSharedArrayBuffer(value: unknown): value is SharedArrayBuffer;
3581
+ export function isMapIterator(value: unknown): boolean;
3582
+ export function isSetIterator(value: unknown): boolean;
3583
+ export function isKeyObject(value: unknown): boolean;
3584
+ export function isNumberObject(value: unknown): boolean;
3585
+ export function isStringObject(value: unknown): boolean;
3586
+ export function isBooleanObject(value: unknown): boolean;
3587
+ export function isBigIntObject(value: unknown): boolean;
3588
+ export function isSymbolObject(value: unknown): boolean;
3589
+ export function isBoxedPrimitive(value: unknown): boolean;
3590
+ export function isBigInt64Array(value: unknown): value is BigInt64Array;
3591
+ export function isBigUint64Array(value: unknown): value is BigUint64Array;
3592
+ export function isCryptoKey(value: unknown): boolean;
3593
+ export function isExternal(value: unknown): boolean;
3267
3594
  }
3268
3595
  declare module "node:util/types" {
3269
3596
  export * from "util/types";
@@ -3293,8 +3620,18 @@ declare module "node:util/types" {
3293
3620
  * suites typecheck but fence at their use sites (no lowering). */
3294
3621
  declare module "node:test" {
3295
3622
  type TestFn = (t: TestContext) => void | Promise<void>;
3296
- type SuiteFn = () => void;
3297
- type HookFn = () => void | Promise<void>;
3623
+ type SuiteFn = (s: SuiteContext) => void;
3624
+ type HookFn = (c: TestContext | SuiteContext) => void | Promise<void>;
3625
+ /* The describe/suite callback's context, and the before/after hook
3626
+ * context of a suite. */
3627
+ interface SuiteContext {
3628
+ readonly name: string;
3629
+ readonly fullName: string;
3630
+ readonly filePath: string | undefined;
3631
+ readonly attempt: number;
3632
+ readonly passed: boolean;
3633
+ diagnostic(message: string): void;
3634
+ }
3298
3635
  interface TestOptions {
3299
3636
  skip?: boolean | string;
3300
3637
  todo?: boolean | string;
@@ -3306,10 +3643,17 @@ declare module "node:test" {
3306
3643
  interface TestContext {
3307
3644
  readonly name: string;
3308
3645
  readonly fullName: string;
3646
+ readonly filePath: string | undefined;
3647
+ readonly attempt: number;
3648
+ readonly passed: boolean;
3649
+ readonly workerId: number | undefined;
3650
+ readonly tags: readonly string[];
3309
3651
  readonly assert: TestContextAssert;
3310
3652
  readonly mock: MockTracker;
3311
- test(name: string, fn?: TestFn): Promise<void>;
3312
- test(name: string, options: TestOptions, fn?: TestFn): Promise<void>;
3653
+ test(name?: string, fn?: TestFn): Promise<void>;
3654
+ test(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
3655
+ test(options?: TestOptions, fn?: TestFn): Promise<void>;
3656
+ test(fn?: TestFn): Promise<void>;
3313
3657
  skip(message?: string): void;
3314
3658
  todo(message?: string): void;
3315
3659
  diagnostic(message: string): void;
@@ -3319,7 +3663,12 @@ declare module "node:test" {
3319
3663
  beforeEach(fn: HookFn): void;
3320
3664
  afterEach(fn: HookFn): void;
3321
3665
  }
3666
+ interface AssertSnapshotOptions {
3667
+ readonly serializers?: ReadonlyArray<(value: any) => any> | undefined;
3668
+ }
3322
3669
  interface TestContextAssert {
3670
+ snapshot(value: any, options?: AssertSnapshotOptions): void;
3671
+ fileSnapshot(value: any, path: string, options?: AssertSnapshotOptions): void;
3323
3672
  ok(value: unknown, message?: string): void;
3324
3673
  strictEqual(actual: unknown, expected: unknown, message?: string): void;
3325
3674
  notStrictEqual(actual: unknown, expected: unknown, message?: string): void;
@@ -3334,23 +3683,44 @@ declare module "node:test" {
3334
3683
  match(value: string, regExp: RegExp, message?: string): void;
3335
3684
  doesNotMatch(value: string, regExp: RegExp, message?: string): void;
3336
3685
  }
3337
- function test(name: string, fn?: TestFn): Promise<void>;
3338
- function test(name: string, options: TestOptions, fn?: TestFn): Promise<void>;
3686
+ /* The name, options and function are each optional, as in Node: a test
3687
+ * without a name takes the function's name, or "<anonymous>". */
3688
+ function test(name?: string, fn?: TestFn): Promise<void>;
3689
+ function test(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
3690
+ function test(options?: TestOptions, fn?: TestFn): Promise<void>;
3691
+ function test(fn?: TestFn): Promise<void>;
3339
3692
  namespace test {
3340
- function skip(name: string, fn?: TestFn): Promise<void>;
3341
- function skip(name: string, options: TestOptions, fn?: TestFn): Promise<void>;
3342
- function todo(name: string, fn?: TestFn): Promise<void>;
3343
- function todo(name: string, options: TestOptions, fn?: TestFn): Promise<void>;
3344
- function only(name: string, fn?: TestFn): Promise<void>;
3345
- function only(name: string, options: TestOptions, fn?: TestFn): Promise<void>;
3693
+ function skip(name?: string, fn?: TestFn): Promise<void>;
3694
+ function skip(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
3695
+ function skip(options?: TestOptions, fn?: TestFn): Promise<void>;
3696
+ function skip(fn?: TestFn): Promise<void>;
3697
+ function todo(name?: string, fn?: TestFn): Promise<void>;
3698
+ function todo(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
3699
+ function todo(options?: TestOptions, fn?: TestFn): Promise<void>;
3700
+ function todo(fn?: TestFn): Promise<void>;
3701
+ function only(name?: string, fn?: TestFn): Promise<void>;
3702
+ function only(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
3703
+ function only(options?: TestOptions, fn?: TestFn): Promise<void>;
3704
+ function only(fn?: TestFn): Promise<void>;
3346
3705
  }
3347
3706
  const it: typeof test;
3348
- function describe(name: string, fn?: SuiteFn): void;
3349
- function describe(name: string, options: TestOptions, fn?: SuiteFn): void;
3707
+ function describe(name?: string, fn?: SuiteFn): void;
3708
+ function describe(name?: string, options?: TestOptions, fn?: SuiteFn): void;
3709
+ function describe(options?: TestOptions, fn?: SuiteFn): void;
3710
+ function describe(fn?: SuiteFn): void;
3350
3711
  namespace describe {
3351
- function skip(name: string, fn?: SuiteFn): void;
3352
- function todo(name: string, fn?: SuiteFn): void;
3353
- function only(name: string, fn?: SuiteFn): void;
3712
+ function skip(name?: string, fn?: SuiteFn): void;
3713
+ function skip(name?: string, options?: TestOptions, fn?: SuiteFn): void;
3714
+ function skip(options?: TestOptions, fn?: SuiteFn): void;
3715
+ function skip(fn?: SuiteFn): void;
3716
+ function todo(name?: string, fn?: SuiteFn): void;
3717
+ function todo(name?: string, options?: TestOptions, fn?: SuiteFn): void;
3718
+ function todo(options?: TestOptions, fn?: SuiteFn): void;
3719
+ function todo(fn?: SuiteFn): void;
3720
+ function only(name?: string, fn?: SuiteFn): void;
3721
+ function only(name?: string, options?: TestOptions, fn?: SuiteFn): void;
3722
+ function only(options?: TestOptions, fn?: SuiteFn): void;
3723
+ function only(fn?: SuiteFn): void;
3354
3724
  }
3355
3725
  const suite: typeof describe;
3356
3726
  function before(fn: HookFn): void;
@@ -3410,8 +3780,24 @@ declare module "node:test" {
3410
3780
  : never;
3411
3781
  reset(): void;
3412
3782
  restoreAll(): void;
3783
+ readonly timers: MockTimers;
3784
+ }
3785
+ interface MockTimersOptions {
3786
+ apis: ReadonlyArray<"setInterval" | "setTimeout" | "setImmediate" | "Date">;
3787
+ now?: number | Date | undefined;
3788
+ }
3789
+ interface MockTimers {
3790
+ enable(options?: MockTimersOptions): void;
3791
+ setTime(milliseconds?: number): void;
3792
+ reset(): void;
3793
+ tick(milliseconds?: number): void;
3794
+ runAll(): void;
3795
+ [Symbol.dispose](): void;
3413
3796
  }
3414
3797
  const mock: MockTracker;
3798
+ /* The context of the test, suite or hook running in the current async
3799
+ * context; undefined outside one. */
3800
+ function getTestContext(): TestContext | SuiteContext | undefined;
3415
3801
  /* Declared for typechecking only — every use fences (no lowering).
3416
3802
  * `assert` is the module-level custom-assertion registry (v24's
3417
3803
  * `const { assert } = require('node:test')`), not TestContext.assert. */
@@ -3429,14 +3815,18 @@ declare module "node:test" {
3429
3815
  afterEach,
3430
3816
  mock,
3431
3817
  assert,
3818
+ getTestContext,
3432
3819
  run,
3433
3820
  snapshot,
3434
3821
  TestContext,
3822
+ SuiteContext,
3435
3823
  TestOptions,
3436
3824
  Mock,
3437
3825
  MockFunctionContext,
3438
3826
  MockFunctionCall,
3439
3827
  MockTracker,
3828
+ MockTimers,
3829
+ MockTimersOptions,
3440
3830
  };
3441
3831
  export default test;
3442
3832
  }
@@ -3618,7 +4008,8 @@ declare module "querystring" {
3618
4008
  | string
3619
4009
  | number
3620
4010
  | boolean
3621
- | ReadonlyArray<string | number | boolean>
4011
+ | bigint
4012
+ | ReadonlyArray<string | number | boolean | bigint>
3622
4013
  | null
3623
4014
  | undefined;
3624
4015
  }
@@ -3643,6 +4034,39 @@ declare module "node:querystring" {
3643
4034
  export * from "querystring";
3644
4035
  }
3645
4036
 
4037
+ /* node:punycode (deprecated, DEP0040) — punycode.js 2.1.0: decode and
4038
+ * toUnicode throw its RangeErrors on malformed input; ucs2 converts
4039
+ * between strings and UTF-16 code point arrays. */
4040
+ declare module "punycode" {
4041
+ export function decode(string: string): string;
4042
+ export function encode(string: string): string;
4043
+ export function toUnicode(domain: string): string;
4044
+ export function toASCII(domain: string): string;
4045
+ export namespace ucs2 {
4046
+ function decode(string: string): number[];
4047
+ function encode(codePoints: readonly number[]): string;
4048
+ }
4049
+ export const version: string;
4050
+ }
4051
+ declare module "node:punycode" {
4052
+ export * from "punycode";
4053
+ }
4054
+
4055
+ /* node:constants (deprecated, DEP0008) — one frozen object: os.constants'
4056
+ * dlopen, errno, priority and signals groups, fs.constants, and
4057
+ * crypto.constants. A platform's missing constant reads as undefined. */
4058
+ declare module "constants" {
4059
+ const constants: { readonly [name: string]: number } & {
4060
+ readonly defaultCoreCipherList: string;
4061
+ readonly defaultCipherList: string;
4062
+ };
4063
+ export = constants;
4064
+ }
4065
+ declare module "node:constants" {
4066
+ import constants = require("constants");
4067
+ export = constants;
4068
+ }
4069
+
3646
4070
  /* node:readline — the question/close slice: createInterface over exactly
3647
4071
  * { input: process.stdin, output: process.stdout }, question(query, cb)
3648
4072
  * (the query writes to stdout, the callback gets the next line's text),
@@ -3660,7 +4084,10 @@ declare module "readline" {
3660
4084
  meta?: boolean;
3661
4085
  shift?: boolean;
3662
4086
  }
3663
- export interface Interface extends Disposable {
4087
+ export class Interface implements Disposable {
4088
+ /* createInterface creates interfaces; instanceof tells the two
4089
+ * modules' classes apart. */
4090
+ protected constructor();
3664
4091
  /* terminal says whether the interface edits lines as a terminal;
3665
4092
  * line and cursor are the terminal's (line is '' otherwise). history
3666
4093
  * is the history option itself (or the interface's own empty array);
@@ -3775,7 +4202,10 @@ declare module "readline/promises" {
3775
4202
  /* The readline Interface with the promise question: it resolves with
3776
4203
  * the next line, rejects with an AbortError when options.signal aborts,
3777
4204
  * and with ERR_USE_AFTER_CLOSE after close(). */
3778
- export interface Interface extends Disposable {
4205
+ export class Interface implements Disposable {
4206
+ /* createInterface creates interfaces; instanceof tells the two
4207
+ * modules' classes apart. */
4208
+ protected constructor();
3779
4209
  /* terminal says whether the interface edits lines as a terminal;
3780
4210
  * line and cursor are the terminal's (line is '' otherwise). history
3781
4211
  * is the history option itself (or the interface's own empty array);
@@ -4328,6 +4758,11 @@ declare module "net" {
4328
4758
  on(event: "close", listener: (hadError: boolean) => void): void;
4329
4759
  on(event: "error", listener: (err: Error) => void): void;
4330
4760
  on(event: "session", listener: (session: Buffer) => void): void;
4761
+ /* The host name's resolution, before the connect. */
4762
+ on(
4763
+ event: "lookup",
4764
+ listener: (err: Error | null, address: string, family: number, host: string) => void,
4765
+ ): void;
4331
4766
  /* addListener IS on (Node aliases them) — the suite spells both. */
4332
4767
  addListener(event: "data", listener: (chunk: Buffer) => void): void;
4333
4768
  /* After setEncoding the chunk is a string. */
@@ -4339,6 +4774,11 @@ declare module "net" {
4339
4774
  addListener(event: "close", listener: (hadError: boolean) => void): void;
4340
4775
  addListener(event: "error", listener: (err: Error) => void): void;
4341
4776
  addListener(event: "session", listener: (session: Buffer) => void): void;
4777
+ /* The host name's resolution, before the connect. */
4778
+ addListener(
4779
+ event: "lookup",
4780
+ listener: (err: Error | null, address: string, family: number, host: string) => void,
4781
+ ): void;
4342
4782
  once(event: "data", listener: (chunk: Buffer) => void): void;
4343
4783
  /* After setEncoding the chunk is a string. */
4344
4784
  once(event: "data", listener: (chunk: string) => void): void;
@@ -4349,6 +4789,11 @@ declare module "net" {
4349
4789
  once(event: "close", listener: (hadError: boolean) => void): void;
4350
4790
  once(event: "error", listener: (err: Error) => void): void;
4351
4791
  once(event: "session", listener: (session: Buffer) => void): void;
4792
+ /* The host name's resolution, before the connect. */
4793
+ once(
4794
+ event: "lookup",
4795
+ listener: (err: Error | null, address: string, family: number, host: string) => void,
4796
+ ): void;
4352
4797
  }
4353
4798
  export interface Server {
4354
4799
  /* Whether the server keeps the event loop alive (ref'd by default). */
@@ -4367,6 +4812,8 @@ declare module "net" {
4367
4812
  /* The positional bind address (the options form's host in argument
4368
4813
  * spelling). */
4369
4814
  listen(port: number, host: string, callback?: () => void): Server;
4815
+ /* A Unix-socket server; the socket file is removed when it closes. */
4816
+ listen(path: string, callback?: () => void): Server;
4370
4817
  /* The explicit-interface bind: host is an IP literal (absent = the
4371
4818
  * host-less dual-stack any); ipv6Only sets IPV6_V6ONLY and reusePort
4372
4819
  * requests kernel connection distribution where Node supports it. */
@@ -4436,6 +4883,48 @@ declare module "net" {
4436
4883
  remoteFamily?: string;
4437
4884
  }
4438
4885
  export type AddressInfo = import("node:dgram").AddressInfo;
4886
+ export type IPVersion = "ipv4" | "ipv6";
4887
+ export interface SocketAddressInitOptions {
4888
+ address?: string;
4889
+ family?: IPVersion;
4890
+ flowlabel?: number;
4891
+ port?: number;
4892
+ }
4893
+ /* A native handle (scr_net.c); the getters read its parsed address. */
4894
+ export class SocketAddress {
4895
+ constructor(options?: SocketAddressInitOptions);
4896
+ readonly address: string;
4897
+ readonly family: IPVersion;
4898
+ readonly port: number;
4899
+ readonly flowlabel: number;
4900
+ toJSON(): { address: string; port: number; family: IPVersion; flowlabel: number };
4901
+ /* undefined when the input is not "<ip>[:<port>]" */
4902
+ static parse(input: string): SocketAddress | undefined;
4903
+ static isSocketAddress(value: unknown): value is SocketAddress;
4904
+ }
4905
+ /* Address, range and subnet rules; check() matches IPv4 addresses
4906
+ * against IPv6 rules through their IPv4-mapped form, as Node does. */
4907
+ export class BlockList {
4908
+ constructor();
4909
+ readonly rules: readonly string[];
4910
+ readonly size: number;
4911
+ addAddress(address: string | SocketAddress, type?: IPVersion): void;
4912
+ addAddresses(addresses: readonly (string | SocketAddress)[], type?: IPVersion): void;
4913
+ addRange(start: string | SocketAddress, end: string | SocketAddress, type?: IPVersion): void;
4914
+ addSubnet(net: string | SocketAddress, prefix: number, type?: IPVersion): void;
4915
+ addCIDR(cidr: string): void;
4916
+ addCIDRs(cidrs: readonly string[]): void;
4917
+ removeAddress(address: string | SocketAddress, type?: IPVersion): void;
4918
+ removeRange(start: string | SocketAddress, end: string | SocketAddress, type?: IPVersion): void;
4919
+ removeSubnet(net: string | SocketAddress, prefix: number, type?: IPVersion): void;
4920
+ removeCIDR(cidr: string): void;
4921
+ clear(): void;
4922
+ check(address: string | SocketAddress, type?: IPVersion): boolean;
4923
+ toJSON(): string[];
4924
+ fromJSON(data: string | readonly string[]): void;
4925
+ static isBlockList(value: unknown): value is BlockList;
4926
+ static readonly PRIVATE_RANGES: readonly string[];
4927
+ }
4439
4928
  /* Node's IPv4Reg and IPv6Reg tests: 4, 6, or 0 for isIP. */
4440
4929
  export function isIP(input: string): number;
4441
4930
  export function isIPv4(input: string): boolean;
@@ -4648,10 +5137,11 @@ declare module "http" {
4648
5137
  * callback receives the response as an IncomingMessage (statusCode,
4649
5138
  * headers, body via on("data"/"end")). */
4650
5139
  export interface RequestOptions {
4651
- hostname?: string;
4652
- host?: string;
4653
- port?: number;
4654
- path?: string;
5140
+ hostname?: string | null;
5141
+ host?: string | null;
5142
+ /* A string port (a URL's .port) is accepted, as by Node. */
5143
+ port?: number | string | null;
5144
+ path?: string | null;
4655
5145
  method?: string;
4656
5146
  timeout?: number;
4657
5147
  headers?: OutgoingHttpHeaders;
@@ -4665,6 +5155,8 @@ declare module "http" {
4665
5155
  agent?: Agent | boolean | null;
4666
5156
  /* Aborting destroys the request with an AbortError. */
4667
5157
  signal?: AbortSignal;
5158
+ /* HTTP over the Unix socket at this path instead of host:port. */
5159
+ socketPath?: string;
4668
5160
  /* The options-record stance: Node ignores an options record's
4669
5161
  * unknown keys, so every key typechecks here — the option WALK in
4670
5162
  * the lowering decides per key (lower, fence by name, or drop
@@ -4674,17 +5166,16 @@ declare module "http" {
4674
5166
  /* The Agent lowers to a checked-dynamic HANDLE: option parsing at the
4675
5167
  * literal construction site, getName, destroy, the sockets/requests/
4676
5168
  * freeSockets snapshots, and REAL maxSockets accounting (over-limit
4677
- * requests defer their dial and queue). keepAlive: true throws the
4678
- * named pooling fence — this client dials one connection per request
4679
- * and closes it with the response, so freeSockets is always
4680
- * empty. */
5169
+ * requests defer their dial and queue). keepAlive: true keeps finished
5170
+ * connections in freeSockets for the next request to the same name,
5171
+ * taken in `scheduling` order. */
4681
5172
  export interface AgentOptions {
4682
5173
  keepAlive?: boolean;
4683
5174
  keepAliveMsecs?: number;
4684
5175
  maxSockets?: number;
4685
5176
  maxFreeSockets?: number;
4686
5177
  maxTotalSockets?: number;
4687
- scheduling?: string;
5178
+ scheduling?: "fifo" | "lifo";
4688
5179
  timeout?: number;
4689
5180
  port?: number;
4690
5181
  [option: string]: unknown;
@@ -4714,6 +5205,7 @@ declare module "http" {
4714
5205
  readonly freeSockets: { [key: string]: unknown[] };
4715
5206
  readonly requests: { [key: string]: unknown[] };
4716
5207
  }
5208
+ /* Node's keepAlive global agent for requests without an agent option. */
4717
5209
  export const globalAgent: Agent;
4718
5210
  export interface ClientRequest {
4719
5211
  readonly destroyed: boolean;
@@ -4850,6 +5342,8 @@ declare module "tls" {
4850
5342
  getProtocol(): string | null;
4851
5343
  /* OpenSSL's suite name, the IANA name and the suite's version */
4852
5344
  getCipher(): CipherNameAndProtocol;
5345
+ /* whether the handshake resumed a cached session */
5346
+ isSessionReused(): boolean;
4853
5347
  }
4854
5348
  export interface CipherNameAndProtocol {
4855
5349
  name: string;
@@ -4917,6 +5411,8 @@ declare module "https" {
4917
5411
  import { Server } from "http";
4918
5412
  import { Agent, ClientRequest, IncomingMessage, ServerResponse } from "http";
4919
5413
  export { Agent, Server };
5414
+ /* Node's keepAlive global agent for requests without an agent option. */
5415
+ export const globalAgent: Agent;
4920
5416
  export interface ServerOptions {
4921
5417
  cert: string | Uint8Array;
4922
5418
  key: string | Uint8Array;
@@ -4936,6 +5432,7 @@ declare module "https" {
4936
5432
  agent?: Agent | boolean | null;
4937
5433
  /* Aborting destroys the request with an AbortError. */
4938
5434
  signal?: AbortSignal;
5435
+ socketPath?: string;
4939
5436
  /* The options-record stance (see http.RequestOptions). */
4940
5437
  [option: string]: unknown;
4941
5438
  }
@@ -5753,10 +6250,79 @@ declare module "dns" {
5753
6250
  export function getServers(): string[];
5754
6251
  export function getDefaultResultOrder(): "ipv4first" | "ipv6first" | "verbatim";
5755
6252
  export function setDefaultResultOrder(order: "ipv4first" | "ipv6first" | "verbatim"): void;
6253
+ /* The promise forms (node:dns/promises). */
6254
+ export const promises: typeof import("dns/promises");
5756
6255
  }
5757
6256
  declare module "node:dns" {
5758
6257
  export * from "dns";
5759
6258
  }
6259
+ /* node:dns/promises — lookup and lookupService as promises over the same
6260
+ * resolution as the callback forms: argument errors throw synchronously,
6261
+ * failures reject with the callbacks' errors. */
6262
+ declare module "dns/promises" {
6263
+ import type { LookupAddress, LookupAllOptions, LookupOneOptions, LookupOptions } from "dns";
6264
+ export function lookup(hostname: string, family: number): Promise<LookupAddress>;
6265
+ export function lookup(hostname: string, options: LookupOneOptions): Promise<LookupAddress>;
6266
+ export function lookup(hostname: string, options: LookupAllOptions): Promise<LookupAddress[]>;
6267
+ export function lookup(
6268
+ hostname: string,
6269
+ options: LookupOptions,
6270
+ ): Promise<LookupAddress | LookupAddress[]>;
6271
+ export function lookup(hostname: string): Promise<LookupAddress>;
6272
+ export function lookupService(
6273
+ address: string,
6274
+ port: number,
6275
+ ): Promise<{ hostname: string; service: string }>;
6276
+ export function getServers(): string[];
6277
+ export function getDefaultResultOrder(): "ipv4first" | "ipv6first" | "verbatim";
6278
+ export function setDefaultResultOrder(order: "ipv4first" | "ipv6first" | "verbatim"): void;
6279
+ }
6280
+ declare module "node:dns/promises" {
6281
+ export * from "dns/promises";
6282
+ }
6283
+
6284
+ /* node:v8 — importable for the packages that require it at top level.
6285
+ * getHeapStatistics answers allocator-derived figures in Node's shape
6286
+ * (approximate: the runtime heap's total and used bytes, the machine's
6287
+ * memory as the limit; V8-only figures are 0). The other members observe
6288
+ * V8 itself and fence at their use with the by-design reason; they are
6289
+ * declared so programs that type-check under their own tsc reach that
6290
+ * fence. */
6291
+ declare module "v8" {
6292
+ type DoesZapCodeSpaceFlag = 0 | 1;
6293
+ export interface HeapInfo {
6294
+ total_heap_size: number;
6295
+ total_heap_size_executable: number;
6296
+ total_physical_size: number;
6297
+ total_available_size: number;
6298
+ used_heap_size: number;
6299
+ heap_size_limit: number;
6300
+ malloced_memory: number;
6301
+ peak_malloced_memory: number;
6302
+ does_zap_garbage: DoesZapCodeSpaceFlag;
6303
+ number_of_native_contexts: number;
6304
+ number_of_detached_contexts: number;
6305
+ total_global_handles_size: number;
6306
+ used_global_handles_size: number;
6307
+ external_memory: number;
6308
+ }
6309
+ export function getHeapStatistics(): HeapInfo;
6310
+ export function cachedDataVersionTag(): number;
6311
+ export function getHeapSpaceStatistics(): unknown[];
6312
+ export function getHeapCodeStatistics(): unknown;
6313
+ export function getHeapSnapshot(options?: unknown): unknown;
6314
+ export function writeHeapSnapshot(fileName?: string, options?: unknown): string;
6315
+ export function setFlagsFromString(flags: string): void;
6316
+ export function setHeapSnapshotNearHeapLimit(limit: number): void;
6317
+ export function serialize(value: unknown): Buffer;
6318
+ export function deserialize(buffer: Uint8Array): unknown;
6319
+ export function takeCoverage(): void;
6320
+ export function stopCoverage(): void;
6321
+ export function isStringOneByteRepresentation(content: string): boolean;
6322
+ }
6323
+ declare module "node:v8" {
6324
+ export * from "v8";
6325
+ }
5760
6326
 
5761
6327
  /* node:worker_threads — native workers use statically compiled entry points.
5762
6328
  * Lowering and runtime diagnostics define the supported options and methods. */
@@ -5764,19 +6330,42 @@ declare module "worker_threads" {
5764
6330
  export const isMainThread: boolean;
5765
6331
  export const isInternalThread: boolean;
5766
6332
  export const threadId: number;
6333
+ export interface ResourceLimits {
6334
+ maxYoungGenerationSizeMb?: number;
6335
+ maxOldGenerationSizeMb?: number;
6336
+ codeRangeSizeMb?: number;
6337
+ stackSizeMb?: number;
6338
+ }
6339
+ /* {} in the main thread */
6340
+ export const resourceLimits: ResourceLimits;
6341
+ /* the Worker's name option, trimmed ("WorkerThread" by default); "" in the main thread */
6342
+ export const threadName: string | null;
5767
6343
  export interface WorkerOptions {
5768
6344
  workerData?: unknown;
5769
6345
  transferList?: readonly unknown[];
5770
6346
  argv?: readonly unknown[];
5771
6347
  name?: string;
6348
+ resourceLimits?: ResourceLimits;
6349
+ stdout?: boolean;
6350
+ stderr?: boolean;
6351
+ stdin?: boolean;
5772
6352
  [option: string]: unknown;
5773
6353
  }
5774
6354
  export class Worker {
5775
6355
  constructor(filename: string | URL, options?: WorkerOptions);
5776
6356
  readonly threadId: number;
6357
+ readonly resourceLimits?: ResourceLimits;
6358
+ readonly threadName: string | null;
6359
+ /* with the stdout/stderr options: the worker's writes to those streams */
6360
+ readonly stdout: import("stream").Readable;
6361
+ readonly stderr: import("stream").Readable;
6362
+ /* with the stdin option: what the worker reads from process.stdin */
6363
+ readonly stdin: import("stream").Writable | null;
6364
+ /* terminate(), resolving with undefined once the worker exited */
6365
+ [Symbol.asyncDispose](): Promise<void>;
5777
6366
  on(event: "online", listener: () => void): this;
5778
6367
  on(event: "message", listener: (value: any) => void): this;
5779
- on(event: "error", listener: (error: Error) => void): this;
6368
+ on(event: "error", listener: (error: any) => void): this;
5780
6369
  on(event: "exit", listener: (code: number) => void): this;
5781
6370
  on(event: string, listener: (...args: any[]) => void): this;
5782
6371
  once(event: string, listener: (...args: any[]) => void): this;
@@ -5818,6 +6407,27 @@ declare module "worker_threads" {
5818
6407
  readonly port2: MessagePort;
5819
6408
  }
5820
6409
  export function receiveMessageOnPort(port: MessagePort): { message: any } | undefined;
6410
+ /* This thread's environment data; each new Worker starts from a clone. */
6411
+ export function setEnvironmentData(key: any, value?: any): void;
6412
+ export function getEnvironmentData(key: any): any;
6413
+ /* A marked object cannot be listed in a transfer list. */
6414
+ export function markAsUntransferable(object: any): void;
6415
+ /* structuredClone and postMessage throw DataCloneError for a marked
6416
+ * object, error or class instance */
6417
+ export function markAsUncloneable(object: any): void;
6418
+ export function isMarkedAsUntransferable(object: any): boolean;
6419
+ /* Delivers each message to every other open channel with the name, in
6420
+ * any thread, as a 'message' MessageEvent. */
6421
+ export class BroadcastChannel extends EventTarget {
6422
+ constructor(name: string);
6423
+ readonly name: string;
6424
+ onmessage: ((event: MessageEvent) => void) | null;
6425
+ onmessageerror: ((event: MessageEvent) => void) | null;
6426
+ postMessage(message: unknown): void;
6427
+ close(): void;
6428
+ ref(): this;
6429
+ unref(): this;
6430
+ }
5821
6431
  export const parentPort: MessagePort | null;
5822
6432
  export const workerData: any;
5823
6433
  }
@@ -5868,7 +6478,7 @@ declare module "node:cluster" {
5868
6478
  /* node:tty — the fd probe (the same isatty(3) behind process.*.isTTY)
5869
6479
  * and the supported structural view of a process output stream. */
5870
6480
  declare module "tty" {
5871
- export interface WriteStream {
6481
+ export interface WriteStream extends NodeJS.WritableStream {
5872
6482
  write(data: string | Uint8Array, callback?: (error?: Error | null) => void): boolean;
5873
6483
  write(
5874
6484
  data: string | Uint8Array,
@@ -5959,10 +6569,16 @@ declare module "events" {
5959
6569
  export { internal as EventEmitter };
5960
6570
  // The event's arguments, as checked-dynamic values.
5961
6571
  export function once(
5962
- emitter: EventEmitter,
6572
+ emitter: EventEmitter | NodeJS.ReadableStream | NodeJS.WritableStream,
5963
6573
  eventName: string,
5964
6574
  options?: { signal?: AbortSignal },
5965
6575
  ): Promise<unknown[]>;
6576
+ /* The emitter's own listenerCount/getMaxListeners/setMaxListeners/
6577
+ * listeners, over EventEmitter instances. */
6578
+ export function listenerCount(emitter: EventEmitter, eventName: string | symbol): number;
6579
+ export function getMaxListeners(emitter: EventEmitter): number;
6580
+ export function setMaxListeners(n?: number, ...eventTargets: EventEmitter[]): void;
6581
+ export function getEventListeners(emitter: EventEmitter, name: string): Array<() => void>;
5966
6582
  }
5967
6583
  export = EventEmitter;
5968
6584
  }
@@ -6112,8 +6728,8 @@ declare module "stream" {
6112
6728
  resume(): this;
6113
6729
  isPaused(): boolean;
6114
6730
  setEncoding(encoding: string): this;
6115
- pipe<T extends Writable>(destination: T, options?: { end?: boolean }): T;
6116
- unpipe(destination?: Writable): this;
6731
+ pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean }): T;
6732
+ unpipe(destination?: NodeJS.WritableStream): this;
6117
6733
  destroy(error?: Error): this;
6118
6734
  readonly readable: boolean;
6119
6735
  readonly readableEnded: boolean;
@@ -6496,6 +7112,22 @@ declare module "node:stream/consumers" {
6496
7112
  import streamConsumers = require("stream/consumers");
6497
7113
  export = streamConsumers;
6498
7114
  }
7115
+ /* node:stream/web — the module exports the web stream globals themselves
7116
+ * (require("stream/web").ReadableStream === globalThis.ReadableStream).
7117
+ * ReadableStream is the implemented class; its reader and controller are
7118
+ * exported as types. */
7119
+ declare module "stream/web" {
7120
+ export const ReadableStream: typeof globalThis.ReadableStream;
7121
+ export type ReadableStream<T = unknown> = globalThis.ReadableStream<T>;
7122
+ export type ReadableStreamDefaultReader<T = unknown> = globalThis.ReadableStreamDefaultReader<T>;
7123
+ export type ReadableStreamDefaultController<T = unknown> =
7124
+ globalThis.ReadableStreamDefaultController<T>;
7125
+ export type UnderlyingSource<T = unknown> = globalThis.UnderlyingSource<T>;
7126
+ export type QueuingStrategy<T = unknown> = globalThis.QueuingStrategy<T>;
7127
+ }
7128
+ declare module "node:stream/web" {
7129
+ export * from "stream/web";
7130
+ }
6499
7131
  interface ErrorConstructor {
6500
7132
  stackTraceLimit: number;
6501
7133
  }