@scriptc/compiler 0.3.3 → 0.3.5

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 (352) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +844 -36
  2. package/dist/backend/cycle-mutability.d.ts +5 -0
  3. package/dist/backend/cycle-mutability.js +62 -3
  4. package/dist/backend/cycle-mutability.js.map +1 -1
  5. package/dist/backend/executable-features.js +1 -0
  6. package/dist/backend/executable-features.js.map +1 -1
  7. package/dist/backend/library-pack.js +1 -0
  8. package/dist/backend/library-pack.js.map +1 -1
  9. package/dist/backend/llvm/array-search.js +1 -1
  10. package/dist/backend/llvm/array-search.js.map +1 -1
  11. package/dist/backend/llvm/call-lifetimes.d.ts +11 -1
  12. package/dist/backend/llvm/call-lifetimes.js +30 -3
  13. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  14. package/dist/backend/llvm/call-lifetimes.test.js +31 -1
  15. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  16. package/dist/backend/llvm/common.d.ts +5 -0
  17. package/dist/backend/llvm/common.js +7 -0
  18. package/dist/backend/llvm/common.js.map +1 -1
  19. package/dist/backend/llvm/constant-callbacks.d.ts +2 -21
  20. package/dist/backend/llvm/constant-callbacks.js +36 -219
  21. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  22. package/dist/backend/llvm/constant-callbacks.test.js +22 -0
  23. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  24. package/dist/backend/llvm/dense-array-access.d.ts +9 -0
  25. package/dist/backend/llvm/dense-array-access.js +29 -3
  26. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  27. package/dist/backend/llvm/dyn.d.ts +46 -1
  28. package/dist/backend/llvm/dyn.js +218 -33
  29. package/dist/backend/llvm/dyn.js.map +1 -1
  30. package/dist/backend/llvm/emitter.d.ts +87 -1
  31. package/dist/backend/llvm/emitter.js +568 -61
  32. package/dist/backend/llvm/emitter.js.map +1 -1
  33. package/dist/backend/llvm/expr-async.js +17 -7
  34. package/dist/backend/llvm/expr-async.js.map +1 -1
  35. package/dist/backend/llvm/expr-bytes.d.ts +9 -0
  36. package/dist/backend/llvm/expr-bytes.js +159 -64
  37. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  38. package/dist/backend/llvm/expr-callbacks.d.ts +11 -0
  39. package/dist/backend/llvm/expr-callbacks.js +53 -0
  40. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  41. package/dist/backend/llvm/expr-calls.d.ts +3 -1
  42. package/dist/backend/llvm/expr-calls.js +137 -3
  43. package/dist/backend/llvm/expr-calls.js.map +1 -1
  44. package/dist/backend/llvm/expr-containers.js +63 -29
  45. package/dist/backend/llvm/expr-containers.js.map +1 -1
  46. package/dist/backend/llvm/expr-primitives.js +9 -1
  47. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  48. package/dist/backend/llvm/expr-stream-bridges.js +4 -0
  49. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  50. package/dist/backend/llvm/integer-clones.d.ts +103 -0
  51. package/dist/backend/llvm/integer-clones.js +1336 -0
  52. package/dist/backend/llvm/integer-clones.js.map +1 -0
  53. package/dist/backend/llvm/integer-clones.test.d.ts +1 -0
  54. package/dist/backend/llvm/integer-clones.test.js +219 -0
  55. package/dist/backend/llvm/integer-clones.test.js.map +1 -0
  56. package/dist/backend/llvm/intern-tables.test.d.ts +1 -0
  57. package/dist/backend/llvm/intern-tables.test.js +77 -0
  58. package/dist/backend/llvm/intern-tables.test.js.map +1 -0
  59. package/dist/backend/llvm/lib-datagram.js +24 -0
  60. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  61. package/dist/backend/llvm/lib-dispatch.js +96 -1
  62. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  63. package/dist/backend/llvm/lib-filesystem.js +51 -0
  64. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  65. package/dist/backend/llvm/lib-network.js +16 -0
  66. package/dist/backend/llvm/lib-network.js.map +1 -1
  67. package/dist/backend/llvm/lib-process.js +24 -0
  68. package/dist/backend/llvm/lib-process.js.map +1 -1
  69. package/dist/backend/llvm/lib-shared.d.ts +5 -0
  70. package/dist/backend/llvm/lib-shared.js +114 -3
  71. package/dist/backend/llvm/lib-shared.js.map +1 -1
  72. package/dist/backend/llvm/lib-stream.js +87 -0
  73. package/dist/backend/llvm/lib-stream.js.map +1 -1
  74. package/dist/backend/llvm/lib-test.js +9 -0
  75. package/dist/backend/llvm/lib-test.js.map +1 -1
  76. package/dist/backend/llvm/lib-tls.js +6 -0
  77. package/dist/backend/llvm/lib-tls.js.map +1 -1
  78. package/dist/backend/llvm/local-array-reads.js +1 -1
  79. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  80. package/dist/backend/llvm/map-entry-fusion.d.ts +28 -0
  81. package/dist/backend/llvm/map-entry-fusion.js +233 -0
  82. package/dist/backend/llvm/map-entry-fusion.js.map +1 -0
  83. package/dist/backend/llvm/map-entry-fusion.test.d.ts +1 -0
  84. package/dist/backend/llvm/map-entry-fusion.test.js +183 -0
  85. package/dist/backend/llvm/map-entry-fusion.test.js.map +1 -0
  86. package/dist/backend/llvm/map-number-lookup.d.ts +6 -0
  87. package/dist/backend/llvm/map-number-lookup.js +23 -1
  88. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  89. package/dist/backend/llvm/map-number-lookup.test.js +60 -5
  90. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  91. package/dist/backend/llvm/map-read-lifetimes.d.ts +11 -0
  92. package/dist/backend/llvm/map-read-lifetimes.js +92 -1
  93. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  94. package/dist/backend/llvm/map-read-lifetimes.test.js +131 -3
  95. package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
  96. package/dist/backend/llvm/publish.d.ts +21 -0
  97. package/dist/backend/llvm/publish.js +101 -11
  98. package/dist/backend/llvm/publish.js.map +1 -1
  99. package/dist/backend/llvm/publish.test.d.ts +1 -0
  100. package/dist/backend/llvm/publish.test.js +94 -0
  101. package/dist/backend/llvm/publish.test.js.map +1 -0
  102. package/dist/backend/llvm/record-results.js +76 -2
  103. package/dist/backend/llvm/record-results.js.map +1 -1
  104. package/dist/backend/llvm/record-sources.d.ts +7 -0
  105. package/dist/backend/llvm/record-sources.js +14 -0
  106. package/dist/backend/llvm/record-sources.js.map +1 -0
  107. package/dist/backend/llvm/reference-writes.js +5 -2
  108. package/dist/backend/llvm/reference-writes.js.map +1 -1
  109. package/dist/backend/llvm/regions.d.ts +4 -1
  110. package/dist/backend/llvm/regions.js +12 -3
  111. package/dist/backend/llvm/regions.js.map +1 -1
  112. package/dist/backend/llvm/shapes.d.ts +9 -3
  113. package/dist/backend/llvm/shapes.js +18 -14
  114. package/dist/backend/llvm/shapes.js.map +1 -1
  115. package/dist/backend/llvm/shapes.test.js +5 -3
  116. package/dist/backend/llvm/shapes.test.js.map +1 -1
  117. package/dist/backend/llvm/string-lifetimes.test.js +75 -1
  118. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  119. package/dist/backend/llvm/string-reads.js +2 -2
  120. package/dist/backend/llvm/string-reads.js.map +1 -1
  121. package/dist/backend/llvm/string-slices.js +2 -2
  122. package/dist/backend/llvm/string-slices.js.map +1 -1
  123. package/dist/backend/llvm/walkers.d.ts +17 -0
  124. package/dist/backend/llvm/walkers.js +123 -0
  125. package/dist/backend/llvm/walkers.js.map +1 -1
  126. package/dist/backend/may-throw.js +4 -0
  127. package/dist/backend/may-throw.js.map +1 -1
  128. package/dist/backend/native/contracts.d.ts +5 -1
  129. package/dist/backend/native/executable.js +16 -6
  130. package/dist/backend/native/executable.js.map +1 -1
  131. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  132. package/dist/backend/native/runtime-inputs.js +1 -0
  133. package/dist/backend/native/runtime-inputs.js.map +1 -1
  134. package/dist/backend/native-codegen-core.d.ts +4 -4
  135. package/dist/backend/native-codegen-core.js +4 -6
  136. package/dist/backend/native-codegen-core.js.map +1 -1
  137. package/dist/backend/native-codegen.test.js +7 -8
  138. package/dist/backend/native-codegen.test.js.map +1 -1
  139. package/dist/backend/native-link-info-core.d.ts +3 -0
  140. package/dist/backend/native-link-info-core.js.map +1 -1
  141. package/dist/backend/publication.js +3 -1
  142. package/dist/backend/publication.js.map +1 -1
  143. package/dist/backend/runtime-abi.d.ts +2 -2
  144. package/dist/backend/runtime-abi.js +2 -2
  145. package/dist/backend/runtime-pack-targets.test.js +2 -1
  146. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  147. package/dist/backend/runtime-pack.test.js +2 -1
  148. package/dist/backend/runtime-pack.test.js.map +1 -1
  149. package/dist/backend/target-diagnostics.js +7 -0
  150. package/dist/backend/target-diagnostics.js.map +1 -1
  151. package/dist/backend/warm-cache.js +1 -0
  152. package/dist/backend/warm-cache.js.map +1 -1
  153. package/dist/executable/executable-cache.d.ts +1 -0
  154. package/dist/executable/executable-cache.js +1 -0
  155. package/dist/executable/executable-cache.js.map +1 -1
  156. package/dist/executable/executable-cache.test.js +1 -0
  157. package/dist/executable/executable-cache.test.js.map +1 -1
  158. package/dist/frontend/experimental-import.d.ts +5 -1
  159. package/dist/frontend/experimental-import.js +28 -3
  160. package/dist/frontend/experimental-import.js.map +1 -1
  161. package/dist/frontend/lowering/assert-instances.d.ts +38 -0
  162. package/dist/frontend/lowering/assert-instances.js +269 -0
  163. package/dist/frontend/lowering/assert-instances.js.map +1 -0
  164. package/dist/frontend/lowering/builtin-calls.js +3 -0
  165. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  166. package/dist/frontend/lowering/builtins/callable-aliases.js +54 -8
  167. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
  168. package/dist/frontend/lowering/builtins/child-process-async.d.ts +8 -6
  169. package/dist/frontend/lowering/builtins/child-process-async.js +45 -29
  170. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -1
  171. package/dist/frontend/lowering/builtins/compression.d.ts +18 -0
  172. package/dist/frontend/lowering/builtins/compression.js +175 -2
  173. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  174. package/dist/frontend/lowering/builtins/constants.js +7 -2
  175. package/dist/frontend/lowering/builtins/constants.js.map +1 -1
  176. package/dist/frontend/lowering/builtins/crypto.d.ts +6 -0
  177. package/dist/frontend/lowering/builtins/crypto.js +111 -1
  178. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  179. package/dist/frontend/lowering/builtins/errors.js +23 -0
  180. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  181. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +2 -0
  182. package/dist/frontend/lowering/builtins/filesystem-calls.js +5 -0
  183. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  184. package/dist/frontend/lowering/builtins/filesystem.js +60 -0
  185. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  186. package/dist/frontend/lowering/builtins/fs-streams.d.ts +26 -0
  187. package/dist/frontend/lowering/builtins/fs-streams.js +131 -0
  188. package/dist/frontend/lowering/builtins/fs-streams.js.map +1 -0
  189. package/dist/frontend/lowering/builtins/module-calls.js +5 -1
  190. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  191. package/dist/frontend/lowering/builtins/timers.d.ts +3 -0
  192. package/dist/frontend/lowering/builtins/timers.js +109 -23
  193. package/dist/frontend/lowering/builtins/timers.js.map +1 -1
  194. package/dist/frontend/lowering/call-signatures.js +6 -0
  195. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  196. package/dist/frontend/lowering/class-dynamic-dispatch.js +216 -20
  197. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  198. package/dist/frontend/lowering/containers/bytes.js +33 -12
  199. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  200. package/dist/frontend/lowering/devirtualize.js +20 -7
  201. package/dist/frontend/lowering/devirtualize.js.map +1 -1
  202. package/dist/frontend/lowering/intern-tables.d.ts +13 -0
  203. package/dist/frontend/lowering/intern-tables.js +536 -0
  204. package/dist/frontend/lowering/intern-tables.js.map +1 -0
  205. package/dist/frontend/lowering/lower-assert.js +700 -61
  206. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  207. package/dist/frontend/lowering/lower-async-iteration.js +11 -2
  208. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  209. package/dist/frontend/lowering/lower-calls.js +75 -6
  210. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  211. package/dist/frontend/lowering/lower-classes.d.ts +3 -0
  212. package/dist/frontend/lowering/lower-classes.js +43 -0
  213. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  214. package/dist/frontend/lowering/lower-dgram.js +132 -67
  215. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  216. package/dist/frontend/lowering/lower-event-emitter.d.ts +9 -1
  217. package/dist/frontend/lowering/lower-event-emitter.js +78 -0
  218. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  219. package/dist/frontend/lowering/lower-exprs.d.ts +4 -0
  220. package/dist/frontend/lowering/lower-exprs.js +144 -58
  221. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  222. package/dist/frontend/lowering/lower-inspect.d.ts +6 -0
  223. package/dist/frontend/lowering/lower-inspect.js +138 -39
  224. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  225. package/dist/frontend/lowering/lower-mock.d.ts +11 -0
  226. package/dist/frontend/lowering/lower-mock.js +504 -0
  227. package/dist/frontend/lowering/lower-mock.js.map +1 -0
  228. package/dist/frontend/lowering/lower-modules.js +7 -0
  229. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  230. package/dist/frontend/lowering/lower-server.d.ts +4 -0
  231. package/dist/frontend/lowering/lower-server.js +448 -30
  232. package/dist/frontend/lowering/lower-server.js.map +1 -1
  233. package/dist/frontend/lowering/lower-stmts.js +35 -8
  234. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  235. package/dist/frontend/lowering/lower-stream.d.ts +10 -6
  236. package/dist/frontend/lowering/lower-stream.js +794 -27
  237. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  238. package/dist/frontend/lowering/lower-test.js +86 -8
  239. package/dist/frontend/lowering/lower-test.js.map +1 -1
  240. package/dist/frontend/lowering/lowerer.d.ts +25 -1
  241. package/dist/frontend/lowering/lowerer.js +74 -9
  242. package/dist/frontend/lowering/lowerer.js.map +1 -1
  243. package/dist/frontend/lowering/pairs-snapshot.d.ts +6 -0
  244. package/dist/frontend/lowering/pairs-snapshot.js +49 -0
  245. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
  246. package/dist/frontend/lowering/record-sources.d.ts +15 -0
  247. package/dist/frontend/lowering/record-sources.js +46 -0
  248. package/dist/frontend/lowering/record-sources.js.map +1 -0
  249. package/dist/frontend/lowering/surfaces.d.ts +4 -0
  250. package/dist/frontend/lowering/surfaces.js +94 -16
  251. package/dist/frontend/lowering/surfaces.js.map +1 -1
  252. package/dist/frontend/lowering/zlib-constants.d.ts +1 -0
  253. package/dist/frontend/lowering/zlib-constants.js +181 -0
  254. package/dist/frontend/lowering/zlib-constants.js.map +1 -0
  255. package/dist/frontend/mock-shapes.d.ts +10 -0
  256. package/dist/frontend/mock-shapes.js +76 -0
  257. package/dist/frontend/mock-shapes.js.map +1 -0
  258. package/dist/frontend/pipeline.js +5 -3
  259. package/dist/frontend/pipeline.js.map +1 -1
  260. package/dist/frontend/program.js +6 -1
  261. package/dist/frontend/program.js.map +1 -1
  262. package/dist/frontend/resolve.d.ts +4 -0
  263. package/dist/frontend/resolve.js +14 -0
  264. package/dist/frontend/resolve.js.map +1 -1
  265. package/dist/frontend/tsc-codes.js +1 -0
  266. package/dist/frontend/tsc-codes.js.map +1 -1
  267. package/dist/frontend/type-mapper.d.ts +8 -0
  268. package/dist/frontend/type-mapper.js +155 -9
  269. package/dist/frontend/type-mapper.js.map +1 -1
  270. package/dist/index.js +2 -1
  271. package/dist/index.js.map +1 -1
  272. package/dist/ir/analysis.d.ts +10 -0
  273. package/dist/ir/analysis.js +35 -0
  274. package/dist/ir/analysis.js.map +1 -1
  275. package/dist/ir/analysis.test.js +69 -1
  276. package/dist/ir/analysis.test.js.map +1 -1
  277. package/dist/ir/builtin-effects.js +72 -0
  278. package/dist/ir/builtin-effects.js.map +1 -1
  279. package/dist/ir/builtin-signatures.d.ts +1 -1
  280. package/dist/ir/builtin-signatures.js +238 -15
  281. package/dist/ir/builtin-signatures.js.map +1 -1
  282. package/dist/ir/capture-values.d.ts +107 -0
  283. package/dist/ir/capture-values.js +850 -0
  284. package/dist/ir/capture-values.js.map +1 -0
  285. package/dist/ir/capture-values.test.d.ts +1 -0
  286. package/dist/ir/capture-values.test.js +268 -0
  287. package/dist/ir/capture-values.test.js.map +1 -0
  288. package/dist/ir/field-values.d.ts +16 -0
  289. package/dist/ir/field-values.js +128 -0
  290. package/dist/ir/field-values.js.map +1 -0
  291. package/dist/ir/field-values.test.d.ts +1 -0
  292. package/dist/ir/field-values.test.js +160 -0
  293. package/dist/ir/field-values.test.js.map +1 -0
  294. package/dist/ir/final-fields.d.ts +4 -1
  295. package/dist/ir/final-fields.js +11 -3
  296. package/dist/ir/final-fields.js.map +1 -1
  297. package/dist/ir/function-references.test.js +1 -1
  298. package/dist/ir/function-references.test.js.map +1 -1
  299. package/dist/ir/init-only-globals.d.ts +16 -0
  300. package/dist/ir/init-only-globals.js +121 -0
  301. package/dist/ir/init-only-globals.js.map +1 -0
  302. package/dist/ir/init-only-globals.test.d.ts +1 -0
  303. package/dist/ir/init-only-globals.test.js +115 -0
  304. package/dist/ir/init-only-globals.test.js.map +1 -0
  305. package/dist/ir/initializer-bindings.d.ts +18 -1
  306. package/dist/ir/initializer-bindings.js +91 -1
  307. package/dist/ir/initializer-bindings.js.map +1 -1
  308. package/dist/ir/initializer-bindings.test.js +57 -2
  309. package/dist/ir/initializer-bindings.test.js.map +1 -1
  310. package/dist/ir/int32-slots.d.ts +22 -0
  311. package/dist/ir/int32-slots.js +376 -13
  312. package/dist/ir/int32-slots.js.map +1 -1
  313. package/dist/ir/int32-slots.test.js +91 -8
  314. package/dist/ir/int32-slots.test.js.map +1 -1
  315. package/dist/ir/integer-loop-facts.d.ts +19 -1
  316. package/dist/ir/integer-loop-facts.js +155 -7
  317. package/dist/ir/integer-loop-facts.js.map +1 -1
  318. package/dist/ir/integer-ranges.d.ts +8 -5
  319. package/dist/ir/integer-ranges.js +147 -55
  320. package/dist/ir/integer-ranges.js.map +1 -1
  321. package/dist/ir/integer-ranges.test.js +225 -7
  322. package/dist/ir/integer-ranges.test.js.map +1 -1
  323. package/dist/ir/ir.d.ts +29 -2
  324. package/dist/ir/ir.js +17 -0
  325. package/dist/ir/ir.js.map +1 -1
  326. package/dist/ir/property-bags.d.ts +14 -0
  327. package/dist/ir/property-bags.js +121 -0
  328. package/dist/ir/property-bags.js.map +1 -0
  329. package/dist/ir/receiver-readers.d.ts +21 -0
  330. package/dist/ir/receiver-readers.js +217 -0
  331. package/dist/ir/receiver-readers.js.map +1 -0
  332. package/dist/ir/runtime-features.d.ts +1 -0
  333. package/dist/ir/runtime-features.js +34 -2
  334. package/dist/ir/runtime-features.js.map +1 -1
  335. package/dist/ir/validate.js +221 -5
  336. package/dist/ir/validate.js.map +1 -1
  337. package/dist/ir/validate.test.js +21 -0
  338. package/dist/ir/validate.test.js.map +1 -1
  339. package/dist/library/int-infer.js +3 -0
  340. package/dist/library/int-infer.js.map +1 -1
  341. package/dist/library/ir-policy.js +1 -0
  342. package/dist/library/ir-policy.js.map +1 -1
  343. package/dist/native/cli.js +1 -0
  344. package/dist/native/cli.js.map +1 -1
  345. package/dist/native/compiler.js +1 -3
  346. package/dist/native/compiler.js.map +1 -1
  347. package/dist/native/prepare.js +1 -0
  348. package/dist/native/prepare.js.map +1 -1
  349. package/dist/native/sanitizer.test.js +1 -0
  350. package/dist/native/sanitizer.test.js.map +1 -1
  351. package/package.json +20 -20
  352. package/surface-manifest.json +896 -49
