@scriptc/compiler 0.4.0 → 0.4.2

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 (866) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +617 -83
  2. package/dist/backend/cycle-analysis.d.ts +2 -1
  3. package/dist/backend/cycle-analysis.js +4 -4
  4. package/dist/backend/cycle-analysis.js.map +1 -1
  5. package/dist/backend/cycle-mutability.d.ts +2 -1
  6. package/dist/backend/cycle-mutability.js +2 -2
  7. package/dist/backend/cycle-mutability.js.map +1 -1
  8. package/dist/backend/executable-features.js +10 -0
  9. package/dist/backend/executable-features.js.map +1 -1
  10. package/dist/backend/immutability.d.ts +2 -1
  11. package/dist/backend/immutability.js +2 -2
  12. package/dist/backend/immutability.js.map +1 -1
  13. package/dist/backend/library-pack.js +7 -0
  14. package/dist/backend/library-pack.js.map +1 -1
  15. package/dist/backend/link-plan-core.d.ts +2 -0
  16. package/dist/backend/link-plan-core.js +2 -0
  17. package/dist/backend/link-plan-core.js.map +1 -1
  18. package/dist/backend/link-plan.d.ts +1 -0
  19. package/dist/backend/link-plan.js +1 -0
  20. package/dist/backend/link-plan.js.map +1 -1
  21. package/dist/backend/llvm/alloc.d.ts +7 -3
  22. package/dist/backend/llvm/alloc.js +7 -4
  23. package/dist/backend/llvm/alloc.js.map +1 -1
  24. package/dist/backend/llvm/array-search.js +4 -1
  25. package/dist/backend/llvm/array-search.js.map +1 -1
  26. package/dist/backend/llvm/bytes-loop-versions.d.ts +23 -2
  27. package/dist/backend/llvm/bytes-loop-versions.js +115 -19
  28. package/dist/backend/llvm/bytes-loop-versions.js.map +1 -1
  29. package/dist/backend/llvm/bytes-loop-versions.test.js +131 -0
  30. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
  31. package/dist/backend/llvm/classes.d.ts +99 -2
  32. package/dist/backend/llvm/classes.js +436 -57
  33. package/dist/backend/llvm/classes.js.map +1 -1
  34. package/dist/backend/llvm/classes.test.js +235 -16
  35. package/dist/backend/llvm/classes.test.js.map +1 -1
  36. package/dist/backend/llvm/common.d.ts +21 -5
  37. package/dist/backend/llvm/common.js +50 -5
  38. package/dist/backend/llvm/common.js.map +1 -1
  39. package/dist/backend/llvm/constant-callbacks.js +8 -4
  40. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  41. package/dist/backend/llvm/constant-callbacks.test.js +4 -4
  42. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  43. package/dist/backend/llvm/counted-loops.d.ts +4 -1
  44. package/dist/backend/llvm/counted-loops.js +62 -23
  45. package/dist/backend/llvm/counted-loops.js.map +1 -1
  46. package/dist/backend/llvm/dense-array-access.d.ts +3 -1
  47. package/dist/backend/llvm/dense-array-access.js +61 -38
  48. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  49. package/dist/backend/llvm/dense-array-access.test.js +4 -0
  50. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  51. package/dist/backend/llvm/dense-array-loops.d.ts +19 -16
  52. package/dist/backend/llvm/dense-array-loops.js +49 -13
  53. package/dist/backend/llvm/dense-array-loops.js.map +1 -1
  54. package/dist/backend/llvm/dense-array-loops.test.js +50 -14
  55. package/dist/backend/llvm/dense-array-loops.test.js.map +1 -1
  56. package/dist/backend/llvm/dyn.d.ts +34 -1
  57. package/dist/backend/llvm/dyn.js +393 -14
  58. package/dist/backend/llvm/dyn.js.map +1 -1
  59. package/dist/backend/llvm/emit-function.js +27 -8
  60. package/dist/backend/llvm/emit-function.js.map +1 -1
  61. package/dist/backend/llvm/emit-module.js +67 -39
  62. package/dist/backend/llvm/emit-module.js.map +1 -1
  63. package/dist/backend/llvm/emit-statements.d.ts +3 -25
  64. package/dist/backend/llvm/emit-statements.js +414 -37
  65. package/dist/backend/llvm/emit-statements.js.map +1 -1
  66. package/dist/backend/llvm/emitter.d.ts +159 -22
  67. package/dist/backend/llvm/emitter.js +573 -89
  68. package/dist/backend/llvm/emitter.js.map +1 -1
  69. package/dist/backend/llvm/expr-async.js +19 -0
  70. package/dist/backend/llvm/expr-async.js.map +1 -1
  71. package/dist/backend/llvm/expr-bytes.d.ts +5 -2
  72. package/dist/backend/llvm/expr-bytes.js +110 -40
  73. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  74. package/dist/backend/llvm/expr-calls.d.ts +1 -1
  75. package/dist/backend/llvm/expr-calls.js +51 -26
  76. package/dist/backend/llvm/expr-calls.js.map +1 -1
  77. package/dist/backend/llvm/expr-containers.js +27 -14
  78. package/dist/backend/llvm/expr-containers.js.map +1 -1
  79. package/dist/backend/llvm/expr-control.js +2 -3
  80. package/dist/backend/llvm/expr-control.js.map +1 -1
  81. package/dist/backend/llvm/expr-dynamic.js +95 -5
  82. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  83. package/dist/backend/llvm/expr-primitives.js +29 -11
  84. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  85. package/dist/backend/llvm/expr-primitives.test.js +55 -0
  86. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  87. package/dist/backend/llvm/expr-stream-bridges.js +48 -20
  88. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  89. package/dist/backend/llvm/expr-stream-callbacks.js +131 -35
  90. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  91. package/dist/backend/llvm/integer-clones.js +3 -3
  92. package/dist/backend/llvm/integer-clones.js.map +1 -1
  93. package/dist/backend/llvm/js-ic.d.ts +18 -0
  94. package/dist/backend/llvm/js-ic.js +712 -0
  95. package/dist/backend/llvm/js-ic.js.map +1 -0
  96. package/dist/backend/llvm/jsval.js +139 -11
  97. package/dist/backend/llvm/jsval.js.map +1 -1
  98. package/dist/backend/llvm/lib-dispatch.js +10 -0
  99. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  100. package/dist/backend/llvm/lib-filesystem.js +61 -0
  101. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  102. package/dist/backend/llvm/lib-http2.d.ts +4 -0
  103. package/dist/backend/llvm/lib-http2.js +20 -17
  104. package/dist/backend/llvm/lib-http2.js.map +1 -1
  105. package/dist/backend/llvm/lib-process.js +69 -17
  106. package/dist/backend/llvm/lib-process.js.map +1 -1
  107. package/dist/backend/llvm/lib-shared.js +75 -1
  108. package/dist/backend/llvm/lib-shared.js.map +1 -1
  109. package/dist/backend/llvm/lib-stream.js +65 -28
  110. package/dist/backend/llvm/lib-stream.js.map +1 -1
  111. package/dist/backend/llvm/lib-tls.js +23 -0
  112. package/dist/backend/llvm/lib-tls.js.map +1 -1
  113. package/dist/backend/llvm/local-array-reads.js +91 -61
  114. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  115. package/dist/backend/llvm/local-array-reads.test.js +14 -0
  116. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  117. package/dist/backend/llvm/map-number-lookup.d.ts +20 -4
  118. package/dist/backend/llvm/map-number-lookup.js +43 -7
  119. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  120. package/dist/backend/llvm/narrow-guards.js +64 -0
  121. package/dist/backend/llvm/narrow-guards.js.map +1 -1
  122. package/dist/backend/llvm/publish.d.ts +11 -1
  123. package/dist/backend/llvm/publish.js +80 -22
  124. package/dist/backend/llvm/publish.js.map +1 -1
  125. package/dist/backend/llvm/publish.test.js +3 -0
  126. package/dist/backend/llvm/publish.test.js.map +1 -1
  127. package/dist/backend/llvm/receivers.js +1 -1
  128. package/dist/backend/llvm/receivers.js.map +1 -1
  129. package/dist/backend/llvm/reference-writes.js +2 -0
  130. package/dist/backend/llvm/reference-writes.js.map +1 -1
  131. package/dist/backend/llvm/regex-matchers.js +161 -14
  132. package/dist/backend/llvm/regex-matchers.js.map +1 -1
  133. package/dist/backend/llvm/regex-matchers.test.js +18 -0
  134. package/dist/backend/llvm/regex-matchers.test.js.map +1 -1
  135. package/dist/backend/llvm/regions.js +2 -2
  136. package/dist/backend/llvm/regions.js.map +1 -1
  137. package/dist/backend/llvm/regions.test.js +7 -1
  138. package/dist/backend/llvm/regions.test.js.map +1 -1
  139. package/dist/backend/llvm/shapes.d.ts +17 -9
  140. package/dist/backend/llvm/shapes.js +21 -17
  141. package/dist/backend/llvm/shapes.js.map +1 -1
  142. package/dist/backend/llvm/speculative-integers.d.ts +20 -1
  143. package/dist/backend/llvm/speculative-integers.js +94 -6
  144. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  145. package/dist/backend/llvm/speculative-integers.test.js +55 -1
  146. package/dist/backend/llvm/speculative-integers.test.js.map +1 -1
  147. package/dist/backend/llvm/string-lifetimes.test.js +2 -1
  148. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  149. package/dist/backend/llvm/string-reads.d.ts +4 -1
  150. package/dist/backend/llvm/string-reads.js +88 -4
  151. package/dist/backend/llvm/string-reads.js.map +1 -1
  152. package/dist/backend/llvm/thread-slots.test.js +5 -4
  153. package/dist/backend/llvm/thread-slots.test.js.map +1 -1
  154. package/dist/backend/llvm/wasm-modules.d.ts +6 -5
  155. package/dist/backend/llvm/wasm-modules.js +32 -9
  156. package/dist/backend/llvm/wasm-modules.js.map +1 -1
  157. package/dist/backend/mangle.d.ts +8 -0
  158. package/dist/backend/mangle.js +12 -0
  159. package/dist/backend/mangle.js.map +1 -1
  160. package/dist/backend/native/contracts.d.ts +40 -2
  161. package/dist/backend/native/executable.js +40 -7
  162. package/dist/backend/native/executable.js.map +1 -1
  163. package/dist/backend/native/library.js +3 -1
  164. package/dist/backend/native/library.js.map +1 -1
  165. package/dist/backend/native-codegen.d.ts +17 -6
  166. package/dist/backend/native-codegen.js +55 -9
  167. package/dist/backend/native-codegen.js.map +1 -1
  168. package/dist/backend/native-codegen.test.js +18 -14
  169. package/dist/backend/native-codegen.test.js.map +1 -1
  170. package/dist/backend/native-link-info-core.d.ts +30 -2
  171. package/dist/backend/native-link-info-core.js.map +1 -1
  172. package/dist/backend/native-profile.d.ts +32 -0
  173. package/dist/backend/native-profile.js +39 -0
  174. package/dist/backend/native-profile.js.map +1 -0
  175. package/dist/backend/native-profile.test.d.ts +1 -0
  176. package/dist/backend/native-profile.test.js +58 -0
  177. package/dist/backend/native-profile.test.js.map +1 -0
  178. package/dist/backend/native-tools.d.ts +14 -0
  179. package/dist/backend/native-tools.js +13 -0
  180. package/dist/backend/native-tools.js.map +1 -1
  181. package/dist/backend/optimization.d.ts +2 -2
  182. package/dist/backend/runtime-abi.d.ts +2 -2
  183. package/dist/backend/runtime-abi.js +2 -2
  184. package/dist/backend/runtime-pack-core.d.ts +4 -0
  185. package/dist/backend/runtime-pack-core.js +4 -0
  186. package/dist/backend/runtime-pack-core.js.map +1 -1
  187. package/dist/backend/runtime-pack-targets.test.js +7 -1
  188. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  189. package/dist/backend/runtime-pack.d.ts +0 -21
  190. package/dist/backend/runtime-pack.js +0 -29
  191. package/dist/backend/runtime-pack.js.map +1 -1
  192. package/dist/backend/runtime-pack.test.js +12 -69
  193. package/dist/backend/runtime-pack.test.js.map +1 -1
  194. package/dist/backend/target-diagnostics.js +38 -1
  195. package/dist/backend/target-diagnostics.js.map +1 -1
  196. package/dist/backend/warm-cache.js +6 -0
  197. package/dist/backend/warm-cache.js.map +1 -1
  198. package/dist/cli/command.js +89 -7
  199. package/dist/cli/command.js.map +1 -1
  200. package/dist/cli/host.d.ts +3 -0
  201. package/dist/cli/output-options.d.ts +2 -0
  202. package/dist/cli/output-options.js +9 -0
  203. package/dist/cli/output-options.js.map +1 -1
  204. package/dist/cli/usage.d.ts +15 -1
  205. package/dist/cli/usage.js +30 -2
  206. package/dist/cli/usage.js.map +1 -1
  207. package/dist/compile-types.d.ts +9 -0
  208. package/dist/contracts/check.js +2 -3
  209. package/dist/contracts/check.js.map +1 -1
  210. package/dist/coverage/report.d.ts +7 -2
  211. package/dist/coverage/report.js +18 -0
  212. package/dist/coverage/report.js.map +1 -1
  213. package/dist/coverage/verdict-cache.d.ts +1 -0
  214. package/dist/coverage/verdict-cache.js +4 -0
  215. package/dist/coverage/verdict-cache.js.map +1 -1
  216. package/dist/coverage/verdict-semantic.js +4 -0
  217. package/dist/coverage/verdict-semantic.js.map +1 -1
  218. package/dist/diagnostics/diagnostic.js.map +1 -1
  219. package/dist/diagnostics/dynamic-tier.d.ts +40 -0
  220. package/dist/diagnostics/dynamic-tier.js +57 -0
  221. package/dist/diagnostics/dynamic-tier.js.map +1 -0
  222. package/dist/diagnostics/envelope.d.ts +2 -1
  223. package/dist/diagnostics/envelope.js +5 -2
  224. package/dist/diagnostics/envelope.js.map +1 -1
  225. package/dist/executable/executable-cache.d.ts +32 -0
  226. package/dist/executable/executable-cache.js +65 -7
  227. package/dist/executable/executable-cache.js.map +1 -1
  228. package/dist/executable/executable-cache.test.js +50 -3
  229. package/dist/executable/executable-cache.test.js.map +1 -1
  230. package/dist/executable/prepare.js +3 -1
  231. package/dist/executable/prepare.js.map +1 -1
  232. package/dist/frontend/analysis.js +1 -0
  233. package/dist/frontend/analysis.js.map +1 -1
  234. package/dist/frontend/arguments-usage.d.ts +8 -0
  235. package/dist/frontend/arguments-usage.js +98 -0
  236. package/dist/frontend/arguments-usage.js.map +1 -1
  237. package/dist/frontend/arguments-usage.test.d.ts +1 -0
  238. package/dist/frontend/arguments-usage.test.js +32 -0
  239. package/dist/frontend/arguments-usage.test.js.map +1 -0
  240. package/dist/frontend/builtin-package-aliases.d.ts +24 -0
  241. package/dist/frontend/builtin-package-aliases.js +133 -0
  242. package/dist/frontend/builtin-package-aliases.js.map +1 -0
  243. package/dist/frontend/builtin-package-aliases.test.d.ts +1 -0
  244. package/dist/frontend/builtin-package-aliases.test.js +48 -0
  245. package/dist/frontend/builtin-package-aliases.test.js.map +1 -0
  246. package/dist/frontend/dispose-hook.d.ts +2 -0
  247. package/dist/frontend/dispose-hook.js +14 -0
  248. package/dist/frontend/dispose-hook.js.map +1 -0
  249. package/dist/frontend/dts-paths.d.ts +4 -0
  250. package/dist/frontend/dts-paths.js +9 -1
  251. package/dist/frontend/dts-paths.js.map +1 -1
  252. package/dist/frontend/jsx-entities.d.ts +4 -0
  253. package/dist/frontend/jsx-entities.js +259 -0
  254. package/dist/frontend/jsx-entities.js.map +1 -0
  255. package/dist/frontend/jsx-source.d.ts +71 -0
  256. package/dist/frontend/jsx-source.js +781 -0
  257. package/dist/frontend/jsx-source.js.map +1 -0
  258. package/dist/frontend/jsx-source.test.d.ts +1 -0
  259. package/dist/frontend/jsx-source.test.js +200 -0
  260. package/dist/frontend/jsx-source.test.js.map +1 -0
  261. package/dist/frontend/literal-values.test.js +8 -9
  262. package/dist/frontend/literal-values.test.js.map +1 -1
  263. package/dist/frontend/lowering/array-indexed-mutation.js +2 -1
  264. package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
  265. package/dist/frontend/lowering/array-values.js +3 -2
  266. package/dist/frontend/lowering/array-values.js.map +1 -1
  267. package/dist/frontend/lowering/binding-analysis.d.ts +1 -1
  268. package/dist/frontend/lowering/binding-analysis.js +2 -2
  269. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  270. package/dist/frontend/lowering/builtins/arguments.d.ts +3 -0
  271. package/dist/frontend/lowering/builtins/arguments.js +30 -15
  272. package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
  273. package/dist/frontend/lowering/builtins/atomics.js +10 -6
  274. package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
  275. package/dist/frontend/lowering/builtins/builtin-class-dyn.d.ts +8 -0
  276. package/dist/frontend/lowering/builtins/builtin-class-dyn.js +50 -1
  277. package/dist/frontend/lowering/builtins/builtin-class-dyn.js.map +1 -1
  278. package/dist/frontend/lowering/builtins/callable-aliases.js +3 -2
  279. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
  280. package/dist/frontend/lowering/builtins/child-process-async.js +2 -1
  281. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -1
  282. package/dist/frontend/lowering/builtins/child-process-sync.js +2 -1
  283. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
  284. package/dist/frontend/lowering/builtins/crypto.d.ts +7 -2
  285. package/dist/frontend/lowering/builtins/crypto.js +63 -4
  286. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  287. package/dist/frontend/lowering/builtins/date-classes.d.ts +46 -0
  288. package/dist/frontend/lowering/builtins/date-classes.js +477 -0
  289. package/dist/frontend/lowering/builtins/date-classes.js.map +1 -0
  290. package/dist/frontend/lowering/builtins/dates.d.ts +11 -1
  291. package/dist/frontend/lowering/builtins/dates.js +55 -26
  292. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  293. package/dist/frontend/lowering/builtins/dh.d.ts +15 -0
  294. package/dist/frontend/lowering/builtins/dh.js +151 -0
  295. package/dist/frontend/lowering/builtins/dh.js.map +1 -0
  296. package/dist/frontend/lowering/builtins/disposable-stack.js +2 -1
  297. package/dist/frontend/lowering/builtins/disposable-stack.js.map +1 -1
  298. package/dist/frontend/lowering/builtins/ecdh.d.ts +21 -0
  299. package/dist/frontend/lowering/builtins/ecdh.js +208 -0
  300. package/dist/frontend/lowering/builtins/ecdh.js.map +1 -0
  301. package/dist/frontend/lowering/builtins/errors.d.ts +15 -0
  302. package/dist/frontend/lowering/builtins/errors.js +110 -0
  303. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  304. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +1 -1
  305. package/dist/frontend/lowering/builtins/filesystem-calls.js +23 -17
  306. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  307. package/dist/frontend/lowering/builtins/filesystem.js +6 -4
  308. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  309. package/dist/frontend/lowering/builtins/fs-paths.d.ts +15 -0
  310. package/dist/frontend/lowering/builtins/fs-paths.js +209 -0
  311. package/dist/frontend/lowering/builtins/fs-paths.js.map +1 -0
  312. package/dist/frontend/lowering/builtins/hash-stream.d.ts +16 -4
  313. package/dist/frontend/lowering/builtins/hash-stream.js +86 -23
  314. package/dist/frontend/lowering/builtins/hash-stream.js.map +1 -1
  315. package/dist/frontend/lowering/builtins/json.js +54 -1
  316. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  317. package/dist/frontend/lowering/builtins/key-object.d.ts +2 -1
  318. package/dist/frontend/lowering/builtins/key-object.js +20 -7
  319. package/dist/frontend/lowering/builtins/key-object.js.map +1 -1
  320. package/dist/frontend/lowering/builtins/module-calls.js +11 -4
  321. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  322. package/dist/frontend/lowering/builtins/numbers.js +9 -5
  323. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  324. package/dist/frontend/lowering/builtins/operating-system.js +4 -3
  325. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  326. package/dist/frontend/lowering/builtins/performance.js +3 -2
  327. package/dist/frontend/lowering/builtins/performance.js.map +1 -1
  328. package/dist/frontend/lowering/builtins/process.d.ts +9 -0
  329. package/dist/frontend/lowering/builtins/process.js +47 -2
  330. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  331. package/dist/frontend/lowering/builtins/promises.js +3 -2
  332. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  333. package/dist/frontend/lowering/builtins/promisify-callback.d.ts +3 -0
  334. package/dist/frontend/lowering/builtins/promisify-callback.js +23 -4
  335. package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -1
  336. package/dist/frontend/lowering/builtins/readline.d.ts +2 -1
  337. package/dist/frontend/lowering/builtins/readline.js +23 -6
  338. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  339. package/dist/frontend/lowering/builtins/reflection.js +26 -0
  340. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  341. package/dist/frontend/lowering/builtins/strings.js +13 -5
  342. package/dist/frontend/lowering/builtins/strings.js.map +1 -1
  343. package/dist/frontend/lowering/builtins/text-codecs.js +2 -1
  344. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  345. package/dist/frontend/lowering/builtins/timers.js +6 -2
  346. package/dist/frontend/lowering/builtins/timers.js.map +1 -1
  347. package/dist/frontend/lowering/builtins/typed-array-members.d.ts +7 -0
  348. package/dist/frontend/lowering/builtins/typed-array-members.js +160 -0
  349. package/dist/frontend/lowering/builtins/typed-array-members.js.map +1 -0
  350. package/dist/frontend/lowering/builtins/url.js +4 -3
  351. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  352. package/dist/frontend/lowering/builtins/v8.js +2 -1
  353. package/dist/frontend/lowering/builtins/v8.js.map +1 -1
  354. package/dist/frontend/lowering/builtins/webcrypto.js +39 -20
  355. package/dist/frontend/lowering/builtins/webcrypto.js.map +1 -1
  356. package/dist/frontend/lowering/call-arguments.js +2 -1
  357. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  358. package/dist/frontend/lowering/call-signatures.d.ts +4 -0
  359. package/dist/frontend/lowering/call-signatures.js +137 -13
  360. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  361. package/dist/frontend/lowering/caught-value-dispatch.d.ts +18 -1
  362. package/dist/frontend/lowering/caught-value-dispatch.js +201 -32
  363. package/dist/frontend/lowering/caught-value-dispatch.js.map +1 -1
  364. package/dist/frontend/lowering/cjs-exports-object.js +34 -1
  365. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
  366. package/dist/frontend/lowering/class-assertions.js +3 -2
  367. package/dist/frontend/lowering/class-assertions.js.map +1 -1
  368. package/dist/frontend/lowering/class-construction.d.ts +2 -1
  369. package/dist/frontend/lowering/class-construction.js +8 -13
  370. package/dist/frontend/lowering/class-construction.js.map +1 -1
  371. package/dist/frontend/lowering/class-descriptors.js +1 -1
  372. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  373. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +34 -0
  374. package/dist/frontend/lowering/class-dynamic-dispatch.js +577 -152
  375. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  376. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +77 -0
  377. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  378. package/dist/frontend/lowering/class-method-mutations.js +3 -0
  379. package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
  380. package/dist/frontend/lowering/class-method-values.js +1 -1
  381. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  382. package/dist/frontend/lowering/class-protocols.d.ts +17 -0
  383. package/dist/frontend/lowering/class-protocols.js +117 -7
  384. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  385. package/dist/frontend/lowering/class-prototypes.d.ts +5 -0
  386. package/dist/frontend/lowering/class-prototypes.js +42 -4
  387. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  388. package/dist/frontend/lowering/class-to-primitive.d.ts +2 -2
  389. package/dist/frontend/lowering/class-to-primitive.js +31 -8
  390. package/dist/frontend/lowering/class-to-primitive.js.map +1 -1
  391. package/dist/frontend/lowering/class-unions.js +2 -1
  392. package/dist/frontend/lowering/class-unions.js.map +1 -1
  393. package/dist/frontend/lowering/coercions/fresh-spread.d.ts +13 -0
  394. package/dist/frontend/lowering/coercions/fresh-spread.js +95 -0
  395. package/dist/frontend/lowering/coercions/fresh-spread.js.map +1 -0
  396. package/dist/frontend/lowering/coercions/function-adapters.js +105 -75
  397. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  398. package/dist/frontend/lowering/coercions/structural.js +8 -7
  399. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  400. package/dist/frontend/lowering/coercions/unions.js +8 -7
  401. package/dist/frontend/lowering/coercions/unions.js.map +1 -1
  402. package/dist/frontend/lowering/collection-ingestion.js +2 -1
  403. package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
  404. package/dist/frontend/lowering/containers/array-callbacks.d.ts +15 -0
  405. package/dist/frontend/lowering/containers/array-callbacks.js +36 -32
  406. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  407. package/dist/frontend/lowering/containers/array-concat.js +2 -1
  408. package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
  409. package/dist/frontend/lowering/containers/array-construction.js +32 -4
  410. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  411. package/dist/frontend/lowering/containers/array-methods.js +11 -5
  412. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  413. package/dist/frontend/lowering/containers/array-pipelines.js +2 -1
  414. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
  415. package/dist/frontend/lowering/containers/bytes.d.ts +10 -1
  416. package/dist/frontend/lowering/containers/bytes.js +601 -24
  417. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  418. package/dist/frontend/lowering/containers/callback-arguments.js +52 -2
  419. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  420. package/dist/frontend/lowering/containers/collection-grouping.js +3 -2
  421. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
  422. package/dist/frontend/lowering/containers/collection-methods.js +80 -10
  423. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  424. package/dist/frontend/lowering/containers/indexed-objects.js +8 -7
  425. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  426. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +32 -1
  427. package/dist/frontend/lowering/containers/iterator-helpers.js +6 -5
  428. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
  429. package/dist/frontend/lowering/containers/string-and-regexp.js +85 -22
  430. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  431. package/dist/frontend/lowering/containers/string-replacement.js +2 -1
  432. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  433. package/dist/frontend/lowering/cycle-initialization.d.ts +26 -10
  434. package/dist/frontend/lowering/cycle-initialization.js +177 -39
  435. package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
  436. package/dist/frontend/lowering/deferred-module-initializers.d.ts +18 -1
  437. package/dist/frontend/lowering/deferred-module-initializers.js +226 -115
  438. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  439. package/dist/frontend/lowering/deferred-module-initializers.test.js +28 -0
  440. package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
  441. package/dist/frontend/lowering/dispatch-sites.d.ts +59 -0
  442. package/dist/frontend/lowering/dispatch-sites.js +204 -0
  443. package/dist/frontend/lowering/dispatch-sites.js.map +1 -0
  444. package/dist/frontend/lowering/dispatch-sites.test.d.ts +1 -0
  445. package/dist/frontend/lowering/dispatch-sites.test.js +59 -0
  446. package/dist/frontend/lowering/dispatch-sites.test.js.map +1 -0
  447. package/dist/frontend/lowering/dyn-streams.d.ts +3 -0
  448. package/dist/frontend/lowering/dyn-streams.js +1 -1
  449. package/dist/frontend/lowering/dyn-streams.js.map +1 -1
  450. package/dist/frontend/lowering/dynamic-tier.d.ts +25 -0
  451. package/dist/frontend/lowering/dynamic-tier.js +327 -0
  452. package/dist/frontend/lowering/dynamic-tier.js.map +1 -0
  453. package/dist/frontend/lowering/error-methods.js +4 -0
  454. package/dist/frontend/lowering/error-methods.js.map +1 -1
  455. package/dist/frontend/lowering/expressions/array-literals.js +48 -13
  456. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  457. package/dist/frontend/lowering/expressions/binary.js +124 -8
  458. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  459. package/dist/frontend/lowering/expressions/element-access.js +30 -7
  460. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  461. package/dist/frontend/lowering/expressions/identifiers.js +46 -7
  462. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  463. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +14 -2
  464. package/dist/frontend/lowering/expressions/keyed-field-targets.js +91 -10
  465. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -1
  466. package/dist/frontend/lowering/expressions/narrowing.js +52 -7
  467. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  468. package/dist/frontend/lowering/expressions/object-literals.d.ts +0 -3
  469. package/dist/frontend/lowering/expressions/object-literals.js +75 -7
  470. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  471. package/dist/frontend/lowering/expressions/optional-chains.d.ts +1 -1
  472. package/dist/frontend/lowering/expressions/optional-chains.js +17 -8
  473. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  474. package/dist/frontend/lowering/expressions/property-access.d.ts +5 -4
  475. package/dist/frontend/lowering/expressions/property-access.js +351 -16
  476. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  477. package/dist/frontend/lowering/expressions/relational.js +112 -9
  478. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  479. package/dist/frontend/lowering/expressions/typeof.js +13 -0
  480. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  481. package/dist/frontend/lowering/expressions/updates.js +64 -10
  482. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  483. package/dist/frontend/lowering/generator-delegation.d.ts +8 -0
  484. package/dist/frontend/lowering/generator-delegation.js +191 -1
  485. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  486. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +6 -1
  487. package/dist/frontend/lowering/generator-dynamic-dispatch.js +20 -30
  488. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
  489. package/dist/frontend/lowering/generic-functions.d.ts +46 -1
  490. package/dist/frontend/lowering/generic-functions.js +660 -73
  491. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  492. package/dist/frontend/lowering/handle-properties.d.ts +24 -0
  493. package/dist/frontend/lowering/handle-properties.js +281 -0
  494. package/dist/frontend/lowering/handle-properties.js.map +1 -0
  495. package/dist/frontend/lowering/intern-tables.js +2 -1
  496. package/dist/frontend/lowering/intern-tables.js.map +1 -1
  497. package/dist/frontend/lowering/iterable-spelling.d.ts +7 -0
  498. package/dist/frontend/lowering/iterable-spelling.js +38 -0
  499. package/dist/frontend/lowering/iterable-spelling.js.map +1 -0
  500. package/dist/frontend/lowering/iterator-adapters.js +9 -8
  501. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  502. package/dist/frontend/lowering/js-dynamic-objects.js +3 -2
  503. package/dist/frontend/lowering/js-dynamic-objects.js.map +1 -1
  504. package/dist/frontend/lowering/json-require.js +2 -1
  505. package/dist/frontend/lowering/json-require.js.map +1 -1
  506. package/dist/frontend/lowering/key-order-witness.d.ts +7 -2
  507. package/dist/frontend/lowering/key-order-witness.js +21 -4
  508. package/dist/frontend/lowering/key-order-witness.js.map +1 -1
  509. package/dist/frontend/lowering/key-order-witness.test.js +38 -2
  510. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -1
  511. package/dist/frontend/lowering/lifetime-regions.js +2 -1
  512. package/dist/frontend/lowering/lifetime-regions.js.map +1 -1
  513. package/dist/frontend/lowering/lower-array-sort.d.ts +33 -15
  514. package/dist/frontend/lowering/lower-array-sort.js +117 -21
  515. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  516. package/dist/frontend/lowering/lower-array-sort.test.js +93 -14
  517. package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
  518. package/dist/frontend/lowering/lower-assert.js +6 -5
  519. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  520. package/dist/frontend/lowering/lower-async-iteration.js +3 -1
  521. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  522. package/dist/frontend/lowering/lower-builtin-values.js +1 -0
  523. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  524. package/dist/frontend/lowering/lower-calls.d.ts +4 -0
  525. package/dist/frontend/lowering/lower-calls.js +504 -97
  526. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  527. package/dist/frontend/lowering/lower-classes.d.ts +22 -0
  528. package/dist/frontend/lowering/lower-classes.js +339 -32
  529. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  530. package/dist/frontend/lowering/lower-dgram.js +65 -15
  531. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  532. package/dist/frontend/lowering/lower-event-emitter.d.ts +14 -0
  533. package/dist/frontend/lowering/lower-event-emitter.js +267 -20
  534. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  535. package/dist/frontend/lowering/lower-exprs.d.ts +19 -2
  536. package/dist/frontend/lowering/lower-exprs.js +148 -12
  537. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  538. package/dist/frontend/lowering/lower-functions.js +308 -72
  539. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  540. package/dist/frontend/lowering/lower-generators.js +10 -4
  541. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  542. package/dist/frontend/lowering/lower-inspect.js +578 -16
  543. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  544. package/dist/frontend/lowering/lower-mixins.js +2 -1
  545. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  546. package/dist/frontend/lowering/lower-mock.js +2 -1
  547. package/dist/frontend/lowering/lower-mock.js.map +1 -1
  548. package/dist/frontend/lowering/lower-modules.d.ts +11 -3
  549. package/dist/frontend/lowering/lower-modules.js +227 -72
  550. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  551. package/dist/frontend/lowering/lower-modules.test.js +2 -2
  552. package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
  553. package/dist/frontend/lowering/lower-namespaces.d.ts +2 -1
  554. package/dist/frontend/lowering/lower-namespaces.js +24 -3
  555. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  556. package/dist/frontend/lowering/lower-server.d.ts +10 -0
  557. package/dist/frontend/lowering/lower-server.js +263 -60
  558. package/dist/frontend/lowering/lower-server.js.map +1 -1
  559. package/dist/frontend/lowering/lower-stdlib.js +39 -18
  560. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  561. package/dist/frontend/lowering/lower-stmts.d.ts +7 -10
  562. package/dist/frontend/lowering/lower-stmts.js +584 -69
  563. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  564. package/dist/frontend/lowering/lower-stmts.test.js +1 -1
  565. package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
  566. package/dist/frontend/lowering/lower-stream.js +575 -165
  567. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  568. package/dist/frontend/lowering/lower-timers.js +21 -4
  569. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  570. package/dist/frontend/lowering/lowerer.d.ts +151 -30
  571. package/dist/frontend/lowering/lowerer.js +725 -84
  572. package/dist/frontend/lowering/lowerer.js.map +1 -1
  573. package/dist/frontend/lowering/lowerer.test.js +21 -9
  574. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  575. package/dist/frontend/lowering/narrowing-stability.js +5 -0
  576. package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
  577. package/dist/frontend/lowering/native-ffi.js +1 -1
  578. package/dist/frontend/lowering/native-ffi.js.map +1 -1
  579. package/dist/frontend/lowering/object-enumeration-receiver.js +2 -1
  580. package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -1
  581. package/dist/frontend/lowering/pairs-snapshot.js +2 -1
  582. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
  583. package/dist/frontend/lowering/private-brands.d.ts +9 -0
  584. package/dist/frontend/lowering/private-brands.js +66 -15
  585. package/dist/frontend/lowering/private-brands.js.map +1 -1
  586. package/dist/frontend/lowering/promise-executor-adapter.js +2 -1
  587. package/dist/frontend/lowering/promise-executor-adapter.js.map +1 -1
  588. package/dist/frontend/lowering/rebindable-functions.d.ts +8 -0
  589. package/dist/frontend/lowering/rebindable-functions.js +54 -0
  590. package/dist/frontend/lowering/rebindable-functions.js.map +1 -0
  591. package/dist/frontend/lowering/require-initialization.js +2 -1
  592. package/dist/frontend/lowering/require-initialization.js.map +1 -1
  593. package/dist/frontend/lowering/runtime-optional-elements.d.ts +5 -0
  594. package/dist/frontend/lowering/runtime-optional-elements.js +17 -1
  595. package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -1
  596. package/dist/frontend/lowering/runtime-optional-records.d.ts +2 -0
  597. package/dist/frontend/lowering/runtime-optional-records.js +18 -5
  598. package/dist/frontend/lowering/runtime-optional-records.js.map +1 -1
  599. package/dist/frontend/lowering/site-dependencies.d.ts +35 -0
  600. package/dist/frontend/lowering/site-dependencies.js +84 -0
  601. package/dist/frontend/lowering/site-dependencies.js.map +1 -0
  602. package/dist/frontend/lowering/site-dependencies.test.d.ts +1 -0
  603. package/dist/frontend/lowering/site-dependencies.test.js +53 -0
  604. package/dist/frontend/lowering/site-dependencies.test.js.map +1 -0
  605. package/dist/frontend/lowering/stable-names.d.ts +11 -0
  606. package/dist/frontend/lowering/stable-names.js +35 -0
  607. package/dist/frontend/lowering/stable-names.js.map +1 -0
  608. package/dist/frontend/lowering/static-typeof.d.ts +26 -0
  609. package/dist/frontend/lowering/static-typeof.js +172 -0
  610. package/dist/frontend/lowering/static-typeof.js.map +1 -0
  611. package/dist/frontend/lowering/strict-equality.js +2 -1
  612. package/dist/frontend/lowering/strict-equality.js.map +1 -1
  613. package/dist/frontend/lowering/string-index-bounds.js +3 -2
  614. package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
  615. package/dist/frontend/lowering/structural-positions.d.ts +32 -0
  616. package/dist/frontend/lowering/structural-positions.js +108 -0
  617. package/dist/frontend/lowering/structural-positions.js.map +1 -0
  618. package/dist/frontend/lowering/surfaces.js +72 -30
  619. package/dist/frontend/lowering/surfaces.js.map +1 -1
  620. package/dist/frontend/lowering/thenables.d.ts +16 -0
  621. package/dist/frontend/lowering/thenables.js +124 -0
  622. package/dist/frontend/lowering/thenables.js.map +1 -0
  623. package/dist/frontend/lowering/var-hoisting.js +37 -3
  624. package/dist/frontend/lowering/var-hoisting.js.map +1 -1
  625. package/dist/frontend/npm-static-builtin-aliases.d.ts +8 -0
  626. package/dist/frontend/npm-static-builtin-aliases.js +65 -0
  627. package/dist/frontend/npm-static-builtin-aliases.js.map +1 -0
  628. package/dist/frontend/npm-static-bundled-chunks.d.ts +8 -1
  629. package/dist/frontend/npm-static-bundled-chunks.js +173 -2
  630. package/dist/frontend/npm-static-bundled-chunks.js.map +1 -1
  631. package/dist/frontend/npm-static-bundled-chunks.test.js +112 -0
  632. package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -1
  633. package/dist/frontend/npm-static-bundled-esm.js +224 -4
  634. package/dist/frontend/npm-static-bundled-esm.js.map +1 -1
  635. package/dist/frontend/npm-static-bundled-esm.test.js +129 -0
  636. package/dist/frontend/npm-static-bundled-esm.test.js.map +1 -1
  637. package/dist/frontend/npm-static-enum-iife.d.ts +6 -0
  638. package/dist/frontend/npm-static-enum-iife.js +280 -0
  639. package/dist/frontend/npm-static-enum-iife.js.map +1 -0
  640. package/dist/frontend/npm-static-enum-iife.test.d.ts +1 -0
  641. package/dist/frontend/npm-static-enum-iife.test.js +116 -0
  642. package/dist/frontend/npm-static-enum-iife.test.js.map +1 -0
  643. package/dist/frontend/npm-static-tsc-helpers.d.ts +5 -0
  644. package/dist/frontend/npm-static-tsc-helpers.js +106 -0
  645. package/dist/frontend/npm-static-tsc-helpers.js.map +1 -0
  646. package/dist/frontend/npm-static-tsc-helpers.test.d.ts +1 -0
  647. package/dist/frontend/npm-static-tsc-helpers.test.js +58 -0
  648. package/dist/frontend/npm-static-tsc-helpers.test.js.map +1 -0
  649. package/dist/frontend/npm-static-type-exports-host.d.ts +8 -0
  650. package/dist/frontend/npm-static-type-exports-host.js +214 -0
  651. package/dist/frontend/npm-static-type-exports-host.js.map +1 -0
  652. package/dist/frontend/npm-static-type-exports-host.test.d.ts +1 -0
  653. package/dist/frontend/npm-static-type-exports-host.test.js +53 -0
  654. package/dist/frontend/npm-static-type-exports-host.test.js.map +1 -0
  655. package/dist/frontend/npm-static-type-exports.d.ts +52 -0
  656. package/dist/frontend/npm-static-type-exports.js +261 -0
  657. package/dist/frontend/npm-static-type-exports.js.map +1 -0
  658. package/dist/frontend/npm-static-type-exports.test.d.ts +1 -0
  659. package/dist/frontend/npm-static-type-exports.test.js +103 -0
  660. package/dist/frontend/npm-static-type-exports.test.js.map +1 -0
  661. package/dist/frontend/npm-static-umd.d.ts +6 -0
  662. package/dist/frontend/npm-static-umd.js +203 -0
  663. package/dist/frontend/npm-static-umd.js.map +1 -0
  664. package/dist/frontend/npm-static-umd.test.d.ts +1 -0
  665. package/dist/frontend/npm-static-umd.test.js +105 -0
  666. package/dist/frontend/npm-static-umd.test.js.map +1 -0
  667. package/dist/frontend/npm-static.d.ts +16 -0
  668. package/dist/frontend/npm-static.js +93 -3
  669. package/dist/frontend/npm-static.js.map +1 -1
  670. package/dist/frontend/npm.js +13 -0
  671. package/dist/frontend/npm.js.map +1 -1
  672. package/dist/frontend/package-shims.d.ts +47 -0
  673. package/dist/frontend/package-shims.js +300 -0
  674. package/dist/frontend/package-shims.js.map +1 -0
  675. package/dist/frontend/pipeline.js +67 -1
  676. package/dist/frontend/pipeline.js.map +1 -1
  677. package/dist/frontend/program.d.ts +21 -0
  678. package/dist/frontend/program.js +174 -14
  679. package/dist/frontend/program.js.map +1 -1
  680. package/dist/frontend/program.test.js +1 -1
  681. package/dist/frontend/program.test.js.map +1 -1
  682. package/dist/frontend/resolve.js +13 -0
  683. package/dist/frontend/resolve.js.map +1 -1
  684. package/dist/frontend/services.d.ts +12 -0
  685. package/dist/frontend/services.js +37 -0
  686. package/dist/frontend/services.js.map +1 -1
  687. package/dist/frontend/ts7/ast-node.d.ts +21 -7
  688. package/dist/frontend/ts7/ast-node.js +131 -29
  689. package/dist/frontend/ts7/ast-node.js.map +1 -1
  690. package/dist/frontend/ts7/ast-node.test.js +60 -0
  691. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  692. package/dist/frontend/ts7/ast-wire.d.ts +27 -2
  693. package/dist/frontend/ts7/ast-wire.js +124 -21
  694. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  695. package/dist/frontend/ts7/ast.d.ts +23 -2
  696. package/dist/frontend/ts7/ast.js +143 -2
  697. package/dist/frontend/ts7/ast.js.map +1 -1
  698. package/dist/frontend/ts7/checker.d.ts +13 -1
  699. package/dist/frontend/ts7/checker.js +75 -1
  700. package/dist/frontend/ts7/checker.js.map +1 -1
  701. package/dist/frontend/ts7/checker.test.js +9 -6
  702. package/dist/frontend/ts7/checker.test.js.map +1 -1
  703. package/dist/frontend/ts7/enums.d.ts +3 -3
  704. package/dist/frontend/ts7/enums.generated.d.ts +10 -0
  705. package/dist/frontend/ts7/enums.generated.js +21 -0
  706. package/dist/frontend/ts7/enums.generated.js.map +1 -1
  707. package/dist/frontend/ts7/enums.js +19 -0
  708. package/dist/frontend/ts7/enums.js.map +1 -1
  709. package/dist/frontend/ts7/program-host.d.ts +6 -5
  710. package/dist/frontend/ts7/program-host.js +12 -2
  711. package/dist/frontend/ts7/program-host.js.map +1 -1
  712. package/dist/frontend/ts7/semantic-checker.d.ts +10 -0
  713. package/dist/frontend/ts7/semantic-checker.js +25 -20
  714. package/dist/frontend/ts7/semantic-checker.js.map +1 -1
  715. package/dist/frontend/ts7/semantic-json.d.ts +13 -0
  716. package/dist/frontend/ts7/semantic-json.js +146 -0
  717. package/dist/frontend/ts7/semantic-json.js.map +1 -1
  718. package/dist/frontend/ts7/semantic-json.test.js +57 -1
  719. package/dist/frontend/ts7/semantic-json.test.js.map +1 -1
  720. package/dist/frontend/ts7/semantic-model.d.ts +18 -0
  721. package/dist/frontend/ts7/semantic-model.js +90 -16
  722. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  723. package/dist/frontend/ts7/semantic-model.test.js +3 -2
  724. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  725. package/dist/frontend/ts7/session.d.ts +19 -4
  726. package/dist/frontend/ts7/session.js +1 -1
  727. package/dist/frontend/ts7/session.js.map +1 -1
  728. package/dist/frontend/tsc-codes.d.ts +1 -1
  729. package/dist/frontend/tsc-codes.js +7 -0
  730. package/dist/frontend/tsc-codes.js.map +1 -1
  731. package/dist/frontend/type-mapper.d.ts +38 -6
  732. package/dist/frontend/type-mapper.js +466 -47
  733. package/dist/frontend/type-mapper.js.map +1 -1
  734. package/dist/frontend/type-mapper.test.js +1 -1
  735. package/dist/frontend/type-mapper.test.js.map +1 -1
  736. package/dist/frontend-process-args.d.ts +4 -0
  737. package/dist/frontend-process-args.js +52 -0
  738. package/dist/frontend-process-args.js.map +1 -0
  739. package/dist/frontend-process-args.test.d.ts +1 -0
  740. package/dist/frontend-process-args.test.js +47 -0
  741. package/dist/frontend-process-args.test.js.map +1 -0
  742. package/dist/frontend-process.d.ts +1 -0
  743. package/dist/frontend-process.js +23 -0
  744. package/dist/frontend-process.js.map +1 -0
  745. package/dist/heap-collection.d.ts +16 -0
  746. package/dist/heap-collection.js +42 -0
  747. package/dist/heap-collection.js.map +1 -0
  748. package/dist/heap-collection.test.d.ts +1 -0
  749. package/dist/heap-collection.test.js +59 -0
  750. package/dist/heap-collection.test.js.map +1 -0
  751. package/dist/heap-pressure.d.ts +2 -0
  752. package/dist/heap-pressure.js +12 -0
  753. package/dist/heap-pressure.js.map +1 -0
  754. package/dist/index.d.ts +8 -0
  755. package/dist/index.js +453 -85
  756. package/dist/index.js.map +1 -1
  757. package/dist/ir/array-length-stability.d.ts +3 -2
  758. package/dist/ir/array-length-stability.js +22 -2
  759. package/dist/ir/array-length-stability.js.map +1 -1
  760. package/dist/ir/array-length-stability.test.js +47 -1
  761. package/dist/ir/array-length-stability.test.js.map +1 -1
  762. package/dist/ir/builtin-effects.js +41 -0
  763. package/dist/ir/builtin-effects.js.map +1 -1
  764. package/dist/ir/builtin-signatures.d.ts +5 -1
  765. package/dist/ir/builtin-signatures.js +187 -16
  766. package/dist/ir/builtin-signatures.js.map +1 -1
  767. package/dist/ir/final-fields.d.ts +2 -1
  768. package/dist/ir/final-fields.js +2 -2
  769. package/dist/ir/final-fields.js.map +1 -1
  770. package/dist/ir/function-references.test.js +2 -0
  771. package/dist/ir/function-references.test.js.map +1 -1
  772. package/dist/ir/int32-slots.d.ts +13 -5
  773. package/dist/ir/int32-slots.js +112 -115
  774. package/dist/ir/int32-slots.js.map +1 -1
  775. package/dist/ir/int32-slots.test.js +3 -1
  776. package/dist/ir/int32-slots.test.js.map +1 -1
  777. package/dist/ir/integer-loop-facts.d.ts +14 -4
  778. package/dist/ir/integer-loop-facts.js +172 -32
  779. package/dist/ir/integer-loop-facts.js.map +1 -1
  780. package/dist/ir/integer-loops.d.ts +49 -0
  781. package/dist/ir/integer-loops.js +193 -39
  782. package/dist/ir/integer-loops.js.map +1 -1
  783. package/dist/ir/integer-loops.test.js +201 -1
  784. package/dist/ir/integer-loops.test.js.map +1 -1
  785. package/dist/ir/integer-ranges.d.ts +10 -1
  786. package/dist/ir/integer-ranges.js +122 -25
  787. package/dist/ir/integer-ranges.js.map +1 -1
  788. package/dist/ir/integer-ranges.test.js +255 -1
  789. package/dist/ir/integer-ranges.test.js.map +1 -1
  790. package/dist/ir/ir.d.ts +17 -2
  791. package/dist/ir/ir.js +11 -1
  792. package/dist/ir/ir.js.map +1 -1
  793. package/dist/ir/js-ic.d.ts +52 -0
  794. package/dist/ir/js-ic.js +199 -0
  795. package/dist/ir/js-ic.js.map +1 -0
  796. package/dist/ir/js-ic.test.d.ts +1 -0
  797. package/dist/ir/js-ic.test.js +148 -0
  798. package/dist/ir/js-ic.test.js.map +1 -0
  799. package/dist/ir/jsval.js +38 -4
  800. package/dist/ir/jsval.js.map +1 -1
  801. package/dist/ir/runtime-features.d.ts +64 -5
  802. package/dist/ir/runtime-features.js +358 -101
  803. package/dist/ir/runtime-features.js.map +1 -1
  804. package/dist/ir/tiers.js +1 -0
  805. package/dist/ir/tiers.js.map +1 -1
  806. package/dist/ir/traverse.d.ts +2 -0
  807. package/dist/ir/traverse.js +124 -70
  808. package/dist/ir/traverse.js.map +1 -1
  809. package/dist/ir/validate.js +77 -24
  810. package/dist/ir/validate.js.map +1 -1
  811. package/dist/ir/validate.test.js +15 -2
  812. package/dist/ir/validate.test.js.map +1 -1
  813. package/dist/library/ir-policy.js +11 -0
  814. package/dist/library/ir-policy.js.map +1 -1
  815. package/dist/library/library-cache.d.ts +2 -0
  816. package/dist/library/library-cache.js.map +1 -1
  817. package/dist/library/prepare.js +2 -0
  818. package/dist/library/prepare.js.map +1 -1
  819. package/dist/native/cli.js +22 -0
  820. package/dist/native/cli.js.map +1 -1
  821. package/dist/native/compiler.js +33 -4
  822. package/dist/native/compiler.js.map +1 -1
  823. package/dist/native/executable-cache.js +3 -0
  824. package/dist/native/executable-cache.js.map +1 -1
  825. package/dist/native/prepare.js +8 -1
  826. package/dist/native/prepare.js.map +1 -1
  827. package/dist/native/sanitizer.test.js +10 -0
  828. package/dist/native/sanitizer.test.js.map +1 -1
  829. package/dist/startup-cache.d.ts +1 -0
  830. package/dist/startup-cache.js +1 -0
  831. package/dist/startup-cache.js.map +1 -1
  832. package/dist/text-parts.d.ts +7 -0
  833. package/dist/text-parts.js +44 -0
  834. package/dist/text-parts.js.map +1 -1
  835. package/dist/text-parts.test.d.ts +1 -0
  836. package/dist/text-parts.test.js +46 -0
  837. package/dist/text-parts.test.js.map +1 -0
  838. package/dist/timing.d.ts +9 -2
  839. package/dist/timing.js +7 -4
  840. package/dist/timing.js.map +1 -1
  841. package/dist/wasm/translate.d.ts +4 -0
  842. package/dist/wasm/translate.js +2 -2
  843. package/dist/wasm/translate.js.map +1 -1
  844. package/package.json +22 -21
  845. package/shims/fs-extra/core/api.ts +1192 -0
  846. package/shims/fs-extra/index.ts +9 -0
  847. package/shims/undici/core/agent.ts +163 -0
  848. package/shims/undici/core/api.ts +93 -0
  849. package/shims/undici/core/client.ts +1304 -0
  850. package/shims/undici/core/connector.ts +157 -0
  851. package/shims/undici/core/diagnostics-types.ts +68 -0
  852. package/shims/undici/core/diagnostics.ts +16 -0
  853. package/shims/undici/core/dispatcher.ts +574 -0
  854. package/shims/undici/core/errors-v5.ts +22 -0
  855. package/shims/undici/core/errors-v7.ts +25 -0
  856. package/shims/undici/core/errors.ts +255 -0
  857. package/shims/undici/core/fetch.ts +635 -0
  858. package/shims/undici/core/pool.ts +280 -0
  859. package/shims/undici/core/readable.ts +268 -0
  860. package/shims/undici/core/request.ts +313 -0
  861. package/shims/undici/core/timers.ts +80 -0
  862. package/shims/undici/core/types.ts +167 -0
  863. package/shims/undici/core/util.ts +67 -0
  864. package/shims/undici/v5.ts +119 -0
  865. package/shims/undici/v7.ts +119 -0
  866. package/surface-manifest.json +20 -52
