@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
@@ -35,7 +35,7 @@ char *strcasestr(const char *hay, const char *needle);
35
35
  void arc4random_buf(void *buf, size_t n);
36
36
  #endif
37
37
 
38
- /* ── thread-instanced library state ─────────────────────────────────────
38
+ /* ── runtime instance state ─────────────────────────────────────────────
39
39
  * Archives built under the profile's abi.instance_per_thread compile every
40
40
  * TU with -DSCR_THREAD_INSTANCES, and SCR_TL moves each unit's mutable
41
41
  * state — and the emitted program's globals — into thread-local storage.
@@ -44,10 +44,10 @@ void arc4random_buf(void *buf, size_t n);
44
44
  * registration, poison flag, and program state. The instance's lifetime is
45
45
  * the thread's; the one-thread-per-instance contract (an instance is never
46
46
  * entered from two threads) is unchanged — this mode adds instances, not
47
- * thread awareness. Expands to nothing everywhere else, so executable
48
- * builds and classic library builds carry the exact bytes they always
49
- * carried. Truly immutable tables (static const data) stay shared. */
50
- #if defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)
47
+ * thread awareness. Worker executables use the same isolation for their
48
+ * collectors, caches and scheduler state. Expands to nothing for ordinary
49
+ * executables and classic libraries. Immutable tables stay shared. */
50
+ #if (defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)) || defined(SCR_WORKERS)
51
51
  #define SCR_TL _Thread_local
52
52
  #else
53
53
  #define SCR_TL
@@ -62,7 +62,8 @@ void scr_init(void);
62
62
  /* Program objects emitted by the bundled LLVM helper reference this symbol.
63
63
  * Its versioned spelling makes a mismatched manual runtime link fail before
64
64
  * the program can start. */
65
- void scr_runtime_abi_v6(void);
65
+ void scr_runtime_abi_v7(void);
66
+ void scr_runtime_workers_v7(void);
66
67
 
67
68
  /* ── the trap funnel (scr_console.c; scr_library.c under -DSCR_LIB) ──────
68
69
  * Every unrecoverable runtime trap — OOM, semantic range traps, internal-
@@ -276,10 +277,45 @@ void scr_library_str_out(ScrStr *s, const uint8_t **out, size_t *out_len);
276
277
  void scr_library_bytes_out(ScrBytes *b, const uint8_t **out, size_t *out_len);
277
278
 
278
279
  #define scr_atexit(fn) scr_library_register_reset(fn)
280
+ #elif defined(SCR_WORKERS)
281
+ /* Executable workers drain their own cleanup stack before their TLS dies.
282
+ * Registering their callbacks with libc would execute them on the process
283
+ * exit thread against a different runtime instance. */
284
+ int scr_context_atexit(void (*fn)(void));
285
+ void scr_context_cleanup(void);
286
+ void scr_context_enter(uint64_t thread_id);
287
+ uint64_t scr_context_thread_id(void);
288
+ void scr_context_stop_flag(const void *flag);
289
+ void scr_context_stop(int code);
290
+ bool scr_context_stopping(void);
291
+ bool scr_context_checkpoint(void);
292
+ void scr_loop_context_shutdown(void);
293
+ extern SCR_TL void (*scr_context_report_error)(void);
294
+ typedef struct ScrContextEnv ScrContextEnv;
295
+ ScrContextEnv *scr_context_env_capture(void);
296
+ void scr_context_env_free(ScrContextEnv *environment);
297
+ void scr_context_env_enter(ScrContextEnv *environment);
298
+ bool scr_context_env_set(const char *name, const char *value);
299
+ const char *scr_context_getenv(const char *name);
300
+ struct ScrArr *scr_context_env_pairs(void);
301
+ #define scr_atexit(fn) scr_context_atexit(fn)
279
302
  #else
280
303
  #define scr_atexit(fn) atexit(fn)
281
304
  #endif /* SCR_LIB */
282
305
 
306
+ /* Also used by ordinary event-loop builds, where this always returns true. */
307
+ bool scr_context_is_main(void);
308
+ double scr_context_thread_number(void);
309
+ double scr_worker_root(void);
310
+ int scr_worker_argc(void);
311
+ char **scr_worker_argv(void);
312
+
313
+ #ifdef SCR_WORKERS
314
+ #define scr_getenv(name) scr_context_getenv(name)
315
+ #else
316
+ #define scr_getenv(name) getenv(name)
317
+ #endif
318
+
283
319
  /* ── cycle collection (scr_cycle.c) ───────────────────────────────────
284
320
  * Reference counting alone cannot free cycles, so every object that can
285
321
  * participate in one — capture boxes, heap closures, unions, promises, and
@@ -380,6 +416,12 @@ static inline ScrCycHdr *scr_cyc_hdr(void *obj) { return (ScrCycHdr *)obj - 1; }
380
416
  void *scr_cyc_alloc(size_t size, ScrTraceFn trace, ScrCycFreeFn free_fn);
381
417
  void scr_cyc_free(void *obj); /* frees the block, header included */
382
418
 