@@ -1,5 +1,5 @@
1
1
  import { BIGINT_T } from "./ir.js";
2
- import { arrayOf, BOOL, BYTES_U8, bytesOf, CHILD_T, CHILDSTREAM_T, CHILDWRITER_T, CRYPTOHASH_T, CRYPTOHMAC_T, DATE_T, DIR_T, DGRAMSOCK_T, DYN, F64, FILEHANDLE_T, FSWATCHER_T, HTTP2SESSION_T, HTTP2STREAM_T, HTTPCLIENTREQ_T, HTTPREQ_T, HTTPRES_T, NETSERVER_T, NETSOCKET_T, PROCSTREAM_T, REGEX, SEARCH_PARAMS_T, SECURECTX_T, SPAWNRES_T, STATS_T, STRING, SYMBOL_T, TESTCTX_T, URL_T, VOID, } from "./ir.js";
2
+ import { arrayOf, BOOL, BYTES_U8, bytesOf, CHILD_T, CHILDSTREAM_T, CHILDWRITER_T, CRYPTOHASH_T, CRYPTOHMAC_T, DATE_T, DIR_T, DGRAMSOCK_T, DYN, F64, FILEHANDLE_T, FSWATCHER_T, HTTP2SESSION_T, HTTP2STREAM_T, HTTPCLIENTREQ_T, HTTPREQ_T, HTTPRES_T, NETSERVER_T, NETSOCKET_T, PROCSTREAM_T, REGEX, SEARCH_PARAMS_T, SECURECTX_T, SPAWNRES_T, STATS_T, STRING, SYMBOL_T, TESTCTX_T, URL_T, VOID, funcOf, } from "./ir.js";
3
3
  /** Preserve the closed names while giving every entry the same slot type. */
