@scriptc/cli-darwin-x64 0.2.4 → 0.2.6

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 (434) hide show
  1. package/dist/THIRD_PARTY_NOTICES +1 -1
  2. package/dist/bin/scriptc +0 -0
  3. package/dist/bin/scriptc.json +1 -1
  4. package/dist/lib/declarations/scriptc-node-fallback.d.ts +972 -245
  5. package/dist/lib/declarations/scriptc-overrides.d.ts +5 -1
  6. package/dist/lib/declarations/scriptc.d.ts +22 -2
  7. package/dist/lib/llvm/bin/scriptc-llvm-codegen +0 -0
  8. package/dist/lib/llvm/package.json +1 -1
  9. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_array.o +0 -0
  10. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_assert.o +0 -0
  11. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_async.o +0 -0
  12. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bytes.o +0 -0
  13. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bytes_io.o +0 -0
  14. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_child.o +0 -0
  15. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_closure.o +0 -0
  16. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_console.o +0 -0
  17. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_context.o +0 -0
  18. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_copying.o +0 -0
  19. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_cycle.o +0 -0
  20. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_dgram.o +0 -0
  21. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_error.o +0 -0
  22. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_events.o +0 -0
  23. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_events_emitter.o +0 -0
  24. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_exception.o +0 -0
  25. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_fetch.o +0 -0
  26. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_file_handle.o +0 -0
  27. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_json.o +0 -0
  28. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_lib.o +0 -0
  29. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_map.o +0 -0
  30. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_number.o +0 -0
  31. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_object.o +0 -0
  32. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_readline.o +0 -0
  33. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_regex.o +0 -0
  34. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_shared.o +0 -0
  35. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_stream.o +0 -0
  36. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_string.o +0 -0
  37. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_tls.o +0 -0
  38. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_union.o +0 -0
  39. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_util_compare.o +0 -0
  40. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_array.o +0 -0
  41. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_assert.o +0 -0
  42. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_async.o +0 -0
  43. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_async_dyn.o +0 -0
  44. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_bigint.o +0 -0
  45. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_bigint_assert.o +0 -0
  46. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_bytes.o +0 -0
  47. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_bytes_io.o +0 -0
  48. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_child.o +0 -0
  49. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_closure.o +0 -0
  50. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_console.o +0 -0
  51. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_console_native.o +0 -0
  52. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_context.o +0 -0
  53. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_copying.o +0 -0
  54. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_crypto_async.o +0 -0
  55. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_cycle.o +0 -0
  56. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_dc.o +0 -0
  57. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_dgram.o +0 -0
  58. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_dyn_handle.o +0 -0
  59. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_dyn_invoke.o +0 -0
  60. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_error.o +0 -0
  61. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_events.o +0 -0
  62. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_events_emitter.o +0 -0
  63. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_exception.o +0 -0
  64. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_fetch.o +0 -0
  65. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_ffi.o +0 -0
  66. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_ffi_queue.o +0 -0
  67. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_file_handle.o +0 -0
  68. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_grapheme.o +0 -0
  69. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_http.o +0 -0
  70. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_http2.o +0 -0
  71. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_inspect.o +0 -0
  72. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_json.o +0 -0
  73. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_lib.o +0 -0
  74. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_loop_epoll.o +0 -0
  75. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_loop_kqueue.o +0 -0
  76. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_loop_wsapoll.o +0 -0
  77. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_map.o +0 -0
  78. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_net.o +0 -0
  79. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_node_builtin.o +0 -0
  80. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_number.o +0 -0
  81. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_object.o +0 -0
  82. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_path.o +0 -0
  83. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_qs.o +0 -0
  84. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_readline.o +0 -0
  85. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_regex.o +0 -0
  86. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_shared.o +0 -0
  87. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_stream.o +0 -0
  88. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_string.o +0 -0
  89. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_symbol.o +0 -0
  90. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_test.o +0 -0
  91. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_tls.o +0 -0
  92. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_tls_ca.o +0 -0
  93. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_union.o +0 -0
  94. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_url.o +0 -0
  95. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_url_params.o +0 -0
  96. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_util.o +0 -0
  97. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_util_compare.o +0 -0
  98. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_util_style.o +0 -0
  99. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_watch.o +0 -0
  100. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_zlib.o +0 -0
  101. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_array.o +0 -0
  102. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_assert.o +0 -0
  103. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_async.o +0 -0
  104. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bytes.o +0 -0
  105. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bytes_io.o +0 -0
  106. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_child.o +0 -0
  107. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_closure.o +0 -0
  108. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_console.o +0 -0
  109. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_context.o +0 -0
  110. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_copying.o +0 -0
  111. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_cycle.o +0 -0
  112. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_dgram.o +0 -0
  113. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_error.o +0 -0
  114. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_events.o +0 -0
  115. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_events_emitter.o +0 -0
  116. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_exception.o +0 -0
  117. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_file_handle.o +0 -0
  118. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_island.o +0 -0
  119. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_json.o +0 -0
  120. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_lib.o +0 -0
  121. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_map.o +0 -0
  122. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_number.o +0 -0
  123. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_object.o +0 -0
  124. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_readline.o +0 -0
  125. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_regex.o +0 -0
  126. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_shared.o +0 -0
  127. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_stream.o +0 -0
  128. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_string.o +0 -0
  129. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_tls.o +0 -0
  130. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_union.o +0 -0
  131. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_util_compare.o +0 -0
  132. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  133. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  134. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/text-decoder-legacy-workers/scr_bytes.o +0 -0
  135. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/workers/scr_mailbox.o +0 -0
  136. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/workers/scr_message.o +0 -0
  137. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/workers/scr_worker.o +0 -0
  138. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/workers/scr_worker_events.o +0 -0
  139. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_array.o +0 -0
  140. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_assert.o +0 -0
  141. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bytes.o +0 -0
  142. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bytes_io.o +0 -0
  143. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_closure.o +0 -0
  144. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_context.o +0 -0
  145. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_copying.o +0 -0
  146. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_cycle.o +0 -0
  147. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_error.o +0 -0
  148. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_events_emitter.o +0 -0
  149. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_exception.o +0 -0
  150. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_json.o +0 -0
  151. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_lib.o +0 -0
  152. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_map.o +0 -0
  153. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_number.o +0 -0
  154. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_object.o +0 -0
  155. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_regex.o +0 -0
  156. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_shared.o +0 -0
  157. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_string.o +0 -0
  158. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_union.o +0 -0
  159. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  160. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_array.o +0 -0
  161. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_assert.o +0 -0
  162. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bytes.o +0 -0
  163. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bytes_io.o +0 -0
  164. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_closure.o +0 -0
  165. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_context.o +0 -0
  166. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_copying.o +0 -0
  167. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_cycle.o +0 -0
  168. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_error.o +0 -0
  169. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_events_emitter.o +0 -0
  170. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_exception.o +0 -0
  171. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_json.o +0 -0
  172. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_lib.o +0 -0
  173. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_map.o +0 -0
  174. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_number.o +0 -0
  175. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_object.o +0 -0
  176. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_regex.o +0 -0
  177. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_shared.o +0 -0
  178. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_string.o +0 -0
  179. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_union.o +0 -0
  180. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  181. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_array.o +0 -0
  182. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_assert.o +0 -0
  183. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bytes.o +0 -0
  184. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bytes_io.o +0 -0
  185. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_closure.o +0 -0
  186. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_console.o +0 -0
  187. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_context.o +0 -0
  188. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_copying.o +0 -0
  189. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_cycle.o +0 -0
  190. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_error.o +0 -0
  191. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_events_emitter.o +0 -0
  192. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_exception.o +0 -0
  193. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_inspect.o +0 -0
  194. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_json.o +0 -0
  195. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_lib.o +0 -0
  196. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_map.o +0 -0
  197. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_number.o +0 -0
  198. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_object.o +0 -0
  199. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_regex.o +0 -0
  200. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_shared.o +0 -0
  201. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_string.o +0 -0
  202. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_union.o +0 -0
  203. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_zlib.o +0 -0
  204. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  205. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_array.o +0 -0
  206. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_assert.o +0 -0
  207. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bytes.o +0 -0
  208. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bytes_io.o +0 -0
  209. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_closure.o +0 -0
  210. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_console.o +0 -0
  211. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_context.o +0 -0
  212. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_copying.o +0 -0
  213. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_cycle.o +0 -0
  214. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_error.o +0 -0
  215. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_events_emitter.o +0 -0
  216. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_exception.o +0 -0
  217. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_inspect.o +0 -0
  218. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_json.o +0 -0
  219. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_lib.o +0 -0
  220. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_map.o +0 -0
  221. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_number.o +0 -0
  222. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_object.o +0 -0
  223. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_regex.o +0 -0
  224. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_shared.o +0 -0
  225. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_string.o +0 -0
  226. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_union.o +0 -0
  227. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_zlib.o +0 -0
  228. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  229. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_array.o +0 -0
  230. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_assert.o +0 -0
  231. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_async.o +0 -0
  232. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bytes.o +0 -0
  233. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bytes_io.o +0 -0
  234. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_child.o +0 -0
  235. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_closure.o +0 -0
  236. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_console.o +0 -0
  237. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_context.o +0 -0
  238. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_copying.o +0 -0
  239. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_cycle.o +0 -0
  240. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_dgram.o +0 -0
  241. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_error.o +0 -0
  242. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_events.o +0 -0
  243. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_events_emitter.o +0 -0
  244. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_exception.o +0 -0
  245. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_fetch.o +0 -0
  246. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_file_handle.o +0 -0
  247. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_json.o +0 -0
  248. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_lib.o +0 -0
  249. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_map.o +0 -0
  250. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_number.o +0 -0
  251. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_object.o +0 -0
  252. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_readline.o +0 -0
  253. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_regex.o +0 -0
  254. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_shared.o +0 -0
  255. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_stream.o +0 -0
  256. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_string.o +0 -0
  257. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_tls.o +0 -0
  258. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_union.o +0 -0
  259. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_util_compare.o +0 -0
  260. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_array.o +0 -0
  261. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_assert.o +0 -0
  262. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_async.o +0 -0
  263. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_async_dyn.o +0 -0
  264. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_bigint.o +0 -0
  265. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_bigint_assert.o +0 -0
  266. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_bytes.o +0 -0
  267. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_bytes_io.o +0 -0
  268. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_child.o +0 -0
  269. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_closure.o +0 -0
  270. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_console.o +0 -0
  271. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_console_native.o +0 -0
  272. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_context.o +0 -0
  273. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_copying.o +0 -0
  274. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_crypto_async.o +0 -0
  275. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_cycle.o +0 -0
  276. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_dc.o +0 -0
  277. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_dgram.o +0 -0
  278. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_dyn_handle.o +0 -0
  279. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_dyn_invoke.o +0 -0
  280. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_error.o +0 -0
  281. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_events.o +0 -0
  282. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_events_emitter.o +0 -0
  283. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_exception.o +0 -0
  284. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_fetch.o +0 -0
  285. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_ffi.o +0 -0
  286. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_ffi_queue.o +0 -0
  287. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_file_handle.o +0 -0
  288. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_grapheme.o +0 -0
  289. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_http.o +0 -0
  290. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_http2.o +0 -0
  291. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_inspect.o +0 -0
  292. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_json.o +0 -0
  293. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_lib.o +0 -0
  294. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_loop_epoll.o +0 -0
  295. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_loop_kqueue.o +0 -0
  296. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_loop_wsapoll.o +0 -0
  297. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_map.o +0 -0
  298. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_net.o +0 -0
  299. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_node_builtin.o +0 -0
  300. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_number.o +0 -0
  301. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_object.o +0 -0
  302. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_path.o +0 -0
  303. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_qs.o +0 -0
  304. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_readline.o +0 -0
  305. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_regex.o +0 -0
  306. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_shared.o +0 -0
  307. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_stream.o +0 -0
  308. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_string.o +0 -0
  309. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_symbol.o +0 -0
  310. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_test.o +0 -0
  311. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_tls.o +0 -0
  312. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_tls_ca.o +0 -0
  313. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_union.o +0 -0
  314. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_url.o +0 -0
  315. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_url_params.o +0 -0
  316. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_util.o +0 -0
  317. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_util_compare.o +0 -0
  318. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_util_style.o +0 -0
  319. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_watch.o +0 -0
  320. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_zlib.o +0 -0
  321. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_array.o +0 -0
  322. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_assert.o +0 -0
  323. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_async.o +0 -0
  324. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bytes.o +0 -0
  325. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bytes_io.o +0 -0
  326. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_child.o +0 -0
  327. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_closure.o +0 -0
  328. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_console.o +0 -0
  329. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_context.o +0 -0
  330. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_copying.o +0 -0
  331. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_cycle.o +0 -0
  332. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_dgram.o +0 -0
  333. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_error.o +0 -0
  334. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_events.o +0 -0
  335. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_events_emitter.o +0 -0
  336. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_exception.o +0 -0
  337. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_file_handle.o +0 -0
  338. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_island.o +0 -0
  339. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_json.o +0 -0
  340. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_lib.o +0 -0
  341. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_map.o +0 -0
  342. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_number.o +0 -0
  343. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_object.o +0 -0
  344. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_readline.o +0 -0
  345. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_regex.o +0 -0
  346. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_shared.o +0 -0
  347. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_stream.o +0 -0
  348. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_string.o +0 -0
  349. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_tls.o +0 -0
  350. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_union.o +0 -0
  351. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_util_compare.o +0 -0
  352. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  353. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  354. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/text-decoder-legacy-workers/scr_bytes.o +0 -0
  355. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/workers/scr_mailbox.o +0 -0
  356. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/workers/scr_message.o +0 -0
  357. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/workers/scr_worker.o +0 -0
  358. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/workers/scr_worker_events.o +0 -0
  359. package/dist/lib/runtime-darwin-x64/package.json +1 -1
  360. package/dist/lib/runtime-darwin-x64/runtime-pack.json +3318 -790
  361. package/dist/lib/runtime-sources/package.json +1 -1
  362. package/dist/lib/runtime-sources/src/scr_array.c +479 -46
  363. package/dist/lib/runtime-sources/src/scr_assert.c +3 -3
  364. package/dist/lib/runtime-sources/src/scr_async.c +401 -71
  365. package/dist/lib/runtime-sources/src/scr_async.test.ts +16 -6
  366. package/dist/lib/runtime-sources/src/scr_async_dyn.c +30 -30
  367. package/dist/lib/runtime-sources/src/scr_bytes.c +487 -221
  368. package/dist/lib/runtime-sources/src/scr_bytes.test.c +85 -0
  369. package/dist/lib/runtime-sources/src/scr_bytes_io.c +45 -64
  370. package/dist/lib/runtime-sources/src/scr_child.c +48 -30
  371. package/dist/lib/runtime-sources/src/scr_closure.c +21 -11
  372. package/dist/lib/runtime-sources/src/scr_console.c +27 -5
  373. package/dist/lib/runtime-sources/src/scr_context.c +167 -0
  374. package/dist/lib/runtime-sources/src/scr_context.test.c +118 -0
  375. package/dist/lib/runtime-sources/src/scr_context.test.ts +47 -0
  376. package/dist/lib/runtime-sources/src/scr_copying.c +13 -2
  377. package/dist/lib/runtime-sources/src/scr_cycle.c +112 -12
  378. package/dist/lib/runtime-sources/src/scr_dc.c +8 -8
  379. package/dist/lib/runtime-sources/src/scr_dgram.c +10 -7
  380. package/dist/lib/runtime-sources/src/scr_error.c +26 -14
  381. package/dist/lib/runtime-sources/src/scr_events.c +45 -31
  382. package/dist/lib/runtime-sources/src/scr_events_emitter.c +34 -1
  383. package/dist/lib/runtime-sources/src/scr_exception.c +26 -7
  384. package/dist/lib/runtime-sources/src/scr_fetch.c +23 -20
  385. package/dist/lib/runtime-sources/src/scr_fetch_curl.c +1 -1
  386. package/dist/lib/runtime-sources/src/scr_ffi.c +3 -3
  387. package/dist/lib/runtime-sources/src/scr_file_handle.c +1 -0
  388. package/dist/lib/runtime-sources/src/scr_http.c +20 -16
  389. package/dist/lib/runtime-sources/src/scr_http2.c +10 -8
  390. package/dist/lib/runtime-sources/src/scr_inspect.c +1 -0
  391. package/dist/lib/runtime-sources/src/scr_island.c +1 -1
  392. package/dist/lib/runtime-sources/src/scr_json.c +652 -189
  393. package/dist/lib/runtime-sources/src/scr_json.test.c +339 -1
  394. package/dist/lib/runtime-sources/src/scr_json.test.ts +59 -25
  395. package/dist/lib/runtime-sources/src/scr_key.h +92 -0
  396. package/dist/lib/runtime-sources/src/scr_lib.c +256 -136
  397. package/dist/lib/runtime-sources/src/scr_mailbox.c +233 -0
  398. package/dist/lib/runtime-sources/src/scr_mailbox.h +28 -0
  399. package/dist/lib/runtime-sources/src/scr_mailbox.test.c +86 -0
  400. package/dist/lib/runtime-sources/src/scr_mailbox.test.ts +46 -0
  401. package/dist/lib/runtime-sources/src/scr_map.c +240 -107
  402. package/dist/lib/runtime-sources/src/scr_message.c +443 -0
  403. package/dist/lib/runtime-sources/src/scr_message.h +14 -0
  404. package/dist/lib/runtime-sources/src/scr_message.test.c +152 -0
  405. package/dist/lib/runtime-sources/src/scr_message.test.ts +44 -0
  406. package/dist/lib/runtime-sources/src/scr_net.c +14 -12
  407. package/dist/lib/runtime-sources/src/scr_number.c +36 -4
  408. package/dist/lib/runtime-sources/src/scr_numeric.h +25 -0
  409. package/dist/lib/runtime-sources/src/scr_numeric.test.c +37 -0
  410. package/dist/lib/runtime-sources/src/scr_numeric.test.ts +33 -0
  411. package/dist/lib/runtime-sources/src/scr_object.c +9 -4
  412. package/dist/lib/runtime-sources/src/scr_path.c +1 -1
  413. package/dist/lib/runtime-sources/src/scr_readline.c +8 -8
  414. package/dist/lib/runtime-sources/src/scr_regex.c +351 -167
  415. package/dist/lib/runtime-sources/src/scr_runtime.h +207 -34
  416. package/dist/lib/runtime-sources/src/scr_shared.c +280 -0
  417. package/dist/lib/runtime-sources/src/scr_shared.test.c +113 -0
  418. package/dist/lib/runtime-sources/src/scr_shared.test.ts +45 -0
  419. package/dist/lib/runtime-sources/src/scr_stream.c +9 -9
  420. package/dist/lib/runtime-sources/src/scr_string.c +365 -141
  421. package/dist/lib/runtime-sources/src/scr_test.c +8 -8
  422. package/dist/lib/runtime-sources/src/scr_tls.c +12 -12
  423. package/dist/lib/runtime-sources/src/scr_tls_ca.c +34 -12
  424. package/dist/lib/runtime-sources/src/scr_union.c +10 -5
  425. package/dist/lib/runtime-sources/src/scr_util_compare.c +1 -0
  426. package/dist/lib/runtime-sources/src/scr_util_style.c +11 -11
  427. package/dist/lib/runtime-sources/src/scr_watch.c +16 -6
  428. package/dist/lib/runtime-sources/src/scr_worker.c +232 -0
  429. package/dist/lib/runtime-sources/src/scr_worker.h +42 -0
  430. package/dist/lib/runtime-sources/src/scr_worker.test.c +115 -0
  431. package/dist/lib/runtime-sources/src/scr_worker.test.ts +49 -0
  432. package/dist/lib/runtime-sources/src/scr_worker_events.c +443 -0
  433. package/dist/lib/runtime-sources/src/scr_zlib.c +6 -0
  434. package/package.json +1 -1
