@aztec/bb.js 3.0.0-nightly.20251030 → 3.0.0-nightly.20251030-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (570) hide show
  1. package/dest/browser/async_map/index.d.ts +10 -0
  2. package/dest/browser/async_map/index.d.ts.map +1 -0
  3. package/dest/browser/async_map/index.js +16 -0
  4. package/dest/browser/barretenberg/backend.d.ts +75 -0
  5. package/dest/browser/barretenberg/backend.d.ts.map +1 -0
  6. package/dest/browser/barretenberg/backend.js +301 -0
  7. package/dest/browser/barretenberg/index.d.ts +67 -0
  8. package/dest/browser/barretenberg/index.d.ts.map +1 -0
  9. package/dest/browser/barretenberg/index.js +191 -0
  10. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  11. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  12. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +125 -0
  13. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  14. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  15. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +11 -0
  16. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  17. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  18. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +12 -0
  19. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  20. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  21. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +70 -0
  22. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +53 -0
  23. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  24. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +170 -0
  25. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  26. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  27. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +11 -0
  28. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  29. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  30. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +12 -0
  31. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +29 -0
  32. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  33. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +40 -0
  34. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  35. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  36. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +2 -0
  37. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  38. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  39. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +2 -0
  40. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  41. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  42. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +36 -0
  43. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  44. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  45. package/dest/browser/barretenberg_wasm/fetch_code/index.js +2 -0
  46. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  47. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  48. package/dest/browser/barretenberg_wasm/helpers/browser/index.js +40 -0
  49. package/dest/browser/barretenberg_wasm/helpers/index.d.ts +2 -0
  50. package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  51. package/dest/browser/barretenberg_wasm/helpers/index.js +2 -0
  52. package/dest/browser/barretenberg_wasm/index.d.ts +5 -0
  53. package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -0
  54. package/dest/browser/barretenberg_wasm/index.js +16 -0
  55. package/dest/browser/bb_backends/browser/index.d.ts +11 -0
  56. package/dest/browser/bb_backends/browser/index.d.ts.map +1 -0
  57. package/dest/browser/bb_backends/browser/index.js +39 -0
  58. package/dest/browser/bb_backends/index.d.ts +45 -0
  59. package/dest/browser/bb_backends/index.d.ts.map +1 -0
  60. package/dest/browser/bb_backends/index.js +15 -0
  61. package/dest/browser/bb_backends/interface.d.ts +33 -0
  62. package/dest/browser/bb_backends/interface.d.ts.map +1 -0
  63. package/dest/browser/bb_backends/interface.js +2 -0
  64. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +15 -0
  65. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
  66. package/dest/browser/bb_backends/sync_to_async_adapter.js +20 -0
  67. package/dest/browser/bb_backends/wasm.d.ts +49 -0
  68. package/dest/browser/bb_backends/wasm.d.ts.map +1 -0
  69. package/dest/browser/bb_backends/wasm.js +83 -0
  70. package/dest/browser/bbapi_exception.d.ts +7 -0
  71. package/dest/browser/bbapi_exception.d.ts.map +1 -0
  72. package/dest/browser/bbapi_exception.js +14 -0
  73. package/dest/browser/bigint-array/index.d.ts +17 -0
  74. package/dest/browser/bigint-array/index.d.ts.map +1 -0
  75. package/dest/browser/bigint-array/index.js +37 -0
  76. package/dest/browser/cbind/generate.d.ts +5 -0
  77. package/dest/browser/cbind/generate.d.ts.map +1 -0
  78. package/dest/browser/cbind/generate.js +151 -0
  79. package/dest/browser/cbind/generated/api_types.d.ts +2051 -0
  80. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -0
  81. package/dest/browser/cbind/generated/api_types.js +2747 -0
  82. package/dest/browser/cbind/generated/async.d.ts +62 -0
  83. package/dest/browser/cbind/generated/async.d.ts.map +1 -0
  84. package/dest/browser/cbind/generated/async.js +662 -0
  85. package/dest/browser/cbind/generated/curve_constants.d.ts +45 -0
  86. package/dest/browser/cbind/generated/curve_constants.d.ts.map +1 -0
  87. package/dest/browser/cbind/generated/curve_constants.js +45 -0
  88. package/dest/browser/cbind/generated/sync.d.ts +62 -0
  89. package/dest/browser/cbind/generated/sync.d.ts.map +1 -0
  90. package/dest/browser/cbind/generated/sync.js +609 -0
  91. package/dest/browser/cbind/schema_compiler.d.ts +68 -0
  92. package/dest/browser/cbind/schema_compiler.d.ts.map +1 -0
  93. package/dest/browser/cbind/schema_compiler.js +599 -0
  94. package/dest/browser/crs/browser/cached_net_crs.d.ts +43 -0
  95. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -0
  96. package/dest/browser/crs/browser/cached_net_crs.js +90 -0
  97. package/dest/browser/crs/browser/index.d.ts +2 -0
  98. package/dest/browser/crs/browser/index.d.ts.map +1 -0
  99. package/dest/browser/crs/browser/index.js +2 -0
  100. package/dest/browser/crs/index.d.ts +2 -0
  101. package/dest/browser/crs/index.d.ts.map +1 -0
  102. package/dest/browser/crs/index.js +2 -0
  103. package/dest/browser/crs/net_crs.d.ts +85 -0
  104. package/dest/browser/crs/net_crs.d.ts.map +1 -0
  105. package/dest/browser/crs/net_crs.js +136 -0
  106. package/dest/browser/index.d.ts +8 -0
  107. package/dest/browser/index.d.ts.map +1 -0
  108. package/dest/browser/index.js +8 -0
  109. package/dest/browser/log/browser/index.d.ts +6 -0
  110. package/dest/browser/log/browser/index.d.ts.map +1 -0
  111. package/dest/browser/log/browser/index.js +28 -0
  112. package/dest/browser/log/index.d.ts +2 -0
  113. package/dest/browser/log/index.d.ts.map +1 -0
  114. package/dest/browser/log/index.js +2 -0
  115. package/dest/browser/log/types.d.ts +6 -0
  116. package/dest/browser/log/types.d.ts.map +1 -0
  117. package/dest/browser/log/types.js +2 -0
  118. package/dest/browser/proof/index.d.ts +21 -0
  119. package/dest/browser/proof/index.d.ts.map +1 -0
  120. package/dest/browser/proof/index.js +63 -0
  121. package/dest/browser/random/browser/index.d.ts +2 -0
  122. package/dest/browser/random/browser/index.d.ts.map +1 -0
  123. package/dest/browser/random/browser/index.js +31 -0
  124. package/dest/browser/random/index.d.ts +2 -0
  125. package/dest/browser/random/index.d.ts.map +1 -0
  126. package/dest/browser/random/index.js +2 -0
  127. package/dest/browser/retry/index.d.ts +26 -0
  128. package/dest/browser/retry/index.d.ts.map +1 -0
  129. package/dest/browser/retry/index.js +50 -0
  130. package/dest/browser/serialize/index.d.ts +2 -0
  131. package/dest/browser/serialize/index.d.ts.map +1 -0
  132. package/dest/browser/serialize/index.js +2 -0
  133. package/dest/browser/serialize/serialize.d.ts +18 -0
  134. package/dest/browser/serialize/serialize.d.ts.map +1 -0
  135. package/dest/browser/serialize/serialize.js +72 -0
  136. package/dest/browser/types/fields.d.ts +23 -0
  137. package/dest/browser/types/fields.d.ts.map +1 -0
  138. package/dest/browser/types/fields.js +61 -0
  139. package/dest/browser/types/index.d.ts +3 -0
  140. package/dest/browser/types/index.d.ts.map +1 -0
  141. package/dest/browser/types/index.js +3 -0
  142. package/dest/browser/types/point.d.ts +18 -0
  143. package/dest/browser/types/point.d.ts.map +1 -0
  144. package/dest/browser/types/point.js +28 -0
  145. package/dest/node/async_map/index.d.ts +10 -0
  146. package/dest/node/async_map/index.d.ts.map +1 -0
  147. package/dest/node/async_map/index.js +16 -0
  148. package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +156 -0
  149. package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +40 -0
  150. package/dest/node/barretenberg/backend.d.ts +75 -0
  151. package/dest/node/barretenberg/backend.d.ts.map +1 -0
  152. package/dest/node/barretenberg/backend.js +301 -0
  153. package/dest/node/barretenberg/blake2s.test.d.ts +2 -0
  154. package/dest/node/barretenberg/blake2s.test.d.ts.map +1 -0
  155. package/dest/node/barretenberg/blake2s.test.js +57 -0
  156. package/dest/node/barretenberg/index.d.ts +67 -0
  157. package/dest/node/barretenberg/index.d.ts.map +1 -0
  158. package/dest/node/barretenberg/index.js +191 -0
  159. package/dest/node/barretenberg/pedersen.test.d.ts +2 -0
  160. package/dest/node/barretenberg/pedersen.test.d.ts.map +1 -0
  161. package/dest/node/barretenberg/pedersen.test.js +62 -0
  162. package/dest/node/barretenberg/poseidon.bench.test.d.ts +2 -0
  163. package/dest/node/barretenberg/poseidon.bench.test.d.ts.map +1 -0
  164. package/dest/node/barretenberg/poseidon.bench.test.js +217 -0
  165. package/dest/node/barretenberg/poseidon.test.d.ts +2 -0
  166. package/dest/node/barretenberg/poseidon.test.d.ts.map +1 -0
  167. package/dest/node/barretenberg/poseidon.test.js +35 -0
  168. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  169. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  170. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  171. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +125 -0
  172. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  173. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  174. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +11 -0
  175. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  176. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  177. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +12 -0
  178. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
  179. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  180. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +21 -0
  181. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
  182. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
  183. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +16 -0
  184. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  185. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  186. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +70 -0
  187. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +53 -0
  188. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  189. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +170 -0
  190. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  191. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  192. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +11 -0
  193. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  194. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  195. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +12 -0
  196. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
  197. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  198. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +21 -0
  199. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
  200. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
  201. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +16 -0
  202. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +29 -0
  203. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  204. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +40 -0
  205. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  206. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  207. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +3 -0
  208. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  209. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  210. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.js +3 -0
  211. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  212. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  213. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +36 -0
  214. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  215. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  216. package/dest/node/barretenberg_wasm/fetch_code/index.js +2 -0
  217. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  218. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  219. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +35 -0
  220. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  221. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  222. package/dest/node/barretenberg_wasm/helpers/browser/index.js +40 -0
  223. package/dest/node/barretenberg_wasm/helpers/index.d.ts +2 -0
  224. package/dest/node/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  225. package/dest/node/barretenberg_wasm/helpers/index.js +2 -0
  226. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +22 -0
  227. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  228. package/dest/node/barretenberg_wasm/helpers/node/index.js +48 -0
  229. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  230. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  231. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +28 -0
  232. package/dest/node/barretenberg_wasm/index.d.ts +5 -0
  233. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -0
  234. package/dest/node/barretenberg_wasm/index.js +16 -0
  235. package/dest/node/barretenberg_wasm/index.test.d.ts +2 -0
  236. package/dest/node/barretenberg_wasm/index.test.d.ts.map +1 -0
  237. package/dest/node/barretenberg_wasm/index.test.js +39 -0
  238. package/dest/node/bb_backends/browser/index.d.ts +11 -0
  239. package/dest/node/bb_backends/browser/index.d.ts.map +1 -0
  240. package/dest/node/bb_backends/browser/index.js +39 -0
  241. package/dest/node/bb_backends/index.d.ts +45 -0
  242. package/dest/node/bb_backends/index.d.ts.map +1 -0
  243. package/dest/node/bb_backends/index.js +15 -0
  244. package/dest/node/bb_backends/interface.d.ts +33 -0
  245. package/dest/node/bb_backends/interface.d.ts.map +1 -0
  246. package/dest/node/bb_backends/interface.js +2 -0
  247. package/dest/node/bb_backends/node/index.d.ts +11 -0
  248. package/dest/node/bb_backends/node/index.d.ts.map +1 -0
  249. package/dest/node/bb_backends/node/index.js +80 -0
  250. package/dest/node/bb_backends/node/native_pipe.d.ts +25 -0
  251. package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -0
  252. package/dest/node/bb_backends/node/native_pipe.js +113 -0
  253. package/dest/node/bb_backends/node/native_shm.d.ts +28 -0
  254. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -0
  255. package/dest/node/bb_backends/node/native_shm.js +150 -0
  256. package/dest/node/bb_backends/node/native_socket.d.ts +34 -0
  257. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -0
  258. package/dest/node/bb_backends/node/native_socket.js +269 -0
  259. package/dest/node/bb_backends/node/platform.d.ts +27 -0
  260. package/dest/node/bb_backends/node/platform.d.ts.map +1 -0
  261. package/dest/node/bb_backends/node/platform.js +124 -0
  262. package/dest/node/bb_backends/sync_to_async_adapter.d.ts +15 -0
  263. package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
  264. package/dest/node/bb_backends/sync_to_async_adapter.js +20 -0
  265. package/dest/node/bb_backends/wasm.d.ts +49 -0
  266. package/dest/node/bb_backends/wasm.d.ts.map +1 -0
  267. package/dest/node/bb_backends/wasm.js +83 -0
  268. package/dest/node/bbapi_exception.d.ts +7 -0
  269. package/dest/node/bbapi_exception.d.ts.map +1 -0
  270. package/dest/node/bbapi_exception.js +14 -0
  271. package/dest/node/benchmark/index.d.ts +3 -0
  272. package/dest/node/benchmark/index.d.ts.map +1 -0
  273. package/dest/node/benchmark/index.js +25 -0
  274. package/dest/node/benchmark/timer.d.ts +34 -0
  275. package/dest/node/benchmark/timer.d.ts.map +1 -0
  276. package/dest/node/benchmark/timer.js +41 -0
  277. package/dest/node/bigint-array/index.d.ts +17 -0
  278. package/dest/node/bigint-array/index.d.ts.map +1 -0
  279. package/dest/node/bigint-array/index.js +37 -0
  280. package/dest/node/cbind/generate.d.ts +5 -0
  281. package/dest/node/cbind/generate.d.ts.map +1 -0
  282. package/dest/node/cbind/generate.js +151 -0
  283. package/dest/node/cbind/generated/api_types.d.ts +2051 -0
  284. package/dest/node/cbind/generated/api_types.d.ts.map +1 -0
  285. package/dest/node/cbind/generated/api_types.js +2747 -0
  286. package/dest/node/cbind/generated/async.d.ts +62 -0
  287. package/dest/node/cbind/generated/async.d.ts.map +1 -0
  288. package/dest/node/cbind/generated/async.js +662 -0
  289. package/dest/node/cbind/generated/curve_constants.d.ts +45 -0
  290. package/dest/node/cbind/generated/curve_constants.d.ts.map +1 -0
  291. package/dest/node/cbind/generated/curve_constants.js +45 -0
  292. package/dest/node/cbind/generated/sync.d.ts +62 -0
  293. package/dest/node/cbind/generated/sync.d.ts.map +1 -0
  294. package/dest/node/cbind/generated/sync.js +609 -0
  295. package/dest/node/cbind/schema_compiler.d.ts +68 -0
  296. package/dest/node/cbind/schema_compiler.d.ts.map +1 -0
  297. package/dest/node/cbind/schema_compiler.js +599 -0
  298. package/dest/node/crs/browser/cached_net_crs.d.ts +43 -0
  299. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -0
  300. package/dest/node/crs/browser/cached_net_crs.js +90 -0
  301. package/dest/node/crs/browser/index.d.ts +2 -0
  302. package/dest/node/crs/browser/index.d.ts.map +1 -0
  303. package/dest/node/crs/browser/index.js +2 -0
  304. package/dest/node/crs/index.d.ts +2 -0
  305. package/dest/node/crs/index.d.ts.map +1 -0
  306. package/dest/node/crs/index.js +2 -0
  307. package/dest/node/crs/net_crs.d.ts +85 -0
  308. package/dest/node/crs/net_crs.d.ts.map +1 -0
  309. package/dest/node/crs/net_crs.js +136 -0
  310. package/dest/node/crs/node/index.d.ts +38 -0
  311. package/dest/node/crs/node/index.d.ts.map +1 -0
  312. package/dest/node/crs/node/index.js +102 -0
  313. package/dest/node/index.d.ts +8 -0
  314. package/dest/node/index.d.ts.map +1 -0
  315. package/dest/node/index.js +8 -0
  316. package/dest/node/log/browser/index.d.ts +6 -0
  317. package/dest/node/log/browser/index.d.ts.map +1 -0
  318. package/dest/node/log/browser/index.js +28 -0
  319. package/dest/node/log/index.d.ts +2 -0
  320. package/dest/node/log/index.d.ts.map +1 -0
  321. package/dest/node/log/index.js +2 -0
  322. package/dest/node/log/node/index.d.ts +6 -0
  323. package/dest/node/log/node/index.d.ts.map +1 -0
  324. package/dest/node/log/node/index.js +40 -0
  325. package/dest/node/log/types.d.ts +6 -0
  326. package/dest/node/log/types.d.ts.map +1 -0
  327. package/dest/node/log/types.js +2 -0
  328. package/dest/node/proof/index.d.ts +21 -0
  329. package/dest/node/proof/index.d.ts.map +1 -0
  330. package/dest/node/proof/index.js +63 -0
  331. package/dest/node/random/browser/index.d.ts +2 -0
  332. package/dest/node/random/browser/index.d.ts.map +1 -0
  333. package/dest/node/random/browser/index.js +31 -0
  334. package/dest/node/random/index.d.ts +2 -0
  335. package/dest/node/random/index.d.ts.map +1 -0
  336. package/dest/node/random/index.js +2 -0
  337. package/dest/node/random/node/index.d.ts +2 -0
  338. package/dest/node/random/node/index.d.ts.map +1 -0
  339. package/dest/node/random/node/index.js +5 -0
  340. package/dest/node/retry/index.d.ts +26 -0
  341. package/dest/node/retry/index.d.ts.map +1 -0
  342. package/dest/node/retry/index.js +50 -0
  343. package/dest/node/serialize/index.d.ts +2 -0
  344. package/dest/node/serialize/index.d.ts.map +1 -0
  345. package/dest/node/serialize/index.js +2 -0
  346. package/dest/node/serialize/serialize.d.ts +18 -0
  347. package/dest/node/serialize/serialize.d.ts.map +1 -0
  348. package/dest/node/serialize/serialize.js +72 -0
  349. package/dest/node/types/fields.d.ts +23 -0
  350. package/dest/node/types/fields.d.ts.map +1 -0
  351. package/dest/node/types/fields.js +61 -0
  352. package/dest/node/types/index.d.ts +3 -0
  353. package/dest/node/types/index.d.ts.map +1 -0
  354. package/dest/node/types/index.js +3 -0
  355. package/dest/node/types/point.d.ts +18 -0
  356. package/dest/node/types/point.d.ts.map +1 -0
  357. package/dest/node/types/point.js +28 -0
  358. package/dest/node-cjs/async_map/index.d.ts +10 -0
  359. package/dest/node-cjs/async_map/index.d.ts.map +1 -0
  360. package/dest/node-cjs/async_map/index.js +19 -0
  361. package/dest/node-cjs/barretenberg/backend.d.ts +75 -0
  362. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -0
  363. package/dest/node-cjs/barretenberg/backend.js +308 -0
  364. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +2 -0
  365. package/dest/node-cjs/barretenberg/blake2s.test.d.ts.map +1 -0
  366. package/dest/node-cjs/barretenberg/blake2s.test.js +59 -0
  367. package/dest/node-cjs/barretenberg/index.d.ts +67 -0
  368. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -0
  369. package/dest/node-cjs/barretenberg/index.js +200 -0
  370. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +2 -0
  371. package/dest/node-cjs/barretenberg/pedersen.test.d.ts.map +1 -0
  372. package/dest/node-cjs/barretenberg/pedersen.test.js +64 -0
  373. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +2 -0
  374. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts.map +1 -0
  375. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +219 -0
  376. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +2 -0
  377. package/dest/node-cjs/barretenberg/poseidon.test.d.ts.map +1 -0
  378. package/dest/node-cjs/barretenberg/poseidon.test.js +37 -0
  379. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  380. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  381. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  382. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +129 -0
  383. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  384. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  385. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +14 -0
  386. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  387. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  388. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +14 -0
  389. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
  390. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  391. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +24 -0
  392. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
  393. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
  394. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +18 -0
  395. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  396. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  397. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +74 -0
  398. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +53 -0
  399. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  400. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +174 -0
  401. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  402. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  403. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +14 -0
  404. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  405. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  406. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +14 -0
  407. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
  408. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  409. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +24 -0
  410. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
  411. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
  412. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +18 -0
  413. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +29 -0
  414. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  415. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +44 -0
  416. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  417. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  418. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +6 -0
  419. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  420. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  421. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +6 -0
  422. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  423. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  424. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +40 -0
  425. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  426. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  427. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.js +5 -0
  428. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  429. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  430. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +39 -0
  431. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  432. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  433. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +50 -0
  434. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +2 -0
  435. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  436. package/dest/node-cjs/barretenberg_wasm/helpers/index.js +5 -0
  437. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +22 -0
  438. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  439. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +57 -0
  440. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  441. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  442. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +31 -0
  443. package/dest/node-cjs/barretenberg_wasm/index.d.ts +5 -0
  444. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -0
  445. package/dest/node-cjs/barretenberg_wasm/index.js +19 -0
  446. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +2 -0
  447. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts.map +1 -0
  448. package/dest/node-cjs/barretenberg_wasm/index.test.js +41 -0
  449. package/dest/node-cjs/bb_backends/browser/index.d.ts +11 -0
  450. package/dest/node-cjs/bb_backends/browser/index.d.ts.map +1 -0
  451. package/dest/node-cjs/bb_backends/browser/index.js +43 -0
  452. package/dest/node-cjs/bb_backends/index.d.ts +45 -0
  453. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -0
  454. package/dest/node-cjs/bb_backends/index.js +18 -0
  455. package/dest/node-cjs/bb_backends/interface.d.ts +33 -0
  456. package/dest/node-cjs/bb_backends/interface.d.ts.map +1 -0
  457. package/dest/node-cjs/bb_backends/interface.js +3 -0
  458. package/dest/node-cjs/bb_backends/node/index.d.ts +11 -0
  459. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -0
  460. package/dest/node-cjs/bb_backends/node/index.js +84 -0
  461. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +25 -0
  462. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -0
  463. package/dest/node-cjs/bb_backends/node/native_pipe.js +117 -0
  464. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +28 -0
  465. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -0
  466. package/dest/node-cjs/bb_backends/node/native_shm.js +154 -0
  467. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +34 -0
  468. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -0
  469. package/dest/node-cjs/bb_backends/node/native_socket.js +274 -0
  470. package/dest/node-cjs/bb_backends/node/platform.d.ts +27 -0
  471. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -0
  472. package/dest/node-cjs/bb_backends/node/platform.js +131 -0
  473. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +15 -0
  474. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
  475. package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +24 -0
  476. package/dest/node-cjs/bb_backends/wasm.d.ts +49 -0
  477. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
  478. package/dest/node-cjs/bb_backends/wasm.js +88 -0
  479. package/dest/node-cjs/bbapi_exception.d.ts +7 -0
  480. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
  481. package/dest/node-cjs/bbapi_exception.js +18 -0
  482. package/dest/node-cjs/benchmark/index.d.ts +3 -0
  483. package/dest/node-cjs/benchmark/index.d.ts.map +1 -0
  484. package/dest/node-cjs/benchmark/index.js +29 -0
  485. package/dest/node-cjs/benchmark/timer.d.ts +34 -0
  486. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -0
  487. package/dest/node-cjs/benchmark/timer.js +45 -0
  488. package/dest/node-cjs/bigint-array/index.d.ts +17 -0
  489. package/dest/node-cjs/bigint-array/index.d.ts.map +1 -0
  490. package/dest/node-cjs/bigint-array/index.js +43 -0
  491. package/dest/node-cjs/cbind/generate.d.ts +5 -0
  492. package/dest/node-cjs/cbind/generate.d.ts.map +1 -0
  493. package/dest/node-cjs/cbind/generate.js +153 -0
  494. package/dest/node-cjs/cbind/generated/api_types.d.ts +2051 -0
  495. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -0
  496. package/dest/node-cjs/cbind/generated/api_types.js +2989 -0
  497. package/dest/node-cjs/cbind/generated/async.d.ts +62 -0
  498. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -0
  499. package/dest/node-cjs/cbind/generated/async.js +666 -0
  500. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +45 -0
  501. package/dest/node-cjs/cbind/generated/curve_constants.d.ts.map +1 -0
  502. package/dest/node-cjs/cbind/generated/curve_constants.js +48 -0
  503. package/dest/node-cjs/cbind/generated/sync.d.ts +62 -0
  504. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -0
  505. package/dest/node-cjs/cbind/generated/sync.js +613 -0
  506. package/dest/node-cjs/cbind/schema_compiler.d.ts +68 -0
  507. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -0
  508. package/dest/node-cjs/cbind/schema_compiler.js +606 -0
  509. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +43 -0
  510. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -0
  511. package/dest/node-cjs/crs/browser/cached_net_crs.js +95 -0
  512. package/dest/node-cjs/crs/browser/index.d.ts +2 -0
  513. package/dest/node-cjs/crs/browser/index.d.ts.map +1 -0
  514. package/dest/node-cjs/crs/browser/index.js +7 -0
  515. package/dest/node-cjs/crs/index.d.ts +2 -0
  516. package/dest/node-cjs/crs/index.d.ts.map +1 -0
  517. package/dest/node-cjs/crs/index.js +7 -0
  518. package/dest/node-cjs/crs/net_crs.d.ts +85 -0
  519. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -0
  520. package/dest/node-cjs/crs/net_crs.js +141 -0
  521. package/dest/node-cjs/crs/node/index.d.ts +38 -0
  522. package/dest/node-cjs/crs/node/index.d.ts.map +1 -0
  523. package/dest/node-cjs/crs/node/index.js +107 -0
  524. package/dest/node-cjs/index.d.ts +8 -0
  525. package/dest/node-cjs/index.d.ts.map +1 -0
  526. package/dest/node-cjs/index.js +37 -0
  527. package/dest/node-cjs/log/browser/index.d.ts +6 -0
  528. package/dest/node-cjs/log/browser/index.d.ts.map +1 -0
  529. package/dest/node-cjs/log/browser/index.js +30 -0
  530. package/dest/node-cjs/log/index.d.ts +2 -0
  531. package/dest/node-cjs/log/index.d.ts.map +1 -0
  532. package/dest/node-cjs/log/index.js +8 -0
  533. package/dest/node-cjs/log/node/index.d.ts +6 -0
  534. package/dest/node-cjs/log/node/index.d.ts.map +1 -0
  535. package/dest/node-cjs/log/node/index.js +42 -0
  536. package/dest/node-cjs/log/types.d.ts +6 -0
  537. package/dest/node-cjs/log/types.d.ts.map +1 -0
  538. package/dest/node-cjs/log/types.js +3 -0
  539. package/dest/node-cjs/package.json +3 -0
  540. package/dest/node-cjs/proof/index.d.ts +21 -0
  541. package/dest/node-cjs/proof/index.d.ts.map +1 -0
  542. package/dest/node-cjs/proof/index.js +72 -0
  543. package/dest/node-cjs/random/browser/index.d.ts +2 -0
  544. package/dest/node-cjs/random/browser/index.d.ts.map +1 -0
  545. package/dest/node-cjs/random/browser/index.js +35 -0
  546. package/dest/node-cjs/random/index.d.ts +2 -0
  547. package/dest/node-cjs/random/index.d.ts.map +1 -0
  548. package/dest/node-cjs/random/index.js +5 -0
  549. package/dest/node-cjs/random/node/index.d.ts +2 -0
  550. package/dest/node-cjs/random/node/index.d.ts.map +1 -0
  551. package/dest/node-cjs/random/node/index.js +8 -0
  552. package/dest/node-cjs/retry/index.d.ts +26 -0
  553. package/dest/node-cjs/retry/index.d.ts.map +1 -0
  554. package/dest/node-cjs/retry/index.js +55 -0
  555. package/dest/node-cjs/serialize/index.d.ts +2 -0
  556. package/dest/node-cjs/serialize/index.d.ts.map +1 -0
  557. package/dest/node-cjs/serialize/index.js +5 -0
  558. package/dest/node-cjs/serialize/serialize.d.ts +18 -0
  559. package/dest/node-cjs/serialize/serialize.d.ts.map +1 -0
  560. package/dest/node-cjs/serialize/serialize.js +82 -0
  561. package/dest/node-cjs/types/fields.d.ts +23 -0
  562. package/dest/node-cjs/types/fields.d.ts.map +1 -0
  563. package/dest/node-cjs/types/fields.js +65 -0
  564. package/dest/node-cjs/types/index.d.ts +3 -0
  565. package/dest/node-cjs/types/index.d.ts.map +1 -0
  566. package/dest/node-cjs/types/index.js +6 -0
  567. package/dest/node-cjs/types/point.d.ts +18 -0
  568. package/dest/node-cjs/types/point.d.ts.map +1 -0
  569. package/dest/node-cjs/types/point.js +32 -0
  570. package/package.json +1 -1