4
4
  function defineLibFnSignatures(signatures) {
5
5
  return signatures;
@@ -1277,6 +1277,22 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1277
1277
  },
1278
1278
  "dgram.unref": { argTypes: [DGRAMSOCK_T], result: VOID },
1279
1279
  "dgram.ref": { argTypes: [DGRAMSOCK_T], result: VOID },
1280
+ /** The socket options (scr_dgram.c): the membership calls take the
1281
+ * interface and whether it was given. May-throw. */
1282
+ "dgram.setBroadcast": { argTypes: [DGRAMSOCK_T, BOOL], result: VOID },
1283
+ "dgram.setTTL": { argTypes: [DGRAMSOCK_T, F64], result: F64 },
1284
+ "dgram.setMulticastTTL": { argTypes: [DGRAMSOCK_T, F64], result: F64 },
1285
+ "dgram.setMulticastLoopback": { argTypes: [DGRAMSOCK_T, BOOL], result: BOOL },
1286
+ "dgram.setMulticastInterface": { argTypes: [DGRAMSOCK_T, STRING], result: VOID },
1287
+ "dgram.addMembership": { argTypes: [DGRAMSOCK_T, STRING, STRING, BOOL], result: VOID },
1288
+ "dgram.dropMembership": { argTypes: [DGRAMSOCK_T, STRING, STRING, BOOL], result: VOID },
1289
+ "dgram.getRecvBufferSize": { argTypes: [DGRAMSOCK_T], result: F64 },
1290
+ "dgram.getSendBufferSize": { argTypes: [DGRAMSOCK_T], result: F64 },
1291
+ "dgram.setRecvBufferSize": { argTypes: [DGRAMSOCK_T, F64], result: VOID },
1292
+ "dgram.setSendBufferSize": { argTypes: [DGRAMSOCK_T, F64], result: VOID },
1293
+ "dgram.getSendQueueSize": { argTypes: [DGRAMSOCK_T], result: F64 },
1294
+ "dgram.getSendQueueCount": { argTypes: [DGRAMSOCK_T], result: F64 },
1295
+ "dgram.disconnect": { argTypes: [DGRAMSOCK_T], result: VOID },
1280
1296
  "dgram.onMessage": { argTypes: [DGRAMSOCK_T, null, BOOL], result: VOID },