419
+ /* Dispose an object whose reference count already reached zero. The caller
420
+ * removes its cycle candidate first. Nested disposals keep bounded stack
421
+ * depth; deeper objects wait until the outer disposal drains the worklist.
422
+ * The callback owns the object and must release its children and free it. */
423
+ void scr_rc_destroy(void *obj, void (*destroy)(void *));
424
+
383
425
  /* RC hooks for cycle-headered types. on_release: rc was decremented and
384
426
  * stayed above zero — buffer the object as a possible cycle root (may run
385
427
  * a collection when the buffer crosses the threshold; the caller must not
@@ -397,6 +439,7 @@ static inline void scr_cyc_mark_live(void *obj) {
397
439
  * after and wants nothing reclaimable left), and it costs a walk of the
398
440
  * live heap — do not put it on a per-turn path. */
399
441
  void scr_collect_cycles(void);
442
+ void scr_cyc_context_cleanup(void);
400
443
 
401
444
  /* One pass on the normal generational schedule, for callers that reach a
402
445
  * natural collection point rather than a threshold (the event loop between
@@ -765,6 +808,16 @@ ScrStr *scr_str_slice(ScrStr *s, double start, double end);
765
808
  /* substring: clamp-and-swap (negatives clamp to 0, start > end swaps). */
766
809
  ScrStr *scr_str_substring(ScrStr *s, double start, double end);
767
810
 
811
+ /* Scalar-only local slices retain their original owner without copying.
812
+ * Bounds and split-surrogate replacements are snapshotted at construction. */
813
+ typedef struct ScrStringSlice {
814
+ size_t start, length;
815
+ uint32_t split;
816
+ } ScrStringSlice;
817
+ void scr_str_slice_range(ScrStr *s, double start, double end, bool substring,
818
+ ScrStringSlice *out);
819
+ double scr_str_slice_char_code_at(ScrStr *s, const ScrStringSlice *range, double index);
820
+
768
821
  /* repeat(count): count < 0 or Infinity is a JS RangeError; scriptc has no
769
822
  * exceptions, so it prints "scriptc: RangeError: Invalid count value" to
770
823
  * stderr and abort()s. Returns +1. */
@@ -805,6 +858,25 @@ ScrStr *scr_str_trim_end(ScrStr *s);
805
858
  struct ScrArr;
806
859
  struct ScrArr *scr_str_split(ScrStr *s, ScrStr *sep);
807
860
  struct ScrArr *scr_str_split_limit(ScrStr *s, ScrStr *sep, double limit);
861
+ /* Internal dense split traversal. The cursor borrows input strings, returns
862
+ * one owned piece per step, and uses NULL only for exhaustion. Its layout
863
+ * is shared with generated stack storage, including wasm32. */
864
+ typedef struct ScrSplitCursor {
865
+ size_t offset;
866
+ uint32_t remaining;
867
+ uint32_t pending_unit;
868
+ } ScrSplitCursor;
869
+ void scr_str_split_cursor_init(ScrSplitCursor *cursor, uint32_t limit);
870
+ /* Optional scratch is a separately owned, NULL-initialized string slot.
871
+ * A piece that has not escaped can reuse it after the preceding yield is
872
+ * released. The caller releases the slot on every exit; NULL disables reuse. */
873
+ ScrStr *scr_str_split_cursor_next(ScrStr *s, ScrStr *sep, ScrSplitCursor *cursor,
874
+ ScrStr **scratch);
875
+ /* Borrowed split bytes remain valid while the source snapshot is owned.
876
+ * Materialization returns +1 and uses the same optional scratch contract. */
877
+ const char *scr_str_split_cursor_span(ScrStr *s, ScrStr *sep, ScrSplitCursor *cursor,
878
+ size_t *length);
879
+ ScrStr *scr_str_split_materialize(const char *bytes, size_t length, ScrStr **scratch);
808
880
 
809
881
  /* padStart(maxLength, fill)/padEnd — ECMA StringPad, UTF-16 unit counts.
810
882
  * Target at or below the length (or empty fill) returns the receiver
@@ -1032,7 +1104,7 @@ typedef struct ScrArr {
1032
1104
  void (*elem_release)(void *);
1033
1105
  ScrTraceFn elem_trace;
1034
1106
  uint64_t *data;
1035
- uint8_t *present; /* one ScrArrState per dense slot */
1107
+ uint8_t *present; /* one state per dense slot; heap arrays share data allocation */
1036
1108
  struct ScrArrSparseSlot *sparse;
1037
1109
  size_t sparse_len;
1038
1110
  size_t sparse_cap;
