@scriptc/cli-darwin-arm64 0.2.5 → 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 (417) 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 +57 -30
  5. package/dist/lib/llvm/bin/scriptc-llvm-codegen +0 -0
  6. package/dist/lib/llvm/package.json +1 -1
  7. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_array.o +0 -0
  8. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_assert.o +0 -0
  9. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_async.o +0 -0
  10. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bytes.o +0 -0
  11. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bytes_io.o +0 -0
  12. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_child.o +0 -0
  13. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_closure.o +0 -0
  14. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_console.o +0 -0
  15. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_context.o +0 -0
  16. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_cycle.o +0 -0
  17. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_dgram.o +0 -0
  18. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_error.o +0 -0
  19. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_events.o +0 -0
  20. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_events_emitter.o +0 -0
  21. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_exception.o +0 -0
  22. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_fetch.o +0 -0
  23. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_file_handle.o +0 -0
  24. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_json.o +0 -0
  25. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_lib.o +0 -0
  26. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_map.o +0 -0
  27. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_number.o +0 -0
  28. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_object.o +0 -0
  29. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_readline.o +0 -0
  30. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_regex.o +0 -0
  31. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_shared.o +0 -0
  32. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_stream.o +0 -0
  33. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_string.o +0 -0
  34. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_tls.o +0 -0
  35. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_union.o +0 -0
  36. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_array.o +0 -0
  37. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_assert.o +0 -0
  38. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_async.o +0 -0
  39. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_async_dyn.o +0 -0
  40. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bigint.o +0 -0
  41. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bigint_assert.o +0 -0
  42. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bytes.o +0 -0
  43. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bytes_io.o +0 -0
  44. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_child.o +0 -0
  45. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_closure.o +0 -0
  46. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_console.o +0 -0
  47. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_console_native.o +0 -0
  48. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_context.o +0 -0
  49. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_copying.o +0 -0
  50. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_crypto_async.o +0 -0
  51. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_cycle.o +0 -0
  52. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dc.o +0 -0
  53. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dgram.o +0 -0
  54. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dyn_handle.o +0 -0
  55. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dyn_invoke.o +0 -0
  56. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_error.o +0 -0
  57. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_events.o +0 -0
  58. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_events_emitter.o +0 -0
  59. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_exception.o +0 -0
  60. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_fetch.o +0 -0
  61. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_ffi.o +0 -0
  62. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_ffi_queue.o +0 -0
  63. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_file_handle.o +0 -0
  64. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_grapheme.o +0 -0
  65. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_http.o +0 -0
  66. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_http2.o +0 -0
  67. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_inspect.o +0 -0
  68. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_json.o +0 -0
  69. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_lib.o +0 -0
  70. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_loop_epoll.o +0 -0
  71. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_loop_kqueue.o +0 -0
  72. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_loop_wsapoll.o +0 -0
  73. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_map.o +0 -0
  74. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_net.o +0 -0
  75. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_node_builtin.o +0 -0
  76. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_number.o +0 -0
  77. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_object.o +0 -0
  78. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_path.o +0 -0
  79. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_qs.o +0 -0
  80. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_readline.o +0 -0
  81. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_regex.o +0 -0
  82. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_shared.o +0 -0
  83. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_stream.o +0 -0
  84. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_string.o +0 -0
  85. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_symbol.o +0 -0
  86. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_test.o +0 -0
  87. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_tls.o +0 -0
  88. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_tls_ca.o +0 -0
  89. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_union.o +0 -0
  90. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_url.o +0 -0
  91. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_url_params.o +0 -0
  92. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_util.o +0 -0
  93. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_util_compare.o +0 -0
  94. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_util_style.o +0 -0
  95. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_watch.o +0 -0
  96. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_zlib.o +0 -0
  97. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_array.o +0 -0
  98. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_assert.o +0 -0
  99. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_async.o +0 -0
  100. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bytes.o +0 -0
  101. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bytes_io.o +0 -0
  102. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_child.o +0 -0
  103. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_closure.o +0 -0
  104. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_console.o +0 -0
  105. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_context.o +0 -0
  106. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_cycle.o +0 -0
  107. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_dgram.o +0 -0
  108. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_error.o +0 -0
  109. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_events.o +0 -0
  110. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_events_emitter.o +0 -0
  111. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_exception.o +0 -0
  112. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_file_handle.o +0 -0
  113. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_island.o +0 -0
  114. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_json.o +0 -0
  115. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_lib.o +0 -0
  116. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_map.o +0 -0
  117. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_number.o +0 -0
  118. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_object.o +0 -0
  119. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_readline.o +0 -0
  120. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_regex.o +0 -0
  121. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_shared.o +0 -0
  122. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_stream.o +0 -0
  123. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_string.o +0 -0
  124. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_tls.o +0 -0
  125. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_union.o +0 -0
  126. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  127. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  128. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/text-decoder-legacy-workers/scr_bytes.o +0 -0
  129. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_mailbox.o +0 -0
  130. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_message.o +0 -0
  131. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_worker.o +0 -0
  132. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_worker_events.o +0 -0
  133. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_array.o +0 -0
  134. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_assert.o +0 -0
  135. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bytes.o +0 -0
  136. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bytes_io.o +0 -0
  137. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_closure.o +0 -0
  138. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_context.o +0 -0
  139. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_cycle.o +0 -0
  140. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_error.o +0 -0
  141. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_events_emitter.o +0 -0
  142. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_exception.o +0 -0
  143. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_json.o +0 -0
  144. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_lib.o +0 -0
  145. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_map.o +0 -0
  146. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_number.o +0 -0
  147. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_object.o +0 -0
  148. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_regex.o +0 -0
  149. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_shared.o +0 -0
  150. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_string.o +0 -0
  151. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_union.o +0 -0
  152. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  153. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_array.o +0 -0
  154. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_assert.o +0 -0
  155. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bytes.o +0 -0
  156. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bytes_io.o +0 -0
  157. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_closure.o +0 -0
  158. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_context.o +0 -0
  159. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_cycle.o +0 -0
  160. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_error.o +0 -0
  161. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_events_emitter.o +0 -0
  162. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_exception.o +0 -0
  163. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_json.o +0 -0
  164. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_lib.o +0 -0
  165. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_map.o +0 -0
  166. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_number.o +0 -0
  167. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_object.o +0 -0
  168. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_regex.o +0 -0
  169. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_shared.o +0 -0
  170. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_string.o +0 -0
  171. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_union.o +0 -0
  172. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  173. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_array.o +0 -0
  174. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_assert.o +0 -0
  175. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bytes.o +0 -0
  176. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bytes_io.o +0 -0
  177. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_closure.o +0 -0
  178. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_console.o +0 -0
  179. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_context.o +0 -0
  180. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_copying.o +0 -0
  181. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_cycle.o +0 -0
  182. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_error.o +0 -0
  183. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_events_emitter.o +0 -0
  184. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_exception.o +0 -0
  185. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_inspect.o +0 -0
  186. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_json.o +0 -0
  187. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_lib.o +0 -0
  188. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_map.o +0 -0
  189. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_number.o +0 -0
  190. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_object.o +0 -0
  191. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_regex.o +0 -0
  192. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_shared.o +0 -0
  193. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_string.o +0 -0
  194. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_union.o +0 -0
  195. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_zlib.o +0 -0
  196. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  197. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_array.o +0 -0
  198. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_assert.o +0 -0
  199. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bytes.o +0 -0
  200. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bytes_io.o +0 -0
  201. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_closure.o +0 -0
  202. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_console.o +0 -0
  203. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_context.o +0 -0
  204. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_copying.o +0 -0
  205. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_cycle.o +0 -0
  206. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_error.o +0 -0
  207. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_events_emitter.o +0 -0
  208. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_exception.o +0 -0
  209. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_inspect.o +0 -0
  210. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_json.o +0 -0
  211. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_lib.o +0 -0
  212. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_map.o +0 -0
  213. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_number.o +0 -0
  214. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_object.o +0 -0
  215. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_regex.o +0 -0
  216. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_shared.o +0 -0
  217. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_string.o +0 -0
  218. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_union.o +0 -0
  219. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_zlib.o +0 -0
  220. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  221. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_array.o +0 -0
  222. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_assert.o +0 -0
  223. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_async.o +0 -0
  224. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bytes.o +0 -0
  225. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bytes_io.o +0 -0
  226. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_child.o +0 -0
  227. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_closure.o +0 -0
  228. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_console.o +0 -0
  229. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_context.o +0 -0
  230. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_cycle.o +0 -0
  231. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_dgram.o +0 -0
  232. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_error.o +0 -0
  233. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_events.o +0 -0
  234. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_events_emitter.o +0 -0
  235. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_exception.o +0 -0
  236. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_fetch.o +0 -0
  237. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_file_handle.o +0 -0
  238. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_json.o +0 -0
  239. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_lib.o +0 -0
  240. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_map.o +0 -0
  241. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_number.o +0 -0
  242. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_object.o +0 -0
  243. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_readline.o +0 -0
  244. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_regex.o +0 -0
  245. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_shared.o +0 -0
  246. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_stream.o +0 -0
  247. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_string.o +0 -0
  248. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_tls.o +0 -0
  249. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_union.o +0 -0
  250. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_array.o +0 -0
  251. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_assert.o +0 -0
  252. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_async.o +0 -0
  253. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_async_dyn.o +0 -0
  254. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bigint.o +0 -0
  255. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bigint_assert.o +0 -0
  256. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bytes.o +0 -0
  257. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bytes_io.o +0 -0
  258. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_child.o +0 -0
  259. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_closure.o +0 -0
  260. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_console.o +0 -0
  261. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_console_native.o +0 -0
  262. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_context.o +0 -0
  263. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_copying.o +0 -0
  264. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_crypto_async.o +0 -0
  265. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_cycle.o +0 -0
  266. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dc.o +0 -0
  267. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dgram.o +0 -0
  268. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dyn_handle.o +0 -0
  269. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dyn_invoke.o +0 -0
  270. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_error.o +0 -0
  271. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_events.o +0 -0
  272. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_events_emitter.o +0 -0
  273. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_exception.o +0 -0
  274. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_fetch.o +0 -0
  275. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_ffi.o +0 -0
  276. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_ffi_queue.o +0 -0
  277. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_file_handle.o +0 -0
  278. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_grapheme.o +0 -0
  279. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_http.o +0 -0
  280. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_http2.o +0 -0
  281. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_inspect.o +0 -0
  282. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_json.o +0 -0
  283. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_lib.o +0 -0
  284. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_loop_epoll.o +0 -0
  285. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_loop_kqueue.o +0 -0
  286. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_loop_wsapoll.o +0 -0
  287. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_map.o +0 -0
  288. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_net.o +0 -0
  289. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_node_builtin.o +0 -0
  290. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_number.o +0 -0
  291. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_object.o +0 -0
  292. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_path.o +0 -0
  293. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_qs.o +0 -0
  294. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_readline.o +0 -0
  295. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_regex.o +0 -0
  296. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_shared.o +0 -0
  297. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_stream.o +0 -0
  298. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_string.o +0 -0
  299. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_symbol.o +0 -0
  300. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_test.o +0 -0
  301. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_tls.o +0 -0
  302. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_tls_ca.o +0 -0
  303. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_union.o +0 -0
  304. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_url.o +0 -0
  305. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_url_params.o +0 -0
  306. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_util.o +0 -0
  307. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_util_compare.o +0 -0
  308. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_util_style.o +0 -0
  309. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_watch.o +0 -0
  310. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_zlib.o +0 -0
  311. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_array.o +0 -0
  312. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_assert.o +0 -0
  313. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_async.o +0 -0
  314. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bytes.o +0 -0
  315. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bytes_io.o +0 -0
  316. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_child.o +0 -0
  317. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_closure.o +0 -0
  318. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_console.o +0 -0
  319. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_context.o +0 -0
  320. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_cycle.o +0 -0
  321. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_dgram.o +0 -0
  322. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_error.o +0 -0
  323. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_events.o +0 -0
  324. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_events_emitter.o +0 -0
  325. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_exception.o +0 -0
  326. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_file_handle.o +0 -0
  327. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_island.o +0 -0
  328. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_json.o +0 -0
  329. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_lib.o +0 -0
  330. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_map.o +0 -0
  331. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_number.o +0 -0
  332. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_object.o +0 -0
  333. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_readline.o +0 -0
  334. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_regex.o +0 -0
  335. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_shared.o +0 -0
  336. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_stream.o +0 -0
  337. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_string.o +0 -0
  338. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_tls.o +0 -0
  339. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_union.o +0 -0
  340. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  341. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  342. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/text-decoder-legacy-workers/scr_bytes.o +0 -0
  343. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_mailbox.o +0 -0
  344. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_message.o +0 -0
  345. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_worker.o +0 -0
  346. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_worker_events.o +0 -0
  347. package/dist/lib/runtime-darwin-arm64/package.json +1 -1
  348. package/dist/lib/runtime-darwin-arm64/runtime-pack.json +3300 -772
  349. package/dist/lib/runtime-sources/package.json +1 -1
  350. package/dist/lib/runtime-sources/src/scr_array.c +212 -40
  351. package/dist/lib/runtime-sources/src/scr_assert.c +3 -3
  352. package/dist/lib/runtime-sources/src/scr_async.c +401 -71
  353. package/dist/lib/runtime-sources/src/scr_async_dyn.c +30 -30
  354. package/dist/lib/runtime-sources/src/scr_bytes.c +50 -5
  355. package/dist/lib/runtime-sources/src/scr_bytes_io.c +47 -32
  356. package/dist/lib/runtime-sources/src/scr_child.c +48 -30
  357. package/dist/lib/runtime-sources/src/scr_closure.c +21 -11
  358. package/dist/lib/runtime-sources/src/scr_console.c +27 -5
  359. package/dist/lib/runtime-sources/src/scr_context.c +167 -0
  360. package/dist/lib/runtime-sources/src/scr_context.test.c +118 -0
  361. package/dist/lib/runtime-sources/src/scr_context.test.ts +47 -0
  362. package/dist/lib/runtime-sources/src/scr_copying.c +1 -0
  363. package/dist/lib/runtime-sources/src/scr_cycle.c +112 -12
  364. package/dist/lib/runtime-sources/src/scr_dc.c +8 -8
  365. package/dist/lib/runtime-sources/src/scr_dgram.c +10 -7
  366. package/dist/lib/runtime-sources/src/scr_error.c +26 -14
  367. package/dist/lib/runtime-sources/src/scr_events.c +45 -31
  368. package/dist/lib/runtime-sources/src/scr_events_emitter.c +34 -1
  369. package/dist/lib/runtime-sources/src/scr_exception.c +26 -7
  370. package/dist/lib/runtime-sources/src/scr_fetch.c +23 -20
  371. package/dist/lib/runtime-sources/src/scr_fetch_curl.c +1 -1
  372. package/dist/lib/runtime-sources/src/scr_ffi.c +3 -3
  373. package/dist/lib/runtime-sources/src/scr_file_handle.c +1 -0
  374. package/dist/lib/runtime-sources/src/scr_http.c +20 -16
  375. package/dist/lib/runtime-sources/src/scr_http2.c +10 -8
  376. package/dist/lib/runtime-sources/src/scr_inspect.c +1 -0
  377. package/dist/lib/runtime-sources/src/scr_island.c +1 -1
  378. package/dist/lib/runtime-sources/src/scr_json.c +179 -45
  379. package/dist/lib/runtime-sources/src/scr_json.test.c +16 -0
  380. package/dist/lib/runtime-sources/src/scr_json.test.ts +1 -0
  381. package/dist/lib/runtime-sources/src/scr_key.h +28 -4
  382. package/dist/lib/runtime-sources/src/scr_lib.c +124 -63
  383. package/dist/lib/runtime-sources/src/scr_mailbox.c +233 -0
  384. package/dist/lib/runtime-sources/src/scr_mailbox.h +28 -0
  385. package/dist/lib/runtime-sources/src/scr_mailbox.test.c +86 -0
  386. package/dist/lib/runtime-sources/src/scr_mailbox.test.ts +46 -0
  387. package/dist/lib/runtime-sources/src/scr_map.c +195 -46
  388. package/dist/lib/runtime-sources/src/scr_message.c +443 -0
  389. package/dist/lib/runtime-sources/src/scr_message.h +14 -0
  390. package/dist/lib/runtime-sources/src/scr_message.test.c +152 -0
  391. package/dist/lib/runtime-sources/src/scr_message.test.ts +44 -0
  392. package/dist/lib/runtime-sources/src/scr_net.c +14 -12
  393. package/dist/lib/runtime-sources/src/scr_number.c +34 -0
  394. package/dist/lib/runtime-sources/src/scr_object.c +9 -4
  395. package/dist/lib/runtime-sources/src/scr_path.c +1 -1
  396. package/dist/lib/runtime-sources/src/scr_readline.c +8 -8
  397. package/dist/lib/runtime-sources/src/scr_regex.c +113 -0
  398. package/dist/lib/runtime-sources/src/scr_runtime.h +170 -28
  399. package/dist/lib/runtime-sources/src/scr_shared.c +280 -0
  400. package/dist/lib/runtime-sources/src/scr_shared.test.c +113 -0
  401. package/dist/lib/runtime-sources/src/scr_shared.test.ts +45 -0
  402. package/dist/lib/runtime-sources/src/scr_stream.c +9 -9
  403. package/dist/lib/runtime-sources/src/scr_string.c +224 -113
  404. package/dist/lib/runtime-sources/src/scr_test.c +8 -8
  405. package/dist/lib/runtime-sources/src/scr_tls.c +12 -12
  406. package/dist/lib/runtime-sources/src/scr_tls_ca.c +34 -12
  407. package/dist/lib/runtime-sources/src/scr_union.c +10 -5
  408. package/dist/lib/runtime-sources/src/scr_util_compare.c +1 -0
  409. package/dist/lib/runtime-sources/src/scr_util_style.c +11 -11
  410. package/dist/lib/runtime-sources/src/scr_watch.c +16 -6
  411. package/dist/lib/runtime-sources/src/scr_worker.c +232 -0
  412. package/dist/lib/runtime-sources/src/scr_worker.h +42 -0
  413. package/dist/lib/runtime-sources/src/scr_worker.test.c +115 -0
  414. package/dist/lib/runtime-sources/src/scr_worker.test.ts +49 -0
  415. package/dist/lib/runtime-sources/src/scr_worker_events.c +443 -0
  416. package/dist/lib/runtime-sources/src/scr_zlib.c +6 -0
  417. package/package.json +1 -1