@@ -0,0 +1,269 @@
1
+ import { spawn } from 'child_process';
2
+ import * as net from 'net';
3
+ import * as fs from 'fs';
4
+ import * as os from 'os';
5
+ import * as path from 'path';
6
+ import { findPackageRoot } from './platform.js';
7
+ /**
8
+ * Asynchronous native backend that communicates with bb binary via Unix Domain Socket.
9
+ * Uses event-based I/O with a state machine to handle partial reads.
10
+ *
11
+ * Architecture: bb acts as the SERVER, TypeScript is the CLIENT
12
+ * - bb creates the socket and listens for connections
13
+ * - TypeScript waits for socket file to exist, then connects
14
+ *
15
+ * Protocol:
16
+ * - Request: 4-byte little-endian length + msgpack buffer
17
+ * - Response: 4-byte little-endian length + msgpack buffer
18
+ */
19
+ export class BarretenbergNativeSocketAsyncBackend {
20
+ constructor(bbBinaryPath, threads) {
21
+ this.socket = null;
22
+ this.connectionTimeout = null;
23
+ // Queue of pending callbacks for pipelined requests
24
+ // Responses come back in FIFO order, so we match them with queued callbacks
25
+ this.pendingCallbacks = [];
26
+ // State machine for reading responses
27
+ this.readingLength = true;
28
+ this.lengthBuffer = Buffer.alloc(4);
29
+ this.lengthBytesRead = 0;
30
+ this.responseLength = 0;
31
+ this.responseBuffer = null;
32
+ this.responseBytesRead = 0;
33
+ // Create a unique socket path in temp directory
34
+ this.socketPath = path.join(os.tmpdir(), `bb-${process.pid}-${Date.now()}.sock`);
35
+ // Ensure socket path doesn't already exist (cleanup from previous crashes)
36
+ if (fs.existsSync(this.socketPath)) {
37
+ fs.unlinkSync(this.socketPath);
38
+ }
39
+ let connectionResolve = null;
40
+ let connectionReject = null;
41
+ this.connectionPromise = new Promise((resolve, reject) => {
42
+ connectionResolve = resolve;
43
+ connectionReject = reject;
44
+ });
45
+ // Set HARDWARE_CONCURRENCY if threads specified
46
+ const env = threads !== undefined ? { ...process.env, HARDWARE_CONCURRENCY: threads.toString() } : process.env;
47
+ // Spawn bb process - it will create the socket server
48
+ const args = [bbBinaryPath, 'msgpack', 'run', '--input', this.socketPath];
49
+ this.process = spawn(findPackageRoot() + '/scripts/kill_wrapper.sh', args, {
50
+ stdio: ['ignore', 'ignore', 'ignore'],
51
+ env,
52
+ });
53
+ // Disconnect from event loop so process can exit. The kill wrapper will reap bb once parent (node) dies.
54
+ this.process.unref();
55
+ this.process.on('error', err => {
56
+ if (connectionReject) {
57
+ connectionReject(new Error(`Native backend process error: ${err.message}`));
58
+ connectionReject = null;
59
+ connectionResolve = null;
60
+ }
61
+ // Reject all pending callbacks
62
+ const error = new Error(`Native backend process error: ${err.message}`);
63
+ for (const callback of this.pendingCallbacks) {
64
+ callback.reject(error);
65
+ }
66
+ this.pendingCallbacks = [];
67
+ });
68
+ this.process.on('exit', (code, signal) => {
69
+ const errorMsg = code !== null && code !== 0
70
+ ? `Native backend process exited with code ${code}`
71
+ : signal && signal !== 'SIGTERM'
72
+ ? `Native backend process killed with signal ${signal}`
73
+ : 'Native backend process exited unexpectedly';
74
+ if (connectionReject) {
75
+ connectionReject(new Error(errorMsg));
76
+ connectionReject = null;
77
+ connectionResolve = null;
78
+ }
79
+ // Reject all pending callbacks
80
+ const error = new Error(errorMsg);
81
+ for (const callback of this.pendingCallbacks) {
82
+ callback.reject(error);
83
+ }
84
+ this.pendingCallbacks = [];
85
+ });
86
+ // Wait for bb to create socket file, then connect
87
+ this.waitForSocketAndConnect()
88
+ .then(() => {
89
+ if (connectionResolve) {
90
+ connectionResolve();
91
+ connectionResolve = null;
92
+ connectionReject = null;
93
+ }
94
+ })
95
+ .catch(err => {
96
+ if (connectionReject) {
97
+ connectionReject(err);
98
+ connectionReject = null;
99
+ connectionResolve = null;
100
+ }
101
+ });
102
+ // Set a timeout for connection
103
+ this.connectionTimeout = setTimeout(() => {
104
+ if (connectionReject) {
105
+ connectionReject(new Error('Timeout waiting for bb socket connection'));
106
+ connectionReject = null;
107
+ connectionResolve = null;
108
+ this.cleanup();
109
+ }
110
+ }, 5000);
111
+ }
112
+ async waitForSocketAndConnect() {
113
+ // Poll for socket file to exist (bb is creating it)
114
+ const startTime = Date.now();
115
+ while (!fs.existsSync(this.socketPath)) {
116
+ if (Date.now() - startTime > 5000) {
117
+ throw new Error('Timeout waiting for bb to create socket file');
118
+ }
119
+ await new Promise(resolve => setTimeout(resolve, 50));
120
+ }
121
+ // Additional check: ensure it's actually a socket
122
+ const stats = fs.statSync(this.socketPath);
123
+ if (!stats.isSocket()) {
124
+ throw new Error(`Path exists but is not a socket: ${this.socketPath}`);
125
+ }
126
+ // Connect to bb's socket server as a client
127
+ return new Promise((resolve, reject) => {
128
+ this.socket = net.connect(this.socketPath);
129
+ // Disable Nagle's algorithm for lower latency
130
+ this.socket.setNoDelay(true);
131
+ // Set up event handlers
132
+ this.socket.once('connect', () => {
133
+ this.socket.unref();
134
+ // Clear connection timeout on successful connection
135
+ if (this.connectionTimeout) {
136
+ clearTimeout(this.connectionTimeout);
137
+ this.connectionTimeout = null;
138
+ }
139
+ resolve();
140
+ });
141
+ this.socket.once('error', err => {
142
+ reject(new Error(`Failed to connect to bb socket: ${err.message}`));
143
+ });
144
+ // Set up data handler after connection is established
145
+ this.socket.on('data', (chunk) => {
146
+ this.handleData(chunk);
147
+ });
148
+ // Handle ongoing errors after initial connection
149
+ this.socket.on('error', err => {
150
+ // Reject all pending callbacks
151
+ const error = new Error(`Socket error: ${err.message}`);
152
+ for (const callback of this.pendingCallbacks) {
153
+ callback.reject(error);
154
+ }
155
+ this.pendingCallbacks = [];
156
+ });
157
+ this.socket.on('end', () => {
158
+ // Reject all pending callbacks
159
+ const error = new Error('Socket connection ended unexpectedly');
160
+ for (const callback of this.pendingCallbacks) {
161
+ callback.reject(error);
162
+ }
163
+ this.pendingCallbacks = [];
164
+ });
165
+ });
166
+ }
167
+ handleData(chunk) {
168
+ let offset = 0;
169
+ while (offset < chunk.length) {
170
+ if (this.readingLength) {
171
+ // Reading 4-byte length prefix
172
+ const bytesToCopy = Math.min(4 - this.lengthBytesRead, chunk.length - offset);
173
+ chunk.copy(this.lengthBuffer, this.lengthBytesRead, offset, offset + bytesToCopy);
174
+ this.lengthBytesRead += bytesToCopy;
175
+ offset += bytesToCopy;
176
+ if (this.lengthBytesRead === 4) {
177
+ // Length is complete, switch to reading data
178
+ this.responseLength = this.lengthBuffer.readUInt32LE(0);
179
+ this.responseBuffer = Buffer.alloc(this.responseLength);
180
+ this.responseBytesRead = 0;
181
+ this.readingLength = false;
182
+ }
183
+ }
184
+ else {
185
+ // Reading response data
186
+ const bytesToCopy = Math.min(this.responseLength - this.responseBytesRead, chunk.length - offset);
187
+ chunk.copy(this.responseBuffer, this.responseBytesRead, offset, offset + bytesToCopy);
188
+ this.responseBytesRead += bytesToCopy;
189
+ offset += bytesToCopy;
190
+ if (this.responseBytesRead === this.responseLength) {
191
+ // Response is complete - dequeue the next pending callback (FIFO)
192
+ const callback = this.pendingCallbacks.shift();
193
+ if (callback) {
194
+ callback.resolve(new Uint8Array(this.responseBuffer));
195
+ }
196
+ else {
197
+ // This shouldn't happen - response without a pending request
198
+ console.warn('Received response but no pending callback');
199
+ }
200
+ // Reset state for next message
201
+ this.readingLength = true;
202
+ this.lengthBytesRead = 0;
203
+ this.responseLength = 0;
204
+ this.responseBuffer = null;
205
+ this.responseBytesRead = 0;
206
+ }
207
+ }
208
+ }
209
+ }
210
+ async call(inputBuffer) {
211
+ // Wait for connection to be established
212
+ await this.connectionPromise;
213
+ if (!this.socket) {
214
+ throw new Error('Socket not connected');
215
+ }
216
+ return new Promise((resolve, reject) => {
217
+ // Enqueue this promise's callbacks (FIFO order)
218
+ this.pendingCallbacks.push({ resolve, reject });
219
+ // Write request: 4-byte little-endian length + msgpack data
220
+ // Socket will buffer these if needed, maintaining order
221
+ const lengthBuf = Buffer.alloc(4);
222
+ lengthBuf.writeUInt32LE(inputBuffer.length, 0);
223
+ this.socket.write(lengthBuf);
224
+ this.socket.write(inputBuffer);
225
+ });
226
+ }
227
+ cleanup() {
228
+ // Reject any remaining pending callbacks
229
+ const error = new Error('Backend connection closed');
230
+ for (const callback of this.pendingCallbacks) {
231
+ callback.reject(error);
232
+ }
233
+ this.pendingCallbacks = [];
234
+ try {
235
+ // Remove all event listeners to prevent hanging
236
+ if (this.socket) {
237
+ this.socket.removeAllListeners();
238
+ // Unref so socket doesn't keep event loop alive
239
+ // this.socket.unref();
240
+ this.socket.destroy();
241
+ }
242
+ }
243
+ catch (e) {
244
+ // Ignore errors during cleanup
245
+ }
246
+ // Clear connection timeout if still pending
247
+ if (this.connectionTimeout) {
248
+ clearTimeout(this.connectionTimeout);
249
+ this.connectionTimeout = null;
250
+ }
251
+ // Remove process event listeners and unref to not block event loop
252
+ this.process.removeAllListeners();
253
+ // this.process.unref();
254
+ // Don't try to unlink socket - bb owns it and will clean it up
255
+ }
256
+ async destroy() {
257
+ // Cleanup first (closes socket, unrefs everything)
258
+ this.cleanup();
259
+ // Send SIGTERM for graceful shutdown
260
+ // Process is unref'd so won't block event loop - just kill and return
261
+ try {
262
+ this.process.kill('SIGTERM');
263
+ }
264
+ catch (e) {
265
+ // Already dead
266
+ }
267
+ }
268
+ }
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlX3NvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy9ub2RlL25hdGl2ZV9zb2NrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxLQUFLLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDM0IsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBTyxvQ0FBb0M7SUFzQi9DLFlBQVksWUFBb0IsRUFBRSxPQUFnQjtRQXBCMUMsV0FBTSxHQUFzQixJQUFJLENBQUM7UUFHakMsc0JBQWlCLEdBQTBCLElBQUksQ0FBQztRQUV4RCxvREFBb0Q7UUFDcEQsNEVBQTRFO1FBQ3BFLHFCQUFnQixHQUduQixFQUFFLENBQUM7UUFFUixzQ0FBc0M7UUFDOUIsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsaUJBQVksR0FBVyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUNyQyxzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFHcEMsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFakYsMkVBQTJFO1FBQzNFLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBRUQsSUFBSSxpQkFBaUIsR0FBd0IsSUFBSSxDQUFDO1FBQ2xELElBQUksZ0JBQWdCLEdBQW9DLElBQUksQ0FBQztRQUU3RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDN0QsaUJBQWlCLEdBQUcsT0FBTyxDQUFDO1lBQzVCLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILGdEQUFnRDtRQUNoRCxNQUFNLEdBQUcsR0FBRyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUUvRyxzREFBc0Q7UUFDdEQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLGVBQWUsRUFBRSxHQUFHLDBCQUEwQixFQUFFLElBQUksRUFBRTtZQUN6RSxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQztZQUNyQyxHQUFHO1NBQ0osQ0FBQyxDQUFDO1FBQ0gseUdBQXlHO1FBQ3pHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzdCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDckIsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzVFLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDeEIsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBQzNCLENBQUM7WUFDRCwrQkFBK0I7WUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzdDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsQ0FBQztZQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdkMsTUFBTSxRQUFRLEdBQ1osSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQztnQkFDekIsQ0FBQyxDQUFDLDJDQUEyQyxJQUFJLEVBQUU7Z0JBQ25ELENBQUMsQ0FBQyxNQUFNLElBQUksTUFBTSxLQUFLLFNBQVM7b0JBQzlCLENBQUMsQ0FBQyw2Q0FBNkMsTUFBTSxFQUFFO29CQUN2RCxDQUFDLENBQUMsNENBQTRDLENBQUM7WUFFckQsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNyQixnQkFBZ0IsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUN0QyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUMzQixDQUFDO1lBQ0QsK0JBQStCO1lBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xDLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzdDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsQ0FBQztZQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLHVCQUF1QixFQUFFO2FBQzNCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3RCLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BCLGlCQUFpQixHQUFHLElBQUksQ0FBQztnQkFDekIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDWCxJQUFJLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3JCLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNyQixnQkFBZ0IsQ0FBQyxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hFLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDeEIsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxLQUFLLENBQUMsdUJBQXVCO1FBQ25DLG9EQUFvRDtRQUNwRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7WUFDbEUsQ0FBQztZQUNELE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELGtEQUFrRDtRQUNsRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUVELDRDQUE0QztRQUM1QyxPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFM0MsOENBQThDO1lBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTdCLHdCQUF3QjtZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUMvQixJQUFJLENBQUMsTUFBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUVyQixvREFBb0Q7Z0JBQ3BELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQzNCLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztnQkFDaEMsQ0FBQztnQkFDRCxPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUM5QixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEUsQ0FBQyxDQUFDLENBQUM7WUFFSCxzREFBc0Q7WUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7WUFFSCxpREFBaUQ7WUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QiwrQkFBK0I7Z0JBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLGlCQUFpQixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDeEQsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDN0MsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekIsQ0FBQztnQkFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDekIsK0JBQStCO2dCQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO2dCQUNoRSxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO29CQUM3QyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QixDQUFDO2dCQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBYTtRQUM5QixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFFZixPQUFPLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3ZCLCtCQUErQjtnQkFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO2dCQUM5RSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FBQyxDQUFDO2dCQUNsRixJQUFJLENBQUMsZUFBZSxJQUFJLFdBQVcsQ0FBQztnQkFDcEMsTUFBTSxJQUFJLFdBQVcsQ0FBQztnQkFFdEIsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUMvQiw2Q0FBNkM7b0JBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3hELElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQ3hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7b0JBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLHdCQUF3QjtnQkFDeEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO2dCQUNsRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFlLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUM7Z0JBQ3ZGLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxXQUFXLENBQUM7Z0JBQ3RDLE1BQU0sSUFBSSxXQUFXLENBQUM7Z0JBRXRCLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDbkQsa0VBQWtFO29CQUNsRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQy9DLElBQUksUUFBUSxFQUFFLENBQUM7d0JBQ2IsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBZSxDQUFDLENBQUMsQ0FBQztvQkFDekQsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLDZEQUE2RDt3QkFDN0QsT0FBTyxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO29CQUM1RCxDQUFDO29CQUVELCtCQUErQjtvQkFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7b0JBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO29CQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7b0JBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7Z0JBQzdCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXVCO1FBQ2hDLHdDQUF3QztRQUN4QyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUU3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBRWhELDREQUE0RDtZQUM1RCx3REFBd0Q7WUFDeEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLE1BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLE1BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sT0FBTztRQUNiLHlDQUF5QztRQUN6QyxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ3JELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDN0MsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUM7WUFDSCxnREFBZ0Q7WUFDaEQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDakMsZ0RBQWdEO2dCQUNoRCx1QkFBdUI7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsK0JBQStCO1FBQ2pDLENBQUM7UUFFRCw0Q0FBNEM7UUFDNUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO1FBRUQsbUVBQW1FO1FBQ25FLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNsQyx3QkFBd0I7UUFFeEIsK0RBQStEO0lBQ2pFLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFZixxQ0FBcUM7UUFDckMsc0VBQXNFO1FBQ3RFLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsZUFBZTtRQUNqQixDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Find package root by climbing directory tree until package.json is found.
3
+ * @param startDir Starting directory to search from
4
+ * @returns Absolute path to package root, or null if not found
5
+ */
6
+ export declare function findPackageRoot(): string | null;
7
+ /**
8
+ * Supported platform/architecture combinations.
9
+ */
10
+ export type Platform = 'x86_64-linux' | 'x86_64-darwin' | 'aarch64-linux' | 'aarch64-darwin';
11
+ /**
12
+ * Detect the current platform and architecture.
13
+ * @returns Platform identifier or null if unsupported
14
+ */
15
+ export declare function detectPlatform(): Platform | null;
16
+ /**
17
+ * Find the bb binary for the native backend.
18
+ * @param customPath Optional custom path to bb binary (overrides automatic detection)
19
+ * @returns Absolute path to bb binary, or null if not found
20
+ *
21
+ * Search order:
22
+ * 1. If customPath is provided and exists, return it
23
+ * 2. Otherwise search in <package-root>/build/<platform>/bb
24
+ */
25
+ export declare function findBbBinary(customPath?: string): string | null;
26
+ export declare function findNapiBinary(customPath?: string): string | null;
27
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/node/platform.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAa/C;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAY7F;;;GAGG;AACH,wBAAgB,cAAc,IAAI,QAAQ,GAAG,IAAI,CAkBhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiC/D;AAED,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiCjE"}
@@ -0,0 +1,124 @@
1
+ import * as path from 'path';
2
+ import * as fs from 'fs';
3
+ import { fileURLToPath } from 'url';
4
+ function getCurrentDir() {
5
+ if (typeof __dirname !== 'undefined') {
6
+ return __dirname;
7
+ }
8
+ else {
9
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
+ // @ts-ignore
11
+ return path.dirname(fileURLToPath(import.meta.url));
12
+ }
13
+ }
14
+ /**
15
+ * Find package root by climbing directory tree until package.json is found.
16
+ * @param startDir Starting directory to search from
17
+ * @returns Absolute path to package root, or null if not found
18
+ */
19
+ export function findPackageRoot() {
20
+ let currentDir = getCurrentDir();
21
+ const root = path.parse(currentDir).root;
22
+ while (currentDir !== root) {
23
+ const packageJsonPath = path.join(currentDir, 'package.json');
24
+ if (fs.existsSync(packageJsonPath)) {
25
+ return currentDir;
26
+ }
27
+ currentDir = path.dirname(currentDir);
28
+ }
29
+ return null;
30
+ }
31
+ /**
32
+ * Map from Platform to build directory name.
33
+ */
34
+ const PLATFORM_TO_BUILD_DIR = {
35
+ 'x86_64-linux': 'amd64-linux',
36
+ 'x86_64-darwin': 'amd64-macos',
37
+ 'aarch64-linux': 'arm64-linux',
38
+ 'aarch64-darwin': 'arm64-macos',
39
+ };
40
+ /**
41
+ * Detect the current platform and architecture.
42
+ * @returns Platform identifier or null if unsupported
43
+ */
44
+ export function detectPlatform() {
45
+ const arch = process.arch; // 'x64' | 'arm64' | ...
46
+ const platform = process.platform; // 'linux' | 'darwin' | 'win32' | ...
47
+ if (arch === 'x64' && platform === 'linux') {
48
+ return 'x86_64-linux';
49
+ }
50
+ if (arch === 'x64' && platform === 'darwin') {
51
+ return 'x86_64-darwin';
52
+ }
53
+ if (arch === 'arm64' && platform === 'linux') {
54
+ return 'aarch64-linux';
55
+ }
56
+ if (arch === 'arm64' && platform === 'darwin') {
57
+ return 'aarch64-darwin';
58
+ }
59
+ return null;
60
+ }
61
+ /**
62
+ * Find the bb binary for the native backend.
63
+ * @param customPath Optional custom path to bb binary (overrides automatic detection)
64
+ * @returns Absolute path to bb binary, or null if not found
65
+ *
66
+ * Search order:
67
+ * 1. If customPath is provided and exists, return it
68
+ * 2. Otherwise search in <package-root>/build/<platform>/bb
69
+ */
70
+ export function findBbBinary(customPath) {
71
+ // Check custom path first if provided
72
+ if (customPath) {
73
+ if (fs.existsSync(customPath)) {
74
+ return path.resolve(customPath);
75
+ }
76
+ // Custom path provided but doesn't exist - return null
77
+ return null;
78
+ }
79
+ // Automatic detection
80
+ const platform = detectPlatform();
81
+ if (!platform) {
82
+ return null;
83
+ }
84
+ const buildDir = PLATFORM_TO_BUILD_DIR[platform];
85
+ // Get package root by climbing directory tree to find package.json
86
+ const packageRoot = findPackageRoot();
87
+ if (!packageRoot) {
88
+ return null;
89
+ }
90
+ // Check in build/<platform>/bb
91
+ const bbPath = path.join(packageRoot, 'build', buildDir, 'bb');
92
+ if (fs.existsSync(bbPath)) {
93
+ return bbPath;
94
+ }
95
+ return null;
96
+ }
97
+ export function findNapiBinary(customPath) {
98
+ // Check custom path first if provided
99
+ if (customPath) {
100
+ if (fs.existsSync(customPath)) {
101
+ return path.resolve(customPath);
102
+ }
103
+ // Custom path provided but doesn't exist - return null
104
+ return null;
105
+ }
106
+ // Automatic detection
107
+ const platform = detectPlatform();
108
+ if (!platform) {
109
+ return null;
110
+ }
111
+ const buildDir = PLATFORM_TO_BUILD_DIR[platform];
112
+ // Get package root by climbing directory tree to find package.json
113
+ const packageRoot = findPackageRoot();
114
+ if (!packageRoot) {
115
+ return null;
116
+ }
117
+ // Check in build/<platform>/nodejs_module.node
118
+ const bbPath = path.join(packageRoot, 'build', buildDir, 'nodejs_module.node');
119
+ if (fs.existsSync(bbPath)) {
120
+ return bbPath;
121
+ }
122
+ return null;
123
+ }
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvbm9kZS9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXBDLFNBQVMsYUFBYTtJQUNwQixJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sNkRBQTZEO1FBQzdELGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZTtJQUM3QixJQUFJLFVBQVUsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUV6QyxPQUFPLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMzQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM5RCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQU9EOztHQUVHO0FBQ0gsTUFBTSxx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
@@ -0,0 +1,15 @@
1
+ import { IMsgpackBackendSync, IMsgpackBackendAsync } from './interface.js';
2
+ /**
3
+ * Adapter that wraps a synchronous backend to provide an async interface.
4
+ * The sync backend's blocking calls are simply wrapped in Promise.resolve().
5
+ *
6
+ * This is useful for backends like shared memory where the call is actually
7
+ * synchronous but we want to use it with the async API.
8
+ */
9
+ export declare class SyncToAsyncAdapter implements IMsgpackBackendAsync {
10
+ private syncBackend;
11
+ constructor(syncBackend: IMsgpackBackendSync);
12
+ call(inputBuffer: Uint8Array): Promise<Uint8Array>;
13
+ destroy(): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=sync_to_async_adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync_to_async_adapter.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/sync_to_async_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3E;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,oBAAoB;IACjD,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,mBAAmB;IAE9C,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAKlD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Adapter that wraps a synchronous backend to provide an async interface.
3
+ * The sync backend's blocking calls are simply wrapped in Promise.resolve().
4
+ *
5
+ * This is useful for backends like shared memory where the call is actually
6
+ * synchronous but we want to use it with the async API.
7
+ */
8
+ export class SyncToAsyncAdapter {
9
+ constructor(syncBackend) {
10
+ this.syncBackend = syncBackend;
11
+ }
12
+ async call(inputBuffer) {
13
+ // The sync backend blocks until complete, so just wrap in a resolved promise
14
+ return Promise.resolve(this.syncBackend.call(inputBuffer));
15
+ }
16
+ async destroy() {
17
+ this.syncBackend.destroy();
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY190b19hc3luY19hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JiX2JhY2tlbmRzL3N5bmNfdG9fYXN5bmNfYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW9CLFdBQWdDO1FBQWhDLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtJQUFHLENBQUM7SUFFeEQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUF1QjtRQUNoQyw2RUFBNkU7UUFDN0UsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0YifQ==
@@ -0,0 +1,49 @@
1
+ import { IMsgpackBackendSync, IMsgpackBackendAsync } from './interface.js';
2
+ /**
3
+ * Synchronous WASM backend that wraps BarretenbergWasmMain.
4
+ * Encapsulates all WASM initialization and memory management.
5
+ */
6
+ export declare class BarretenbergWasmSyncBackend implements IMsgpackBackendSync {
7
+ private wasm;
8
+ private constructor();
9
+ /**
10
+ * Create and initialize a synchronous WASM backend.
11
+ * @param wasmPath Optional path to WASM files
12
+ * @param logger Optional logging function
13
+ */
14
+ static new(wasmPath?: string, logger?: (msg: string) => void): Promise<BarretenbergWasmSyncBackend>;
15
+ call(inputBuffer: Uint8Array): Uint8Array;
16
+ destroy(): void;
17
+ }
18
+ /**
19
+ * Asynchronous WASM backend that supports both direct WASM and worker-based modes.
20
+ *
21
+ * Worker mode (default): Runs WASM on a worker thread to avoid blocking the main thread. Used in browsers.
22
+ * Direct mode: Runs WASM directly on the calling thread. Used by node.js for better performance.
23
+ */
24
+ export declare class BarretenbergWasmAsyncBackend implements IMsgpackBackendAsync {
25
+ private wasm;
26
+ private worker?;
27
+ private constructor();
28
+ /**
29
+ * Create and initialize an asynchronous WASM backend.
30
+ * @param options.threads Number of threads (defaults to hardware max, up to 32 for parallel proving)
31
+ * @param options.wasmPath Optional path to WASM files
32
+ * @param options.logger Optional logging function
33
+ * @param options.memory Optional initial and maximum memory configuration
34
+ * @param options.useWorker Run on worker thread (default: true for browser safety)
35
+ */
36
+ static new(options?: {
37
+ threads?: number;
38
+ wasmPath?: string;
39
+ logger?: (msg: string) => void;
40
+ memory?: {
41
+ initial?: number;
42
+ maximum?: number;
43
+ };
44
+ useWorker?: boolean;
45
+ }): Promise<BarretenbergWasmAsyncBackend>;
46
+ call(inputBuffer: Uint8Array): Promise<Uint8Array>;
47
+ destroy(): Promise<void>;
48
+ }
49
+ //# sourceMappingURL=wasm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAM3E;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACjD,OAAO,CAAC,IAAI;IAAhC,OAAO;IAEP;;;;OAIG;WACU,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAOzG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU;IAIzC,OAAO,IAAI,IAAI;CAKhB;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,YAAW,oBAAoB;IAErE,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM,CAAC;IAFjB,OAAO;IAKP;;;;;;;OAOG;WACU,GAAG,CACd,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,SAAS,CAAC,EAAE,OAAO,CAAC;KAChB,GACL,OAAO,CAAC,4BAA4B,CAAC;IA0BlC,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAIlD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
@@ -0,0 +1,83 @@
1
+ import { BarretenbergWasmMain } from '../barretenberg_wasm/barretenberg_wasm_main/index.js';
2
+ import { fetchModuleAndThreads } from '../barretenberg_wasm/index.js';
3
+ import { createMainWorker } from '../barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js';
4
+ import { getRemoteBarretenbergWasm } from '../barretenberg_wasm/helpers/index.js';
5
+ import { createDebugLogger } from '../log/index.js';
6
+ import { proxy } from 'comlink';
7
+ /**
8
+ * Synchronous WASM backend that wraps BarretenbergWasmMain.
9
+ * Encapsulates all WASM initialization and memory management.
10
+ */
11
+ export class BarretenbergWasmSyncBackend {
12
+ constructor(wasm) {
13
+ this.wasm = wasm;
14
+ }
15
+ /**
16
+ * Create and initialize a synchronous WASM backend.
17
+ * @param wasmPath Optional path to WASM files
18
+ * @param logger Optional logging function
19
+ */
20
+ static async new(wasmPath, logger) {
21
+ const wasm = new BarretenbergWasmMain();
22
+ const { module, threads } = await fetchModuleAndThreads(1, wasmPath, logger);
23
+ await wasm.init(module, threads, logger);
24
+ return new BarretenbergWasmSyncBackend(wasm);
25
+ }
26
+ call(inputBuffer) {
27
+ return this.wasm.cbindCall('bbapi', inputBuffer);
28
+ }
29
+ destroy() {
30
+ // BarretenbergWasmMain has async destroy, but for sync API we call it without awaiting
31
+ // This is consistent with the synchronous semantics expected by the caller
32
+ void this.wasm.destroy();
33
+ }
34
+ }
35
+ /**
36
+ * Asynchronous WASM backend that supports both direct WASM and worker-based modes.
37
+ *
38
+ * Worker mode (default): Runs WASM on a worker thread to avoid blocking the main thread. Used in browsers.
39
+ * Direct mode: Runs WASM directly on the calling thread. Used by node.js for better performance.
40
+ */
41
+ export class BarretenbergWasmAsyncBackend {
42
+ constructor(wasm, worker) {
43
+ this.wasm = wasm;
44
+ this.worker = worker;
45
+ }
46
+ /**
47
+ * Create and initialize an asynchronous WASM backend.
48
+ * @param options.threads Number of threads (defaults to hardware max, up to 32 for parallel proving)
49
+ * @param options.wasmPath Optional path to WASM files
50
+ * @param options.logger Optional logging function
51
+ * @param options.memory Optional initial and maximum memory configuration
52
+ * @param options.useWorker Run on worker thread (default: true for browser safety)
53
+ */
54
+ static async new(options = {}) {
55
+ // Default to worker mode for browser safety
56
+ const useWorker = options.useWorker ?? true;
57
+ if (useWorker) {
58
+ // Worker-based mode: runs on worker thread (browser-safe)
59
+ const worker = await createMainWorker();
60
+ const wasm = getRemoteBarretenbergWasm(worker);
61
+ const { module, threads } = await fetchModuleAndThreads(options.threads, options.wasmPath, options.logger);
62
+ await wasm.init(module, threads, proxy(options.logger ?? createDebugLogger('bb_wasm_async')), options.memory?.initial, options.memory?.maximum);
63
+ return new BarretenbergWasmAsyncBackend(wasm, worker);
64
+ }
65
+ else {
66
+ // Direct mode: runs on calling thread (faster but blocks thread)
67
+ const wasm = new BarretenbergWasmMain();
68
+ const { module, threads } = await fetchModuleAndThreads(options.threads, options.wasmPath, options.logger);
69
+ await wasm.init(module, threads, options.logger, options.memory?.initial, options.memory?.maximum);
70
+ return new BarretenbergWasmAsyncBackend(wasm);
71
+ }
72
+ }
73
+ async call(inputBuffer) {
74
+ return this.wasm.cbindCall('bbapi', inputBuffer);
75
+ }
76
+ async destroy() {
77
+ await this.wasm.destroy();
78
+ if (this.worker) {
79
+ await this.worker.terminate();
80
+ }
81
+ }
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy93YXNtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBOEIsTUFBTSxzREFBc0QsQ0FBQztBQUN4SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNyRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFBNEIsSUFBMEI7UUFBMUIsU0FBSSxHQUFKLElBQUksQ0FBc0I7SUFBRyxDQUFDO0lBRTFEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFpQixFQUFFLE1BQThCO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUN4QyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0scUJBQXFCLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxPQUFPLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksQ0FBQyxXQUF1QjtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FB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
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Exception thrown when barretenberg API operations fail
3
+ */
4
+ export declare class BBApiException extends Error {
5
+ constructor(message: string);
6
+ }
7
+ //# sourceMappingURL=bbapi_exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bbapi_exception.d.ts","sourceRoot":"","sources":["../../src/bbapi_exception.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAQ5B"}