@@ -1111,6 +1183,13 @@ void scr_arr_copy_range(ScrArr *dst, size_t dst_start, const ScrArr *src,
1111
1183
  void scr_arr_copy_range_ex(ScrArr *dst, size_t dst_start, const ScrArr *src,
1112
1184
  size_t src_start, size_t count, bool reverse,
1113
1185
  bool materialize_holes);
1186
+ /* Mutating indexed operations borrow the receiver and value, preserve
1187
+ * sparse presence, and return the receiver retained. */
1188
+ ScrArr *scr_arr_copy_within(ScrArr *a, double target, double start, double end);
1189
+ ScrArr *scr_arr_fill_f64(ScrArr *a, double value, double start, double end);
1190
+ ScrArr *scr_arr_fill_bool(ScrArr *a, bool value, double start, double end);
1191
+ ScrArr *scr_arr_fill_ref(ScrArr *a, void *value, double start, double end);
1192
+ ScrArr *scr_arr_fill_undefined(ScrArr *a, double start, double end);
1114
1193
  /* Math.max(...xs) / Math.min(...xs) over an f64-element array: the JS
1115
1194
  * fold (NaN poisons, ±0 by the JS preferences, empty → ∓Infinity). */
1116
1195
  double scr_math_max_arr(ScrArr *a);
@@ -1137,6 +1216,7 @@ double scr_arr_get_number(const ScrArr *a, double i);
1137
1216
  bool scr_arr_index_eq(const ScrArr *a, double i, const ScrArr *b, double j);
1138
1217
  bool scr_arr_get_bool(ScrArr *a, double i); /* trap missing/hole */
1139
1218
  void *scr_arr_get_ref(ScrArr *a, double i); /* trap missing/hole; +1 */
1219
+ void *scr_arr_borrow_ref(ScrArr *a, double i); /* same checks; borrowed */
1140
1220
  /* Borrow a non-null reference element, or NULL for a hole/undefined/missing
1141
1221
  * property. Keep the array alive and retain before removing its element.
1142
1222
  * This read does not invoke retain callbacks or mutate runtime state. */
@@ -1170,6 +1250,10 @@ ScrArr *scr_arr_with_undefined(ScrArr *a, double index);
1170
1250
  double scr_arr_push_f64(ScrArr *a, double v);
1171
1251
  double scr_arr_push_bool(ScrArr *a, bool v);
1172
1252
  double scr_arr_push_ref(ScrArr *a, void *v);
1253
+ /* Compiler-built slot buffers do not alias array storage. Both operations
1254
+ * move ownership of every slot and preserve the evaluated argument order. */
1255
+ double scr_arr_push_many(ScrArr *a, size_t count, const uint64_t *slots);
1256
+ double scr_arr_unshift_many(ScrArr *a, size_t count, const uint64_t *slots);
1173
1257
  /* Append a same-element-kind array through the JS iterator contract: holes
1174
1258
  * become present undefined states. The source is borrowed and self-spread
1175
1259
  * duplicates the original indexed state. */
@@ -1185,6 +1269,8 @@ double scr_arr_unshift_bool(ScrArr *a, bool v);
1185
1269
  double scr_arr_unshift_ref(ScrArr *a, void *v);
1186
1270
  double scr_arr_unshift_spread(ScrArr *a, const ScrArr *src);
1187
1271
  ScrArr *scr_arr_reverse(ScrArr *a);
1272
+ /* Default primitive String ordering; stable, borrowed receiver, owned result. */
1273
+ ScrArr *scr_arr_sort_primitive(ScrArr *a, bool copy);
1188
1274
 
1189
1275
  /* pop traps on an empty array; _ref transfers ownership out (+1 to the
1190
1276
  * caller, no release). */
@@ -1394,8 +1480,8 @@ typedef struct ScrMap {
1394
1480
  size_t nlive; /* live entries (Map.size) */
1395
1481
  size_t ecap; /* entries capacity */
1396
1482
  ScrMapEntry *entries;
1397
- size_t nbuckets; /* power of two; >= 2 * ecap so probes terminate */
1398
- size_t *buckets; /* entry indices; SIZE_MAX = empty */
1483
+ size_t nbuckets; /* zero for small linear maps; otherwise power of two >= 2 * nentries */
1484
+ void *buckets; /* compact tagged indices, or size_t indices for large tables */
1399
1485
  size_t iter_depth; /* > 0: an iteration is active — no compaction */
1400
1486
  const ScrMapDynOps *dyn_ops;
1401
1487
  const uint8_t *union_keys; /* immutable key-kind table indexed by union tag */
@@ -1403,6 +1489,12 @@ typedef struct ScrMap {
1403
1489
 
1404
1490
  /* Called once on a fresh UNION_VALUE collection, before its first insert. */
1405
1491
  void scr_map_union_keys(ScrMap *map, const uint8_t *kinds);
1492
+ /* String-key lookups borrow an exact byte span. Reference results return
1493
+ * +1; scalar outputs are written only on a hit, like the string getters. */
1494
+ bool scr_map_get_span_f64(const ScrMap *m, const char *bytes, size_t length, double *out);
1495
+ bool scr_map_get_span_bool(const ScrMap *m, const char *bytes, size_t length, bool *out);
1496
+ void *scr_map_get_span_ref(const ScrMap *m, const char *bytes, size_t length);
1497
+
1406
1498
  /* Fresh shallow copies with compact storage and independent mutation.
1407
1499
  * keys_only selects a Set; checked views materialize their boxed values. */
1408
1500
  ScrMap *scr_map_clone(const ScrMap *source, bool keys_only);
@@ -1829,6 +1921,9 @@ extern SCR_TL ScrVt scr_emitter_vt; /* main() stamps pre/post */
1829
1921
  extern SCR_TL double scr_emitter_default_max;
1830
1922
 
1831
1923
  ScrEmitter *scr_emitter_new(void); /* +1, collector-headered */
1924
+ /* Internal owner hook; observes listener presence without running script. */
1925
+ void scr_emitter_observe(ScrEmitter *em,
1926
+ void (*observe)(void *, const ScrStr *, bool), void *context);
1832
1927
  void scr_emitter_init(void *obj); /* super() into the prefix (no-op today) */
1833
1928
  ScrEmitter *scr_emitter_retain(ScrEmitter *em);
1834
1929
  void scr_emitter_release(ScrEmitter *em); /* dispatches through em->vt */
@@ -1906,6 +2001,7 @@ ScrEmitter *scr_emitter_remove_all(ScrEmitter *em, ScrStr *name, bool all);
1906
2001
  * emit('error', err): no listener ⇒ THROWS err (borrowed; +1 taken). */
1907
2002
  bool scr_emitter_emit(ScrEmitter *em, ScrStr *name, ...);
1908
2003
  bool scr_emitter_emit_flex(ScrEmitter *em, ScrStr *name, ScrDyn *const *args, size_t argc);
2004
+ bool scr_emitter_emit_error_flex(ScrEmitter *em, ScrDyn *error);
1909
2005
  bool scr_emitter_emit_error(ScrEmitter *em, ScrStr *name, ScrError *err);
1910
2006
  double scr_emitter_listener_count(ScrEmitter *em, ScrStr *name);
1911
2007
  double scr_emitter_listener_count_fn(ScrEmitter *em, ScrStr *name, ScrClosure *fn);
@@ -1927,7 +2023,7 @@ bool scr_emitter_has(ScrEmitter *em, const char *name);
1927
2023
  * the END of scr_emitter_on with the emitter and the event name, so the
1928
2024
  * stream unit can start flowing on the first 'data' listener. NULL when
1929
2025
  * the stream unit is not linked; emitter behavior is byte-identical. */
1930
- extern void (*scr_emitter_on_hook)(ScrEmitter *em, ScrStr *name);
2026
+ extern SCR_TL void (*scr_emitter_on_hook)(ScrEmitter *em, ScrStr *name);
1931
2027
 
1932
2028
  /* ── node:stream (scr_stream.c, link-gated by moduleUsesStream) ───────
1933
2029
  * The runtime-provided stream classes (Readable/Writable/Duplex/
@@ -1968,7 +2064,7 @@ typedef struct ScrStream {
1968
2064
  ScrStreamState *st;
1969
2065
  } ScrStream;
1970
2066
 
1971
- extern ScrVt scr_readable_vt, scr_writable_vt, scr_duplex_vt,
2067
+ extern SCR_TL ScrVt scr_readable_vt, scr_writable_vt, scr_duplex_vt,
1972
2068
  scr_transform_vt, scr_passthrough_vt; /* main() stamps pre/post */
1973
2069
 
1974
2070
  /* Compiler-emitted option-callback invoke adapters (the leading-`this`
@@ -2279,6 +2375,9 @@ typedef enum {
2279
2375
  * functions, and checked-dynamic primitives). The payload uses the
2280
2376
  * same ownership as REF. */
2281
2377
  SCR_EXC_PRIMITIVE_REF,
2378
+ /* Noncatchable context shutdown. Owns no payload; generated unwinding
2379
+ * releases locals while bypassing user catch and finally handlers. */
2380
+ SCR_EXC_TERMINATE,
2282
2381
  } ScrExcKind;
2283
2382
 
2284
2383
  /* One cell per fiber (JS has one exception in flight per execution
@@ -2396,7 +2495,7 @@ ScrDyn *scr_caught_to_dyn(const ScrCaught *c);
2396
2495
  void scr_exc_print_uncaught(void);
2397
2496
  /* Optional native process exception registry. Hook returns 1 when handled,
2398
2497
  * 0 when unhandled, and -1 when a handler itself threw (Node exit 7). */
2399
- extern int (*scr_uncaught_exception_hook)(bool from_promise);
2498
+ extern SCR_TL int (*scr_uncaught_exception_hook)(bool from_promise);
2400
2499
  bool scr_exc_handle_uncaught(bool from_promise);
2401
2500
  void scr_process_on_uncaught_exception(ScrDyn *fn, bool once, bool monitor);
2402
2501
  void scr_process_off_uncaught_exception(ScrDyn *fn, bool monitor);
@@ -2458,7 +2557,7 @@ ScrStr *scr_process_cwd(void); /* +1 fresh (getcwd) */
2458
2557
  * internal stdio formatting buffer never delays live output. */
2459
2558
  bool scr_stdio_write(int fd, const void *data, size_t len);
2460
2559
  int scr_stdio_write_raw(int fd, const void *data, size_t len);
2461
- extern bool (*scr_stdio_write_hook)(int fd, const void *data, size_t len);
2560
+ extern SCR_TL bool (*scr_stdio_write_hook)(int fd, const void *data, size_t len);
2462
2561
  /* process.stdout/.stderr .write — raw bytes (no newline or formatting; data
2463
2562
  * borrowed), promptly visible and ordered with console output. Constantly
2464
2563
  * true (the synchronous runtime never queues backpressure). */
@@ -2621,15 +2720,11 @@ void scr_fs_write_file_mode(ScrStr *path, ScrStr *data, double mode);
2621
2720
  void scr_fs_mkdir_mode(ScrStr *path, double mode);
2622
2721
  void scr_fs_mkdir_recursive_mode(ScrStr *path, double mode);
2623
2722
 
2624
- /* Atomics.wait(int32Array, idx, expected, timeoutMs): "not-equal" when
2625
- * the element differs from expected, else a real nanosleep for the
2626
- * timeout and "timed-out" (+1 string either way). scriptc has no
2627
- * threads, so nothing can ever notify — for every compilable program
2628
- * this IS the spec's behavior and "ok" is unreachable (the compiler
2629
- * requires the timeout argument; an infinite wait would be a certain
2630
- * deadlock). Out-of-range indices trap like every bytes access. */
2631
- typedef struct ScrBytes ScrBytes; /* full definition below (C11 repeat) */
2632
- ScrStr *scr_atomics_wait(ScrBytes *arr, double idx, double expected, double timeout_ms);
2723
+ /* Sequentially consistent integer operations and shared Int32 wait queues. */
2724
+ typedef struct ScrBytes ScrBytes;
2725
+ ScrStr *scr_atomics_wait(ScrBytes *, double, double, double);
2726
+ double scr_atomics_notify(ScrBytes *, double, double);
2727
+ double scr_atomics_op(ScrBytes *, double, double, double, double);
2633
2728
 
2634
2729
  /* isatty(3) over an fd (0/1/2): a real boolean — false where Node's
2635
2730
  * non-TTY streams expose undefined (SEMANTICS.md). stdin_destroy is a
@@ -3654,6 +3749,9 @@ typedef enum {
3654
3749
  SCR_DYNH_CONSOLE, /* stored global console value */
3655
3750
  SCR_DYNH_SEARCH_PARAMS, /* live WHATWG URLSearchParams */
3656
3751
  SCR_DYNH_FETCH_REQUEST,
3752
+ SCR_DYNH_WORKER,
3753
+ SCR_DYNH_MESSAGE_PORT,
3754
+ SCR_DYNH_SHARED_ARRAY_BUFFER,
3657
3755
  SCR_DYNH_COUNT,
3658
3756
  } ScrDynHandleTag;
3659
3757
 
@@ -3681,7 +3779,7 @@ typedef struct ScrJsval ScrJsval; /* opaque island cell (C11 repeat; the
3681
3779
  * result as an owned (+1) dyn value. `args` entries are BORROWED. */
3682
3780
  typedef ScrDyn *(*ScrDynThunk)(ScrClosure *clo, ScrDyn *const *args, size_t argc);
3683
3781
 
3684
- /* Object member. Keys are malloc'd UTF-8 bytes (NUL-terminated for
3782
+ /* Object member. Keys own shared immutable UTF-8 bytes (NUL-terminated for
3685
3783
  * convenience; key_len excludes the NUL) — duplicate keys were already
3686
3784
  * collapsed at parse time (later wins, like JS JSON.parse). */
3687
3785
  typedef struct {
@@ -3690,13 +3788,22 @@ typedef struct {
3690
3788
  ScrDyn *value; /* owned */
3691
3789
  ScrDyn *getter; /* owned when this is an accessor property */
3692
3790
  ScrDyn *setter; /* owned when this is an accessor property */
3693
- bool accessor;
3791
+ bool accessor : 1;
3792
+ /* Snapshot written by trace before visiting children. Collected teardown
3793
+ * must not inspect the value: an earlier cycle member may already be freed.
3794
+ * Ordinary mutations need not maintain this collector-only decision. */
3795
+ bool value_traced : 1;
3694
3796
  /* Ordinary object insertion sets all three attributes true. */
3695
3797
  bool writable;
3696
3798
  bool enumerable;
3697
3799
  bool configurable;
3698
3800
  } ScrDynEntry;
3699
3801
 
3802
+ _Static_assert(sizeof(ScrDynEntry) == (sizeof(void *) == 8 ? 48 : 24),
3803
+ "LLVM checked-object readers use the target entry stride");
3804
+ _Static_assert(offsetof(ScrDynEntry, value) == 2 * sizeof(void *),
3805
+ "LLVM checked-object readers use the third pointer-sized field");
3806
+
3700
3807
  struct ScrDyn {
3701
3808
  size_t rc; /* SIZE_MAX = immortal (unused for dyn; kept per convention) */
3702
3809
  ScrDynKind kind;
@@ -3739,6 +3846,7 @@ struct ScrDyn {
3739
3846
  * interfaces may request a fresh snapshot with the true arm. */
3740
3847
  void *source_identity;
3741
3848
  ScrDyn *(*source_access)(void *, bool materialize);
3849
+ struct ScrDynObjectIndex *index; /* optional wide-object lookup; owns no values */
3742
3850
  } obj; /* owned */
3743
3851
  /* SCR_DYN_FUNC: the boxed closure (owned) + its call descriptor. `sig`
3744
3852
  * and `name` are static compiler-emitted literals (never freed); name
@@ -3925,6 +4033,12 @@ void scr_dyn_install_async_iterator_symbol(ScrDyn *key);
3925
4033
  ScrDyn *scr_dyn_array_values_function(void);
3926
4034
  ScrDyn *scr_dyn_array_from_iterator(const ScrDyn *value);
3927
4035
  ScrDyn *scr_dyn_iterator_result(ScrDyn *value);
4036
+ /* Internal consumption of a captured builtin next method. Check can_step
4037
+ * once before entering the loop. step returns an owned ordinary value;
4038
+ * read step_done immediately afterward, before running any user code. */
4039
+ bool scr_dyn_iterator_can_step(const ScrDyn *iterator, const ScrDyn *next);
4040
+ ScrDyn *scr_dyn_iterator_step(const ScrDyn *iterator);
4041
+ bool scr_dyn_iterator_step_done(const ScrDyn *iterator);
3928
4042
  /* The ordinary object snapshot plus a retained typed source. source_access
3929
4043
  * releases that source when materialize=false and returns a fresh snapshot
3930
4044
  * when true. */
@@ -4090,6 +4204,7 @@ ScrStr *scr_dyn_string_coerce(const ScrDyn *d);
4090
4204
  * called, their throws propagating) — the WHATWG USVString conversions.
4091
4205
  * Borrows; +1 or NULL with the exception pending. */
4092
4206
  ScrStr *scr_dyn_string_coerce_js(const ScrDyn *d);
4207
+ ScrStr *scr_regex_replace_callback(ScrStr *subject, ScrRegex *regex, ScrDyn *callback, bool all);
4093
4208
  bool scr_dyn_number_coerce_js(const ScrDyn *d, double *out);
4094
4209
  /* Direct-return ABI wrapper for compiler libCalls: JS ToNumber, or NaN
4095
4210
  * with the exception pending when an object hook throws/refuses. */
@@ -4314,7 +4429,7 @@ ScrDyn *scr_dyn_new_promise(ScrPromise *p); /* scr_async_dyn.c (gated) */
4314
4429
  /* The allocator view the gated boxes use; installs the release arm's
4315
4430
  * promise-release edge (runtime-internal). */
4316
4431
  ScrDyn *scr_dyn_alloc_promise(void (*release_fn)(ScrPromise *p));
4317
- extern void (*scr_dyn_promise_release_fn)(ScrPromise *p);
4432
+ extern SCR_TL void (*scr_dyn_promise_release_fn)(ScrPromise *p);
4318
4433
  ScrDyn *scr_dyn_new_promise_adapting(ScrPromise *src,
4319
4434
  void (*adapt)(ScrPromise *dst, ScrPromise *src));
4320
4435
  /* BORROWED peek at the boxed promise; NULL when d is not a promise box. */
@@ -4524,6 +4639,8 @@ typedef struct {
4524
4639
  } ScrJsonBuf;
4525
4640
 
4526
4641
  void scr_jb_init(ScrJsonBuf *b);
4642
+ /* Append a borrowed byte span verbatim, including embedded NUL bytes. */
4643
+ void scr_jb_write(ScrJsonBuf *b, const char *s, size_t n);
4527
4644
  /* Append one borrowed runtime string verbatim (no JSON quoting). */
4528
4645
  void scr_jb_put_str(ScrJsonBuf *b, const ScrStr *s);
4529
4646
  /* Push a container onto the circular-detection stack before serializing
@@ -4554,6 +4671,8 @@ void scr_jb_puts(ScrJsonBuf *b, const char *s);
4554
4671
  /* JS JSON.stringify number rules: NaN/±Infinity → null, -0 → 0, else
4555
4672
  * shortest-roundtrip via scr_f64_to_str. */
4556
4673
  void scr_jb_put_f64(ScrJsonBuf *b, double v);
4674
+ /* Append String(number), including NaN/Infinity, without a temporary string. */
4675
+ void scr_jb_put_number(ScrJsonBuf *b, double v);
4557
4676
  /* Quoted + escaped JSON string: \" \\ \n \r \t \b \f, other control chars
4558
4677
  * as \u00XX, everything else (UTF-8 included) verbatim — exactly the JS
4559
4678
  * JSON.stringify escape set for well-formed strings. */
@@ -4569,6 +4688,10 @@ void scr_dyn_isl_tostr_buf(ScrJsonBuf *b, const ScrDyn *d);
4569
4688
  * DROP, array slots holding undefined print null (exactly Node). */
4570
4689
  void scr_jb_put_dyn(ScrJsonBuf *b, const ScrDyn *d);
4571
4690
  ScrStr *scr_jb_finish(ScrJsonBuf *b); /* returns +1; frees the buffer */
4691
+ /* Reformat compiler-produced compact JSON with an already resolved gap.
4692
+ * Borrows both inputs; gap_len is a byte length, including embedded NUL.
4693
+ * Returns a new owned string, or retains compact when the gap is empty. */
4694
+ ScrStr *scr_json_indent(const ScrStr *compact, const char *gap, size_t gap_len);
4572
4695
 
4573
4696
  void *scr_dyn_retain_v(void *d);
4574
4697
  void scr_dyn_release_v(void *d);
@@ -4681,7 +4804,13 @@ typedef struct ScrAlsCtx {
4681
4804
  ScrAlsEntry entries[]; /* flexible */
4682
4805
  } ScrAlsCtx;
4683
4806
  /* Runtime-internal (the fiber machinery's always-linked core). */
4684
- extern ScrAlsCtx **scr_als_active;
4807
+ extern SCR_TL ScrAlsCtx **scr_als_active;
4808
+ #ifdef SCR_WORKERS
4809
+ ScrAlsCtx **scr_als_slot(void);
4810
+ #define SCR_ALS_SLOT() scr_als_slot()
4811
+ #else
4812
+ #define SCR_ALS_SLOT() scr_als_active
4813
+ #endif
4685
4814
  ScrAlsCtx *scr_als_ctx_retain(ScrAlsCtx *c);
4686
4815
  void scr_als_ctx_release(ScrAlsCtx *c);
4687
4816
  double scr_als_new(void);
@@ -4712,12 +4841,12 @@ void scr_process_off_rejection_handled(ScrDyn *fn);
4712
4841
  /* The checkpoint delivery hook the registration above installs
4713
4842
  * (scr_async_dyn.c → scr_report_unhandled_rejections; NULL = default
4714
4843
  * report). Runtime-internal. */
4715
- extern bool (*scr_urj_deliver_fn)(ScrPromise *p);
4844
+ extern SCR_TL bool (*scr_urj_deliver_fn)(ScrPromise *p);
4716
4845
  /* The late-handled hook (scr_async_dyn.c installs it when a
4717
4846
  * 'rejectionHandled' listener registers): scr_async.c calls it when a
4718
4847
  * promise the report already delivered as unhandled gains a handler.
4719
4848
  * Runtime-internal. */
4720
- extern void (*scr_rjh_notify_fn)(ScrPromise *p);
4849
+ extern SCR_TL void (*scr_rjh_notify_fn)(ScrPromise *p);
4721
4850
  /* The attach-time handled mark (a dyn then/catch carrying a rejection
4722
4851
  * handler, or the module loader taking ownership of an evaluation
4723
4852
  * promise): marks pending and rejected sources observed at Node's attach
@@ -4948,8 +5077,8 @@ void scr_stdin_data_thunk_bytes(ScrClosure *cb, ScrBytes *chunk);
4948
5077
  * not the unit is present. */
4949
5078
  void scr_loop_set_events(bool (*pending)(void), bool (*watching)(void),
4950
5079
  void (*dispatch)(void), int (*pollfds)(int out[2]));
4951
- extern void (*scr_process_exit_hook)(double code);
4952
- extern void (*scr_stdin_destroy_hook)(void);
5080
+ extern SCR_TL void (*scr_process_exit_hook)(double code);
5081
+ extern SCR_TL void (*scr_stdin_destroy_hook)(void);
4953
5082
  void scr_exit_code_note(int code);
4954
5083
  int scr_exit_code_hint_get(void);
4955
5084
  /* The pollable child-exit wake fd (the child kqueue / pidfd epoll) for the loop's
@@ -5740,6 +5869,8 @@ typedef enum ScrBytesElem {
5740
5869
  SCR_BYTES_U8C, /* Uint8ClampedArray */
5741
5870
  } ScrBytesElem;
5742
5871
 
5872
+ typedef struct ScrSharedBytes ScrSharedBytes;
5873
+
5743
5874
  typedef struct ScrBytes {
5744
5875
  size_t rc;
5745
5876
  size_t len; /* ELEMENT count, fixed at construction */
@@ -5753,8 +5884,46 @@ typedef struct ScrBytes {
5753
5884
  bool is_buffer; /* Buffer brand belongs to the view, not its backing. */
5754
5885
  bool is_data_view; /* DataView is distinct from a numeric typed array. */
5755
5886
  bool external; /* Root aliases foreign memory; releasing it never frees data. */
5887
+ ScrSharedBytes *shared; /* Neutral backing, borrowed by views from their local owner. */
5756
5888
  } ScrBytes;
5757
5889
 
5890
+ /* Internal scoped locking is only for leaf memory operations. Never hold this
5891
+ * guard across a script callback, blocking I/O, or a fiber suspension. */
5892
+ void scr_shared_enter(void);
5893
+ void scr_shared_leave(void);
5894
+ bool scr_shared_guard(const ScrBytes *, const ScrBytes *);
5895
+ void scr_shared_guard_release(bool *);
5896
+ #if defined(SCR_WORKERS) || (defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES))
5897
+ #define SCR_SHARED_GUARD(a, b) bool scr_shared_held __attribute__((cleanup(scr_shared_guard_release))) = scr_shared_guard(a, b)
5898
+ #else
5899
+ #define SCR_SHARED_GUARD(a, b) ((void)0)
5900
+ #endif
5901
+ ScrSharedBytes *scr_shared_retain(ScrSharedBytes *);
5902
+ void scr_shared_release(ScrSharedBytes *);
5903
+ void scr_bytes_make_shared(ScrBytes *);
5904
+ ScrBytes *scr_shared_wrap(ScrSharedBytes *);
5905
+ void scr_bytes_read(const ScrBytes *, size_t, void *, size_t);
5906
+ void scr_bytes_write(ScrBytes *, size_t, const void *, size_t);
5907
+ ScrStr *scr_bytes_string(const ScrBytes *, size_t, size_t);
5908
+ ScrBytes *scr_bytes_snapshot(const ScrBytes *);
5909
+ void scr_bytes_snapshot_release(ScrBytes **);
5910
+ ScrBytes *scr_bytes_local_copy(ScrBytes *); /* +1; shared inputs are copied */
5911
+ void scr_bytes_require_unshared(const ScrBytes *);
5912
+ /* Snapshot before passing byte pointers to I/O or callback-capable consumers.
5913
+ * The copy is local, so neither a lock nor shared raw memory escapes. */
5914
+ #if defined(SCR_WORKERS) || (defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES))
5915
+ #define SCR_BYTES_SNAPSHOT(name) \
5916
+ ScrBytes *scr_snapshot_##name __attribute__((cleanup(scr_bytes_snapshot_release))) = scr_bytes_snapshot(name); \
5917
+ if (scr_snapshot_##name) name = scr_snapshot_##name
5918
+ #else
5919
+ #define SCR_BYTES_SNAPSHOT(name) ((void)0)
5920
+ #endif
5921
+ ScrDyn *scr_shared_array_buffer_new(ScrDyn *);
5922
+ ScrDyn *scr_worker_data(void);
5923
+ ScrDyn *scr_worker_parent_port(void);
5924
+ ScrDyn *scr_worker_new(double root, ScrStr *filename, ScrDyn *options);
5925
+ bool scr_shared_array_buffer_is(const ScrDyn *);
5926
+ bool scr_buffer_storage_is(const ScrDyn *);
5758
5927
  ScrBytes *scr_bytes_from_external(void *data, size_t length);
5759
5928
  ScrDyn *scr_ffi_memory_module(ScrDyn *catalog);
5760
5929
  ScrDyn *scr_ffi_argument(ScrDyn *value, ScrStr *type);
@@ -5819,9 +5988,10 @@ ScrBytes *scr_array_buffer_view_dv(ScrDyn *, ScrDyn *, ScrDyn *);
5819
5988
  /* Native callback boundary: exact owned u8 copy. NULL with len == 0 is an
5820
5989
  * empty span. */
5821
5990
  ScrBytes *scr_bytes_from_data(const uint8_t *data, size_t len); /* +1 */
5991
+ ScrBytes *scr_bytes_take_data(uint8_t *data, size_t len); /* +1, consumes malloc storage */
5822
5992
 
5823
- /* `new Uint8Array(src)` / Buffer.from(u8): a same-elem-kind copy (the
5824
- * compiler fences cross-kind construction). Borrows src. Never throws. */
5993
+ /* Same-element-kind copy, preserving the raw representation. Cross-kind
5994
+ * construction uses scr_bytes_convert. Borrows src. Never throws. */
5825
5995
  ScrBytes *scr_bytes_copy(const ScrBytes *src); /* +1 */
5826
5996
 
5827
5997
  /* `new Uint8Array([1, 2, 3])` / Buffer.from(number[]): each f64 element
@@ -5985,6 +6155,7 @@ ScrStr *scr_text_decode_legacy(const ScrBytes *b, double encoding);
5985
6155
  * "utf16le" writes LE code units, surrogate pairs included. Borrows
5986
6156
  * both; +1 u8 result. Never throws. */
5987
6157
  ScrBytes *scr_bytes_from_str(const ScrStr *s, const ScrStr *enc);
6158
+ ScrBytes *scr_bytes_from_str_checked(const ScrStr *s, const ScrStr *enc);
5988
6159
 
5989
6160
  /* Buffer.byteLength(string, enc) — enc NORMALIZED like from_str — and
5990
6161
  * Buffer.isEncoding(name) (case-insensitive over Node's alias set).
@@ -6167,9 +6338,11 @@ bool scr_dataview_write_u64_raw(ScrBytes *b, double offset, bool le, uint64_t va
6167
6338
  * Failures THROW catchably (scr_fs_throw, Node-shaped messages). */
6168
6339
  ScrBytes *scr_fs_read_file_bytes(ScrStr *path); /* +1 */
6169
6340
  /* readFileSync's runtime-encoding form (scr_bytes_io.c's note): +1 dyn
6170
- * value — a Buffer box for undefined/null, a string for utf8 — or NULL
6341
+ * value — a Buffer box for nullish/empty encodings, a decoded string otherwise — or NULL
6171
6342
  * with the exception pending. */
6172
6343
  ScrDyn *scr_fs_read_file_sync_dyn(ScrStr *path, const ScrDyn *enc);
6344
+ ScrStr *scr_fs_read_file_encoded(ScrStr *path, ScrStr *encoding);
6345
+ ScrStr *scr_fs_read_fd_encoded(double fd, ScrStr *encoding);
6173
6346
  ScrDyn *scr_fs_callback_value(ScrStr *member);
6174
6347
  ScrDyn *scr_fs_callback_call(ScrStr *member, const ScrDyn *args);
6175
6348
  ScrBytes *scr_fs_read_fd_bytes(double fd); /* +1; the fd form (scr_lib.c) */
@@ -6665,7 +6838,7 @@ ScrArr *scr_tls_ca_root(void); /* +1; === getCACertificates("bundled") */
6665
6838
  * ERR_CRYPTO_OPERATION_FAILED and leaves the set unchanged. Borrows. */
6666
6839
  void scr_tls_ca_set_default(ScrArr *certs);
6667
6840
  /* scr_tls.c's anchor consult: true iff setDefaultCACertificates ran;
6668
- * *pem/*len then carry the concatenated NUL-terminated blocks (len 0 =
6841
+ * *pem and *len then carry the concatenated NUL-terminated blocks (len 0 =
6669
6842
  * the empty set — verification fails, Node's own consequence), and *gen
6670
6843
  * a counter that bumps per set so the parsed chain re-parses on change. */
6671
6844
  bool scr_tls_ca_default_override(const char **pem, size_t *len, uint64_t *gen);