1281
1297
  "dgram.onError": { argTypes: [DGRAMSOCK_T, null, BOOL], result: VOID },
1282
1298
  "dgram.onListening": {
@@ -1292,6 +1308,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1292
1308
  result: VOID,
1293
1309
  },
1294
1310
  "dns.lookup": { argTypes: [STRING, F64, null], result: VOID },
1311
+ /** Node's argument forms with dyn callbacks: lookup(hostname, options,
1312
+ * callback) and lookupService(address, port, callback). */
1313
+ "dns.lookupDyn": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
1314
+ "dns.lookupService": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
1315
+ "dns.getServers": { argTypes: [], result: DYN },
1316
+ "dns.getDefaultResultOrder": { argTypes: [], result: STRING },
1317
+ "dns.setDefaultResultOrder": { argTypes: [DYN], result: VOID },
1295
1318
  // node:test (scr_test.c). Bodies are program-dependent closures (0 or
1296
1319
  // 1 testCtx param, void or Promise<void> result — the spoke pinned the
1297
1320
  // shape): null slots. sub's result is the settled Promise<void> the
@@ -1311,7 +1334,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1311
1334
  "test.register": { argTypes: [STRING, F64, STRING, null, F64, STRING], result: VOID },
1312
1335
  "test.registerEmpty": { argTypes: [STRING, F64, STRING, F64, STRING], result: VOID },
1313
1336
  "test.suite": {
1314
- argTypes: [STRING, F64, STRING, { kind: "func", params: [], ret: VOID }, STRING],
1337
+ argTypes: [STRING, F64, STRING, { kind: "func", params: [], ret: VOID }, STRING, F64],
1315
1338
  result: VOID,
1316
1339
  },
1317
1340
  "test.hook": { argTypes: [F64, null, F64], result: VOID },
@@ -1324,6 +1347,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1324
1347
  "test.ctxTodo": { argTypes: [TESTCTX_T, STRING], result: VOID },
1325
1348
  "test.ctxDiagnostic": { argTypes: [TESTCTX_T, STRING], result: VOID },
1326
1349
  "test.ctxName": { argTypes: [TESTCTX_T], result: STRING },
1350
+ "test.ctxFullName": { argTypes: [TESTCTX_T], result: STRING },
1351
+ // t.before/t.after/t.beforeEach/t.afterEach (which: 0 before, 1 after,
1352
+ // 2 beforeEach, 3 afterEach); a throwing t.before is captured on the test.
1353
+ "test.ctxHook": { argTypes: [TESTCTX_T, F64, null, F64], result: VOID },
1354
+ // t.plan(count), and the count of one t.assert call.
1355
+ "test.ctxPlan": { argTypes: [TESTCTX_T, F64], result: VOID },
1356
+ "test.ctxCount": { argTypes: [TESTCTX_T], result: VOID },
1327
1357
  // node:http (scr_http.c over scr_net.c). The handler and the data
1328
1358
  // listeners are program-dependent closures (null slots, checked in the
1329
1359
  // libCall case); reqHeader's result is the interned string|undefined
@@ -1393,6 +1423,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1393
1423
  // resGetHeader answers the interned `string | undefined` union — the
1394
1424
  // reqHeader/envGet sentinel pattern (VOID here, checked specially).
1395
1425
  "http.resGetHeader": { argTypes: [HTTPRES_T, STRING], result: VOID },
1426
+ /** getHeader as Node answers it: the number, string or string[] that was
1427
+ * set, or undefined, as a checked-dynamic value. */
1428
+ "http.resGetHeaderDyn": { argTypes: [HTTPRES_T, STRING], result: DYN },
1396
1429
  "http.resGetHeaderNames": { argTypes: [HTTPRES_T], result: arrayOf(STRING) },
1397
1430
  "http.resGetRawHeaderNames": { argTypes: [HTTPRES_T], result: arrayOf(STRING) },
1398
1431
  "http.resGetHeaders": { argTypes: [HTTPRES_T], result: DYN },
@@ -1418,6 +1451,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1418
1451
  result: VOID,
1419
1452
  },
1420
1453
  "http.resSetHeader": { argTypes: [HTTPRES_T, STRING, STRING], result: VOID },