@@ -544,12 +544,17 @@ declare var DOMException: {
544
544
  readonly prototype: DOMException;
545
545
  };
546
546
 
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. */
547
+ /* WebCrypto (scr_webcrypto.c): crypto.subtle's importKey, generateKey and
548
+ * exportKey for HMAC and AES keys (importKey also for PBKDF2 and HKDF
549
+ * keys), AES-GCM/CBC/CTR encrypt and decrypt, wrapKey and unwrapKey of
550
+ * secret keys (AES-KW or those ciphers), PBKDF2 and HKDF deriveBits and
551
+ * deriveKey, HMAC sign/verify, generateKey, importKey, exportKey, sign
552
+ * and verify for ECDSA, Ed25519, RSASSA-PKCS1-v1_5 and RSA-PSS, and the
553
+ * SHA-1/SHA-2 digests, typed as exactly that surface (the declarations
554
+ * mirror @types/node's webcrypto shapes), plus the global's randomUUID and
555
+ * getRandomValues. Every other SubtleCrypto method and crypto member is
556
+ * absent, so a use is an honest type error. CryptoKey values are native
557
+ * handles whose four members read through the handle. */
553
558
  declare var crypto: Crypto;
554
559
  /* The Crypto and SubtleCrypto constructors (feature probes only) stay
555
560
  * `unknown`; the values keep this declaration order. */