@@ -17,6 +17,11 @@
17
17
  #include "scr_runtime.h"
18
18
 
19
19
  #include <ctype.h>
20
+ #ifdef SCR_WORKERS
21
+ #include <stdatomic.h>
22
+ static atomic_uint scr_process_mask;
23
+ static void scr_process_mask_init(void);
24
+ #endif
20
25
  #include <dirent.h>
21
26
  #include <errno.h>
22
27
  #include <fcntl.h>
@@ -253,6 +258,10 @@ static bool scr_lib_same_executable_arg(const char *a, const char *b) {
253
258
  * Load the documented OS parser from System32 without adding an executable-
254
259
  * only shell dependency to the embedding runtime's link contract. */
255
260
  static void scr_lib_prepare_utf8_argv(void) {
261
+ #ifdef SCR_WORKERS
262
+ /* Worker arguments were copied as UTF-8 before their native thread began. */
263
+ if (!scr_context_is_main()) return;
264
+ #endif
256
265
  if (scr_lib_argv == NULL || scr_lib_argv_utf8 != NULL) return;
257
266
  HMODULE shell = LoadLibraryExW(L"shell32.dll", NULL, LOAD_LIBRARY_SEARCH_SYSTEM32);
258
267
  if (shell == NULL) scr_trap("could not load Windows command-line parser");
@@ -325,6 +334,9 @@ bool scr_lib_should_collapse_reexec_arg(ScrStr *cmd, ScrArr *args) {
325
334
  * the archive's objects free of any atexit reference — the K8 ambient
326
335
  * audit's bar). */
327
336
  void scr_lib_init(int argc, char **argv) {
337
+ #ifdef SCR_WORKERS
338
+ if (scr_context_is_main()) scr_process_mask_init();
339
+ #endif
328
340
  scr_lib_argc = argc;
329
341
  scr_lib_argv = argv;
330
342
  if (argc >= 2 && strncmp(argv[1], "--scriptc-fork=", 15) == 0) {
@@ -345,7 +357,7 @@ void scr_lib_init(int argc, char **argv) {
345
357
  scr_lib_argv = scr_lib_argv_owned;
346
358
  }
347
359
  }
348
- atexit(scr_lib_cleanup);
360
+ scr_atexit(scr_lib_cleanup);
349
361
  }
350
362
  #endif /* !SCR_LIB */
351
363
 
@@ -564,7 +576,7 @@ ScrStr *scr_process_platform(void) {
564
576
  scr_platform_str = scr_str_new("unknown", 7);
565
577
  #endif
566
578
  #ifndef SCR_LIB
567
- atexit(scr_process_platform_cleanup);
579
+ scr_atexit(scr_process_platform_cleanup);
568
580
  #endif
569
581
  }
570
582
  return scr_str_retain(scr_platform_str);
@@ -586,7 +598,7 @@ ScrStr *scr_process_arch(void) {
586
598
  scr_arch_str = scr_str_new("unknown", 7);
587
599
  #endif
588
600
  #ifndef SCR_LIB
589
- atexit(scr_process_arch_cleanup);
601
+ scr_atexit(scr_process_arch_cleanup);
590
602
  #endif
591
603
  }
592
604
  return scr_str_retain(scr_arch_str);
@@ -602,7 +614,7 @@ ScrStr *scr_process_versions_node(void) {
602
614
  scr_versions_node_str =
603
615
  scr_str_new(SCR_NODE_COMPAT_VERSION, sizeof(SCR_NODE_COMPAT_VERSION) - 1);
604
616
  #ifndef SCR_LIB
605
- atexit(scr_process_versions_node_cleanup);
617
+ scr_atexit(scr_process_versions_node_cleanup);
606
618
  #endif
607
619
  }
608
620
  return scr_str_retain(scr_versions_node_str);
@@ -621,7 +633,7 @@ ScrStr *scr_process_versions_openssl(void) {
621
633
  scr_versions_openssl_str =
622
634
  scr_str_new(SCR_OPENSSL_COMPAT_VERSION, sizeof(SCR_OPENSSL_COMPAT_VERSION) - 1);
623
635
  #ifndef SCR_LIB
624
- atexit(scr_process_versions_openssl_cleanup);
636
+ scr_atexit(scr_process_versions_openssl_cleanup);
625
637
  #endif
626
638
  }
627
639
  return scr_str_retain(scr_versions_openssl_str);
@@ -684,13 +696,19 @@ ScrStr *scr_process_exec_path(void) {
684
696
  #endif
685
697
  scr_exec_path_str = scr_str_new(use, strlen(use));
686
698
  #ifndef SCR_LIB
687
- atexit(scr_process_exec_path_cleanup);
699
+ scr_atexit(scr_process_exec_path_cleanup);
688
700
  #endif
689
701
  }
690
702
  return scr_str_retain(scr_exec_path_str);
691
703
  }
692
704
 
693
705
  ScrStr *scr_env_get(const ScrStr *name) {
706
+ #ifdef SCR_WORKERS
707
+ if (!scr_context_is_main()) {
708
+ const char *value = scr_context_getenv(name->data);
709
+ return value ? scr_str_new(value, strlen(value)) : NULL;
710
+ }
711
+ #endif
694
712
  /* ScrStr data is NUL-terminated (like the fs paths below). A fresh copy
695
713
  * per read: getenv's buffer is not ours to alias, and Node's process.env
696
714
  * reads snapshot the value too. Absent → NULL (the compiler's undefined
@@ -710,7 +728,7 @@ ScrStr *scr_env_get(const ScrStr *name) {
710
728
  free(buf);
711
729
  return s;
712
730
  #else
713
- const char *v = getenv(name->data);
731
+ const char *v = scr_getenv(name->data);
714
732
  return v ? scr_str_new(v, strlen(v)) : NULL;
715
733
  #endif
716
734
  }
@@ -719,6 +737,9 @@ ScrStr *scr_env_get(const ScrStr *name) {
719
737
  * children (posix_spawn inherits environ) observe the write, like Node.
720
738
  * Both args borrowed (NUL-terminated ScrStr data); setenv copies. */
721
739
  void scr_env_set(const ScrStr *name, const ScrStr *value) {
740
+ #ifdef SCR_WORKERS
741
+ if (scr_context_env_set(name->data, value->data)) return;
742
+ #endif
722
743
  #ifdef _WIN32
723
744
  /* The WIN32 environment (see scr_env_get): an empty value stays a
724
745
  * present-but-empty variable, and children inherit the write. */
@@ -731,6 +752,9 @@ void scr_env_set(const ScrStr *name, const ScrStr *value) {
731
752
  /* `delete process.env.NAME` — unsetenv(3): later reads answer absent and
732
753
  * spawned children lose the variable, like Node. Borrowed. */
733
754
  void scr_env_unset(const ScrStr *name) {
755
+ #ifdef SCR_WORKERS
756
+ if (scr_context_env_set(name->data, NULL)) return;
757
+ #endif
734
758
  #ifdef _WIN32
735
759
  SetEnvironmentVariableA(name->data, NULL);
736
760
  #else
@@ -886,6 +910,7 @@ void scr_fs_invalid_named_path(const ScrDyn *value, const ScrStr *path, const ch
886
910
  scr_jb_puts(&b, "' must be a string, Uint8Array, or URL without null bytes. Received ");
887
911
  if (value->kind == SCR_DYN_BYTES) {
888
912
  const ScrBytes *bytes = value->v.bytes;
913
+ SCR_SHARED_GUARD(bytes, NULL);
889
914
  if (value->buffer) {
890
915
  scr_jb_puts(&b, "<Buffer");
891
916
  for (size_t i = 0; i < bytes->len; i++) {
@@ -936,7 +961,7 @@ void scr_process_load_env_file(const ScrDyn *value) {
936
961
  if (value->kind == SCR_DYN_UNDEF || value->kind == SCR_DYN_NULL) path = scr_str_new("./.env", 6);
937
962
  else if (value->kind == SCR_DYN_STR) path = scr_str_retain(value->v.str);
938
963
  else if (scr_dyn_native_url_is(value)) path = scr_url_to_path(value->v.handle.ptr);
939
- else if (scr_dyn_bytes_is(value, SCR_BYTES_U8)) path = scr_str_new((const char *)value->v.bytes->data, value->v.bytes->len);
964
+ else if (scr_dyn_bytes_is(value, SCR_BYTES_U8)) path = scr_bytes_string(value->v.bytes, 0, value->v.bytes->len);
940
965
  else {
941
966
  scr_dyn_arg_type_fail("path", "of type string or an instance of Buffer or URL", value);
942
967
  return;
@@ -978,6 +1003,10 @@ void scr_process_load_env_file(const ScrDyn *value) {
978
1003
  * (not producible by setenv) are skipped; the value is everything after
979
1004
  * the FIRST '='. +1 array. */
980
1005
  ScrArr *scr_env_pairs(void) {
1006
+ #ifdef SCR_WORKERS
1007
+ ScrArr *local = scr_context_env_pairs();
1008
+ if (local) return local;
1009
+ #endif
981
1010
  ScrArr *out = scr_arr_new(SCR_ELEM_STR, 0);
982
1011
  #ifdef _WIN32
983
1012
  /* The WIN32 environment block (see scr_env_get): NUL-separated
@@ -1297,7 +1326,7 @@ bool scr_proc_stream_write(double fd, const ScrStr *data) {
1297
1326
  * directory API. The env var covers every real session; abort matches
1298
1327
  * the POSIX arm's stance on the unreachable failure. */
1299
1328
  ScrStr *scr_os_homedir(void) {
1300
- const char *home = getenv("USERPROFILE");
1329
+ const char *home = scr_getenv("USERPROFILE");
1301
1330
  if (home && home[0] != '\0') return scr_str_new(home, strlen(home));
1302
1331
  scr_trap("scriptc: os.homedir() failed\n");
1303
1332
  }
@@ -1371,11 +1400,11 @@ ScrStr *scr_os_tmpdir(void) {
1371
1400
  * physical-memory query. Keep the useful environment-backed answers and
1372
1401
  * spell the platform explicitly for the rest. */
1373
1402
  ScrStr *scr_os_homedir(void) {
1374
- const char *home = getenv("HOME");
1403
+ const char *home = scr_getenv("HOME");
1375
1404
  return scr_str_new(home ? home : "", home ? strlen(home) : 0);
1376
1405
  }
1377
1406
  ScrStr *scr_os_user_name(void) {
1378
- const char *user = getenv("USER");
1407
+ const char *user = scr_getenv("USER");
1379
1408
  return scr_str_new(user ? user : "", user ? strlen(user) : 0);
1380
1409
  }
1381
1410
  ScrStr *scr_os_user_shell(void) { return scr_str_new("", 0); }
@@ -1391,7 +1420,7 @@ ScrStr *scr_os_tmpdir(void) { return scr_str_new("/tmp", 4); }
1391
1420
  ScrStr *scr_os_homedir(void) {
1392
1421
  /* uv_os_homedir: $HOME when set (even empty is "set" only if non-NULL;
1393
1422
  * libuv requires non-empty), else the passwd entry. */
1394
- const char *home = getenv("HOME");
1423
+ const char *home = scr_getenv("HOME");
1395
1424
  if (home && home[0] != '\0') return scr_str_new(home, strlen(home));
1396
1425
  struct passwd pw;
1397
1426
  struct passwd *result = NULL;
@@ -1468,9 +1497,9 @@ double scr_os_totalmem(void) {
1468
1497
  ScrStr *scr_os_tmpdir(void) {
1469
1498
  /* Node's env cascade, with ONE trailing slash trimmed (never down to
1470
1499
  * nothing: "/" stays "/"). */
1471
- const char *dir = getenv("TMPDIR");
1472
- if (!dir || dir[0] == '\0') dir = getenv("TMP");
1473
- if (!dir || dir[0] == '\0') dir = getenv("TEMP");
1500
+ const char *dir = scr_getenv("TMPDIR");
1501
+ if (!dir || dir[0] == '\0') dir = scr_getenv("TMP");
1502
+ if (!dir || dir[0] == '\0') dir = scr_getenv("TEMP");
1474
1503
  if (!dir || dir[0] == '\0') dir = "/tmp";
1475
1504
  size_t len = strlen(dir);
1476
1505
  if (len > 1 && dir[len - 1] == '/') len--;
@@ -1743,8 +1772,8 @@ void scr_os_ifaddrs_free(ScrIfaddrs *s) {
1743
1772
 
1744
1773
  /* The events-unit hooks (scr_events.c fills them at install; NULL in
1745
1774
  * event-free binaries and in the standalone runtime C tests). */
1746
- void (*scr_process_exit_hook)(double code) = NULL;
1747
- void (*scr_stdin_destroy_hook)(void) = NULL;
1775
+ SCR_TL void (*scr_process_exit_hook)(double code) = NULL;
1776
+ SCR_TL void (*scr_stdin_destroy_hook)(void) = NULL;
1748
1777
 
1749
1778
  void scr_process_set_exit_code(double code) {
1750
1779
  if (!isfinite(code) || trunc(code) != code) {
@@ -1782,6 +1811,13 @@ void scr_process_exit(double code) {
1782
1811
  * non-NULL only when the events unit is linked (scr_events.c). */
1783
1812
  scr_process_in_exit = true;
1784
1813
  if (scr_process_exit_hook != NULL) scr_process_exit_hook(code);
1814
+ #ifdef SCR_WORKERS
1815
+ if (!scr_context_is_main()) {
1816
+ /* A nested exit or a failing exit listener already selected its code. */
1817
+ if (!scr_context_stopping()) scr_context_stop((int)code);
1818
+ return;
1819
+ }
1820
+ #endif
1785
1821
  /* _Exit skips atexit handlers on purpose: no further code runs (matching
1786
1822
  * Node), and the RC audit is meaningless mid-program (live values are
1787
1823
  * expected). scr_init's flush-at-exit is also skipped — flush here. */
@@ -1796,7 +1832,7 @@ void scr_process_exit(double code) {
1796
1832
  * attribute monotonic stamp — the binary's own start, which is what
1797
1833
  * "the current Node.js process" means for a compiled program). */
1798
1834
  #ifdef _WIN32
1799
- #if defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)
1835
+ #if (defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)) || defined(SCR_WORKERS)
1800
1836
  /* The uptime anchor belongs to the host PROCESS, not to a library
1801
1837
  * instance. InitOnce keeps the lazy Windows spelling race-free when
1802
1838
  * several thread instances ask for the clock concurrently. */
@@ -1840,7 +1876,7 @@ __attribute__((constructor)) static void scr_uptime_anchor_init(void) {
1840
1876
  #endif
1841
1877
 
1842
1878
  double scr_process_uptime(void) {
1843
- #if defined(_WIN32) && defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)
1879
+ #if defined(_WIN32) && ((defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)) || defined(SCR_WORKERS))
1844
1880
  scr_uptime_anchor_init();
1845
1881
  #elif defined(_WIN32)
1846
1882
  if (scr_uptime_t0_ms == 0) scr_uptime_anchor_init();
@@ -1852,7 +1888,7 @@ double scr_process_uptime(void) {
1852
1888
  * start (Node's timeOrigin anchor), fractional — the same monotonic
1853
1889
  * clock and anchor as uptime, in Node's performance.now units. */
1854
1890
  double scr_perf_now(void) {
1855
- #if defined(_WIN32) && defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)
1891
+ #if defined(_WIN32) && ((defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)) || defined(SCR_WORKERS))
1856
1892
  scr_uptime_anchor_init();
1857
1893
  #elif defined(_WIN32)
1858
1894
  if (scr_uptime_t0_ms == 0) scr_uptime_anchor_init();
@@ -2092,9 +2128,34 @@ SCR_TL bool scr_process_in_exit = false;
2092
2128
 
2093
2129
  bool scr_process_exiting(void) { return scr_process_in_exit; }
2094
2130
 
2131
+ #ifdef SCR_WORKERS
2132
+ /* Initialize before workers start. Reading through the cached process value
2133
+ * avoids temporarily clearing the OS mask while another thread creates a file. */
2134
+ static void scr_process_mask_init(void) {
2135
+ #ifdef _WIN32
2136
+ int current, ignored;
2137
+ _umask_s(0, &current);
2138
+ _umask_s(current, &ignored);
2139
+ #else
2140
+ unsigned current = umask(0);
2141
+ umask((mode_t)current);
2142
+ #endif
2143
+ atomic_store_explicit(&scr_process_mask, (unsigned)current, memory_order_relaxed);
2144
+ }
2145
+ #endif
2146
+
2095
2147
  /* umask(2): mask < 0 reads without setting (set 0, restore — umask has no
2096
2148
  * read-only form); otherwise sets and answers the previous mask. */
2097
2149
  double scr_process_umask(double mask) {
2150
+ #ifdef SCR_WORKERS
2151
+ if (mask < 0) return atomic_load_explicit(&scr_process_mask, memory_order_relaxed);
2152
+ if (!scr_context_is_main()) {
2153
+ static const char message[] = "Setting process.umask() is not supported in workers";
2154
+ scr_throw_error_msg_code(SCR_ERR_ERROR, message, sizeof message - 1, "ERR_WORKER_UNSUPPORTED_OPERATION");
2155
+ return 0;
2156
+ }
2157
+ atomic_store_explicit(&scr_process_mask, (unsigned)mask, memory_order_relaxed);
2158
+ #endif
2098
2159
  #ifdef _WIN32
2099
2160
  /* Node on Windows accepts umask() calls; only the low bits matter. */
2100
2161
  int prev;
@@ -2124,6 +2185,13 @@ double scr_process_umask(double mask) {
2124
2185
  }
2125
2186
 
2126
2187
  void scr_process_chdir(ScrStr *dir) {
2188
+ #ifdef SCR_WORKERS
2189
+ if (!scr_context_is_main()) {
2190
+ static const char message[] = "process.chdir() is not supported in workers";
2191
+ scr_throw_error_msg_code(SCR_ERR_TYPE, message, sizeof message - 1, "ERR_WORKER_UNSUPPORTED_OPERATION");
2192
+ return;
2193
+ }
2194
+ #endif
2127
2195
  #ifdef _WIN32
2128
2196
  WCHAR *wide = scr_fs_win_wide(dir);
2129
2197
  BOOL changed = wide && SetCurrentDirectoryW(wide);
@@ -3141,6 +3209,7 @@ static double scr_fs_write_bytes(double fd, const void *data, size_t length,
3141
3209
  * Node/libuv. Positioned writes do not advance the descriptor. */
3142
3210
  double scr_fs_write_sync(double fd, ScrBytes *buf, double offset, double length,
3143
3211
  double position) {
3212
+ SCR_BYTES_SNAPSHOT(buf);
3144
3213
  size_t bytelen = buf->len; /* frontend admits u8 buffers only */
3145
3214
  char msg[160];
3146
3215
  char recv[48];
@@ -3271,9 +3340,18 @@ double scr_fs_read_sync(double fd, ScrBytes *buf, double offset, double length,
3271
3340
  scr_throw_error_msg_code(SCR_ERR_RANGE, msg, (size_t)mlen, "ERR_OUT_OF_RANGE");
3272
3341
  return 0;
3273
3342
  }
3343
+ uint8_t *bounce = buf->shared ? malloc(want ? want : 1) : NULL;
3344
+ if (buf->shared && !bounce) scr_trap("scriptc: out of memory\n");
3345
+ uint8_t *destination = bounce ? bounce : buf->data + off;
3274
3346
  ssize_t n = position == -1
3275
- ? read((int)fd, buf->data + off, want)
3276
- : scr_fs_pread((int)fd, buf->data + off, want, position);
3347
+ ? read((int)fd, destination, want)
3348
+ : scr_fs_pread((int)fd, destination, want, position);
3349
+ int read_error = errno;
3350
+ if (bounce) {
3351
+ if (n > 0) scr_bytes_write(buf, off, bounce, (size_t)n);
3352
+ free(bounce);
3353
+ }
3354
+ errno = read_error;
3277
3355
  if (n < 0) {
3278
3356
  int e = errno;
3279
3357
  char namebuf[16];
@@ -3319,7 +3397,7 @@ static double scr_fs_vector_sync(double fd, ScrArr *buffers, double position,
3319
3397
  size_t at = 0;
3320
3398
  for (size_t i = 0; i < count; i++) {
3321
3399
  ScrBytes *buf = scr_arr_get_ref(buffers, (double)i);
3322
- if (buf->len) memcpy(data + at, buf->data, buf->len);
3400
+ scr_bytes_read(buf, 0, data + at, buf->len);
3323
3401
  at += buf->len;
3324
3402
  scr_bytes_release(buf);
3325
3403
  }
@@ -3336,7 +3414,7 @@ static double scr_fs_vector_sync(double fd, ScrArr *buffers, double position,
3336
3414
  for (size_t i = 0; i < count && remaining; i++) {
3337
3415
  ScrBytes *buf = scr_arr_get_ref(buffers, (double)i);
3338
3416
  size_t n = buf->len < remaining ? buf->len : remaining;
3339
- if (n) memcpy(buf->data, data + at, n);
3417
+ scr_bytes_write(buf, 0, data + at, n);
3340
3418
  at += n;
3341
3419
  remaining -= n;
3342
3420
  scr_bytes_release(buf);
@@ -3911,43 +3989,6 @@ ScrBytes *scr_fs_read_fd_bytes(double fd) {
3911
3989
  return scr_bytes_take_data(out.bytes, out.len);
3912
3990
  }
3913
3991
 
3914
- /* ── Atomics.wait: the synchronous-sleep idiom ───────────────────────
3915
- * Atomics.wait(int32Array, idx, expected, timeoutMs). scriptc has no
3916
- * threads: nothing can ever notify a waiter, so the spec's behavior for
3917
- * every compilable program is exactly "compare, then sleep out the
3918
- * timeout" — "not-equal" immediately when the element differs from
3919
- * `expected`, "timed-out" after a real nanosleep otherwise ("ok" is
3920
- * unreachable; the compiler requires the timeout argument, since an
3921
- * infinite wait here would be a certain deadlock). The sleep resumes
3922
- * across EINTR so signals don't shorten it. Timeout semantics follow the
3923
- * spec: NaN/+Infinity would be infinite (compiler-fenced by requiring
3924
- * the argument, but a runtime NaN clamps to 0 defensively), negatives
3925
- * clamp to 0. */
3926
- ScrStr *scr_atomics_wait(ScrBytes *arr, double idx, double expected, double timeout_ms) {
3927
- double have = scr_bytes_get(arr, idx); /* traps out-of-range like every access */
3928
- /* The comparison is on the stored int32 vs ToInt32(expected). */
3929
- double t = expected;
3930
- if (t != t || isinf(t)) t = 0;
3931
- else {
3932
- t = trunc(t);
3933
- t = fmod(t, 4294967296.0);
3934
- if (t < 0) t += 4294967296.0;
3935
- if (t >= 2147483648.0) t -= 4294967296.0;
3936
- }
3937
- if (have != t) return scr_str_new("not-equal", 9);
3938
- double ms = timeout_ms;
3939
- if (ms != ms || ms < 0) ms = 0;
3940
- if (ms > 0) {
3941
- struct timespec left = {
3942
- (time_t)(ms / 1000.0),
3943
- (long)((ms - (double)(time_t)(ms / 1000.0) * 1000.0) * 1e6),
3944
- };
3945
- struct timespec rem;
3946
- while (nanosleep(&left, &rem) != 0 && errno == EINTR) left = rem;
3947
- }
3948
- return scr_str_new("timed-out", 9);
3949
- }
3950
-
3951
3992
  /* ── the tty probes ──────────────────────────────────────────────────── */
3952
3993
 
3953
3994
  bool scr_process_is_tty(double fd) { return isatty((int)fd) != 0; }
@@ -4467,7 +4508,7 @@ static DWORD scr_fs_win_junction(const WCHAR *target, const WCHAR *destination)
4467
4508
 
4468
4509
  #ifdef _WIN32
4469
4510
  /* libuv keeps this fallback for later calls once Windows rejects the flag. */
4470
- static DWORD scr_fs_symlink_usermode_flag = 0x2; /* ALLOW_UNPRIVILEGED_CREATE */
4511
+ static SCR_TL DWORD scr_fs_symlink_usermode_flag = 0x2; /* ALLOW_UNPRIVILEGED_CREATE */
4471
4512
  #endif
4472
4513
 
4473
4514
  int scr_fs_symlink_infer(ScrStr *absolute) {
@@ -5738,6 +5779,7 @@ ScrCryptoHash *scr_crypto_hmac_new_str(ScrStr *alg, ScrStr *key) {
5738
5779
  }
5739
5780
 
5740
5781
  ScrCryptoHash *scr_crypto_hmac_new_bytes(ScrStr *alg, ScrBytes *key) {
5782
+ SCR_BYTES_SNAPSHOT(key);
5741
5783
  ScrDigestAlg kind;
5742
5784
  if (!scr_digest_alg(alg->data, alg->len, &kind)) {
5743
5785
  scr_crypto_invalid_digest(alg);
@@ -5778,6 +5820,7 @@ ScrCryptoHash *scr_crypto_hash_update_str(ScrCryptoHash *hash, ScrStr *data) {
5778
5820
  }
5779
5821
 
5780
5822
  ScrCryptoHash *scr_crypto_hash_update_bytes(ScrCryptoHash *hash, ScrBytes *data) {
5823
+ SCR_BYTES_SNAPSHOT(data);
5781
5824
  return scr_crypto_hash_update_raw(hash, data->data,
5782
5825
  data->len * scr_bytes_elem_size(data->elem));
5783
5826
  }
@@ -5849,10 +5892,12 @@ ScrStr *scr_crypto_hash_digest_str(ScrStr *alg, ScrStr *data, ScrStr *enc) {
5849
5892
  }
5850
5893
 
5851
5894
  ScrStr *scr_crypto_hash_digest_bytes(ScrStr *alg, ScrBytes *data, ScrStr *enc) {
5895
+ SCR_BYTES_SNAPSHOT(data);
5852
5896
  return scr_hash_digest_raw(alg, data->data, data->len * scr_bytes_elem_size(data->elem), enc);
5853
5897
  }
5854
5898
 
5855
5899
  bool scr_crypto_timing_safe_equal(ScrBytes *left, ScrBytes *right) {
5900
+ SCR_SHARED_GUARD(left, right);
5856
5901
  size_t left_len = left->len * scr_bytes_elem_size(left->elem);
5857
5902
  size_t right_len = right->len * scr_bytes_elem_size(right->elem);
5858
5903
  if (left_len != right_len) {
@@ -5897,7 +5942,13 @@ ScrBytes *scr_crypto_random_fill(ScrBytes *bytes, double offset, double size) {
5897
5942
  scr_throw_error_msg_code(SCR_ERR_RANGE, msg, (size_t)n, "ERR_OUT_OF_RANGE");
5898
5943
  return NULL;
5899
5944
  }
5900
- arc4random_buf(bytes->data + (size_t)offset, (size_t)size);
5945
+ if (bytes->shared) {
5946
+ uint8_t *random = malloc(size ? (size_t)size : 1);
5947
+ if (!random) scr_trap("scriptc: out of memory\n");
5948
+ arc4random_buf(random, (size_t)size);
5949
+ scr_bytes_write(bytes, (size_t)offset, random, (size_t)size);
5950
+ free(random);
5951
+ } else arc4random_buf(bytes->data + (size_t)offset, (size_t)size);
5901
5952
  return scr_bytes_retain(bytes);
5902
5953
  }
5903
5954
 
@@ -5991,6 +6042,8 @@ static ScrBytes *scr_crypto_pbkdf2_raw(const unsigned char *password, size_t pas
5991
6042
 
5992
6043
  ScrBytes *scr_crypto_pbkdf2(ScrBytes *password, ScrBytes *salt,
5993
6044
  double iterations, double keylen, ScrStr *digest) {
6045
+ SCR_BYTES_SNAPSHOT(password);
6046
+ SCR_BYTES_SNAPSHOT(salt);
5994
6047
  if (!isfinite(iterations) || floor(iterations) != iterations ||
5995
6048
  iterations < 1 || iterations > 2147483647.0) {
5996
6049
  char value[64], msg[176];
@@ -6051,6 +6104,9 @@ static bool scr_crypto_integer(double value, const char *name, double max) {
6051
6104
 
6052
6105
  ScrBytes *scr_crypto_hkdf_bytes(ScrStr *digest, ScrBytes *ikm, ScrBytes *salt,
6053
6106
  ScrBytes *info, double keylen) {
6107
+ SCR_BYTES_SNAPSHOT(ikm);
6108
+ SCR_BYTES_SNAPSHOT(salt);
6109
+ SCR_BYTES_SNAPSHOT(info);
6054
6110
  if (!scr_crypto_integer(keylen, "length", 9007199254740991.0)) return NULL;
6055
6111
  size_t info_len = info->len * scr_bytes_elem_size(info->elem);
6056
6112
  if (info_len > 1024) {
@@ -6175,6 +6231,8 @@ static bool scr_scrypt_params(double n, double r, double p, double maxmem, size_
6175
6231
 
6176
6232
  ScrBytes *scr_crypto_scrypt_derive(ScrBytes *password, ScrBytes *salt, double keylen,
6177
6233
  double n, double r, double p, double maxmem) {
6234
+ SCR_BYTES_SNAPSHOT(password);
6235
+ SCR_BYTES_SNAPSHOT(salt);
6178
6236
  if (!scr_crypto_integer(keylen, "keylen", 2147483647.0) ||
6179
6237
  !scr_crypto_integer(n, "N", 4294967295.0) || !scr_crypto_integer(r, "r", 4294967295.0) ||
6180
6238
  !scr_crypto_integer(p, "p", 4294967295.0) || !scr_crypto_integer(maxmem, "maxmem", 9007199254740991.0)) return NULL;
@@ -6305,6 +6363,7 @@ ScrBytes *scr_crypto_scrypt(ScrBytes *password, ScrBytes *salt, double keylen, S
6305
6363
  static ScrStr *scr_x509_fingerprint_raw(const uint8_t *in, size_t n);
6306
6364
 
6307
6365
  ScrStr *scr_crypto_x509_fingerprint(ScrBytes *data) {
6366
+ SCR_BYTES_SNAPSHOT(data);
6308
6367
  return scr_x509_fingerprint_raw(data->data, data->len * scr_bytes_elem_size(data->elem));
6309
6368
  }
6310
6369
 
@@ -6531,6 +6590,7 @@ static ScrStr *scr_x509_validity_raw(const uint8_t *in, size_t n, bool want_to)
6531
6590
  }
6532
6591
 
6533
6592
  ScrStr *scr_crypto_x509_valid_from(ScrBytes *data) {
6593
+ SCR_BYTES_SNAPSHOT(data);
6534
6594
  return scr_x509_validity_raw(data->data, data->len * scr_bytes_elem_size(data->elem), false);
6535
6595
  }
6536
6596
 
@@ -6539,6 +6599,7 @@ ScrStr *scr_crypto_x509_valid_from_str(ScrStr *pem) {
6539
6599
  }
6540
6600
 
6541
6601
  ScrStr *scr_crypto_x509_valid_to(ScrBytes *data) {
6602
+ SCR_BYTES_SNAPSHOT(data);
6542
6603
  return scr_x509_validity_raw(data->data, data->len * scr_bytes_elem_size(data->elem), true);
6543
6604
  }
6544
6605