1454
+ /** setHeader / appendHeader with a number, string or array value; the
1455
+ * stored value keeps its type for getHeader/getHeaders. MAY THROW. */
1456
+ "http.resSetHeaderDyn": { argTypes: [HTTPRES_T, STRING, DYN], result: VOID },
1457
+ "http.resAppendHeader": { argTypes: [HTTPRES_T, STRING, DYN], result: VOID },
1421
1458
  "http.resWriteHead": { argTypes: [HTTPRES_T, F64], result: VOID },
1422
1459
  "http.resWriteHeadN": {
1423
1460
  argTypes: [HTTPRES_T, F64, arrayOf(STRING), arrayOf(STRING)],
@@ -1476,6 +1513,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1476
1513
  * ...] pairs in arrival order — the interned %headers.snapshot helper
1477
1514
  * builds the record over it, exactly the process.envPairs pattern. */
1478
1515
  "http.reqHeaderPairs": { argTypes: [HTTPREQ_T], result: arrayOf(STRING) },
1516
+ /** Every value of one header in arrival order (empty when absent): the
1517
+ * set-cookie array of a `{ ...req.headers }` snapshot. */
1518
+ "http.reqHeaderList": { argTypes: [HTTPREQ_T, STRING], result: arrayOf(STRING) },
1479
1519
  "http.reqRawTrailers": { argTypes: [HTTPREQ_T], result: arrayOf(STRING) },
1480
1520
  "http.reqTrailerPairs": { argTypes: [HTTPREQ_T], result: arrayOf(STRING) },
1481
1521
  "net.sockDestroyed": { argTypes: [NETSOCKET_T], result: BOOL },
@@ -1636,7 +1676,45 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1636
1676
  "net.sockResume": { argTypes: [NETSOCKET_T], result: NETSOCKET_T },
1637
1677
  "net.sockSetNoDelay": { argTypes: [NETSOCKET_T, BOOL], result: NETSOCKET_T },
1638
1678
  "net.sockDestroySoon": { argTypes: [NETSOCKET_T], result: VOID },
1679
+ /** RST close, answers the socket; throws ERR_INVALID_HANDLE_TYPE on TLS. */
1680
+ "net.sockResetAndDestroy": { argTypes: [NETSOCKET_T], result: NETSOCKET_T },
1681
+ /** socket.address(): { address, family, port } or {} as a dyn. */
1682
+ "net.sockAddress": { argTypes: [NETSOCKET_T], result: DYN },
1639
1683
  "net.sockBytesWritten": { argTypes: [NETSOCKET_T], result: F64 },
1684
+ /** remotePort (0), remoteFamily (1), localAddress (2), localPort (3),
1685
+ * localFamily (4): dyn values, undefined when unknown. */
1686
+ "net.sockAddrField": { argTypes: [NETSOCKET_T, F64], result: DYN },
1687
+ "net.sockBytesRead": { argTypes: [NETSOCKET_T], result: F64 },
1688
+ "net.sockConnecting": { argTypes: [NETSOCKET_T], result: BOOL },
1689
+ "net.sockPending": { argTypes: [NETSOCKET_T], result: BOOL },
1690
+ "net.sockReadyState": { argTypes: [NETSOCKET_T], result: STRING },
1691
+ "net.sockSetKeepAlive": { argTypes: [NETSOCKET_T, BOOL, F64], result: NETSOCKET_T },
1692
+ "net.sockOnReady": {
1693
+ argTypes: [NETSOCKET_T, { kind: "func", params: [], ret: VOID }, BOOL],
1694
+ result: VOID,
1695
+ },
1696
+ /** Listeners with a parameter, as dyn functions: close(hadError),
1697
+ * write's cb(err) and end's cb. */
1698
+ "net.sockOnCloseDyn": { argTypes: [NETSOCKET_T, DYN, BOOL], result: VOID },
1699
+ "net.sockOnWriteFlush": {
1700
+ argTypes: [NETSOCKET_T, { kind: "func", params: [], ret: VOID }],
1701
+ result: VOID,
1702
+ },
1703
+ "net.sockOnWriteFlushDyn": { argTypes: [NETSOCKET_T, DYN], result: VOID },
1704
+ "net.sockOnFinishDyn": { argTypes: [NETSOCKET_T, DYN], result: VOID },
1705
+ "net.sockSetTimeoutCb": {
1706
+ argTypes: [NETSOCKET_T, F64, { kind: "func", params: [], ret: VOID }],
1707
+ result: VOID,
1708
+ },
1709
+ "net.isIP": { argTypes: [DYN], result: F64 },
1710
+ "net.isIPv4": { argTypes: [DYN], result: BOOL },
1711
+ "net.isIPv6": { argTypes: [DYN], result: BOOL },
1712
+ "net.serverMaxConnectionsGet": { argTypes: [NETSERVER_T], result: DYN },
1713
+ "net.serverMaxConnectionsSet": { argTypes: [NETSERVER_T, DYN], result: VOID },
1714
+ "net.serverDropMaxConnectionGet": { argTypes: [NETSERVER_T], result: DYN },
1715
+ "net.serverDropMaxConnectionSet": { argTypes: [NETSERVER_T, DYN], result: VOID },
1716
+ "net.serverOnDrop": { argTypes: [NETSERVER_T, DYN, BOOL], result: VOID },
1717
+ "net.serverGetConnections": { argTypes: [NETSERVER_T, DYN], result: VOID },
1640
1718
  "net.sockReadable": { argTypes: [NETSOCKET_T], result: BOOL },
1641
1719
  /** socket.on('finish', cb) / end(cb): fires once when the FIN goes out
1642
1720
  * (sweep-deferred, never the registering stack). */
@@ -1712,6 +1790,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1712
1790
  * the 'session' registration (fires once with the serialized session —
1713
1791
  * a Buffer; the received-ticket event). */
1714
1792
  "tls.sockAuthorized": { argTypes: [NETSOCKET_T], result: BOOL },
1793
+ /** getProtocol() (string | null), getCipher() (CipherNameAndProtocol,
1794
+ * undefined before the handshake, null after close) and alpnProtocol
1795
+ * (string | false | null), as dyn values. */
1796
+ "tls.sockGetProtocol": { argTypes: [NETSOCKET_T], result: DYN },
1797
+ "tls.sockGetCipher": { argTypes: [NETSOCKET_T], result: DYN },
1798
+ "tls.sockAlpnProtocol": { argTypes: [NETSOCKET_T], result: DYN },
1715
1799
  "tls.sockAuthError": { argTypes: [NETSOCKET_T], result: VOID },
1716
1800
  "tls.sockOnSecureConnect": {
1717
1801
  argTypes: [NETSOCKET_T, { kind: "func", params: [], ret: VOID }, BOOL],
@@ -2017,17 +2101,19 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2017
2101
  ],
2018
2102
  result: STRING,
2019
2103
  },