@@ -0,0 +1,85 @@
1
+ #include "scr_runtime.h"
2
+ #include <assert.h>
3
+ #include <math.h>
4
+ #include <string.h>
5
+
6
+ long scr_bytes_live_count(void);
7
+
8
+ /* Foreign wrappers may alias without a shared owner and may be unaligned. */
9
+ static ScrBytes *external(uint8_t *data, ScrBytesElem elem, size_t count) {
10
+ ScrBytes *view = scr_bytes_from_external(data, count * scr_bytes_elem_size(elem));
11
+ view->elem = elem;
12
+ view->len = count;
13
+ return view;
14
+ }
15
+
16
+ static void external_set(void) {
17
+ const size_t starts[] = {1, 9, 41, 3001};
18
+ uint8_t storage[6000], expected[6000];
19
+ for (ScrBytesElem from = SCR_BYTES_U8; from <= SCR_BYTES_U8C; from++) {
20
+ for (ScrBytesElem to = SCR_BYTES_U8; to <= SCR_BYTES_U8C; to++) {
21
+ for (size_t j = 0; j < sizeof starts / sizeof starts[0]; j++) {
22
+ memset(storage, 0x5a, sizeof storage);
23
+ ScrBytes *src = external(storage + 9, from, 259);
24
+ ScrBytes *dst = external(storage + starts[j], to, 263);
25
+ for (size_t i = 0; i < src->len; i++) scr_bytes_set(src, i, (double)i * 3.5 - 257);
26
+ memcpy(expected, storage, sizeof storage);
27
+ ScrBytes *want = external(expected + starts[j], to, 263);
28
+ for (size_t i = 0; i < src->len; i++) scr_bytes_set(want, i + 2, scr_bytes_get(src, i));
29
+ scr_bytes_set_from(dst, src, 2);
30
+ assert(!scr_exc_pending());
31
+ assert(memcmp(storage, expected, sizeof storage) == 0);
32
+ scr_bytes_release(want);
33
+ scr_bytes_release(dst);
34
+ scr_bytes_release(src);
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ static void copied_storage(void) {
41
+ /* Same-kind copies preserve NaN payloads, signed zero and ownership. */
42
+ const uint64_t bits[] = {UINT64_C(0x7ff8000000000042), UINT64_C(0x8000000000000000),
43
+ UINT64_C(0xfff0000000000000)};
44
+ ScrBytes *src = scr_bytes_new(SCR_BYTES_F64, 3);
45
+ memcpy(src->data, bits, sizeof bits);
46
+ ScrBytes *copy = scr_bytes_convert(SCR_BYTES_F64, src);
47
+ ScrBytes *slice = scr_bytes_slice(src, 0, 3);
48
+ assert(copy->data != src->data && slice->data != src->data);
49
+ assert(memcmp(copy->data, bits, sizeof bits) == 0);
50
+ assert(memcmp(slice->data, bits, sizeof bits) == 0);
51
+ ScrBytes *view = scr_bytes_subarray(copy, 1, 3);
52
+ scr_bytes_release(copy);
53
+ scr_bytes_release(src);
54
+ assert(memcmp(view->data, bits + 1, sizeof bits - sizeof bits[0]) == 0);
55
+ scr_bytes_release(view);
56
+ scr_bytes_release(slice);
57
+ }
58
+
59
+ static void filled_storage(void) {
60
+ uint8_t storage[2200], expected[2200];
61
+ const double values[] = {-0.0, -1.5, 2.5, 255.5, 4294967297.0, NAN, INFINITY};
62
+ for (ScrBytesElem elem = SCR_BYTES_U8; elem <= SCR_BYTES_U8C; elem++) {
63
+ for (size_t j = 0; j < sizeof values / sizeof values[0]; j++) {
64
+ memset(storage, 0xa5, sizeof storage);
65
+ memcpy(expected, storage, sizeof storage);
66
+ ScrBytes *dst = external(storage + 1, elem, 263);
67
+ ScrBytes *want = external(expected + 1, elem, 263);
68
+ for (size_t i = 2; i < 261; i++) scr_bytes_set(want, i, values[j]);
69
+ ScrBytes *result = scr_bytes_fill_elem(dst, values[j], 2, 261);
70
+ assert(result == dst && dst->rc == 2);
71
+ assert(memcmp(storage, expected, sizeof storage) == 0);
72
+ scr_bytes_release(result);
73
+ scr_bytes_release(dst);
74
+ scr_bytes_release(want);
75
+ }
76
+ }
77
+ }
78
+
79
+ void scr_bytes_test_bulk_storage(void) {
80
+ long before = scr_bytes_live_count();
81
+ external_set();
82
+ copied_storage();
83
+ filled_storage();
84
+ assert(scr_bytes_live_count() == before);
85
+ }
@@ -35,46 +35,44 @@ static void scr_bytes_io_oom(void) {
35
35
  scr_trap("scriptc: out of memory\n");
36
36
  }
37
37
 
38
- /* ── fs (the Buffer forms of scr_lib.c's utf8 pair) ────────────────────── */
38
+ static bool scr_fs_read_encoding_valid(ScrStr *encoding) {
39
+ if (encoding->len == 0 || scr_bytes_is_encoding(encoding)) return true;
40
+ ScrDyn *value = scr_dyn_new_str(encoding);
41
+ scr_dyn_arg_value_fail("encoding", "is invalid encoding", value);
42
+ scr_dyn_release(value);
43
+ return false;
44
+ }
39
45
 
40
- ScrBytes *scr_fs_read_file_bytes(ScrStr *path) {
41
- FILE *f = fopen(path->data, "rb");
42
- if (!f) {
43
- scr_fs_throw(errno, "open", path);
44
- return NULL;
45
- }
46
- size_t cap = 4096, len = 0;
47
- uint8_t *buf = malloc(cap);
48
- if (!buf) scr_bytes_io_oom();
49
- for (;;) {
50
- if (cap - len < 2048) {
51
- cap *= 2;
52
- uint8_t *grown = realloc(buf, cap);
53
- if (!grown) scr_bytes_io_oom();
54
- buf = grown;
55
- }
56
- size_t n = fread(buf + len, 1, cap - len, f);
57
- len += n;
58
- if (n == 0) break;
59
- }
60
- if (ferror(f)) {
61
- int e = errno;
62
- fclose(f);
63
- free(buf);
64
- scr_fs_throw(e, "read", path);
65
- return NULL;
46
+ static ScrStr *scr_fs_decode_read(ScrBytes *bytes, ScrStr *encoding) {
47
+ if (!bytes) return NULL;
48
+ ScrStr *text;
49
+ if (encoding->len == 0) {
50
+ ScrStr *utf8 = scr_str_new("utf8", 4);
51
+ text = scr_bytes_to_str(bytes, utf8);
52
+ scr_str_release(utf8);
53
+ } else {
54
+ text = scr_bytes_to_str_checked(bytes, encoding);
66
55
  }
67
- fclose(f);
68
- ScrBytes *b = scr_bytes_new(SCR_BYTES_U8, (double)len);
69
- memcpy(b->data, buf, len);
70
- free(buf);
71
- return b;
56
+ scr_bytes_release(bytes);
57
+ return text;
58
+ }
59
+
60
+ ScrStr *scr_fs_read_file_encoded(ScrStr *path, ScrStr *encoding) {
61
+ if (!scr_fs_read_encoding_valid(encoding)) return NULL;
62
+ return scr_fs_decode_read(scr_fs_read_file_bytes(path), encoding);
63
+ }
64
+
65
+ ScrStr *scr_fs_read_fd_encoded(double fd, ScrStr *encoding) {
66
+ if (!scr_fs_read_encoding_valid(encoding)) return NULL;
67
+ return scr_fs_decode_read(scr_fs_read_fd_bytes(fd), encoding);
72
68
  }
73
69
 
70
+ /* ── fs (the Buffer forms of scr_lib.c's utf8 pair) ────────────────────── */
71
+
74
72
  /* readFileSync's runtime-encoding form (a JS helper's untyped `enc`
75
73
  * parameter — test/common fixtures.js): undefined/null answer a Buffer,
76
- * utf8 answers a string, Node's other real encodings meet the loud
77
- * not-supported ladder, unknown names throw ERR_UNKNOWN_ENCODING, and an
74
+ * a supported encoding answers a string, invalid names throw
75
+ * ERR_INVALID_ARG_VALUE before reading, and an
78
76
  * options object dispatches on its `encoding` member (Node's form). +1
79
77
  * dyn value, or NULL with the exception pending. */
80
78
  ScrDyn *scr_fs_read_file_sync_dyn(ScrStr *path, const ScrDyn *enc) {
@@ -82,7 +80,8 @@ ScrDyn *scr_fs_read_file_sync_dyn(ScrStr *path, const ScrDyn *enc) {
82
80
  ScrDyn *ev = scr_dyn_obj_get((ScrDyn *)enc, "encoding", 8); /* borrowed */
83
81
  return scr_fs_read_file_sync_dyn(path, ev ? ev : scr_dyn_undefined());
84
82
  }
85
- if (enc->kind == SCR_DYN_UNDEF || enc->kind == SCR_DYN_NULL) {
83
+ if (enc->kind == SCR_DYN_UNDEF || enc->kind == SCR_DYN_NULL ||
84
+ (enc->kind == SCR_DYN_STR && enc->v.str->len == 0)) {
86
85
  ScrBytes *b = scr_fs_read_file_bytes(path);
87
86
  if (!b) return NULL;
88
87
  ScrDyn *d = scr_dyn_new_buffer(b);
@@ -90,32 +89,11 @@ ScrDyn *scr_fs_read_file_sync_dyn(ScrStr *path, const ScrDyn *enc) {
90
89
  return d;
91
90
  }
92
91
  if (enc->kind == SCR_DYN_STR) {
93
- const ScrStr *e = enc->v.str;
94
- if ((e->len == 4 && memcmp(e->data, "utf8", 4) == 0) ||
95
- (e->len == 5 && memcmp(e->data, "utf-8", 5) == 0)) {
96
- ScrStr *text = scr_fs_read_file(path);
97
- if (!text) return NULL;
98
- ScrDyn *d = scr_dyn_new_str(text);
99
- scr_str_release(text);
100
- return d;
101
- }
102
- static const char *const known[] = { "ascii", "latin1", "binary", "base64",
103
- "base64url", "hex", "ucs2", "ucs-2", "utf16le", "utf-16le", NULL };
104
- for (size_t i = 0; known[i]; i++) {
105
- if (e->len == strlen(known[i]) && memcmp(e->data, known[i], e->len) == 0) {
106
- char msg[128];
107
- int n = snprintf(msg, sizeof msg,
108
- "readFileSync with encoding '%s' is not supported yet (only 'utf8' and Buffer reads here)",
109
- known[i]);
110
- scr_throw_error_msg(SCR_ERR_ERROR, msg, (size_t)n);
111
- return NULL;
112
- }
113
- }
114
- char msg[128];
115
- int n = snprintf(msg, sizeof msg, "Unknown encoding: %.*s",
116
- (int)(e->len < 64 ? e->len : 64), e->data);
117
- scr_throw_error_msg_code(SCR_ERR_TYPE, msg, (size_t)n, "ERR_UNKNOWN_ENCODING");
118
- return NULL;
92
+ ScrStr *text = scr_fs_read_file_encoded(path, enc->v.str);
93
+ if (!text) return NULL;
94
+ ScrDyn *value = scr_dyn_new_str(text);
95
+ scr_str_release(text);
96
+ return value;
119
97
  }
120
98
  {
121
99
  /* Kind rendering stays local: scr_dyn_specific_type lives in the
@@ -127,6 +105,7 @@ ScrDyn *scr_fs_read_file_sync_dyn(ScrStr *path, const ScrDyn *enc) {
127
105
  }
128
106
 
129
107
  static void scr_fs_write_bytes_common(ScrStr *path, const ScrBytes *data, const char *mode) {
108
+ SCR_BYTES_SNAPSHOT(data);
130
109
  FILE *f = fopen(path->data, mode);
131
110
  if (!f) {
132
111
  scr_fs_throw(errno, "open", path);
@@ -277,7 +256,7 @@ static double scr_fs_cb_open(const ScrStr *path, const ScrDyn *flag, double mode
277
256
  static ScrStr *scr_fs_cb_path(const ScrDyn *value, const char *name) {
278
257
  if (!scr_fs_path_chk(value, name)) return NULL;
279
258
  ScrStr *path = value->kind == SCR_DYN_STR ? scr_str_retain(value->v.str)
280
- : scr_str_new((const char *)value->v.bytes->data, value->v.bytes->len);
259
+ : scr_bytes_string(value->v.bytes, 0, value->v.bytes->len);
281
260
  if (memchr(path->data, 0, path->len)) {
282
261
  scr_fs_invalid_named_path(value, path, name);
283
262
  scr_str_release(path);
@@ -995,11 +974,13 @@ ScrBytes *scr_crypto_random_bytes(double n) {
995
974
  /* ── process.stdout/stderr.write(buf) ──────────────────────────────────── */
996
975
 
997
976
  bool scr_process_stdout_write_bytes(const ScrBytes *b, const ScrStr *encoding) {
977
+ SCR_BYTES_SNAPSHOT(b);
998
978
  (void)encoding;
999
979
  return scr_stdio_write(1, b->data, b->len * scr_bytes_elem_size(b->elem));
1000
980
  }
1001
981
 
1002
982
  bool scr_process_stderr_write_bytes(const ScrBytes *b, const ScrStr *encoding) {
983
+ SCR_BYTES_SNAPSHOT(b);
1003
984
  (void)encoding;
1004
985
  return scr_stdio_write(2, b->data, b->len * scr_bytes_elem_size(b->elem));
1005
986
  }
@@ -1322,7 +1303,7 @@ static void scr_fs_exists_fire(ScrClosure *self) {
1322
1303
  ans = scr_fs_exists(p);
1323
1304
  scr_str_release(p);
1324
1305
  } else if (scr_dyn_bytes_is(path, SCR_BYTES_U8)) {
1325
- ScrStr *p = scr_str_new((const char *)path->v.bytes->data, path->v.bytes->len);
1306
+ ScrStr *p = scr_bytes_string(path->v.bytes, 0, path->v.bytes->len);
1326
1307
  ans = scr_fs_exists(p);
1327
1308
  scr_str_release(p);
1328
1309
  }
@@ -1471,7 +1452,7 @@ void scr_fs_lchmod_chk(const ScrDyn *path, const ScrDyn *mode, const ScrDyn *cb,
1471
1452
  #ifdef __APPLE__
1472
1453
  static void scr_fs_lchmod_apply(const ScrDyn *path, const ScrDyn *mode) {
1473
1454
  ScrStr *p = path->kind == SCR_DYN_STR ? scr_str_retain(path->v.str)
1474
- : scr_str_new((const char *)path->v.bytes->data, path->v.bytes->len);
1455
+ : scr_bytes_string(path->v.bytes, 0, path->v.bytes->len);
1475
1456
  double m = mode->kind == SCR_DYN_NUM ? mode->v.num : (double)strtol(mode->v.str->data, NULL, 8);
1476
1457
  if (lchmod(p->data, (mode_t)m) != 0) scr_fs_throw(errno, "lchmod", p);
1477
1458
  scr_str_release(p);
@@ -1261,9 +1261,9 @@ struct ScrChildWriter {
1261
1261
  struct ScrChildWriter *next; /* the service registry (+1) */
1262
1262
  };
1263
1263
 
1264
- static ScrChildStream *scr_child_streams = NULL;
1265
- static size_t scr_child_streams_watching = 0;
1266
- static ScrChildWriter *scr_child_writers = NULL;
1264
+ static SCR_TL ScrChildStream *scr_child_streams = NULL;
1265
+ static SCR_TL size_t scr_child_streams_watching = 0;
1266
+ static SCR_TL ScrChildWriter *scr_child_writers = NULL;
1267
1267
  static bool scr_child_writers_pending(void);
1268
1268
  static void scr_child_writers_service(void);
1269
1269
  static void scr_child_writer_child_settled(ScrChildWriter *w);
@@ -1304,14 +1304,14 @@ struct ScrChild {
1304
1304
  struct ScrChild *next; /* the pending registry */
1305
1305
  };
1306
1306
 
1307
- static ScrChild *scr_children = NULL;
1308
- static ScrChild *scr_children_closing = NULL;
1309
- static size_t scr_children_reffed_n = 0;
1307
+ static SCR_TL ScrChild *scr_children = NULL;
1308
+ static SCR_TL ScrChild *scr_children_closing = NULL;
1309
+ static SCR_TL size_t scr_children_reffed_n = 0;
1310
1310
  /* Pending children the handle wait can NOT represent — spawn failures
1311
1311
  * awaiting their first-pass settle. While any exist, scr_children_wait
1312
1312
  * declines and the loop keeps the ~1ms polling cap (the POSIX arm's
1313
1313
  * unwatched fallback, exactly). */
1314
- static size_t scr_children_unwatched = 0;
1314
+ static SCR_TL size_t scr_children_unwatched = 0;
1315
1315
 
1316
1316
  static void scr_child_drop_terminal_listeners(ScrChild *c) {
1317
1317
  scr_child_drop_spawn_listeners(c);
@@ -1685,7 +1685,7 @@ void scr_child_stream_thunk_str(ScrClosure *cb, ScrStr *chunk) {
1685
1685
 
1686
1686
  #define SCR_CHILD_WRITER_HWM 16384
1687
1687
 
1688
- static const char *scr_child_writer_err_code = NULL;
1688
+ static SCR_TL const char *scr_child_writer_err_code = NULL;
1689
1689
 
1690
1690
  static void scr_child_writer_drop_zero_listeners(ScrChildWriter *w) {
1691
1691
  for (size_t i = 0; i < w->n_drain; i++) scr_closure_release(w->drain_ls[i].cb);
@@ -1908,6 +1908,7 @@ bool scr_child_writer_write_string(ScrChildWriter *w, const ScrStr *data) {
1908
1908
  }
1909
1909
 
1910
1910
  bool scr_child_writer_write_bytes(ScrChildWriter *w, const ScrBytes *data) {
1911
+ SCR_BYTES_SNAPSHOT(data);
1911
1912
  return scr_child_writer_write(w, data->data, data->len);
1912
1913
  }
1913
1914
 
@@ -2431,12 +2432,12 @@ void scr_child_err_thunk0(ScrClosure *cb, ScrStr *msg) {
2431
2432
  ((void (*)(ScrClosure *))cb->fn)(cb);
2432
2433
  }
2433
2434
 
2434
- static const char *scr_child_err_code = NULL;
2435
+ static SCR_TL const char *scr_child_err_code = NULL;
2435
2436
 
2436
2437
  /* The errno name embedded in an errnoException-style message — the
2437
2438
  * POSIX arm's parser, shared story (see its comment). */
2438
2439
  static const char *scr_err_msg_code(const ScrStr *msg) {
2439
- static char buf[32];
2440
+ static SCR_TL char buf[32];
2440
2441
  const char *sp = strchr((const char *)msg->data, ' ');
2441
2442
  if (sp == NULL || sp[1] != 'E') return NULL;
2442
2443
  const char *tok = sp + 1;
@@ -3541,11 +3542,11 @@ struct ScrChildWriter {
3541
3542
  struct ScrChildWriter *next; /* the service registry (+1) */
3542
3543
  };
3543
3544
 
3544
- static ScrChildStream *scr_child_streams = NULL;
3545
+ static SCR_TL ScrChildStream *scr_child_streams = NULL;
3545
3546
  /* Streams with a live consumer (data listener, not yet EOF): the loop's
3546
3547
  * keep-alive and service predicate. */
3547
- static size_t scr_child_streams_watching = 0;
3548
- static ScrChildWriter *scr_child_writers = NULL;
3548
+ static SCR_TL size_t scr_child_streams_watching = 0;
3549
+ static SCR_TL ScrChildWriter *scr_child_writers = NULL;
3549
3550
  static bool scr_child_writers_pending(void);
3550
3551
  static void scr_child_writers_service(void);
3551
3552
  static void scr_child_writer_child_settled(ScrChildWriter *w);
@@ -3588,18 +3589,18 @@ struct ScrChild {
3588
3589
  struct ScrChild *next; /* the pending registry */
3589
3590
  };
3590
3591
 
3591
- static ScrChild *scr_children = NULL; /* unsettled children (registry +1) */
3592
- static ScrChild *scr_children_closing = NULL; /* exited, waiting for stdio EOF */
3593
- static size_t scr_children_reffed_n = 0; /* unsettled AND reffed (liveness) */
3592
+ static SCR_TL ScrChild *scr_children = NULL; /* unsettled children (registry +1) */
3593
+ static SCR_TL ScrChild *scr_children_closing = NULL; /* exited, waiting for stdio EOF */
3594
+ static SCR_TL size_t scr_children_reffed_n = 0; /* unsettled AND reffed (liveness) */
3594
3595
 
3595
3596
  /* Children the kqueue can NOT wake the loop for (spawn failures awaiting
3596
3597
  * their first-pass settle, exit-filter registration failures, every child
3597
3598
  * on a non-kqueue platform): while any exist, scr_children_wait refuses
3598
3599
  * and the loop keeps the polling cap for them. */
3599
- static size_t scr_children_unwatched = 0;
3600
+ static SCR_TL size_t scr_children_unwatched = 0;
3600
3601
 
3601
3602
  #ifdef SCR_HAVE_KQUEUE
3602
- static int scr_child_kq = -1; /* created with the first spawn; lives forever */
3603
+ static SCR_TL int scr_child_kq = -1; /* created with the first spawn; lives forever */
3603
3604
 
3604
3605
  /* Arms NOTE_EXIT for a freshly spawned pid. False = the child cannot be
3605
3606
  * watched (it already exited and EVFILT_PROC refuses zombies — the very
@@ -3622,7 +3623,7 @@ static void scr_child_unwatch(pid_t pid) { (void)pid; }
3622
3623
  #endif
3623
3624
 
3624
3625
  #ifdef SCR_CHILD_HAVE_PIDFD
3625
- static int scr_child_ep = -1; /* created with the first spawn; lives forever */
3626
+ static SCR_TL int scr_child_ep = -1; /* created with the first spawn; lives forever */
3626
3627
 
3627
3628
  /* pid -> pidfd, so the reap can CLOSE the pidfd (it polls readable from
3628
3629
  * exit until closed — kqueue's ONESHOT drop has no epoll analogue). A
@@ -3632,8 +3633,8 @@ typedef struct {
3632
3633
  int pidfd;
3633
3634
  } ScrChildPidfd;
3634
3635
 
3635
- static ScrChildPidfd *scr_child_pidfds = NULL;
3636
- static size_t scr_child_pidfds_n = 0, scr_child_pidfds_cap = 0;
3636
+ static SCR_TL ScrChildPidfd *scr_child_pidfds = NULL;
3637
+ static SCR_TL size_t scr_child_pidfds_n = 0, scr_child_pidfds_cap = 0;
3637
3638
 
3638
3639
  /* Arms an exit wakeup for a freshly spawned pid: pidfd_open registered
3639
3640
  * EPOLLIN. False = the child cannot be watched (ENOSYS on pre-5.3
@@ -4225,7 +4226,7 @@ void scr_child_stream_thunk_str(ScrClosure *cb, ScrStr *chunk) {
4225
4226
 
4226
4227
  #define SCR_CHILD_WRITER_HWM 65536
4227
4228
 
4228
- static const char *scr_child_writer_err_code = NULL;
4229
+ static SCR_TL const char *scr_child_writer_err_code = NULL;
4229
4230
 
4230
4231
  static void scr_child_writer_drop_zero_listeners(ScrChildWriter *w) {
4231
4232
  for (size_t i = 0; i < w->n_drain; i++) scr_closure_release(w->drain_ls[i].cb);
@@ -4432,6 +4433,7 @@ bool scr_child_writer_write_string(ScrChildWriter *w, const ScrStr *data) {
4432
4433
  }
4433
4434
 
4434
4435
  bool scr_child_writer_write_bytes(ScrChildWriter *w, const ScrBytes *data) {
4436
+ SCR_BYTES_SNAPSHOT(data);
4435
4437
  return scr_child_writer_write(w, data->data, data->len);
4436
4438
  }
4437
4439
 
@@ -4970,6 +4972,22 @@ void scr_children_teardown(void) {
4970
4972
  scr_child_drop_listeners(c);
4971
4973
  scr_child_release(c);
4972
4974
  }
4975
+ #ifdef SCR_WORKERS
4976
+ /* Watchers belong to the script context, which can end long before the
4977
+ * process. Release their OS handles and reusable pid index at loop exit. */
4978
+ #ifdef SCR_HAVE_KQUEUE
4979
+ if (scr_child_kq >= 0) close(scr_child_kq);
4980
+ scr_child_kq = -1;
4981
+ #endif
4982
+ #ifdef SCR_CHILD_HAVE_PIDFD
4983
+ for (size_t i = 0; i < scr_child_pidfds_n; i++) close(scr_child_pidfds[i].pidfd);
4984
+ free(scr_child_pidfds);
4985
+ scr_child_pidfds = NULL;
4986
+ scr_child_pidfds_n = scr_child_pidfds_cap = 0;
4987
+ if (scr_child_ep >= 0) close(scr_child_ep);
4988
+ scr_child_ep = -1;
4989
+ #endif
4990
+ #endif
4973
4991
  }
4974
4992
 
4975
4993
  void scr_child_on_exit(ScrChild *c, ScrClosure *cb /*moves*/, ScrChildExitFn fn) {
@@ -5039,7 +5057,7 @@ void scr_child_err_thunk0(ScrClosure *cb, ScrStr *msg) {
5039
5057
  * Node's `code` on the constructed error (the thunk signature is shared
5040
5058
  * with scr_net.c's error events, which parse theirs out of the message
5041
5059
  * below). NULL outside a spawn-failure settle. */
5042
- static const char *scr_child_err_code = NULL;
5060
+ static SCR_TL const char *scr_child_err_code = NULL;
5043
5061
 
5044
5062
  /* [.code on event errors — net/http/dgram parity with spawn failures]
5045
5063
  * The errno name embedded in an errnoException-style message ("connect
@@ -5054,7 +5072,7 @@ static const char *scr_child_err_code = NULL;
5054
5072
  * valid until the next call, or NULL for code-less messages ("socket
5055
5073
  * hang up" stays undefined — divergence 54's documented bound). */
5056
5074
  static const char *scr_err_msg_code(const ScrStr *msg) {
5057
- static char buf[32];
5075
+ static SCR_TL char buf[32];
5058
5076
  const char *sp = strchr((const char *)msg->data, ' ');
5059
5077
  if (sp == NULL || sp[1] != 'E') return NULL;
5060
5078
  const char *tok = sp + 1;
@@ -5541,10 +5559,10 @@ struct ScrIpc {
5541
5559
  struct ScrIpc *next;
5542
5560
  };
5543
5561
 
5544
- static ScrIpc *scr_ipcs = NULL;
5545
- static ScrIpc *scr_process_ipc = NULL;
5546
- static double scr_process_fork_id = -2;
5547
- static bool scr_ipc_cleanup_registered = false;
5562
+ static SCR_TL ScrIpc *scr_ipcs = NULL;
5563
+ static SCR_TL ScrIpc *scr_process_ipc = NULL;
5564
+ static SCR_TL double scr_process_fork_id = -2;
5565
+ static SCR_TL bool scr_ipc_cleanup_registered = false;
5548
5566
 
5549
5567
  static ScrIpc *scr_ipc_retain(ScrIpc *ipc) {
5550
5568
  if (ipc && ipc->rc != SIZE_MAX) ipc->rc++;
@@ -5633,7 +5651,7 @@ static void scr_ipc_stream_data(ScrClosure *closure, ScrBytes *chunk) {
5633
5651
  if (!ipc->buffer) scr_trap("out of memory");
5634
5652
  ipc->buffer_cap = cap;
5635
5653
  }
5636
- memcpy(ipc->buffer + ipc->buffer_len, chunk->data, chunk->len);
5654
+ scr_bytes_read(chunk, 0, ipc->buffer + ipc->buffer_len, chunk->len);
5637
5655
  ipc->buffer_len = need;
5638
5656
  size_t consumed = 0;
5639
5657
  for (size_t i = 0; i < ipc->buffer_len; i++) {
@@ -5705,7 +5723,7 @@ static ScrIpc *scr_ipc_new(ScrChildStream *reader, ScrChildWriter *writer) {
5705
5723
  &scr_ipc_writer_error, false);
5706
5724
  if (!scr_ipc_cleanup_registered) {
5707
5725
  scr_ipc_cleanup_registered = true;
5708
- atexit(scr_ipc_global_cleanup);
5726
+ scr_atexit(scr_ipc_global_cleanup);
5709
5727
  }
5710
5728
  return ipc;
5711
5729
  }
@@ -112,15 +112,20 @@ static void scr_box_release_payload(ScrBox *b, void *p) {
112
112
  }
113
113
  }
114
114
 
115
+ static void scr_box_destroy(void *object) {
116
+ ScrBox *b = object;
117
+ scr_box_release_payload(b, scr_box_ptr(b));
118
+ #ifdef SCR_RC_AUDIT
119
+ scr_live_boxes--;
120
+ #endif
121
+ scr_cyc_free(b);
122
+ }
123
+
115
124
  void scr_box_release(ScrBox *b) {
116
125
  if (!b || b->rc == SIZE_MAX) return; /* NULL: a switch jumped past the decl */
117
126
  if (--b->rc == 0) {
118
127
  scr_cyc_on_dead(b);
119
- scr_box_release_payload(b, scr_box_ptr(b));
120
- #ifdef SCR_RC_AUDIT
121
- scr_live_boxes--;
122
- #endif
123
- scr_cyc_free(b);
128
+ scr_rc_destroy(b, scr_box_destroy);
124
129
  } else {
125
130
  scr_cyc_on_release(b); /* possible cycle root; may collect — b is done */
126
131
  }
@@ -193,16 +198,21 @@ ScrClosure *scr_closure_new(void *fn, size_t ncaps) {
193
198
  return c;
194
199
  }
195
200
 
201
+ static void scr_closure_destroy(void *object) {
202
+ ScrClosure *c = object;
203
+ for (size_t i = 0; i < c->ncaps; i++) scr_box_release(c->caps[i]);
204
+ scr_box_release(c->props); /* NULL-tolerant */
205
+ #ifdef SCR_RC_AUDIT
206
+ scr_live_closures--;
207
+ #endif
208
+ scr_cyc_free(c);
209
+ }
210
+
196
211
  void scr_closure_release(ScrClosure *c) {
197
212
  if (!c || c->rc == SIZE_MAX) return; /* NULL: an uninitialized `let` local */
198
213
  if (--c->rc == 0) {
199
214
  scr_cyc_on_dead(c);
200
- for (size_t i = 0; i < c->ncaps; i++) scr_box_release(c->caps[i]);
201
- scr_box_release(c->props); /* NULL-tolerant */
202
- #ifdef SCR_RC_AUDIT
203
- scr_live_closures--;
204
- #endif
205
- scr_cyc_free(c);
215
+ scr_rc_destroy(c, scr_closure_destroy);
206
216
  } else {
207
217
  scr_cyc_on_release(c); /* possible cycle root; may collect — c is done */
208
218
  }
@@ -107,9 +107,12 @@ static void scr_enable_utf8_console_output(void) {
107
107
  }
108
108
  #endif
109
109
 
110
- void scr_runtime_abi_v6(void) {}
110
+ void scr_runtime_abi_v7(void) {}
111
111
 
112
112
  void scr_init(void) {
113
+ #ifdef SCR_WORKERS
114
+ if (scr_context_is_main()) {
115
+ #endif
113
116
  #ifdef _WIN32
114
117
  /* The CRT opens std streams in TEXT mode, which writes \n as \r\n. Node
115
118
  * on Windows does NOT translate — console.log emits \n whether stdout is
@@ -133,16 +136,19 @@ void scr_init(void) {
133
136
  * stream immediately. */
134
137
  static char outbuf[1 << 16];
135
138
  setvbuf(stdout, outbuf, _IOFBF, sizeof outbuf);
139
+ #ifdef SCR_WORKERS
140
+ }
141
+ #endif
136
142
  /* atexit is LIFO; registration order makes exit run: library cleanup
137
143
  * (registered later, in scr_lib_init) → cycle collection → RC audit →
138
144
  * flush → Windows console-code-page restore. The final collection frees
139
145
  * cycles the program dropped, so the audit (and ASan's leak check) see
140
146
  * them as freed, not leaked. */
141
- atexit(scr_flush_at_exit);
147
+ scr_atexit(scr_flush_at_exit);
142
148
  #ifdef SCR_RC_AUDIT
143
- atexit(scr_rc_audit_at_exit);
149
+ scr_atexit(scr_rc_audit_at_exit);
144
150
  #endif
145
- atexit(scr_collect_cycles_at_exit);
151
+ scr_atexit(scr_collect_cycles_at_exit);
146
152
  }
147
153
  #endif /* !SCR_LIB — a library artifact never touches host stdio modes/buffering and
148
154
  * registers no atexit handlers: scr_init and its exit hooks (the
@@ -154,7 +160,7 @@ void scr_init(void) {
154
160
  * the stream differs. */
155
161
  /* A real definition lets relocatable library links localize this hook;
156
162
  * a tentative common symbol stays externally visible on Mach-O. */
157
- bool (*scr_stdio_write_hook)(int fd, const void *data, size_t len) = NULL;
163
+ SCR_TL bool (*scr_stdio_write_hook)(int fd, const void *data, size_t len) = NULL;
158
164
 
159
165
  static void scr_console_write(FILE *out, size_t n, const ScrLogArg *args) {
160
166
  if (scr_stdio_write_hook) {
@@ -192,6 +198,15 @@ static void scr_console_write(FILE *out, size_t n, const ScrLogArg *args) {
192
198
  if (scr_exc_pending()) scr_exc_clear();
193
199
  return;
194
200
  }
201
+ /* Formatting a single line uses several libc calls. Hold the stream lock
202
+ * for that whole chunk so concurrent workers cannot interleave arguments. */
203
+ #ifdef SCR_WORKERS
204
+ #ifdef _WIN32
205
+ _lock_file(out);
206
+ #else
207
+ flockfile(out);
208
+ #endif
209
+ #endif
195
210
  char numbuf[32];
196
211
  for (size_t i = 0; i < n; i++) {
197
212
  if (i > 0) fputc(' ', out);
@@ -221,6 +236,13 @@ static void scr_console_write(FILE *out, size_t n, const ScrLogArg *args) {
221
236
  * Keep the C buffer only as a formatter coalescing detail: a caller
222
237
  * observing a live child must see this line before the next JS turn. */
223
238
  fflush(out);
239
+ #ifdef SCR_WORKERS
240
+ #ifdef _WIN32
241
+ _unlock_file(out);
242
+ #else
243
+ funlockfile(out);
244
+ #endif
245
+ #endif
224
246
  }
225
247
 
226
248
  void scr_console_log(size_t n, const ScrLogArg *args) {