@@ -582,9 +587,44 @@ interface HmacImportParams extends Algorithm {
582
587
  hash: HashAlgorithmIdentifier;
583
588
  length?: number;
584
589
  }
590
+ interface HmacKeyGenParams extends Algorithm {
591
+ hash: HashAlgorithmIdentifier;
592
+ length?: number;
593
+ }
594
+ interface AesKeyGenParams extends Algorithm {
595
+ length: number;
596
+ }
597
+ interface AesGcmParams extends Algorithm {
598
+ additionalData?: BufferSource;
599
+ iv: BufferSource;
600
+ tagLength?: number;
601
+ }
602
+ interface AesCbcParams extends Algorithm {
603
+ iv: BufferSource;
604
+ }
605
+ interface AesCtrParams extends Algorithm {
606
+ counter: BufferSource;
607
+ length: number;
608
+ }
609
+ interface Pbkdf2Params extends Algorithm {
610
+ hash: HashAlgorithmIdentifier;
611
+ iterations: number;
612
+ salt: BufferSource;
613
+ }
614
+ interface HkdfParams extends Algorithm {
615
+ hash: HashAlgorithmIdentifier;
616
+ info: BufferSource;
617
+ salt: BufferSource;
618
+ }
619
+ interface AesDerivedKeyParams extends Algorithm {
620
+ length: number;
621
+ }
585
622
  interface KeyAlgorithm {
586
623
  name: string;
587
624
  }