2020
- /** The promisified-execFile capture (args: cmd, argv, cwd, hasEnv,
2021
- * envPairs, timeoutMs): the same exec core in the async shape — both
2022
- * streams captured, no echo, Node's ASYNC messages on the throw paths
2104
+ /** The promisified-execFile/exec capture (args: cmd, argv, shell, cwd,
2105
+ * hasEnv, envPairs, timeoutMs; shell marks exec's /bin/sh -c argv, as
2106
+ * for execSync, so failures display the command string): the same exec
2107
+ * core in the async shape — both streams captured, no echo, Node's ASYNC messages on the throw paths
2023
2108
  * ("Command failed: <cmd>\n<stderr>" with the unconditional newline,
2024
2109
  * "spawn <file> ENOENT" with .code, timeouts reporting as ordinary
2025
2110
  * SIGTERM command failures — never ETIMEDOUT). Result reuses the
2026
2111
  * ScrSpawnRes container (+1; stdout/stderr strings, status unused).
2027
- * Called only from the frontend's interned %execFileAsync ASYNC helper,
2028
- * whose fiber turns the throw into the rejection. */
2112
+ * Called only from the frontend's interned %execFileAsync and
2113
+ * %execAsync ASYNC helpers, whose fiber turns the throw into the
2114
+ * rejection. */
2029
2115
  "cp.execCapture": {
2030
- argTypes: [STRING, arrayOf(STRING), STRING, BOOL, arrayOf(STRING), F64],
2116
+ argTypes: [STRING, arrayOf(STRING), BOOL, STRING, BOOL, arrayOf(STRING), F64],
2031
2117
  result: SPAWNRES_T,
2032
2118
  },
2033
2119
  /** child_process.spawn (scr_child.c + the scr_async.c loop): posix_spawnp
@@ -2250,6 +2336,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2250
2336
  * finalizes the handle and returns either a Buffer or encoded string. */
2251
2337
  "crypto.native": { argTypes: [], result: DYN },
2252
2338
  "crypto.hashNew": { argTypes: [STRING], result: CRYPTOHASH_T },
2339
+ /** createCipheriv (false) / createDecipheriv (true) over checked-dynamic
2340
+ * cipher, key, iv and options arguments (scr_cipher.c): a native
2341
+ * Cipheriv/Decipheriv handle whose methods dispatch through dynInvoke. */
2342
+ "crypto.cipherNew": { argTypes: [BOOL, DYN, DYN, DYN, DYN], result: DYN },
2253
2343
  "crypto.hmacNewStr": { argTypes: [STRING, STRING], result: CRYPTOHMAC_T },
2254
2344
  "crypto.hmacNewBytes": { argTypes: [STRING, BYTES_U8], result: CRYPTOHMAC_T },
2255
2345
  "crypto.hashUpdateStr": { argTypes: [CRYPTOHASH_T, STRING], result: CRYPTOHASH_T },
@@ -2326,6 +2416,22 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2326
2416
  * opaque reference inputs retain explicit runtime refusals. */
2327
2417
  "buffer.fromDyn": { argTypes: [DYN, STRING], result: BYTES_U8 },
2328
2418
  "buffer.concat": { argTypes: [arrayOf(BYTES_U8)], result: BYTES_U8 },
2419
+ /** The pooled Buffer factories (Node's allocate/fromStringFast/
2420
+ * fromArrayLike): allocUnsafe, Buffer.from of strings, Uint8Arrays,
2421
+ * number[] and checked values, and concat return views into the
2422
+ * per-thread pool slab below Buffer.poolSize >>> 1 bytes. alloc and
2423
+ * allocUnsafeSlow never pool. The size forms validate like Node
2424
+ * (ERR_OUT_OF_RANGE). poolSize reads and writes Buffer.poolSize. */
2425
+ "buffer.alloc": { argTypes: [F64], result: BYTES_U8 },
2426
+ "buffer.allocUnsafe": { argTypes: [F64], result: BYTES_U8 },
2427
+ "buffer.allocUnsafeSlow": { argTypes: [F64], result: BYTES_U8 },
2428
+ "buffer.poolFromStr": { argTypes: [STRING, STRING], result: BYTES_U8 },
2429
+ "buffer.poolFromStrChecked": { argTypes: [STRING, STRING], result: BYTES_U8 },
2430
+ "buffer.poolFromBytes": { argTypes: [BYTES_U8], result: BYTES_U8 },
2431
+ "buffer.poolFromArray": { argTypes: [arrayOf(F64)], result: BYTES_U8 },
2432
+ "buffer.poolFromDyn": { argTypes: [DYN, STRING], result: BYTES_U8 },
2433
+ "buffer.poolSize": { argTypes: [], result: F64 },
2434
+ "buffer.setPoolSize": { argTypes: [F64], result: VOID },
2329
2435
  /** Buffer.byteLength(string, enc) — enc a NORMALIZED literal like
2330
2436
  * fromStr's — and Buffer.isEncoding(name) over a runtime string
2331
2437
  * (case-insensitive against Node's alias set). Pure; never throw. */
@@ -2379,6 +2485,32 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2379
2485
  "fsp.lchmodChk": { argTypes: [DYN, DYN], result: { kind: "promise", inner: VOID } },
2380
2486
  "fs.readChk": { argTypes: [DYN, DYN, DYN, DYN, DYN, STRING], result: VOID },
2381
2487
  "fs.streamOptsChk": { argTypes: [DYN, DYN, STRING], result: VOID },
2488
+ /** fs.ReadStream / fs.WriteStream (scr_fs_stream.c): the constructors
2489
+ * take the path and options as dyn values and throw Node's option
2490
+ * errors; the members read bytesRead/bytesWritten, pending and the path
2491
+ * value, and close() / close(cb) (a `() => void` callback). */
2492
+ "fs.createReadStream": {
2493
+ argTypes: [DYN, DYN],
2494
+ result: { kind: "object", className: "%Readable" },
2495
+ },
2496
+ "fs.createWriteStream": {
2497
+ argTypes: [DYN, DYN],
2498
+ result: { kind: "object", className: "%Writable" },
2499
+ },
2500
+ "fs.fsStreamBytes": { argTypes: [null], result: F64 },
2501
+ "fs.fsStreamPending": { argTypes: [null], result: BOOL },
2502
+ "fs.fsStreamPath": { argTypes: [null], result: DYN },
2503
+ "fs.fsStreamPropDyn": { argTypes: [null, STRING], result: DYN },
2504
+ "fileHandle.createReadStream": {
2505
+ argTypes: [FILEHANDLE_T, DYN],
2506
+ result: { kind: "object", className: "%Readable" },
2507
+ },
2508
+ "fileHandle.createWriteStream": {
2509
+ argTypes: [FILEHANDLE_T, DYN],
2510
+ result: { kind: "object", className: "%Writable" },
2511
+ },
2512
+ "fs.fsStreamClose": { argTypes: [null], result: VOID },
2513
+ "fs.fsStreamCloseCb": { argTypes: [null, funcOf([], VOID)], result: VOID },
2382
2514
  /** The compiler-resolved ERR_INVALID_ARG_TYPE throw with a RUNTIME-
2383
2515
  * rendered Received tail: args [argname, "of type ..." clause, the
2384
2516
  * offending dyn value]. ALWAYS THROWS; polymorphic result (the
@@ -2431,6 +2563,21 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2431
2563
  "zlib.gunzipCb": { argTypes: [BYTES_U8, null], result: VOID },
2432
2564
  "zlib.unzipCb": { argTypes: [BYTES_U8, null], result: VOID },
2433
2565
  "zlib.crc32": { argTypes: [BYTES_U8, F64], result: F64 },
2566
+ /** The stream classes (scr_zlib_stream.c, linked with the stream unit):
2567
+ * streamNew takes Node's node_zlib_mode number and the options value
2568
+ * (undefined when absent), validates it with Node's ladder, and answers
2569
+ * the +1 %Transform stream. flush takes the kind value, params the level
2570
+ * and strategy values; the Cb forms move their () => void callback. The
2571
+ * receivers are borrowed. */
2572
+ "zlib.streamNew": { argTypes: [F64, DYN], result: VOID },
2573
+ "zlib.streamBytesWritten": { argTypes: [null], result: F64 },
2574
+ "zlib.streamFlush": { argTypes: [null, DYN], result: VOID },
2575
+ "zlib.streamFlushCb": { argTypes: [null, DYN, null], result: VOID },
2576
+ "zlib.streamParams": { argTypes: [null, DYN, DYN], result: VOID },
2577
+ "zlib.streamParamsCb": { argTypes: [null, DYN, DYN, null], result: VOID },
2578
+ "zlib.streamClose": { argTypes: [null], result: VOID },
2579
+ "zlib.streamCloseCb": { argTypes: [null, null], result: VOID },
2580
+ "zlib.streamReset": { argTypes: [null], result: VOID },
2434
2581
  /** The Buffer overloads of the raw stream writes — same promptly
2435
2582
  * submitted streams as process.stdoutWrite/stderrWrite, constantly true.
2436
2583
  * The encoding arg is evaluated but ignored for bytes, like Node. The Cb
@@ -2957,6 +3104,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2957
3104
  * lowered directly (the list's values need no dyn representation to
2958
3105
  * fail). */
2959
3106
  "dyn.cloneTransferFail": { argTypes: [], result: DYN },
3107
+ /** The same refusal given the transfer list's first member, an
3108
+ * ArrayBuffer: a Buffer pool slab gets Node's untransferable message. */
3109
+ "dyn.cloneTransferFailWith": { argTypes: [DYN], result: DYN },
2960
3110
  /** `new RegExp(pattern, flags?)` (scr_regex.c): a heap regex over the
2961
3111
  * same libregexp engine the literals use. The pattern compiles EAGERLY
2962
3112
  * so an invalid pattern (or an unknown flag letter) throws Node's
@@ -3118,6 +3268,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3118
3268
  "stream.finishedDyn": { argTypes: [null, DYN], result: VOID },
3119
3269
  "stream.pipeline": { argTypes: [F64], result: VOID },
3120
3270
  "stream.pipelineDyn": { argTypes: [F64], result: VOID },
3271
+ "stream.pipelineStages": { argTypes: [F64, F64, F64, F64, F64], result: VOID },
3272
+ "stream.pipelineStagesDyn": { argTypes: [F64, F64, F64, F64, F64], result: VOID },
3273
+ /** stream.compose(count, s1..sn): the Duplex over a pipeline of the
3274
+ * streams (+1). MAY THROW (ERR_INVALID_ARG_VALUE for a stream that is
3275
+ * no longer readable or writable). */
3276
+ "stream.compose": { argTypes: [F64], result: VOID },
3121
3277
  /** node:stream/promises — the promise forms over the same machinery:
3122
3278
  * sp.finished: (s) → a pending void promise the terminal watcher
3123
3279
  * settles; sp.pipeline: (count, s1..sn) → the callback pipeline's
@@ -3144,6 +3300,18 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3144
3300
  "stream.finishedOpts": { argTypes: [null, F64, F64, BOOL, null], result: VOID },
3145
3301
  "stream.finishedOptsSignal": { argTypes: [null, F64, F64, BOOL, DYN, null], result: VOID },
3146
3302
  "sp.pipeline": { argTypes: [F64], result: { kind: "promise", inner: VOID } },
3303
+ /** pipeline with a run of function stages: [n, at, k, flags, mask,
3304
+ * s1..sn, stage1..stagek, (next, read, return)?, box?, (signal,
3305
+ * abort)?] (+ the callback for the stream.* forms): the user's stage
3306
+ * functions, the frontend's helpers over the pumped generator or a
3307
+ * promise destination's box, and the pipeline's AbortSignal with its
3308
+ * abort closure; flags names which groups are present
3309
+ * (scr_stream_pipeline_stages). A promise destination's promise type is
3310
+ * sp.pipelineStages' result. */
3311
+ "sp.pipelineStages": {
3312
+ argTypes: [F64, F64, F64, F64, F64],
3313
+ result: { kind: "promise", inner: VOID },
3314
+ },
3147
3315
  /** node:stream/consumers — the promise consumers over the readable
3148
3316
  * machinery: (s) → a pending promise settled at the terminal point
3149
3317
  * with the accumulated result (sc.text: the utf8 decode, sc.json: the
@@ -3200,11 +3368,40 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3200
3368
  * +1 promise of the next chunk — buffered content, the EOF sentinel
3201
3369
  * (empty Buffer / dyn undefined), or a rejection with the stream's
3202
3370
  * error. The Dyn twin boxes chunks by runtime tag (the JS lane).
3203
- * readable.fromArr is Readable.from(array): a fully-seeded object-
3204
- * entry stream (one whole chunk per element; strings per the flag). */
3371
+ * readable.fromArr is Readable.from over a typed array, string or
3372
+ * Buffer: [array, SCR_FROM_* flags, highWaterMark]. readable.fromDyn is
3373
+ * the JS lane's [source, options]. */
3205
3374
  "readable.nextChunk": { argTypes: [null], result: VOID },
3206
3375
  "readable.nextChunkDyn": { argTypes: [null], result: VOID },
3207
- "readable.fromArr": { argTypes: [null, BOOL], result: VOID },
3376
+ "readable.fromArr": { argTypes: [null, F64, F64], result: VOID },
3377
+ "readable.fromDyn": { argTypes: [DYN, DYN], result: VOID },
3378
+ /** Readable.from over a compiled generator: [generator, next, return,
3379
+ * throw, flags, highWaterMark] (sync) or [generator, next, read,
3380
+ * return, throw, flags, highWaterMark] (async), the helpers being the
3381
+ * frontend's interned closures. readable.fromDone is the done marker
3382
+ * the helpers answer. */
3383
+ "readable.fromGen": { argTypes: [null, null, null, null, F64, F64], result: VOID },
3384
+ "readable.fromAsyncGen": { argTypes: [null, null, null, null, null, F64, F64], result: VOID },
3385
+ "readable.fromDone": { argTypes: [], result: DYN },
3386
+ /** The Readable operators (scr_stream_ops.c): [stream, ...] with every
3387
+ * other argument a checked-dynamic value (the callback, the count, the
3388
+ * options). map/filter/flatMap/drop/take answer the object-mode output
3389
+ * stream (validated as a stream class; THROW Node's validation errors);
3390
+ * toArray settles a dyn array, find a dyn value, some/every a boolean,
3391
+ * forEach nothing; reduce: [stream, fn, init, hasInit, options, kind]
3392
+ * with the payload kind (0 dyn, 1 number, 2 boolean, 3 string). The
3393
+ * promise-returning ones reject instead of throwing. */
3394
+ "readable.opMap": { argTypes: [null, DYN, DYN], result: VOID },
3395
+ "readable.opFilter": { argTypes: [null, DYN, DYN], result: VOID },
3396
+ "readable.opFlatMap": { argTypes: [null, DYN, DYN], result: VOID },
3397
+ "readable.opDrop": { argTypes: [null, DYN, DYN], result: VOID },
3398
+ "readable.opTake": { argTypes: [null, DYN, DYN], result: VOID },
3399
+ "readable.opToArray": { argTypes: [null, DYN], result: { kind: "promise", inner: DYN } },
3400
+ "readable.opForEach": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: VOID } },
3401
+ "readable.opSome": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: BOOL } },
3402
+ "readable.opEvery": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: BOOL } },
3403
+ "readable.opFind": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: DYN } },
3404
+ "readable.opReduce": { argTypes: [null, DYN, DYN, BOOL, DYN, F64], result: VOID },
3208
3405
  "readable.resume": { argTypes: [null], result: VOID },