625
+ interface AesKeyAlgorithm extends KeyAlgorithm {
626
+ length: number;
627
+ }
588
628
  interface HmacKeyAlgorithm extends KeyAlgorithm {
589
629
  hash: KeyAlgorithm;
590
630
  length: number;
@@ -623,34 +663,136 @@ interface JsonWebKey {
623
663
  x?: string;
624
664
  y?: string;
625
665
  }
626
- /* The 'jwk' form type-checks like @types/node's; the compiler refuses it
627
- * (the JsonWebKey import is not implemented). */
666
+ interface EcKeyGenParams extends Algorithm {
667
+ namedCurve: string;
668
+ }
669
+ interface EcKeyImportParams extends Algorithm {
670
+ namedCurve: string;
671
+ }
672
+ interface EcdsaParams extends Algorithm {
673
+ hash: HashAlgorithmIdentifier;
674
+ }
675
+ interface RsaHashedKeyGenParams extends Algorithm {
676
+ modulusLength: number;
677
+ publicExponent: Uint8Array;
678
+ hash: HashAlgorithmIdentifier;
679
+ }
680
+ interface RsaHashedImportParams extends Algorithm {
681
+ hash: HashAlgorithmIdentifier;
682
+ }
683
+ interface RsaPssParams extends Algorithm {
684
+ saltLength: number;
685
+ }
686
+ interface EcKeyAlgorithm extends KeyAlgorithm {
687
+ namedCurve: string;
688
+ }
689
+ interface RsaHashedKeyAlgorithm extends KeyAlgorithm {
690
+ modulusLength: number;
691
+ publicExponent: Uint8Array;
692
+ hash: KeyAlgorithm;
693
+ }
694
+ interface CryptoKeyPair {
695
+ privateKey: CryptoKey;
696
+ publicKey: CryptoKey;
697
+ }
698
+ /* HMAC and AES keys generate, import and export as 'raw' and 'jwk'
699
+ * (PBKDF2 and HKDF keys import as 'raw'); ECDSA and RSA keys generate,
700
+ * import and export as 'spki', 'pkcs8' and 'jwk', and ECDSA public keys as
701
+ * 'raw'. */
628
702
  interface SubtleCrypto {
703
+ decrypt(
704
+ algorithm: AesGcmParams | AesCbcParams | AesCtrParams,
705
+ key: CryptoKey,
706
+ data: BufferSource,
707
+ ): Promise<ArrayBuffer>;
708
+ deriveBits(
709
+ algorithm: Pbkdf2Params | HkdfParams,
710
+ baseKey: CryptoKey,
711
+ length?: number | null,
712
+ ): Promise<ArrayBuffer>;
713
+ deriveKey(
714
+ algorithm: Pbkdf2Params | HkdfParams,
715
+ baseKey: CryptoKey,
716
+ derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams,
717
+ extractable: boolean,
718
+ keyUsages: readonly KeyUsage[],
719
+ ): Promise<CryptoKey>;
629
720
  digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;
721
+ encrypt(
722
+ algorithm: AesGcmParams | AesCbcParams | AesCtrParams,
723
+ key: CryptoKey,
724
+ data: BufferSource,
725
+ ): Promise<ArrayBuffer>;
726
+ exportKey(format: "jwk", key: CryptoKey): Promise<JsonWebKey>;
727
+ exportKey(format: Exclude<KeyFormat, "jwk">, key: CryptoKey): Promise<ArrayBuffer>;
728
+ generateKey(
729
+ algorithm: EcKeyGenParams | RsaHashedKeyGenParams | "Ed25519" | { name: "Ed25519" },
730
+ extractable: boolean,
731
+ keyUsages: readonly KeyUsage[],
732
+ ): Promise<CryptoKeyPair>;
733
+ generateKey(
734
+ algorithm: AesKeyGenParams | HmacKeyGenParams,
735
+ extractable: boolean,
736
+ keyUsages: readonly KeyUsage[],
737
+ ): Promise<CryptoKey>;
630
738
  importKey(
631
739
  format: "jwk",
632
740
  keyData: JsonWebKey,
633
- algorithm: AlgorithmIdentifier | HmacImportParams,
741
+ algorithm: AlgorithmIdentifier | HmacImportParams | EcKeyImportParams | RsaHashedImportParams,
634
742
  extractable: boolean,
635
743
  keyUsages: readonly KeyUsage[],
636
744
  ): Promise<CryptoKey>;
637
745
  importKey(
638
746
  format: Exclude<KeyFormat, "jwk">,
639
747
  keyData: BufferSource,
640
- algorithm: AlgorithmIdentifier | HmacImportParams,
748
+ algorithm: AlgorithmIdentifier | HmacImportParams | EcKeyImportParams | RsaHashedImportParams,
749
+ extractable: boolean,
750
+ keyUsages: readonly KeyUsage[],
751
+ ): Promise<CryptoKey>;
752
+ sign(
753
+ algorithm: AlgorithmIdentifier | EcdsaParams | RsaPssParams,
754
+ key: CryptoKey,
755
+ data: BufferSource,
756
+ ): Promise<ArrayBuffer>;
757
+ unwrapKey(
758
+ format: KeyFormat,
759
+ wrappedKey: BufferSource,
760
+ unwrappingKey: CryptoKey,
761
+ unwrapAlgorithm: AlgorithmIdentifier | AesGcmParams | AesCbcParams | AesCtrParams,
762
+ unwrappedKeyAlgorithm: AlgorithmIdentifier | HmacImportParams,
641
763
  extractable: boolean,
642
764
  keyUsages: readonly KeyUsage[],
643
765
  ): Promise<CryptoKey>;
644
- sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
645
766
  verify(
646
- algorithm: AlgorithmIdentifier,
767
+ algorithm: AlgorithmIdentifier | EcdsaParams | RsaPssParams,
647
768
  key: CryptoKey,
648
769
  signature: BufferSource,
649
770
  data: BufferSource,
650
771
  ): Promise<boolean>;
772
+ wrapKey(
773
+ format: KeyFormat,
774
+ key: CryptoKey,
775
+ wrappingKey: CryptoKey,
776
+ wrapAlgorithm: AlgorithmIdentifier | AesGcmParams | AesCbcParams | AesCtrParams,
777
+ ): Promise<ArrayBuffer>;
651
778
  }
652
779
  interface Crypto {
653
780
  readonly subtle: SubtleCrypto;
781
+ getRandomValues<
782
+ T extends
783
+ | Int8Array
784
+ | Uint8Array
785
+ | Uint8ClampedArray
786
+ | Int16Array
787
+ | Uint16Array
788
+ | Int32Array
789
+ | Uint32Array
790
+ | BigInt64Array
791
+ | BigUint64Array,
792
+ >(
793
+ typedArray: T,
794
+ ): T;
795
+ randomUUID(): `${string}-${string}-${string}-${string}-${string}`;
654
796
  }
655
797
 
656
798
  /* Capability-gated globals harness code probes behind feature guards
@@ -1379,13 +1521,13 @@ interface ImportMeta {
1379
1521
  * `recursive`); empty directories go through `rmdirSync`. */
1380
1522
  declare module "node:fs" {
1381
1523
  import { Readable, Writable } from "stream";
1382
- export function readFileSync(path: string | number, encoding: BufferEncoding): string;
1524
+ export function readFileSync(path: string | number | URL, encoding: BufferEncoding): string;
1383
1525
  export function readFileSync(
1384
- path: string | number,
1526
+ path: string | number | URL,
1385
1527
  options: { encoding: BufferEncoding },
1386
1528
  ): string;
1387
- export function readFileSync(path: string | number): Buffer;
1388
- export function readFileSync(path: string, options: unknown): string | Buffer;
1529
+ export function readFileSync(path: string | number | URL): Buffer;
1530
+ export function readFileSync(path: string | URL, options: unknown): string | Buffer;
1389
1531
  /* Error-first callbacks select string or Buffer data from their encoding.
1390
1532
  * Unknown options retain that union until the caller validates the value. */
1391
1533
  export function readFile(
@@ -1397,7 +1539,7 @@ declare module "node:fs" {
1397
1539
  * Node — an existing file keeps its permissions) and/or the utf8
1398
1540
  * encoding spelling. */
1399
1541
  export function writeFileSync(
1400
- path: string,
1542
+ path: string | URL,
1401
1543
  data: string,
1402
1544
  /* The options-record stance (see http.RequestOptions): flag fences
1403
1545
  * by name at the call site; undocumented keys drop like Node. */
@@ -1409,14 +1551,17 @@ declare module "node:fs" {
1409
1551
  },
1410
1552
  ): void;
1411
1553
  /* The bare-encoding spelling — the options record's encoding key alone. */
1412
- export function writeFileSync(path: string, data: string, encoding: "utf8" | "utf-8"): void;
1413
- export function writeFileSync(path: string, data: string | Uint8Array): void;
1414
- export function appendFileSync(path: string, data: string | Uint8Array): void;
1554
+ export function writeFileSync(path: string | URL, data: string, encoding: "utf8" | "utf-8"): void;
1555
+ export function writeFileSync(path: string | URL, data: string | Uint8Array): void;
1556
+ export function appendFileSync(path: string | URL, data: string | Uint8Array): void;
1415
1557
  export function existsSync(path: string): boolean;
1416
- export function mkdirSync(path: string): void;
1417
- export function mkdirSync(path: string, options: { recursive?: boolean; mode?: number }): void;
1418
- export function unlinkSync(path: string): void;
1419
- export function chmodSync(path: string, mode: number): void;
1558
+ export function mkdirSync(path: string | URL): void;
1559
+ export function mkdirSync(
1560
+ path: string | URL,
1561
+ options: { recursive?: boolean; mode?: number },
1562
+ ): void;
1563
+ export function unlinkSync(path: string | URL): void;
1564
+ export function chmodSync(path: string | URL, mode: number): void;
1420
1565
  export function fchmodSync(fd: number, mode: number): void;
1421
1566
  export function fsyncSync(fd: number): void;
1422
1567
  export function linkSync(
@@ -1514,29 +1659,29 @@ declare module "node:fs" {
1514
1659
  path: string | Uint8Array | URL,
1515
1660
  options: string | { encoding?: string | null } | null,
1516
1661
  ): string | Buffer;
1517
- export function chownSync(path: string, uid: number, gid: number): void;
1518
- export function lchownSync(path: string, uid: number, gid: number): void;
1662
+ export function chownSync(path: string | URL, uid: number, gid: number): void;
1663
+ export function lchownSync(path: string | URL, uid: number, gid: number): void;
1519
1664
  export function fchownSync(fd: number, uid: number, gid: number): void;
1520
- export function truncateSync(path: string, len?: number): void;
1665
+ export function truncateSync(path: string | URL, len?: number): void;
1521
1666
  /* The 2-argument form only (Node's mode flags have no lowering). The
1522
1667
  * destination is created or truncated carrying the SOURCE's mode. */
1523
- export function copyFileSync(src: string, dest: string): void;
1668
+ export function copyFileSync(src: string | URL, dest: string | URL): void;
1524
1669
  export function rename(
1525
1670
  oldPath: string,
1526
1671
  newPath: string,
1527
1672
  callback: (err: NodeJS.ErrnoException | null) => void,
1528
1673
  ): void;
1529
- export function renameSync(oldPath: string, newPath: string): void;
1530
- export function rmSync(path: string): void;
1674
+ export function renameSync(oldPath: string | URL, newPath: string | URL): void;
1675
+ export function rmSync(path: string | URL): void;
1531
1676
  /* maxRetries/retryDelay are accepted no-ops (Node retries around
1532
1677
  * EBUSY-class races; the synchronous lowering has no re-entrancy that
1533
1678
  * needs them). */
1534
1679
  export function rmSync(
1535
- path: string,
1680
+ path: string | URL,
1536
1681
  options: { recursive?: boolean; force?: boolean; maxRetries?: number; retryDelay?: number },
1537
1682
  ): void;
1538
- export function rmdirSync(path: string): void;
1539
- export function readdirSync(path: string): string[];
1683
+ export function rmdirSync(path: string | URL): void;
1684
+ export function readdirSync(path: string | URL): string[];
1540
1685
  /* The withFileTypes form: Dirent rows (name + parentPath + the type
1541
1686
  * probes — the honest subset of Node's Dirent surface). The type is
1542
1687
  * interned explicitly in type-mapper.ts (the record's hidden %dtype field
@@ -1550,7 +1695,7 @@ declare module "node:fs" {
1550
1695
  isSymbolicLink(): boolean;
1551
1696
  }
1552
1697
  export function readdirSync(
1553
- path: string,
1698
+ path: string | URL,
1554
1699
  /* The options-record stance (see http.RequestOptions): recursive
1555
1700
  * fences by name at the call site; undocumented keys drop like Node. */
1556
1701
  options: { withFileTypes: true; recursive?: boolean; [option: string]: unknown },
@@ -1599,7 +1744,7 @@ declare module "node:fs" {
1599
1744
  encoding?: "utf8" | "utf-8";
1600
1745
  bufferSize?: number;
1601
1746
  }
1602
- export function opendirSync(path: string, options?: OpenDirOptions): Dir;
1747
+ export function opendirSync(path: string | URL, options?: OpenDirOptions): Dir;
1603
1748
  /* fs.ReadStream / fs.WriteStream: runtime Readable and Writable streams
1604
1749
  * over a file (scr_fs_stream.c). The options are checked at runtime
1605
1750
  * with Node's rules; flags and mode are checked when the file opens, so
@@ -1641,8 +1786,8 @@ declare module "node:fs" {
1641
1786
  path: string | Buffer | URL,
1642
1787
  options?: BufferEncoding | WriteStreamOptions,
1643
1788
  ): WriteStream;
1644
- export function accessSync(path: string, mode?: number): void;
1645
- export function mkdtempSync(prefix: string): string;
1789
+ export function accessSync(path: string | URL, mode?: number): void;
1790
+ export function mkdtempSync(prefix: string | URL): string;
1646
1791
  export const constants: {
1647
1792
  readonly F_OK: number;
1648
1793
  readonly R_OK: number;
@@ -1745,34 +1890,34 @@ declare module "node:fs" {
1745
1890
  bigint?: boolean;
1746
1891
  throwIfNoEntry?: boolean;
1747
1892
  }
1748
- export function statSync(path: string, options?: undefined): Stats;
1893
+ export function statSync(path: string | URL, options?: undefined): Stats;
1749
1894
  export function statSync(
1750
- path: string,
1895
+ path: string | URL,
1751
1896
  options: StatSyncOptions & { bigint?: false; throwIfNoEntry: false },
1752
1897
  ): Stats | undefined;
1753
1898
  export function statSync(
1754
- path: string,
1899
+ path: string | URL,
1755
1900
  options: StatSyncOptions & { bigint?: false; throwIfNoEntry?: true },
1756
1901
  ): Stats;
1757
1902
  /* bigint: true type-checks so the lowering can name it as unsupported. */
1758
- export function statSync(path: string, options: StatSyncOptions & { bigint: true }): Stats;
1759
- export function statSync(path: string, options: StatSyncOptions): Stats | undefined;
1760
- export function lstatSync(path: string, options?: undefined): Stats;
1903
+ export function statSync(path: string | URL, options: StatSyncOptions & { bigint: true }): Stats;
1904
+ export function statSync(path: string | URL, options: StatSyncOptions): Stats | undefined;
1905
+ export function lstatSync(path: string | URL, options?: undefined): Stats;
1761
1906
  export function lstatSync(
1762
- path: string,
1907
+ path: string | URL,
1763
1908
  options: StatSyncOptions & { bigint?: false; throwIfNoEntry: false },
1764
1909
  ): Stats | undefined;
1765
1910
  export function lstatSync(
1766
- path: string,
1911
+ path: string | URL,
1767
1912
  options: StatSyncOptions & { bigint?: false; throwIfNoEntry?: true },
1768
1913
  ): Stats;
1769
1914
  /* bigint: true type-checks so the lowering can name it as unsupported. */
1770
- export function lstatSync(path: string, options: StatSyncOptions & { bigint: true }): Stats;
1771
- export function lstatSync(path: string, options: StatSyncOptions): Stats | undefined;
1915
+ export function lstatSync(path: string | URL, options: StatSyncOptions & { bigint: true }): Stats;
1916
+ export function lstatSync(path: string | URL, options: StatSyncOptions): Stats | undefined;
1772
1917
  /* The fd pair behind spawn's fd-stdio form: openSync(path, flags) →
1773
1918
  * the raw fd. Numeric flags use an inline OR of the O_* constants. */
1774
- export function openSync(path: string, flags: string): number;
1775
- export function openSync(path: string, flags: number, mode?: number): number;
1919
+ export function openSync(path: string | URL, flags: string): number;
1920
+ export function openSync(path: string | URL, flags: number, mode?: number): number;
1776
1921
  export function closeSync(fd: number): void;
1777
1922
  export function fdatasyncSync(fd: number): void;
1778
1923
  export function ftruncateSync(fd: number, len?: number): void;
@@ -1853,9 +1998,9 @@ declare module "node:fs" {
1853
1998
  export function fstatSync(fd: number): Stats;
1854
1999
  /* realpath(3) — resolves symlinks, `.`/`..`, throwing Node's fs error
1855
2000
  * shapes for missing paths. */
1856
- export function realpathSync(path: string): string;
2001
+ export function realpathSync(path: string | URL): string;
1857
2002
  export namespace realpathSync {
1858
- function native(path: string): string;
2003
+ function native(path: string | URL): string;
1859
2004
  }
1860
2005
  /* statfs(2)/statvfs(3) — the filesystem-capacity snapshot (the fields
1861
2006
  * Node's statfsSync reports; bavail × bsize is the free-space probe). */
@@ -2128,6 +2273,10 @@ declare module "fs/promises" {
2128
2273
  options: import("node:fs").GlobOptionsWithFileTypes,
2129
2274
  ): AsyncIterableIterator<import("node:fs").Dirent>;
2130
2275
  export function rm(path: string): Promise<void>;
2276
+ export function rm(
2277
+ path: string,
2278
+ options: { recursive?: boolean; force?: boolean; maxRetries?: number; retryDelay?: number },
2279
+ ): Promise<void>;
2131
2280
  export function stat(path: string): Promise<import("node:fs").Stats>;
2132
2281
  export function statfs(
2133
2282
  path: string | Uint8Array | URL,
@@ -2686,8 +2835,20 @@ declare module "crypto" {
2686
2835
  import { Transform } from "stream";
2687
2836
  export type KeyObjectType = "secret" | "public" | "private";
2688
2837
  export interface JsonWebKey {
2689
- kty?: string;
2838
+ crv?: string;
2839
+ d?: string;
2840
+ dp?: string;
2841
+ dq?: string;
2842
+ e?: string;
2690
2843
  k?: string;
2844
+ kty?: string;
2845
+ n?: string;
2846
+ p?: string;
2847
+ q?: string;
2848
+ qi?: string;
2849
+ x?: string;
2850
+ y?: string;
2851
+ [key: string]: unknown;
2691
2852
  }
2692
2853
  export interface JwkKeyExportOptions {
2693
2854
  format: "jwk";
@@ -2695,16 +2856,183 @@ declare module "crypto" {
2695
2856
  export interface KeyExportOptions {
2696
2857
  format?: "buffer" | undefined;
2697
2858
  }
2698
- /** Secret keys only; the asymmetric key types are not available. */
2859
+ export type KeyFormat = "pem" | "der" | "jwk";
2860
+ export interface AsymmetricKeyExportOptions<T extends KeyFormat> {
2861
+ type: "pkcs1" | "spki" | "pkcs8" | "sec1";
2862
+ format: T;
2863
+ }
2864
+ export interface AsymmetricKeyDetails {
2865
+ modulusLength?: number;
2866
+ publicExponent?: bigint;
2867
+ namedCurve?: string;
2868
+ }
2869
+ /* Secret keys, and RSA and EC private and public keys. */
2699
2870
  export class KeyObject {
2700
2871
  private constructor();
2701
2872
  type: KeyObjectType;
2702
2873
  symmetricKeySize?: number;
2703
2874
  asymmetricKeyType?: string;
2875
+ asymmetricKeyDetails?: AsymmetricKeyDetails;
2876
+ export(options: AsymmetricKeyExportOptions<"pem">): string | Buffer;
2877
+ export(options: AsymmetricKeyExportOptions<"der">): Buffer;
2704
2878
  export(options?: KeyExportOptions): Buffer;
2705
2879
  export(options: JwkKeyExportOptions): JsonWebKey;
2706
2880
  equals(otherKeyObject: KeyObject): boolean;
2707
2881
  }
2882
+ export interface PrivateKeyInput {
2883
+ key: string | Buffer;
2884
+ format?: "pem" | "der" | undefined;
2885
+ type?: "pkcs1" | "pkcs8" | "sec1" | undefined;
2886
+ encoding?: string | undefined;
2887
+ }
2888
+ export interface PublicKeyInput {
2889
+ key: string | Buffer;
2890
+ format?: "pem" | "der" | undefined;
2891
+ type?: "pkcs1" | "spki" | undefined;
2892
+ encoding?: string | undefined;
2893
+ }
2894
+ export interface JsonWebKeyInput {
2895
+ key: JsonWebKey;
2896
+ format: "jwk";
2897
+ }
2898
+ export function createPrivateKey(
2899
+ key: PrivateKeyInput | string | Buffer | JsonWebKeyInput,
2900
+ ): KeyObject;
2901
+ export function createPublicKey(
2902
+ key: PublicKeyInput | string | Buffer | KeyObject | JsonWebKeyInput,
2903
+ ): KeyObject;
2904
+ export interface KeyPairKeyObjectResult {
2905
+ publicKey: KeyObject;
2906
+ privateKey: KeyObject;
2907
+ }
2908
+ export interface KeyPairSyncResult<T1 extends string | Buffer, T2 extends string | Buffer> {
2909
+ publicKey: T1;
2910
+ privateKey: T2;
2911
+ }
2912
+ export interface RSAKeyPairKeyObjectOptions {
2913
+ modulusLength: number;
2914
+ publicExponent?: number | undefined;
2915
+ }
2916
+ export interface ECKeyPairKeyObjectOptions {
2917
+ namedCurve: string;
2918
+ }
2919
+ export interface RSAKeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {
2920
+ modulusLength: number;
2921
+ publicExponent?: number | undefined;
2922
+ publicKeyEncoding: { type: "pkcs1" | "spki"; format: PubF };
2923
+ privateKeyEncoding: { type: "pkcs1" | "pkcs8"; format: PrivF };
2924
+ }
2925
+ export interface ECKeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {
2926
+ namedCurve: string;
2927
+ publicKeyEncoding: { type: "pkcs1" | "spki"; format: PubF };
2928
+ privateKeyEncoding: { type: "sec1" | "pkcs8"; format: PrivF };
2929
+ }
2930
+ export function generateKeyPairSync(
2931
+ type: "rsa",
2932
+ options: RSAKeyPairOptions<"pem", "pem">,
2933
+ ): KeyPairSyncResult<string, string>;
2934
+ export function generateKeyPairSync(
2935
+ type: "rsa",
2936
+ options: RSAKeyPairOptions<"der", "der">,
2937
+ ): KeyPairSyncResult<Buffer, Buffer>;
2938
+ export function generateKeyPairSync(
2939
+ type: "rsa",
2940
+ options: RSAKeyPairKeyObjectOptions,
2941
+ ): KeyPairKeyObjectResult;
2942
+ export function generateKeyPairSync(
2943
+ type: "ec",
2944
+ options: ECKeyPairOptions<"pem", "pem">,
2945
+ ): KeyPairSyncResult<string, string>;
2946
+ export function generateKeyPairSync(
2947
+ type: "ec",
2948
+ options: ECKeyPairOptions<"der", "der">,
2949
+ ): KeyPairSyncResult<Buffer, Buffer>;
2950
+ export function generateKeyPairSync(
2951
+ type: "ec",
2952
+ options: ECKeyPairKeyObjectOptions,
2953
+ ): KeyPairKeyObjectResult;
2954
+ export interface ED25519KeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {
2955
+ publicKeyEncoding: { type: "spki"; format: PubF };
2956
+ privateKeyEncoding: { type: "pkcs8"; format: PrivF };
2957
+ }
2958
+ export function generateKeyPairSync(
2959
+ type: "ed25519",
2960
+ options: ED25519KeyPairOptions<"pem", "pem">,
2961
+ ): KeyPairSyncResult<string, string>;
2962
+ export function generateKeyPairSync(
2963
+ type: "ed25519",
2964
+ options: ED25519KeyPairOptions<"der", "der">,
2965
+ ): KeyPairSyncResult<Buffer, Buffer>;
2966
+ export function generateKeyPairSync(type: "ed25519", options?: {}): KeyPairKeyObjectResult;
2967
+ export function generateKeyPair(
2968
+ type: "ed25519",
2969
+ options: {} | undefined,
2970
+ callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
2971
+ ): void;
2972
+ export function generateKeyPair(
2973
+ type: "rsa",
2974
+ options: RSAKeyPairKeyObjectOptions,
2975
+ callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
2976
+ ): void;
2977
+ export function generateKeyPair(
2978
+ type: "ec",
2979
+ options: ECKeyPairKeyObjectOptions,
2980
+ callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
2981
+ ): void;
2982
+ export interface SigningOptions {
2983
+ padding?: number | undefined;
2984
+ saltLength?: number | undefined;
2985
+ dsaEncoding?: "der" | "ieee-p1363" | undefined;
2986
+ }
2987
+ export interface SignPrivateKeyInput extends PrivateKeyInput, SigningOptions {}
2988
+ export interface SignKeyObjectInput extends SigningOptions {
2989
+ key: KeyObject;
2990
+ }
2991
+ export interface VerifyPublicKeyInput extends PublicKeyInput, SigningOptions {}
2992
+ export interface VerifyKeyObjectInput extends SigningOptions {
2993
+ key: KeyObject;
2994
+ }
2995
+ export function sign(
2996
+ algorithm: string | null | undefined,
2997
+ data: ArrayBufferView,
2998
+ key: KeyObject | string | Buffer | SignKeyObjectInput | SignPrivateKeyInput,
2999
+ ): Buffer;
3000
+ export function verify(
3001
+ algorithm: string | null | undefined,
3002
+ data: ArrayBufferView,
3003
+ key: KeyObject | string | Buffer | VerifyKeyObjectInput | VerifyPublicKeyInput,
3004
+ signature: ArrayBufferView,
3005
+ ): boolean;
3006
+ /* Sign and Verify accumulate update() data; they are not usable as
3007
+ * writable streams. */
3008
+ export class Sign {
3009
+ private constructor();
3010
+ update(data: string | ArrayBufferView): this;
3011
+ update(data: string, inputEncoding: Encoding): this;
3012
+ sign(
3013
+ privateKey: KeyObject | string | Buffer | SignKeyObjectInput | SignPrivateKeyInput,
3014
+ ): Buffer;
3015
+ sign(
3016
+ privateKey: KeyObject | string | Buffer | SignKeyObjectInput | SignPrivateKeyInput,
3017
+ outputFormat: BinaryToTextEncoding,
3018
+ ): string;
3019
+ }
3020
+ export class Verify {
3021
+ private constructor();
3022
+ update(data: string | ArrayBufferView): this;
3023
+ update(data: string, inputEncoding: Encoding): this;
3024
+ verify(
3025
+ object: KeyObject | string | Buffer | VerifyKeyObjectInput | VerifyPublicKeyInput,
3026
+ signature: ArrayBufferView,
3027
+ ): boolean;
3028
+ verify(
3029
+ object: KeyObject | string | Buffer | VerifyKeyObjectInput | VerifyPublicKeyInput,
3030
+ signature: string,
3031
+ signatureEncoding?: BinaryToTextEncoding,
3032
+ ): boolean;
3033
+ }
3034
+ export function createSign(algorithm: string): Sign;
3035
+ export function createVerify(algorithm: string): Verify;
2708
3036
  export function createSecretKey(key: ArrayBufferView | ArrayBufferLike): KeyObject;
2709
3037
  export function createSecretKey(key: string, encoding: BufferEncoding): KeyObject;
2710
3038
  export function generateKeySync(type: "hmac" | "aes", options: { length: number }): KeyObject;
@@ -2777,8 +3105,7 @@ declare module "crypto" {
2777
3105
  b: ArrayBufferView | ArrayBufferLike,
2778
3106
  ): boolean;
2779
3107
  /* 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. */
3108
+ * typed arrays, filled in place and returned. */
2782
3109
  type RandomValuesArray =
2783
3110
  | Int8Array
2784
3111
  | Uint8Array
@@ -2790,9 +3117,9 @@ declare module "crypto" {
2790
3117
  | BigInt64Array
2791
3118
  | BigUint64Array;
2792
3119
  export function getRandomValues<T extends RandomValuesArray>(typedArray: T): T;
2793
- export const webcrypto: {
2794
- getRandomValues<T extends RandomValuesArray>(typedArray: T): T;
2795
- };
3120
+ /* The WebCrypto global's object and its SubtleCrypto. */
3121
+ export const webcrypto: Crypto;
3122
+ export const subtle: SubtleCrypto;
2796
3123
  export function randomFillSync<T extends ArrayBufferView | ArrayBufferLike>(
2797
3124
  buffer: T,
2798
3125
  offset?: number,
@@ -2845,7 +3172,8 @@ declare module "crypto" {
2845
3172
  ): void;
2846
3173
  export type BinaryLike = string | ArrayBuffer | ArrayBufferView;
2847
3174
  /* Cipheriv/Decipheriv: aes-128/192/256 in cbc, ctr, and gcm modes and
2848
- * chacha20-poly1305. The stream.Transform members are not declared. */
3175
+ * chacha20-poly1305. Both are Transforms: written chunks go through
3176
+ * update(), and the end pushes final(). */
2849
3177
  export type CipherGCMTypes = "aes-128-gcm" | "aes-192-gcm" | "aes-256-gcm";
2850
3178
  export type CipherChaCha20Poly1305Types = "chacha20-poly1305";
2851
3179
  export type CipherKey = BinaryLike | KeyObject;
@@ -2855,7 +3183,7 @@ declare module "crypto" {
2855
3183
  export interface CipherChaCha20Poly1305Options {
2856
3184
  authTagLength?: number;
2857
3185
  }
2858
- export interface Cipheriv {
3186
+ export interface Cipheriv extends Transform {
2859
3187
  update(data: string | ArrayBufferView): Buffer;
2860
3188
  update(data: string, inputEncoding: BufferEncoding): Buffer;
2861
3189
  update(data: ArrayBufferView, inputEncoding: undefined, outputEncoding: BufferEncoding): string;
@@ -2876,7 +3204,7 @@ declare module "crypto" {
2876
3204
  setAAD(buffer: ArrayBufferView, options?: { plaintextLength: number }): this;
2877
3205
  getAuthTag(): Buffer;
2878
3206
  }
2879
- export interface Decipheriv {
3207
+ export interface Decipheriv extends Transform {
2880
3208
  update(data: ArrayBufferView): Buffer;
2881
3209
  update(data: string, inputEncoding: BufferEncoding): Buffer;
2882
3210
  update(data: ArrayBufferView, inputEncoding: undefined, outputEncoding: BufferEncoding): string;
@@ -2933,6 +3261,96 @@ declare module "crypto" {
2933
3261
  iv: BinaryLike | null,
2934
3262
  options?: { authTagLength?: number },
2935
3263
  ): Decipheriv;
3264
+ export type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid";
3265
+ export class ECDH {
3266
+ private constructor();
3267
+ static convertKey(
3268
+ key: BinaryLike,
3269
+ curve: string,
3270
+ inputEncoding?: BinaryToTextEncoding,
3271
+ outputEncoding?: "latin1" | "hex" | "base64" | "base64url",
3272
+ format?: ECDHKeyFormat,
3273
+ ): Buffer | string;
3274
+ generateKeys(): Buffer;
3275
+ generateKeys(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string;
3276
+ computeSecret(otherPublicKey: ArrayBufferView): Buffer;
3277
+ computeSecret(otherPublicKey: string, inputEncoding: BinaryToTextEncoding): Buffer;
3278
+ computeSecret(otherPublicKey: ArrayBufferView, outputEncoding: BinaryToTextEncoding): string;
3279
+ computeSecret(
3280
+ otherPublicKey: string,
3281
+ inputEncoding: BinaryToTextEncoding,
3282
+ outputEncoding: BinaryToTextEncoding,
3283
+ ): string;
3284
+ getPrivateKey(): Buffer;
3285
+ getPrivateKey(encoding: BinaryToTextEncoding): string;
3286
+ getPublicKey(encoding?: null, format?: ECDHKeyFormat): Buffer;
3287
+ getPublicKey(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string;
3288
+ setPrivateKey(privateKey: ArrayBufferView): void;
3289
+ setPrivateKey(privateKey: string, encoding: BinaryToTextEncoding): void;
3290
+ }
3291
+ export function createECDH(curveName: string): ECDH;
3292
+ export class DiffieHellman {
3293
+ private constructor();
3294
+ generateKeys(): Buffer;
3295
+ generateKeys(encoding: BinaryToTextEncoding): string;
3296
+ computeSecret(
3297
+ otherPublicKey: ArrayBufferView,
3298
+ inputEncoding?: null,
3299
+ outputEncoding?: null,
3300
+ ): Buffer;
3301
+ computeSecret(
3302
+ otherPublicKey: string,
3303
+ inputEncoding: BinaryToTextEncoding,
3304
+ outputEncoding?: null,
3305
+ ): Buffer;
3306
+ computeSecret(
3307
+ otherPublicKey: ArrayBufferView,
3308
+ inputEncoding: null,
3309
+ outputEncoding: BinaryToTextEncoding,
3310
+ ): string;
3311
+ computeSecret(
3312
+ otherPublicKey: string,
3313
+ inputEncoding: BinaryToTextEncoding,
3314
+ outputEncoding: BinaryToTextEncoding,
3315
+ ): string;
3316
+ getPrime(): Buffer;
3317
+ getPrime(encoding: BinaryToTextEncoding): string;
3318
+ getGenerator(): Buffer;
3319
+ getGenerator(encoding: BinaryToTextEncoding): string;
3320
+ getPublicKey(): Buffer;
3321
+ getPublicKey(encoding: BinaryToTextEncoding): string;
3322
+ getPrivateKey(): Buffer;
3323
+ getPrivateKey(encoding: BinaryToTextEncoding): string;
3324
+ setPublicKey(publicKey: ArrayBufferView): void;
3325
+ setPublicKey(publicKey: string, encoding: BufferEncoding): void;
3326
+ setPrivateKey(privateKey: ArrayBufferView): void;
3327
+ setPrivateKey(privateKey: string, encoding: BufferEncoding): void;
3328
+ verifyError: number;
3329
+ }
3330
+ export type DiffieHellmanGroup = Omit<DiffieHellman, "setPublicKey" | "setPrivateKey">;
3331
+ export function createDiffieHellman(primeLength: number, generator?: number): DiffieHellman;
3332
+ export function createDiffieHellman(
3333
+ prime: ArrayBuffer | ArrayBufferView,
3334
+ generator?: number | ArrayBuffer | ArrayBufferView,
3335
+ ): DiffieHellman;
3336
+ export function createDiffieHellman(
3337
+ prime: ArrayBuffer | ArrayBufferView,
3338
+ generator: string,
3339
+ generatorEncoding: BinaryToTextEncoding,
3340
+ ): DiffieHellman;
3341
+ export function createDiffieHellman(
3342
+ prime: string,
3343
+ primeEncoding: BinaryToTextEncoding,
3344
+ generator?: number | ArrayBuffer | ArrayBufferView,
3345
+ ): DiffieHellman;
3346
+ export function createDiffieHellman(
3347
+ prime: string,
3348
+ primeEncoding: BinaryToTextEncoding,
3349
+ generator: string,
3350
+ generatorEncoding: BinaryToTextEncoding,
3351
+ ): DiffieHellman;
3352
+ export function getDiffieHellman(groupName: string): DiffieHellmanGroup;
3353
+ export function createDiffieHellmanGroup(name: string): DiffieHellmanGroup;
2936
3354
  export interface ScryptOptions {
2937
3355
  N?: number;
2938
3356
  r?: number;
@@ -4743,8 +5161,8 @@ declare module "net" {
4743
5161
  * unshift — read answers exactly n buffered bytes or null. */
4744
5162
  read(size?: number): Buffer | null;
4745
5163
  unshift(chunk: Uint8Array): void;
4746
- /* secureConnect/session are TLS-socket events declared on the shared
4747
- * socket surface (the lowering collapses TLSSocket onto this kind):
5164
+ /* secureConnect/secure/session are TLS-socket events declared on the
5165
+ * shared socket surface (the lowering collapses TLSSocket onto this kind):
4748
5166
  * the runtime gates on the transport, so a plain socket's
4749
5167
  * registration never fires — Node's exact split. 'session' fires
4750
5168
  * once with the serialized session (the received-ticket event). */
@@ -4752,7 +5170,15 @@ declare module "net" {
4752
5170
  /* After setEncoding the chunk is a string. */
4753
5171
  on(event: "data", listener: (chunk: string) => void): void;
4754
5172
  on(
4755
- event: "end" | "connect" | "ready" | "timeout" | "readable" | "finish" | "secureConnect",
5173
+ event:
5174
+ | "end"
5175
+ | "connect"
5176
+ | "ready"
5177
+ | "timeout"
5178
+ | "readable"
5179
+ | "finish"
5180
+ | "secureConnect"
5181
+ | "secure",
4756
5182
  listener: () => void,
4757
5183
  ): void;
4758
5184
  on(event: "close", listener: (hadError: boolean) => void): void;
@@ -4768,7 +5194,15 @@ declare module "net" {
4768
5194
  /* After setEncoding the chunk is a string. */
4769
5195
  addListener(event: "data", listener: (chunk: string) => void): void;
4770
5196
  addListener(
4771
- event: "end" | "connect" | "ready" | "timeout" | "readable" | "finish" | "secureConnect",
5197
+ event:
5198
+ | "end"
5199
+ | "connect"
5200
+ | "ready"
5201
+ | "timeout"
5202
+ | "readable"
5203
+ | "finish"
5204
+ | "secureConnect"
5205
+ | "secure",
4772
5206
  listener: () => void,
4773
5207
  ): void;
4774
5208
  addListener(event: "close", listener: (hadError: boolean) => void): void;
@@ -4783,7 +5217,15 @@ declare module "net" {
4783
5217
  /* After setEncoding the chunk is a string. */
4784
5218
  once(event: "data", listener: (chunk: string) => void): void;
4785
5219
  once(
4786
- event: "end" | "connect" | "ready" | "timeout" | "readable" | "finish" | "secureConnect",
5220
+ event:
5221
+ | "end"
5222
+ | "connect"
5223
+ | "ready"
5224
+ | "timeout"
5225
+ | "readable"
5226
+ | "finish"
5227
+ | "secureConnect"
5228
+ | "secure",
4787
5229
  listener: () => void,
4788
5230
  ): void;
4789
5231
  once(event: "close", listener: (hadError: boolean) => void): void;
@@ -4834,9 +5276,10 @@ declare module "net" {
4834
5276
  on(event: "timeout", listener: (socket: Socket) => void): void;
4835
5277
  on(event: "error", listener: (err: Error) => void): void;
4836
5278
  /* The WebSocket handover: fires INSTEAD of 'request' for
4837
- * Connection: upgrade requests, with the raw socket + head bytes. */
5279
+ * Connection: upgrade requests, with the raw socket + head bytes;
5280
+ * 'connect' is its twin for CONNECT requests (HTTP tunneling). */
4838
5281
  on(
4839
- event: "upgrade",
5282
+ event: "upgrade" | "connect",
4840
5283
  listener: (req: import("http").IncomingMessage, socket: Socket, head: Buffer) => void,
4841
5284
  ): void;
4842
5285
  /* http.createServer(handler)'s event twin (a no-parser net server
@@ -4852,7 +5295,7 @@ declare module "net" {
4852
5295
  addListener(event: "timeout", listener: (socket: Socket) => void): void;
4853
5296
  addListener(event: "error", listener: (err: Error) => void): void;
4854
5297
  addListener(
4855
- event: "upgrade",
5298
+ event: "upgrade" | "connect",
4856
5299
  listener: (req: import("http").IncomingMessage, socket: Socket, head: Buffer) => void,
4857
5300
  ): void;
4858
5301
  addListener(
@@ -4865,7 +5308,7 @@ declare module "net" {
4865
5308
  once(event: "timeout", listener: (socket: Socket) => void): void;
4866
5309
  once(event: "error", listener: (err: Error) => void): void;
4867
5310
  once(
4868
- event: "upgrade",
5311
+ event: "upgrade" | "connect",
4869
5312
  listener: (req: import("http").IncomingMessage, socket: Socket, head: Buffer) => void,
4870
5313
  ): void;
4871
5314
  once(
@@ -4940,15 +5383,17 @@ declare module "net" {
4940
5383
  host?: string,
4941
5384
  connectListener?: () => void,
4942
5385
  ): Socket;
4943
- /* The caller-resolver dial (@types/node's net.LookupFunction, narrowed
4944
- * to the lowered shape): the runtime invokes it as Node does and dials
4945
- * the answered addresses in order under autoSelectFamily: true. */
5386
+ /* The caller-resolver dial (@types/node's net.LookupFunction): the
5387
+ * runtime invokes it as Node's autoSelectFamily dial does (options
5388
+ * { hints, all: true }, so the callback answers an address list) and
5389
+ * dials the answered addresses in order. */
4946
5390
  export type LookupFunction = (
4947
5391
  hostname: string,
4948
- options: unknown,
5392
+ options: import("node:dns").LookupOptions,
4949
5393
  callback: (
4950
5394
  err: NodeJS.ErrnoException | null,
4951
- addresses: { address: string; family: number }[],
5395
+ address: string | import("node:dns").LookupAddress[],
5396
+ family?: number,
4952
5397
  ) => void,
4953
5398
  ) => void;
4954
5399
  export function connect(
@@ -5334,6 +5779,7 @@ declare module "tls" {
5334
5779
  * split — authorizationError is the verify-failure CODE STRING
5335
5780
  * (DEPTH_ZERO_SELF_SIGNED_CERT, ...), or null. */
5336
5781
  export interface TLSSocket extends Socket {
5782
+ readonly encrypted: true;
5337
5783
  authorized: boolean;
5338
5784
  authorizationError: string | null;
5339
5785
  /* null before the handshake, then the negotiated protocol or false */
@@ -5345,6 +5791,21 @@ declare module "tls" {
5345
5791
  /* whether the handshake resumed a cached session */
5346
5792
  isSessionReused(): boolean;
5347
5793
  }
5794
+ /** new tls.TLSSocket(socket, options): the server-mode wrap of an open
5795
+ * socket (a server connection or an http CONNECT socket). The options
5796
+ * record reads at runtime; isServer, cert, key, secureContext,
5797
+ * ALPNProtocols, minVersion and maxVersion are implemented. */
5798
+ export interface TLSSocketOptions {
5799
+ isServer?: boolean;
5800
+ cert?: string | Uint8Array;
5801
+ key?: string | Uint8Array;
5802
+ secureContext?: SecureContext;
5803
+ ALPNProtocols?: string[] | Uint8Array;
5804
+ minVersion?: string;
5805
+ maxVersion?: string;
5806
+ [option: string]: unknown;
5807
+ }
5808
+ export const TLSSocket: new (socket: Socket, options: TLSSocketOptions) => TLSSocket;
5348
5809
  export interface CipherNameAndProtocol {
5349
5810
  name: string;
5350
5811
  standardName: string;
@@ -5353,12 +5814,14 @@ declare module "tls" {
5353
5814
  export const DEFAULT_MIN_VERSION: string;
5354
5815
  export const DEFAULT_MAX_VERSION: string;
5355
5816
  /** tls.connect options — the RUNTIME options record (members read at
5356
- * runtime; port/host/rejectUnauthorized/ca/servername are the
5817
+ * runtime; port/host/socket/rejectUnauthorized/ca/servername are the
5357
5818
  * honestly-implemented set, every other documented member throws the
5358
5819
  * runtime fence — the options-record stance's divergence-66 shape). */
5359
5820
  export interface ConnectionOptions {
5360
5821
  port?: number;
5361
5822
  host?: string;
5823
+ /* an open socket to run the client handshake over */
5824
+ socket?: Socket;
5362
5825
  rejectUnauthorized?: boolean;
5363
5826
  ca?: string | Uint8Array | ReadonlyArray<string | Uint8Array>;
5364
5827
  servername?: string;
@@ -6593,11 +7056,10 @@ declare module "node:events" {
6593
7056
  * write(chunk, enc, cb) {} })`, Duplex/Transform/PassThrough, push/read,
6594
7057
  * flowing vs paused, write/end backpressure + 'drain', pipe/unpipe, and
6595
7058
  * destroy — with Node's event orderings. Chunks are BYTES (Buffer), with
6596
- * utf8 strings converted at push/write like Node; objectMode and
6597
- * setEncoding are declared so uses fence at their sites with their own
6598
- * words. `class My extends Readable` (the _read override form) is a
6599
- * separate feature and fences at the class declaration. The runtime-fired
6600
- * events carry per-class FORCED argument tuples ('data' is one Buffer,
7059
+ * strings converted at push/write like Node, and any value on an
7060
+ * object-mode side (objectMode, readableObjectMode, writableObjectMode —
7061
+ * the object-mode constructor overloads come first). The runtime-fired
7062
+ * events carry per-class FORCED argument tuples ('data' is one chunk,
6601
7063
  * 'error' one Error, 'pipe'/'unpipe' one Readable, the rest empty) — the
6602
7064
  * overloads below hand tsc the same contract so unannotated listener
6603
7065
  * parameters contextually type in .js sources. */
@@ -6703,6 +7165,51 @@ declare module "stream" {
6703
7165
  signal?: AbortSignal;
6704
7166
  }
6705
7167
 
7168
+ /* Object-mode options (objectMode: true, or a Duplex's or Transform's
7169
+ * readableObjectMode / writableObjectMode): chunks and completion data
7170
+ * are any values, and an object-mode write's encoding argument reaches
7171
+ * write/transform as passed (undefined when absent, null when a
7172
+ * callback took its place). The constructors take these before the
7173
+ * byte-mode options, so a byte-mode stream's callbacks keep Buffer
7174
+ * chunks. */
7175
+ type ObjectModeEncoding = string | null | undefined;
7176
+ type ObjectModeFlag =
7177
+ | { objectMode: true }
7178
+ | { readableObjectMode: true }
7179
+ | { writableObjectMode: true };
7180
+ interface ObjectWritableOptions extends Omit<WritableOptions, "objectMode" | "write"> {
7181
+ objectMode: true;
7182
+ write?(
7183
+ this: Writable,
7184
+ chunk: any,
7185
+ encoding: ObjectModeEncoding,
7186
+ callback: (error?: Error | null) => void,
7187
+ ): void;
7188
+ }
7189
+ type ObjectDuplexOptions = Omit<DuplexOptions, "write"> & {
7190
+ write?(
7191
+ this: Duplex,
7192
+ chunk: any,
7193
+ encoding: ObjectModeEncoding,
7194
+ callback: (error?: Error | null) => void,
7195
+ ): void;
7196
+ } & ObjectModeFlag;
7197
+ type ObjectTransformOptions = Omit<TransformOptions, "transform" | "flush" | "write"> & {
7198
+ transform?(
7199
+ this: Transform,
7200
+ chunk: any,
7201
+ encoding: ObjectModeEncoding,
7202
+ callback: (error?: Error | null, data?: any) => void,
7203
+ ): void;
7204
+ flush?(this: Transform, callback: (error?: Error | null, data?: any) => void): void;
7205
+ write?(
7206
+ this: Transform,
7207
+ chunk: any,
7208
+ encoding: ObjectModeEncoding,
7209
+ callback: (error?: Error | null) => void,
7210
+ ): void;
7211
+ } & ObjectModeFlag;
7212
+
6706
7213
  /* The operators' options: concurrency and highWaterMark bound map's
6707
7214
  * in-flight callbacks and queued results. */
6708
7215
  interface ArrayOptions {
@@ -6722,7 +7229,10 @@ declare module "stream" {
6722
7229
  [Symbol.asyncIterator](): AsyncIterableIterator<any>;
6723
7230
  iterator(options?: { destroyOnReturn?: boolean }): AsyncIterableIterator<any>;
6724
7231
  push(chunk: Buffer | string | null, encoding?: string): boolean;
7232
+ /* An object-mode stream's values. */
7233
+ push(chunk: any, encoding?: string): boolean;
6725
7234
  unshift(chunk: Buffer | string, encoding?: string): void;
7235
+ unshift(chunk: any, encoding?: string): void;
6726
7236
  read(size?: number): Buffer | null;
6727
7237
  pause(): this;
6728
7238
  resume(): this;
@@ -6829,6 +7339,7 @@ declare module "stream" {
6829
7339
  }
6830
7340
 
6831
7341
  class Writable extends EventEmitter {
7342
+ constructor(opts: ObjectWritableOptions);
6832
7343
  constructor(opts?: WritableOptions);
6833
7344
  /* The underscore-method surface (see Readable). */
6834
7345
  _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
@@ -6844,9 +7355,19 @@ declare module "stream" {
6844
7355
  encoding: string,
6845
7356
  callback?: (error?: Error | null) => void,
6846
7357
  ): boolean;
7358
+ /* An object-mode stream's values (the encoding argument reaches
7359
+ * _write as passed). */
7360
+ write(chunk: any, callback?: (error?: Error | null) => void): boolean;
7361
+ write(
7362
+ chunk: any,
7363
+ encoding: ObjectModeEncoding,
7364
+ callback?: (error?: Error | null) => void,
7365
+ ): boolean;
6847
7366
  end(callback?: () => void): this;
6848
7367
  end(chunk: Buffer | string, callback?: () => void): this;
6849
7368
  end(chunk: Buffer | string, encoding: string, callback?: () => void): this;
7369
+ end(chunk: any, callback?: () => void): this;
7370
+ end(chunk: any, encoding: ObjectModeEncoding, callback?: () => void): this;
6850
7371
  cork(): void;
6851
7372
  uncork(): void;
6852
7373
  setDefaultEncoding(encoding: string): this;
@@ -6896,6 +7417,7 @@ declare module "stream" {
6896
7417
  * mirrors @types/node: extends Readable, the writable half declared
6897
7418
  * again. The lowering treats both halves as first-class. */
6898
7419
  class Duplex extends Readable {
7420
+ constructor(opts: ObjectDuplexOptions);
6899
7421
  constructor(opts?: DuplexOptions);
6900
7422
  /* The underscore-method surface (see Readable). */
6901
7423
  _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
@@ -6910,9 +7432,19 @@ declare module "stream" {
6910
7432
  encoding: string,
6911
7433
  callback?: (error?: Error | null) => void,
6912
7434
  ): boolean;
7435
+ /* An object-mode stream's values (the encoding argument reaches
7436
+ * _write as passed). */
7437
+ write(chunk: any, callback?: (error?: Error | null) => void): boolean;
7438
+ write(
7439
+ chunk: any,
7440
+ encoding: ObjectModeEncoding,
7441
+ callback?: (error?: Error | null) => void,
7442
+ ): boolean;
6913
7443
  end(callback?: () => void): this;
6914
7444
  end(chunk: Buffer | string, callback?: () => void): this;
6915
7445
  end(chunk: Buffer | string, encoding: string, callback?: () => void): this;
7446
+ end(chunk: any, callback?: () => void): this;
7447
+ end(chunk: any, encoding: ObjectModeEncoding, callback?: () => void): this;
6916
7448
  cork(): void;
6917
7449
  uncork(): void;
6918
7450
  setDefaultEncoding(encoding: string): this;
@@ -6984,16 +7516,18 @@ declare module "stream" {
6984
7516
  }
6985
7517
 
6986
7518
  class Transform extends Duplex {
7519
+ constructor(opts: ObjectTransformOptions);
6987
7520
  constructor(opts?: TransformOptions);
6988
7521
  /* The underscore-method surface (see Readable). */
6989
7522
  _transform(
6990
7523
  chunk: any,
6991
7524
  encoding: string,
6992
- callback: (error?: Error | null, data?: Buffer | string) => void,
7525
+ callback: (error?: Error | null, data?: any) => void,
6993
7526
  ): void;
6994
- _flush(callback: (error?: Error | null, data?: Buffer | string) => void): void;
7527
+ _flush(callback: (error?: Error | null, data?: any) => void): void;
6995
7528
  }
6996
7529
  class PassThrough extends Transform {
7530
+ constructor(opts: ObjectTransformOptions);
6997
7531
  constructor(opts?: TransformOptions);
6998
7532
  }
6999
7533