3209
3406
  "readable.isPaused": { argTypes: [null], result: BOOL },
3210
3407
  "readable.pipe": { argTypes: [null, null, BOOL], result: VOID },
@@ -3287,12 +3484,22 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3287
3484
  * the value's inspection) — the frontend routes null/undefined to a
3288
3485
  * no-op and everything else here (Node throws for falsy values too).
3289
3486
  * All arguments are borrowed. */
3290
- "assert.ok": { argTypes: [BOOL, STRING], result: VOID },
3487
+ "assert.ok": { argTypes: [BOOL, STRING, BOOL], result: VOID },
3488
+ /** The next AssertionError's actual, expected and operator, recorded on
3489
+ * a failure branch. */
3490
+ "assert.record": { argTypes: [DYN, DYN, STRING], result: VOID },
3491
+ "assert.errorNew": { argTypes: [DYN], result: { kind: "object", className: "%AssertionError" } },
3291
3492
  "assert.eqF64": { argTypes: [F64, F64, BOOL, BOOL, STRING, BOOL], result: VOID },
3292
3493
  "assert.eqBigInt": { argTypes: [BIGINT_T, BIGINT_T, BOOL, BOOL, STRING, BOOL], result: VOID },
3293
3494
  "assert.eqStr": { argTypes: [STRING, STRING, BOOL, BOOL, STRING, BOOL], result: VOID },
3294
3495
  "assert.eqBool": { argTypes: [BOOL, BOOL, BOOL, BOOL, STRING, BOOL], result: VOID },
3295
3496
  "assert.deepResult": { argTypes: [BOOL, BOOL, STRING, BOOL], result: VOID },
3497
+ "assert.looseDeepResult": { argTypes: [BOOL, BOOL, STRING, BOOL], result: VOID },
3498
+ "assert.looseDeepDyn": { argTypes: [DYN, DYN, BOOL, STRING, BOOL], result: VOID },
3499
+ "assert.partialDeepDyn": { argTypes: [DYN, DYN, STRING, BOOL], result: VOID },
3500
+ "assert.partialDeepResult": { argTypes: [BOOL, BOOL, STRING, BOOL], result: VOID },
3501
+ "assert.partialEqDyn": { argTypes: [DYN, DYN], result: BOOL },
3502
+ "assert.looseF64Eq": { argTypes: [F64, F64], result: BOOL },
3296
3503
  "assert.sameValue": { argTypes: [F64, F64], result: BOOL },
3297
3504
  // The deep-equality pair memo: both slots are program-dependent
3298
3505
  // (any cycle-capable record/array/map type).
@@ -3304,11 +3511,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3304
3511
  "assert.match": { argTypes: [STRING, REGEX, BOOL, STRING, BOOL], result: VOID },
3305
3512
  "assert.throwsNone": { argTypes: [BOOL, STRING, BOOL, STRING, BOOL], result: VOID },
3306
3513
  "assert.throwsMismatch": {
3307
- argTypes: [STRING, { kind: "object", className: "%Error" }, STRING, BOOL],
3514
+ argTypes: [STRING, { kind: "object", className: "%Error" }, STRING, BOOL, BOOL],
3308
3515
  result: VOID,
3309
3516
  },
3310
3517
  "assert.throwsRegex": {
3311
- argTypes: [REGEX, { kind: "object", className: "%Error" }, STRING, BOOL],
3518
+ argTypes: [REGEX, { kind: "object", className: "%Error" }, STRING, BOOL, BOOL],
3312
3519
  result: VOID,
3313
3520
  },
3314
3521
  // Symbol strict equality (pointer identity; scr_symbol.c).
@@ -3326,7 +3533,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3326
3533
  "assert.shapeBegin": { argTypes: [{ kind: "object", className: "%Error" }], result: VOID },
3327
3534
  "assert.shapeStr": { argTypes: [F64, STRING], result: VOID },
3328
3535
  "assert.shapeRe": { argTypes: [F64, REGEX], result: VOID },
3329
- "assert.shapeEnd": { argTypes: [STRING, BOOL], result: VOID },
3536
+ "assert.shapeEnd": { argTypes: [STRING, BOOL, BOOL], result: VOID },
3330
3537
  "assert.regexErrTest": {
3331
3538
  argTypes: [REGEX, { kind: "object", className: "%Error" }],
3332
3539
  result: BOOL,
@@ -3358,6 +3565,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3358
3565
  "assert.refEqBytes": { argTypes: [null, null, BOOL, BOOL, STRING, BOOL], result: VOID },
3359
3566
  "assert.refEqFn": { argTypes: [null, null, BOOL, STRING, BOOL], result: VOID },
3360
3567
  "assert.bytesDeepEq": { argTypes: [null, null, BOOL], result: BOOL },
3568
+ "assert.looseBytesEq": { argTypes: [null, null], result: BOOL },
3361
3569
  // util.inspect: the error receiver is program-dependent (a builtin or
3362
3570
  // user error class — the error.toString precedent, null slot).
3363
3571
  "insp.f64": { argTypes: [F64], result: STRING },
@@ -3385,6 +3593,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3385
3593
  "insp.seenPush": { argTypes: [null], result: VOID },
3386
3594
  "insp.refWrap": { argTypes: [null, STRING], result: STRING },
3387
3595
  "insp.circular": { argTypes: [F64], result: STRING },
3596
+ /* Whether a closed declared-field record kept the undeclared properties
3597
+ * of its checked source (scr_record_source_note): reflective surfaces
3598
+ * (inspect, Object.keys/values/entries) then answer through its live
3599
+ * checked view. The receiver is any such record type. Never throws. */
3600
+ "record.sourceHas": { argTypes: [null], result: BOOL },
3388
3601
  "insp.key": { argTypes: [STRING], result: STRING },
3389
3602
  "insp.moreItems": { argTypes: [F64], result: STRING },
3390
3603
  "insp.end": { argTypes: [STRING, STRING, STRING, F64, BOOL, BOOL], result: STRING },
@@ -3455,6 +3668,16 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3455
3668
  * turns, Node's check phase). Neither throws. */
3456
3669
  "tp.setTimeout": { argTypes: [F64], result: { kind: "promise", inner: VOID } },
3457
3670
  "tp.setImmediate": { argTypes: [], result: { kind: "promise", inner: VOID } },
3671
+ /** events.once (scr_events_emitter.c): [emitter, name, boxer,
3672
+ * errorBoxer, listenForError] → a pending promise of any[]; the boxers
3673
+ * turn the event's and the 'error' tuple into that array. */
3674
+ "events.once": { argTypes: [null, STRING, null, null, BOOL], result: VOID },
3675
+ /** The resolve-value forms: [ms?, value, ref] → a pending promise of the
3676
+ * value's type that copies the borrowed already-resolved `value` promise
3677
+ * when the timer (or immediate) fires; ref false unrefs it. The result
3678
+ * type follows the value promise. */
3679
+ "tp.setTimeoutValue": { argTypes: [F64, null, BOOL], result: VOID },
3680
+ "tp.setImmediateValue": { argTypes: [null, BOOL], result: VOID },
3458
3681
  /** node:diagnostics_channel (scr_dc.c, linked when any dc.* appears —
3459
3682
  * the zlib gating precedent): a process-global name→channel registry;
3460
3683
  * channel values are f64 handles (type-mapper.ts maps Channel to F64, the