@elaraai/east 1.0.79 → 1.0.81

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 (379) hide show
  1. package/README.md +1 -1
  2. package/dist/src/builtins.d.ts +1 -1
  3. package/dist/src/builtins.d.ts.map +1 -1
  4. package/dist/src/builtins.js +19 -0
  5. package/dist/src/builtins.js.map +1 -1
  6. package/dist/src/codegen/spellings.d.ts.map +1 -1
  7. package/dist/src/codegen/spellings.js +3 -0
  8. package/dist/src/codegen/spellings.js.map +1 -1
  9. package/dist/src/comparison.d.ts +54 -0
  10. package/dist/src/comparison.d.ts.map +1 -1
  11. package/dist/src/comparison.equivalent.spec.d.ts +6 -0
  12. package/dist/src/comparison.equivalent.spec.d.ts.map +1 -0
  13. package/dist/src/comparison.equivalent.spec.js +130 -0
  14. package/dist/src/comparison.equivalent.spec.js.map +1 -0
  15. package/dist/src/comparison.js +97 -25
  16. package/dist/src/comparison.js.map +1 -1
  17. package/dist/src/compile/builtins/array.d.ts +60 -0
  18. package/dist/src/compile/builtins/array.d.ts.map +1 -0
  19. package/dist/src/compile/builtins/array.js +691 -0
  20. package/dist/src/compile/builtins/array.js.map +1 -0
  21. package/dist/src/compile/builtins/blob.d.ts +18 -0
  22. package/dist/src/compile/builtins/blob.d.ts.map +1 -0
  23. package/dist/src/compile/builtins/blob.js +150 -0
  24. package/dist/src/compile/builtins/blob.js.map +1 -0
  25. package/dist/src/compile/builtins/compare.d.ts +18 -0
  26. package/dist/src/compile/builtins/compare.d.ts.map +1 -0
  27. package/dist/src/compile/builtins/compare.js +52 -0
  28. package/dist/src/compile/builtins/compare.js.map +1 -0
  29. package/dist/src/compile/builtins/datetime.d.ts +21 -0
  30. package/dist/src/compile/builtins/datetime.d.ts.map +1 -0
  31. package/dist/src/compile/builtins/datetime.js +46 -0
  32. package/dist/src/compile/builtins/datetime.js.map +1 -0
  33. package/dist/src/compile/builtins/dict.d.ts +47 -0
  34. package/dist/src/compile/builtins/dict.d.ts.map +1 -0
  35. package/dist/src/compile/builtins/dict.js +576 -0
  36. package/dist/src/compile/builtins/dict.js.map +1 -0
  37. package/dist/src/compile/builtins/index.d.ts +9 -0
  38. package/dist/src/compile/builtins/index.d.ts.map +1 -0
  39. package/dist/src/compile/builtins/index.js +28 -0
  40. package/dist/src/compile/builtins/index.js.map +1 -0
  41. package/dist/src/compile/builtins/matrix.d.ts +31 -0
  42. package/dist/src/compile/builtins/matrix.d.ts.map +1 -0
  43. package/dist/src/compile/builtins/matrix.js +310 -0
  44. package/dist/src/compile/builtins/matrix.js.map +1 -0
  45. package/dist/src/compile/builtins/primitives.d.ts +36 -0
  46. package/dist/src/compile/builtins/primitives.d.ts.map +1 -0
  47. package/dist/src/compile/builtins/primitives.js +67 -0
  48. package/dist/src/compile/builtins/primitives.js.map +1 -0
  49. package/dist/src/compile/builtins/ref.d.ts +11 -0
  50. package/dist/src/compile/builtins/ref.d.ts.map +1 -0
  51. package/dist/src/compile/builtins/ref.js +30 -0
  52. package/dist/src/compile/builtins/ref.js.map +1 -0
  53. package/dist/src/compile/builtins/set.d.ts +42 -0
  54. package/dist/src/compile/builtins/set.d.ts.map +1 -0
  55. package/dist/src/compile/builtins/set.js +410 -0
  56. package/dist/src/compile/builtins/set.js.map +1 -0
  57. package/dist/src/compile/builtins/sparse.d.ts +19 -0
  58. package/dist/src/compile/builtins/sparse.d.ts.map +1 -0
  59. package/dist/src/compile/builtins/sparse.js +143 -0
  60. package/dist/src/compile/builtins/sparse.js.map +1 -0
  61. package/dist/src/compile/builtins/string.d.ts +34 -0
  62. package/dist/src/compile/builtins/string.d.ts.map +1 -0
  63. package/dist/src/compile/builtins/string.js +238 -0
  64. package/dist/src/compile/builtins/string.js.map +1 -0
  65. package/dist/src/compile/builtins/tree.d.ts +32 -0
  66. package/dist/src/compile/builtins/tree.d.ts.map +1 -0
  67. package/dist/src/compile/builtins/tree.js +108 -0
  68. package/dist/src/compile/builtins/tree.js.map +1 -0
  69. package/dist/src/compile/builtins/vector.d.ts +44 -0
  70. package/dist/src/compile/builtins/vector.d.ts.map +1 -0
  71. package/dist/src/compile/builtins/vector.js +463 -0
  72. package/dist/src/compile/builtins/vector.js.map +1 -0
  73. package/dist/src/compile/constructors.d.ts +13 -0
  74. package/dist/src/compile/constructors.d.ts.map +1 -0
  75. package/dist/src/compile/constructors.js +179 -0
  76. package/dist/src/compile/constructors.js.map +1 -0
  77. package/dist/src/compile/control.d.ts +13 -0
  78. package/dist/src/compile/control.d.ts.map +1 -0
  79. package/dist/src/compile/control.js +513 -0
  80. package/dist/src/compile/control.js.map +1 -0
  81. package/dist/src/compile/functions.d.ts +13 -0
  82. package/dist/src/compile/functions.d.ts.map +1 -0
  83. package/dist/src/compile/functions.js +492 -0
  84. package/dist/src/compile/functions.js.map +1 -0
  85. package/dist/src/compile/ir.d.ts +19 -0
  86. package/dist/src/compile/ir.d.ts.map +1 -0
  87. package/dist/src/compile/ir.js +193 -0
  88. package/dist/src/compile/ir.js.map +1 -0
  89. package/dist/src/compile/runtime.d.ts +75 -0
  90. package/dist/src/compile/runtime.d.ts.map +1 -0
  91. package/dist/src/compile/runtime.js +114 -0
  92. package/dist/src/compile/runtime.js.map +1 -0
  93. package/dist/src/compile/type_parameters.d.ts +4 -0
  94. package/dist/src/compile/type_parameters.d.ts.map +1 -0
  95. package/dist/src/compile/type_parameters.js +55 -0
  96. package/dist/src/compile/type_parameters.js.map +1 -0
  97. package/dist/src/compile/typed_arrays.d.ts +28 -0
  98. package/dist/src/compile/typed_arrays.d.ts.map +1 -0
  99. package/dist/src/compile/typed_arrays.js +77 -0
  100. package/dist/src/compile/typed_arrays.js.map +1 -0
  101. package/dist/src/compile.d.ts +6 -41
  102. package/dist/src/compile.d.ts.map +1 -1
  103. package/dist/src/compile.js +8 -4415
  104. package/dist/src/compile.js.map +1 -1
  105. package/dist/src/compile.open_beast.spec.js +5 -4
  106. package/dist/src/compile.open_beast.spec.js.map +1 -1
  107. package/dist/src/compile.signature.spec.d.ts +6 -0
  108. package/dist/src/compile.signature.spec.d.ts.map +1 -0
  109. package/dist/src/compile.signature.spec.js +53 -0
  110. package/dist/src/compile.signature.spec.js.map +1 -0
  111. package/dist/src/containers/sortedmap.d.ts +2 -1
  112. package/dist/src/containers/sortedmap.d.ts.map +1 -1
  113. package/dist/src/containers/sortedmap.js +4 -2
  114. package/dist/src/containers/sortedmap.js.map +1 -1
  115. package/dist/src/containers/sortedset.d.ts +2 -1
  116. package/dist/src/containers/sortedset.d.ts.map +1 -1
  117. package/dist/src/containers/sortedset.js +4 -2
  118. package/dist/src/containers/sortedset.js.map +1 -1
  119. package/dist/src/error.d.ts +15 -0
  120. package/dist/src/error.d.ts.map +1 -1
  121. package/dist/src/error.js +16 -0
  122. package/dist/src/error.js.map +1 -1
  123. package/dist/src/expr/array.d.ts +158 -81
  124. package/dist/src/expr/array.d.ts.map +1 -1
  125. package/dist/src/expr/array.js +68 -51
  126. package/dist/src/expr/array.js.map +1 -1
  127. package/dist/src/expr/ast.d.ts.map +1 -1
  128. package/dist/src/expr/ast.js +13 -0
  129. package/dist/src/expr/ast.js.map +1 -1
  130. package/dist/src/expr/blob.d.ts +8 -8
  131. package/dist/src/expr/blob.js +8 -8
  132. package/dist/src/expr/block.d.ts +18 -5
  133. package/dist/src/expr/block.d.ts.map +1 -1
  134. package/dist/src/expr/block.js +19 -0
  135. package/dist/src/expr/block.js.map +1 -1
  136. package/dist/src/expr/boolean.d.ts +10 -10
  137. package/dist/src/expr/boolean.js +10 -10
  138. package/dist/src/expr/datetime.d.ts +28 -28
  139. package/dist/src/expr/datetime.js +28 -28
  140. package/dist/src/expr/dict.d.ts +101 -51
  141. package/dist/src/expr/dict.d.ts.map +1 -1
  142. package/dist/src/expr/dict.js +97 -36
  143. package/dist/src/expr/dict.js.map +1 -1
  144. package/dist/src/expr/float.d.ts +23 -23
  145. package/dist/src/expr/float.js +23 -23
  146. package/dist/src/expr/integer.d.ts +17 -17
  147. package/dist/src/expr/integer.js +11 -11
  148. package/dist/src/expr/libs/array.d.ts +6 -6
  149. package/dist/src/expr/libs/array.js +6 -6
  150. package/dist/src/expr/libs/blob.d.ts +2 -2
  151. package/dist/src/expr/libs/blob.js +2 -2
  152. package/dist/src/expr/libs/datetime.d.ts +25 -25
  153. package/dist/src/expr/libs/datetime.js +25 -25
  154. package/dist/src/expr/libs/dict.d.ts +2 -2
  155. package/dist/src/expr/libs/dict.js +2 -2
  156. package/dist/src/expr/libs/float.d.ts +15 -15
  157. package/dist/src/expr/libs/float.js +15 -15
  158. package/dist/src/expr/libs/integer.d.ts +12 -12
  159. package/dist/src/expr/libs/integer.js +12 -12
  160. package/dist/src/expr/libs/set.d.ts +2 -2
  161. package/dist/src/expr/libs/set.js +2 -2
  162. package/dist/src/expr/libs/string.d.ts +4 -4
  163. package/dist/src/expr/libs/string.js +4 -4
  164. package/dist/src/expr/recursive.d.ts +22 -5
  165. package/dist/src/expr/recursive.d.ts.map +1 -1
  166. package/dist/src/expr/recursive.js +22 -5
  167. package/dist/src/expr/recursive.js.map +1 -1
  168. package/dist/src/expr/ref.d.ts +5 -5
  169. package/dist/src/expr/ref.js +5 -5
  170. package/dist/src/expr/set.d.ts +96 -51
  171. package/dist/src/expr/set.d.ts.map +1 -1
  172. package/dist/src/expr/set.js +85 -29
  173. package/dist/src/expr/set.js.map +1 -1
  174. package/dist/src/expr/string.d.ts +28 -28
  175. package/dist/src/expr/string.js +28 -28
  176. package/dist/src/expr/struct.d.ts.map +1 -1
  177. package/dist/src/expr/struct.js +2 -2
  178. package/dist/src/expr/variant.d.ts +12 -12
  179. package/dist/src/expr/variant.js +7 -7
  180. package/dist/src/function_symbols.d.ts +28 -0
  181. package/dist/src/function_symbols.d.ts.map +1 -0
  182. package/dist/src/function_symbols.js +28 -0
  183. package/dist/src/function_symbols.js.map +1 -0
  184. package/dist/src/index.d.ts +1 -0
  185. package/dist/src/index.d.ts.map +1 -1
  186. package/dist/src/index.js +1 -0
  187. package/dist/src/index.js.map +1 -1
  188. package/dist/src/location.d.ts +32 -0
  189. package/dist/src/location.d.ts.map +1 -1
  190. package/dist/src/location.js +38 -0
  191. package/dist/src/location.js.map +1 -1
  192. package/dist/src/location.spec.js +89 -1
  193. package/dist/src/location.spec.js.map +1 -1
  194. package/dist/src/patch/index.d.ts +1 -1
  195. package/dist/src/patch/index.d.ts.map +1 -1
  196. package/dist/src/patch/index.js +1 -1
  197. package/dist/src/patch/index.js.map +1 -1
  198. package/dist/src/patch/type_of_patch.d.ts +25 -1
  199. package/dist/src/patch/type_of_patch.d.ts.map +1 -1
  200. package/dist/src/patch/type_of_patch.js +33 -10
  201. package/dist/src/patch/type_of_patch.js.map +1 -1
  202. package/dist/src/platform.spec.js +19 -1
  203. package/dist/src/platform.spec.js.map +1 -1
  204. package/dist/src/runner_protocol.d.ts +357 -0
  205. package/dist/src/runner_protocol.d.ts.map +1 -0
  206. package/dist/src/runner_protocol.js +154 -0
  207. package/dist/src/runner_protocol.js.map +1 -0
  208. package/dist/src/serialization/beast2/index.d.ts +22 -5
  209. package/dist/src/serialization/beast2/index.d.ts.map +1 -1
  210. package/dist/src/serialization/beast2/index.js +13 -2
  211. package/dist/src/serialization/beast2/index.js.map +1 -1
  212. package/dist/src/serialization/beast2/index.spec.js +84 -3
  213. package/dist/src/serialization/beast2/index.spec.js.map +1 -1
  214. package/dist/src/serialization/beast2/shared.d.ts +32 -3
  215. package/dist/src/serialization/beast2/shared.d.ts.map +1 -1
  216. package/dist/src/serialization/beast2/shared.js +135 -10
  217. package/dist/src/serialization/beast2/shared.js.map +1 -1
  218. package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -1
  219. package/dist/src/serialization/beast2/v4/container.js +5 -3
  220. package/dist/src/serialization/beast2/v4/container.js.map +1 -1
  221. package/dist/src/serialization/beast2/v5/aliasing.spec.d.ts +6 -0
  222. package/dist/src/serialization/beast2/v5/aliasing.spec.d.ts.map +1 -0
  223. package/dist/src/serialization/beast2/v5/aliasing.spec.js +75 -0
  224. package/dist/src/serialization/beast2/v5/aliasing.spec.js.map +1 -0
  225. package/dist/src/serialization/beast2/v5/boundary.d.ts +176 -0
  226. package/dist/src/serialization/beast2/v5/boundary.d.ts.map +1 -0
  227. package/dist/src/serialization/beast2/v5/boundary.js +297 -0
  228. package/dist/src/serialization/beast2/v5/boundary.js.map +1 -0
  229. package/dist/src/serialization/beast2/v5/boundary.spec.d.ts +6 -0
  230. package/dist/src/serialization/beast2/v5/boundary.spec.d.ts.map +1 -0
  231. package/dist/src/serialization/beast2/v5/boundary.spec.js +479 -0
  232. package/dist/src/serialization/beast2/v5/boundary.spec.js.map +1 -0
  233. package/dist/src/serialization/beast2/v5/canonical.d.ts +101 -0
  234. package/dist/src/serialization/beast2/v5/canonical.d.ts.map +1 -0
  235. package/dist/src/serialization/beast2/v5/canonical.js +436 -0
  236. package/dist/src/serialization/beast2/v5/canonical.js.map +1 -0
  237. package/dist/src/serialization/beast2/v5/canonical.spec.d.ts +6 -0
  238. package/dist/src/serialization/beast2/v5/canonical.spec.d.ts.map +1 -0
  239. package/dist/src/serialization/beast2/v5/canonical.spec.js +124 -0
  240. package/dist/src/serialization/beast2/v5/canonical.spec.js.map +1 -0
  241. package/dist/src/serialization/beast2/v5/codec.d.ts +6 -5
  242. package/dist/src/serialization/beast2/v5/codec.d.ts.map +1 -1
  243. package/dist/src/serialization/beast2/v5/codec.js +18 -3
  244. package/dist/src/serialization/beast2/v5/codec.js.map +1 -1
  245. package/dist/src/serialization/beast2/v5/deflate.d.ts +24 -2
  246. package/dist/src/serialization/beast2/v5/deflate.d.ts.map +1 -1
  247. package/dist/src/serialization/beast2/v5/deflate.js +47 -12
  248. package/dist/src/serialization/beast2/v5/deflate.js.map +1 -1
  249. package/dist/src/serialization/beast2/v5/deflate.spec.js +15 -1
  250. package/dist/src/serialization/beast2/v5/deflate.spec.js.map +1 -1
  251. package/dist/src/serialization/beast2/v5/elements.d.ts +66 -0
  252. package/dist/src/serialization/beast2/v5/elements.d.ts.map +1 -0
  253. package/dist/src/serialization/beast2/v5/elements.js +325 -0
  254. package/dist/src/serialization/beast2/v5/elements.js.map +1 -0
  255. package/dist/src/serialization/beast2/v5/elements.spec.d.ts +6 -0
  256. package/dist/src/serialization/beast2/v5/elements.spec.d.ts.map +1 -0
  257. package/dist/src/serialization/beast2/v5/elements.spec.js +161 -0
  258. package/dist/src/serialization/beast2/v5/elements.spec.js.map +1 -0
  259. package/dist/src/serialization/beast2/v5/frame-pool.d.ts +62 -21
  260. package/dist/src/serialization/beast2/v5/frame-pool.d.ts.map +1 -1
  261. package/dist/src/serialization/beast2/v5/frame-pool.js +138 -27
  262. package/dist/src/serialization/beast2/v5/frame-pool.js.map +1 -1
  263. package/dist/src/serialization/beast2/v5/frame-pool.spec.js +198 -71
  264. package/dist/src/serialization/beast2/v5/frame-pool.spec.js.map +1 -1
  265. package/dist/src/serialization/beast2/v5/frame-worker.js +25 -15
  266. package/dist/src/serialization/beast2/v5/frame-worker.js.map +1 -1
  267. package/dist/src/serialization/beast2/v5/frames.d.ts +22 -12
  268. package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
  269. package/dist/src/serialization/beast2/v5/frames.js +52 -27
  270. package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
  271. package/dist/src/serialization/beast2/v5/geometry.d.ts +38 -1
  272. package/dist/src/serialization/beast2/v5/geometry.d.ts.map +1 -1
  273. package/dist/src/serialization/beast2/v5/geometry.js +73 -1
  274. package/dist/src/serialization/beast2/v5/geometry.js.map +1 -1
  275. package/dist/src/serialization/beast2/v5/geometry.spec.js +34 -23
  276. package/dist/src/serialization/beast2/v5/geometry.spec.js.map +1 -1
  277. package/dist/src/serialization/beast2/v5/index.spec.js +32 -28
  278. package/dist/src/serialization/beast2/v5/index.spec.js.map +1 -1
  279. package/dist/src/serialization/beast2/v5/intake.d.ts +98 -0
  280. package/dist/src/serialization/beast2/v5/intake.d.ts.map +1 -0
  281. package/dist/src/serialization/beast2/v5/intake.js +462 -0
  282. package/dist/src/serialization/beast2/v5/intake.js.map +1 -0
  283. package/dist/src/serialization/beast2/v5/intake.spec.d.ts +6 -0
  284. package/dist/src/serialization/beast2/v5/intake.spec.d.ts.map +1 -0
  285. package/dist/src/serialization/beast2/v5/intake.spec.js +202 -0
  286. package/dist/src/serialization/beast2/v5/intake.spec.js.map +1 -0
  287. package/dist/src/serialization/beast2/v5/lazy.d.ts +42 -1
  288. package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
  289. package/dist/src/serialization/beast2/v5/lazy.js +143 -28
  290. package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
  291. package/dist/src/serialization/beast2/v5/lazy.spec.js +102 -24
  292. package/dist/src/serialization/beast2/v5/lazy.spec.js.map +1 -1
  293. package/dist/src/serialization/beast2/v5/manifest-writer.d.ts +110 -0
  294. package/dist/src/serialization/beast2/v5/manifest-writer.d.ts.map +1 -0
  295. package/dist/src/serialization/beast2/v5/manifest-writer.js +118 -0
  296. package/dist/src/serialization/beast2/v5/manifest-writer.js.map +1 -0
  297. package/dist/src/serialization/beast2/v5/manifest-writer.spec.d.ts +6 -0
  298. package/dist/src/serialization/beast2/v5/manifest-writer.spec.d.ts.map +1 -0
  299. package/dist/src/serialization/beast2/v5/manifest-writer.spec.js +207 -0
  300. package/dist/src/serialization/beast2/v5/manifest-writer.spec.js.map +1 -0
  301. package/dist/src/serialization/beast2/v5/manifest.d.ts +241 -0
  302. package/dist/src/serialization/beast2/v5/manifest.d.ts.map +1 -0
  303. package/dist/src/serialization/beast2/v5/manifest.js +233 -0
  304. package/dist/src/serialization/beast2/v5/manifest.js.map +1 -0
  305. package/dist/src/serialization/beast2/v5/merge.d.ts +93 -0
  306. package/dist/src/serialization/beast2/v5/merge.d.ts.map +1 -0
  307. package/dist/src/serialization/beast2/v5/merge.js +202 -0
  308. package/dist/src/serialization/beast2/v5/merge.js.map +1 -0
  309. package/dist/src/serialization/beast2/v5/merge.spec.d.ts +6 -0
  310. package/dist/src/serialization/beast2/v5/merge.spec.d.ts.map +1 -0
  311. package/dist/src/serialization/beast2/v5/merge.spec.js +118 -0
  312. package/dist/src/serialization/beast2/v5/merge.spec.js.map +1 -0
  313. package/dist/src/serialization/beast2/v5/recut.d.ts +143 -0
  314. package/dist/src/serialization/beast2/v5/recut.d.ts.map +1 -0
  315. package/dist/src/serialization/beast2/v5/recut.js +365 -0
  316. package/dist/src/serialization/beast2/v5/recut.js.map +1 -0
  317. package/dist/src/serialization/beast2/v5/recut.spec.d.ts +6 -0
  318. package/dist/src/serialization/beast2/v5/recut.spec.d.ts.map +1 -0
  319. package/dist/src/serialization/beast2/v5/recut.spec.js +215 -0
  320. package/dist/src/serialization/beast2/v5/recut.spec.js.map +1 -0
  321. package/dist/src/serialization/beast2/v5/runs.d.ts +148 -0
  322. package/dist/src/serialization/beast2/v5/runs.d.ts.map +1 -0
  323. package/dist/src/serialization/beast2/v5/runs.js +260 -0
  324. package/dist/src/serialization/beast2/v5/runs.js.map +1 -0
  325. package/dist/src/serialization/beast2/v5/runs.spec.d.ts +6 -0
  326. package/dist/src/serialization/beast2/v5/runs.spec.d.ts.map +1 -0
  327. package/dist/src/serialization/beast2/v5/runs.spec.js +182 -0
  328. package/dist/src/serialization/beast2/v5/runs.spec.js.map +1 -0
  329. package/dist/src/serialization/beast2/v5/sha256.d.ts +19 -0
  330. package/dist/src/serialization/beast2/v5/sha256.d.ts.map +1 -0
  331. package/dist/src/serialization/beast2/v5/sha256.js +103 -0
  332. package/dist/src/serialization/beast2/v5/sha256.js.map +1 -0
  333. package/dist/src/serialization/beast2/v5/sha256.spec.d.ts +6 -0
  334. package/dist/src/serialization/beast2/v5/sha256.spec.d.ts.map +1 -0
  335. package/dist/src/serialization/beast2/v5/sha256.spec.js +42 -0
  336. package/dist/src/serialization/beast2/v5/sha256.spec.js.map +1 -0
  337. package/dist/src/serialization/beast2/v5/stream.d.ts +273 -86
  338. package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
  339. package/dist/src/serialization/beast2/v5/stream.js +576 -244
  340. package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
  341. package/dist/src/serialization/beast2/v5/sync-reader.spec.js +24 -10
  342. package/dist/src/serialization/beast2/v5/sync-reader.spec.js.map +1 -1
  343. package/dist/src/serialization/index.d.ts +1 -1
  344. package/dist/src/serialization/index.d.ts.map +1 -1
  345. package/dist/src/serialization/index.js +1 -1
  346. package/dist/src/serialization/index.js.map +1 -1
  347. package/dist/src/serialization/json.d.ts +28 -0
  348. package/dist/src/serialization/json.d.ts.map +1 -1
  349. package/dist/src/serialization/json.js +141 -30
  350. package/dist/src/serialization/json.js.map +1 -1
  351. package/dist/src/serialization/json.spec.js +47 -2
  352. package/dist/src/serialization/json.spec.js.map +1 -1
  353. package/dist/src/serialization/json_schema.d.ts +15 -11
  354. package/dist/src/serialization/json_schema.d.ts.map +1 -1
  355. package/dist/src/serialization/json_schema.js +21 -36
  356. package/dist/src/serialization/json_schema.js.map +1 -1
  357. package/dist/src/serialization/json_schema.spec.js +26 -32
  358. package/dist/src/serialization/json_schema.spec.js.map +1 -1
  359. package/dist/src/serialization/json_schema_to_type.d.ts +10 -5
  360. package/dist/src/serialization/json_schema_to_type.d.ts.map +1 -1
  361. package/dist/src/serialization/json_schema_to_type.js +13 -6
  362. package/dist/src/serialization/json_schema_to_type.js.map +1 -1
  363. package/dist/src/serialization/json_schema_to_type.spec.js +19 -0
  364. package/dist/src/serialization/json_schema_to_type.spec.js.map +1 -1
  365. package/dist/src/string_order.d.ts +36 -0
  366. package/dist/src/string_order.d.ts.map +1 -0
  367. package/dist/src/string_order.js +64 -0
  368. package/dist/src/string_order.js.map +1 -0
  369. package/dist/src/string_order.spec.d.ts +6 -0
  370. package/dist/src/string_order.spec.d.ts.map +1 -0
  371. package/dist/src/string_order.spec.js +79 -0
  372. package/dist/src/string_order.spec.js.map +1 -0
  373. package/dist/src/type_of_type.d.ts +17 -0
  374. package/dist/src/type_of_type.d.ts.map +1 -1
  375. package/dist/src/type_of_type.js +66 -0
  376. package/dist/src/type_of_type.js.map +1 -1
  377. package/dist/src/type_of_type.to_etv.spec.js +69 -1
  378. package/dist/src/type_of_type.to_etv.spec.js.map +1 -1
  379. package/package.json +1 -1
@@ -5,7 +5,7 @@
5
5
  import { describe, test } from "node:test";
6
6
  import assert from "node:assert";
7
7
  import { East } from "./expr/index.js";
8
- import { IntegerType, StringType, NullType, ArrayType, FunctionType, FloatType, StructType } from "./types.js";
8
+ import { IntegerType, StringType, NullType, ArrayType, FunctionType, FloatType, StructType, SetType, DictType } from "./types.js";
9
9
  import { printFor } from "./serialization/east.js";
10
10
  describe("platform functions", () => {
11
11
  describe("non-generic platform", () => {
@@ -171,6 +171,24 @@ describe("platform functions", () => {
171
171
  assert.deepStrictEqual(result, ["hello", "hello"]);
172
172
  });
173
173
  });
174
+ describe("collection literals of async values", () => {
175
+ test("a Set literal holds an element an async platform function gives", async () => {
176
+ const later = East.asyncPlatform("later", [], IntegerType);
177
+ const f = East.asyncFunction([], SetType(IntegerType), ($) => {
178
+ $.return(new Set([later(), East.value(5n)]));
179
+ });
180
+ const result = await East.compileAsync(f, [later.implement(() => Promise.resolve(7n))])();
181
+ assert.deepStrictEqual([...result], [5n, 7n]);
182
+ });
183
+ test("a Dict literal holds a key and a value async platform functions give", async () => {
184
+ const later = East.asyncPlatform("later", [], IntegerType);
185
+ const f = East.asyncFunction([], DictType(IntegerType, IntegerType), ($) => {
186
+ $.return(new Map([[later(), later()], [East.value(5n), East.value(6n)]]));
187
+ });
188
+ const result = await East.compileAsync(f, [later.implement(() => Promise.resolve(7n))])();
189
+ assert.deepStrictEqual([...result], [[5n, 6n], [7n, 7n]]);
190
+ });
191
+ });
174
192
  describe("type safety at call site", () => {
175
193
  test("infers correct return type for generic functions", () => {
176
194
  const wrap = East.genericPlatform("wrap", ["T"], ["T"], ArrayType("T"));
@@ -1 +1 @@
1
- {"version":3,"file":"platform.spec.js","sourceRoot":"","sources":["../../src/platform.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.spec.js","sourceRoot":"","sources":["../../src/platform.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,357 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * The runner protocol: the one unit of work every stock runner executes for a
7
+ * machine, and the result it reports.
8
+ *
9
+ * `east-node exec <unit.beast2>`, `east-c exec …` and `east-py exec …` read a
10
+ * {@link UnitType} blob, do its work, and write a {@link UnitResultType} blob
11
+ * where the unit says. A unit runs a program, writing what it produces by the
12
+ * kind of output it makes; merges parts of one output kind that earlier units
13
+ * wrote; or takes a delivered collection in, as the Writer writes it.
14
+ * Everything a unit needs is named by path, and a relative path is relative to
15
+ * the unit file, so a unit file and the files it names are a complete,
16
+ * replayable snapshot of the work. An intake's delivery is the one exception:
17
+ * it may be named by an absolute path, where it lies, since a runner only reads
18
+ * it and a delivery of many gigabytes is not staged beside the unit.
19
+ *
20
+ * The types live here, beside the collection layer, because every runner and
21
+ * the platform that schedules them read them; east-c declares the same types
22
+ * in C, and the conformance corpus pins that all three runners agree.
23
+ */
24
+ import { ArrayType, FloatType, IntegerType, NullType, OptionType, StringType, StructType, VariantType, type ValueTypeOf } from "./types.js";
25
+ /**
26
+ * Where a unit's output goes, by the kind of output it is.
27
+ *
28
+ * @remarks
29
+ * A `value` is what a program returns. Every other kind is emitted: the
30
+ * program's trailing parameter is `emit`, whose signature the kind fixes — `(T)
31
+ * -> Null`, or `(K, V) -> Null` for a dict — and the parts it emits combine the
32
+ * way the kind says, whichever unit emitted them.
33
+ */
34
+ export declare const UnitOutputType: VariantType<{
35
+ /** The program's result, written to this file: a collection as a manifest
36
+ * directory there, anything else as one blob. */
37
+ readonly value: StringType;
38
+ /** Elements emitted in order, written through the Writer as the manifest
39
+ * directory `<dir>/0.beast2`. */
40
+ readonly array: StringType;
41
+ /** Elements emitted in any order, written through the RunSorter as sorted
42
+ * runs, each the manifest directory `<dir>/<n>.beast2`, numbered from 0 in
43
+ * the order the runs close. Equal elements collapse. */
44
+ readonly set: StringType;
45
+ /** Entries emitted in any order, written as runs like a set's. Equal keys
46
+ * fold with `merge`, an IR file of a `(K, V, V) -> V` function, in the order
47
+ * they were emitted; without it a repeated key is refused. */
48
+ readonly dict: StructType<{
49
+ readonly dir: StringType;
50
+ readonly merge: OptionType<StringType>;
51
+ }>;
52
+ /** Emitted values folded with `combine`, an IR file of a `(T, T) -> T`
53
+ * function, starting at `zero`, a file holding a value; the result is
54
+ * written to `path` as a `value` is. */
55
+ readonly fold: StructType<{
56
+ readonly path: StringType;
57
+ readonly zero: StringType;
58
+ readonly combine: StringType;
59
+ }>;
60
+ }>;
61
+ export type UnitOutputType = typeof UnitOutputType;
62
+ export type UnitOutput = ValueTypeOf<typeof UnitOutputType>;
63
+ /** What a unit does. */
64
+ export declare const UnitWorkType: VariantType<{
65
+ /** Evaluate `program`, an IR file, on `inputs`, one file per parameter —
66
+ * a blob or a manifest directory — and write `output`. */
67
+ readonly run: StructType<{
68
+ readonly program: StringType;
69
+ readonly inputs: ArrayType<StringType>;
70
+ readonly output: VariantType<{
71
+ /** The program's result, written to this file: a collection as a manifest
72
+ * directory there, anything else as one blob. */
73
+ readonly value: StringType;
74
+ /** Elements emitted in order, written through the Writer as the manifest
75
+ * directory `<dir>/0.beast2`. */
76
+ readonly array: StringType;
77
+ /** Elements emitted in any order, written through the RunSorter as sorted
78
+ * runs, each the manifest directory `<dir>/<n>.beast2`, numbered from 0 in
79
+ * the order the runs close. Equal elements collapse. */
80
+ readonly set: StringType;
81
+ /** Entries emitted in any order, written as runs like a set's. Equal keys
82
+ * fold with `merge`, an IR file of a `(K, V, V) -> V` function, in the order
83
+ * they were emitted; without it a repeated key is refused. */
84
+ readonly dict: StructType<{
85
+ readonly dir: StringType;
86
+ readonly merge: OptionType<StringType>;
87
+ }>;
88
+ /** Emitted values folded with `combine`, an IR file of a `(T, T) -> T`
89
+ * function, starting at `zero`, a file holding a value; the result is
90
+ * written to `path` as a `value` is. */
91
+ readonly fold: StructType<{
92
+ readonly path: StringType;
93
+ readonly zero: StringType;
94
+ readonly combine: StringType;
95
+ }>;
96
+ }>;
97
+ }>;
98
+ /**
99
+ * Assemble `parts` of one output kind into one: sorted set or dict runs
100
+ * merged into one run, `<dir>/0.beast2`, with a key that several parts hold
101
+ * collapsed or folded in part order; or fold partials folded in order,
102
+ * starting at `zero`. `range` is a file holding `{from: Option<K>, to:
103
+ * Option<K>}` over the parts' key type, and limits the merge to the keys in
104
+ * `[from, to)`. An array's parts never need a unit, and a value has none.
105
+ */
106
+ readonly merge: StructType<{
107
+ readonly parts: ArrayType<StringType>;
108
+ readonly range: OptionType<StringType>;
109
+ readonly output: VariantType<{
110
+ /** The program's result, written to this file: a collection as a manifest
111
+ * directory there, anything else as one blob. */
112
+ readonly value: StringType;
113
+ /** Elements emitted in order, written through the Writer as the manifest
114
+ * directory `<dir>/0.beast2`. */
115
+ readonly array: StringType;
116
+ /** Elements emitted in any order, written through the RunSorter as sorted
117
+ * runs, each the manifest directory `<dir>/<n>.beast2`, numbered from 0 in
118
+ * the order the runs close. Equal elements collapse. */
119
+ readonly set: StringType;
120
+ /** Entries emitted in any order, written as runs like a set's. Equal keys
121
+ * fold with `merge`, an IR file of a `(K, V, V) -> V` function, in the order
122
+ * they were emitted; without it a repeated key is refused. */
123
+ readonly dict: StructType<{
124
+ readonly dir: StringType;
125
+ readonly merge: OptionType<StringType>;
126
+ }>;
127
+ /** Emitted values folded with `combine`, an IR file of a `(T, T) -> T`
128
+ * function, starting at `zero`, a file holding a value; the result is
129
+ * written to `path` as a `value` is. */
130
+ readonly fold: StructType<{
131
+ readonly path: StringType;
132
+ readonly zero: StringType;
133
+ readonly combine: StringType;
134
+ }>;
135
+ }>;
136
+ }>;
137
+ /**
138
+ * Take in `input`, a delivered beast2 file of an Array, Set or Dict — named
139
+ * where it lies, by an absolute path or one relative to the unit — as the
140
+ * Writer writes it: the manifest directory `output`. `type` is a file holding
141
+ * the declared type, an `EastTypeValue` blob, which the delivery's header
142
+ * must name. `segments` limits the unit to the delivery's segments `[from,
143
+ * to)`, by its index, for a piece of a large one. Rows are read a segment at
144
+ * a time, and each segment is either the Writer's bytes, carried as they
145
+ * stand, or read and written again.
146
+ */
147
+ readonly intake: StructType<{
148
+ readonly input: StringType;
149
+ readonly type: StringType;
150
+ readonly segments: OptionType<StructType<{
151
+ readonly from: IntegerType;
152
+ readonly to: IntegerType;
153
+ }>>;
154
+ readonly output: StringType;
155
+ }>;
156
+ }>;
157
+ export type UnitWorkType = typeof UnitWorkType;
158
+ export type UnitWork = ValueTypeOf<typeof UnitWorkType>;
159
+ /**
160
+ * A unit of work for a runner: what `exec` reads.
161
+ *
162
+ * @example
163
+ * ```ts
164
+ * const unit: Unit = {
165
+ * work: variant("run", {
166
+ * program: "program.beast2",
167
+ * inputs: ["sales.beast2"],
168
+ * output: variant("dict", { dir: "out", merge: some("add.beast2") }),
169
+ * }),
170
+ * platforms: [],
171
+ * threads: 1n,
172
+ * result: "result.beast2",
173
+ * };
174
+ * writeFileSync("unit.beast2", encodeBeast2For(UnitType)(unit));
175
+ * // east-node exec unit.beast2
176
+ * ```
177
+ */
178
+ export declare const UnitType: StructType<{
179
+ /** The work. */
180
+ readonly work: VariantType<{
181
+ /** Evaluate `program`, an IR file, on `inputs`, one file per parameter —
182
+ * a blob or a manifest directory — and write `output`. */
183
+ readonly run: StructType<{
184
+ readonly program: StringType;
185
+ readonly inputs: ArrayType<StringType>;
186
+ readonly output: VariantType<{
187
+ /** The program's result, written to this file: a collection as a manifest
188
+ * directory there, anything else as one blob. */
189
+ readonly value: StringType;
190
+ /** Elements emitted in order, written through the Writer as the manifest
191
+ * directory `<dir>/0.beast2`. */
192
+ readonly array: StringType;
193
+ /** Elements emitted in any order, written through the RunSorter as sorted
194
+ * runs, each the manifest directory `<dir>/<n>.beast2`, numbered from 0 in
195
+ * the order the runs close. Equal elements collapse. */
196
+ readonly set: StringType;
197
+ /** Entries emitted in any order, written as runs like a set's. Equal keys
198
+ * fold with `merge`, an IR file of a `(K, V, V) -> V` function, in the order
199
+ * they were emitted; without it a repeated key is refused. */
200
+ readonly dict: StructType<{
201
+ readonly dir: StringType;
202
+ readonly merge: OptionType<StringType>;
203
+ }>;
204
+ /** Emitted values folded with `combine`, an IR file of a `(T, T) -> T`
205
+ * function, starting at `zero`, a file holding a value; the result is
206
+ * written to `path` as a `value` is. */
207
+ readonly fold: StructType<{
208
+ readonly path: StringType;
209
+ readonly zero: StringType;
210
+ readonly combine: StringType;
211
+ }>;
212
+ }>;
213
+ }>;
214
+ /**
215
+ * Assemble `parts` of one output kind into one: sorted set or dict runs
216
+ * merged into one run, `<dir>/0.beast2`, with a key that several parts hold
217
+ * collapsed or folded in part order; or fold partials folded in order,
218
+ * starting at `zero`. `range` is a file holding `{from: Option<K>, to:
219
+ * Option<K>}` over the parts' key type, and limits the merge to the keys in
220
+ * `[from, to)`. An array's parts never need a unit, and a value has none.
221
+ */
222
+ readonly merge: StructType<{
223
+ readonly parts: ArrayType<StringType>;
224
+ readonly range: OptionType<StringType>;
225
+ readonly output: VariantType<{
226
+ /** The program's result, written to this file: a collection as a manifest
227
+ * directory there, anything else as one blob. */
228
+ readonly value: StringType;
229
+ /** Elements emitted in order, written through the Writer as the manifest
230
+ * directory `<dir>/0.beast2`. */
231
+ readonly array: StringType;
232
+ /** Elements emitted in any order, written through the RunSorter as sorted
233
+ * runs, each the manifest directory `<dir>/<n>.beast2`, numbered from 0 in
234
+ * the order the runs close. Equal elements collapse. */
235
+ readonly set: StringType;
236
+ /** Entries emitted in any order, written as runs like a set's. Equal keys
237
+ * fold with `merge`, an IR file of a `(K, V, V) -> V` function, in the order
238
+ * they were emitted; without it a repeated key is refused. */
239
+ readonly dict: StructType<{
240
+ readonly dir: StringType;
241
+ readonly merge: OptionType<StringType>;
242
+ }>;
243
+ /** Emitted values folded with `combine`, an IR file of a `(T, T) -> T`
244
+ * function, starting at `zero`, a file holding a value; the result is
245
+ * written to `path` as a `value` is. */
246
+ readonly fold: StructType<{
247
+ readonly path: StringType;
248
+ readonly zero: StringType;
249
+ readonly combine: StringType;
250
+ }>;
251
+ }>;
252
+ }>;
253
+ /**
254
+ * Take in `input`, a delivered beast2 file of an Array, Set or Dict — named
255
+ * where it lies, by an absolute path or one relative to the unit — as the
256
+ * Writer writes it: the manifest directory `output`. `type` is a file holding
257
+ * the declared type, an `EastTypeValue` blob, which the delivery's header
258
+ * must name. `segments` limits the unit to the delivery's segments `[from,
259
+ * to)`, by its index, for a piece of a large one. Rows are read a segment at
260
+ * a time, and each segment is either the Writer's bytes, carried as they
261
+ * stand, or read and written again.
262
+ */
263
+ readonly intake: StructType<{
264
+ readonly input: StringType;
265
+ readonly type: StringType;
266
+ readonly segments: OptionType<StructType<{
267
+ readonly from: IntegerType;
268
+ readonly to: IntegerType;
269
+ }>>;
270
+ readonly output: StringType;
271
+ }>;
272
+ }>;
273
+ /** The platform packages the program's platform calls need, named as the
274
+ * runner that executes the unit names them. */
275
+ readonly platforms: ArrayType<StringType>;
276
+ /** The threads the runner may use, its own pools included: one frames every
277
+ * output inline. */
278
+ readonly threads: IntegerType;
279
+ /** Where the runner writes its {@link UnitResultType}. */
280
+ readonly result: StringType;
281
+ }>;
282
+ export type UnitType = typeof UnitType;
283
+ export type Unit = ValueTypeOf<typeof UnitType>;
284
+ /** How a unit ended. */
285
+ export declare const UnitOutcomeType: VariantType<{
286
+ /** Every output was written. */
287
+ readonly ok: NullType;
288
+ /** The unit failed: its message, and its source locations innermost first,
289
+ * as the program's source map gives them — empty when no East code was
290
+ * running. */
291
+ readonly failed: StructType<{
292
+ readonly message: StringType;
293
+ readonly locations: ArrayType<StructType<{
294
+ readonly filename: StringType;
295
+ readonly line: IntegerType;
296
+ readonly column: IntegerType;
297
+ }>>;
298
+ }>;
299
+ }>;
300
+ export type UnitOutcomeType = typeof UnitOutcomeType;
301
+ export type UnitOutcome = ValueTypeOf<typeof UnitOutcomeType>;
302
+ /** Where a unit's time went, in milliseconds. */
303
+ export declare const UnitTimingsType: StructType<{
304
+ /** Loading the program, the platforms and the inputs. */
305
+ readonly load: FloatType;
306
+ /** Compiling the program and the functions its output folds with. */
307
+ readonly compile: FloatType;
308
+ /** Running the program, or merging the parts. */
309
+ readonly execute: FloatType;
310
+ /** Finishing the output. */
311
+ readonly output: FloatType;
312
+ }>;
313
+ export type UnitTimingsType = typeof UnitTimingsType;
314
+ export type UnitTimings = ValueTypeOf<typeof UnitTimingsType>;
315
+ /**
316
+ * What a runner reports for a unit, written where the unit's `result` says.
317
+ *
318
+ * @remarks
319
+ * The runner exits 0 when the outcome is `ok` and 1 when it records a failure;
320
+ * any other exit, or no result, is a crash. Two runners agree on a unit when
321
+ * their outcomes are equal: `peakBytes` and `timings` are measurements.
322
+ */
323
+ export declare const UnitResultType: StructType<{
324
+ /** How the unit ended. */
325
+ readonly outcome: VariantType<{
326
+ /** Every output was written. */
327
+ readonly ok: NullType;
328
+ /** The unit failed: its message, and its source locations innermost first,
329
+ * as the program's source map gives them — empty when no East code was
330
+ * running. */
331
+ readonly failed: StructType<{
332
+ readonly message: StringType;
333
+ readonly locations: ArrayType<StructType<{
334
+ readonly filename: StringType;
335
+ readonly line: IntegerType;
336
+ readonly column: IntegerType;
337
+ }>>;
338
+ }>;
339
+ }>;
340
+ /** The process's peak resident memory: VmHWM on Linux, `ru_maxrss`
341
+ * elsewhere. */
342
+ readonly peakBytes: IntegerType;
343
+ /** Where the time went. */
344
+ readonly timings: StructType<{
345
+ /** Loading the program, the platforms and the inputs. */
346
+ readonly load: FloatType;
347
+ /** Compiling the program and the functions its output folds with. */
348
+ readonly compile: FloatType;
349
+ /** Running the program, or merging the parts. */
350
+ readonly execute: FloatType;
351
+ /** Finishing the output. */
352
+ readonly output: FloatType;
353
+ }>;
354
+ }>;
355
+ export type UnitResultType = typeof UnitResultType;
356
+ export type UnitResult = ValueTypeOf<typeof UnitResultType>;
357
+ //# sourceMappingURL=runner_protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner_protocol.d.ts","sourceRoot":"","sources":["../../src/runner_protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAG5I;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;IACzB;sDACkD;;IAElD;sCACkC;;IAElC;;6DAEyD;;IAEzD;;mEAE+D;;;;;IAE/D;;6CAEyC;;;;;;EAEzC,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,wBAAwB;AACxB,eAAO,MAAM,YAAY;IACvB;+DAC2D;;;;;YAzB3D;8DACkD;;YAElD;8CACkC;;YAElC;;qEAEyD;;YAEzD;;2EAE+D;;;;;YAE/D;;qDAEyC;;;;;;;;IAWzC;;;;;;;OAOG;;;;;YAlCH;8DACkD;;YAElD;8CACkC;;YAElC;;qEAEyD;;YAEzD;;2EAE+D;;;;;YAE/D;;qDAEyC;;;;;;;;IAoBzC;;;;;;;;;OASG;;;;;;;;;;EAOH,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAC/C,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,QAAQ;IACnB,gBAAgB;;QApDhB;mEAC2D;;;;;gBAzB3D;kEACkD;;gBAElD;kDACkC;;gBAElC;;yEAEyD;;gBAEzD;;+EAE+D;;;;;gBAE/D;;yDAEyC;;;;;;;;QAWzC;;;;;;;WAOG;;;;;gBAlCH;kEACkD;;gBAElD;kDACkC;;gBAElC;;yEAEyD;;gBAEzD;;+EAE+D;;;;;gBAE/D;;yDAEyC;;;;;;;;QAoBzC;;;;;;;;;WASG;;;;;;;;;;;IAiCH;oDACgD;;IAEhD;yBACqB;;IAErB,0DAA0D;;EAE1D,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC;AACvC,MAAM,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,wBAAwB;AACxB,eAAO,MAAM,eAAe;IAC1B,gCAAgC;;IAEhC;;mBAEe;;;;;;;;;EAEf,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,iDAAiD;AACjD,eAAO,MAAM,eAAe;IAC1B,yDAAyD;;IAEzD,qEAAqE;;IAErE,iDAAiD;;IAEjD,4BAA4B;;EAE5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;IACzB,0BAA0B;;QAjC1B,gCAAgC;;QAEhC;;uBAEe;;;;;;;;;;IA+Bf;qBACiB;;IAEjB,2BAA2B;;QA1B3B,yDAAyD;;QAEzD,qEAAqE;;QAErE,iDAAiD;;QAEjD,4BAA4B;;;EAsB5B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * The runner protocol: the one unit of work every stock runner executes for a
7
+ * machine, and the result it reports.
8
+ *
9
+ * `east-node exec <unit.beast2>`, `east-c exec …` and `east-py exec …` read a
10
+ * {@link UnitType} blob, do its work, and write a {@link UnitResultType} blob
11
+ * where the unit says. A unit runs a program, writing what it produces by the
12
+ * kind of output it makes; merges parts of one output kind that earlier units
13
+ * wrote; or takes a delivered collection in, as the Writer writes it.
14
+ * Everything a unit needs is named by path, and a relative path is relative to
15
+ * the unit file, so a unit file and the files it names are a complete,
16
+ * replayable snapshot of the work. An intake's delivery is the one exception:
17
+ * it may be named by an absolute path, where it lies, since a runner only reads
18
+ * it and a delivery of many gigabytes is not staged beside the unit.
19
+ *
20
+ * The types live here, beside the collection layer, because every runner and
21
+ * the platform that schedules them read them; east-c declares the same types
22
+ * in C, and the conformance corpus pins that all three runners agree.
23
+ */
24
+ import { ArrayType, FloatType, IntegerType, NullType, OptionType, StringType, StructType, VariantType } from "./types.js";
25
+ import { LocationType } from "./ir.js";
26
+ /**
27
+ * Where a unit's output goes, by the kind of output it is.
28
+ *
29
+ * @remarks
30
+ * A `value` is what a program returns. Every other kind is emitted: the
31
+ * program's trailing parameter is `emit`, whose signature the kind fixes — `(T)
32
+ * -> Null`, or `(K, V) -> Null` for a dict — and the parts it emits combine the
33
+ * way the kind says, whichever unit emitted them.
34
+ */
35
+ export const UnitOutputType = VariantType({
36
+ /** The program's result, written to this file: a collection as a manifest
37
+ * directory there, anything else as one blob. */
38
+ value: StringType,
39
+ /** Elements emitted in order, written through the Writer as the manifest
40
+ * directory `<dir>/0.beast2`. */
41
+ array: StringType,
42
+ /** Elements emitted in any order, written through the RunSorter as sorted
43
+ * runs, each the manifest directory `<dir>/<n>.beast2`, numbered from 0 in
44
+ * the order the runs close. Equal elements collapse. */
45
+ set: StringType,
46
+ /** Entries emitted in any order, written as runs like a set's. Equal keys
47
+ * fold with `merge`, an IR file of a `(K, V, V) -> V` function, in the order
48
+ * they were emitted; without it a repeated key is refused. */
49
+ dict: StructType({ dir: StringType, merge: OptionType(StringType) }),
50
+ /** Emitted values folded with `combine`, an IR file of a `(T, T) -> T`
51
+ * function, starting at `zero`, a file holding a value; the result is
52
+ * written to `path` as a `value` is. */
53
+ fold: StructType({ path: StringType, zero: StringType, combine: StringType }),
54
+ });
55
+ /** What a unit does. */
56
+ export const UnitWorkType = VariantType({
57
+ /** Evaluate `program`, an IR file, on `inputs`, one file per parameter —
58
+ * a blob or a manifest directory — and write `output`. */
59
+ run: StructType({ program: StringType, inputs: ArrayType(StringType), output: UnitOutputType }),
60
+ /**
61
+ * Assemble `parts` of one output kind into one: sorted set or dict runs
62
+ * merged into one run, `<dir>/0.beast2`, with a key that several parts hold
63
+ * collapsed or folded in part order; or fold partials folded in order,
64
+ * starting at `zero`. `range` is a file holding `{from: Option<K>, to:
65
+ * Option<K>}` over the parts' key type, and limits the merge to the keys in
66
+ * `[from, to)`. An array's parts never need a unit, and a value has none.
67
+ */
68
+ merge: StructType({ parts: ArrayType(StringType), range: OptionType(StringType), output: UnitOutputType }),
69
+ /**
70
+ * Take in `input`, a delivered beast2 file of an Array, Set or Dict — named
71
+ * where it lies, by an absolute path or one relative to the unit — as the
72
+ * Writer writes it: the manifest directory `output`. `type` is a file holding
73
+ * the declared type, an `EastTypeValue` blob, which the delivery's header
74
+ * must name. `segments` limits the unit to the delivery's segments `[from,
75
+ * to)`, by its index, for a piece of a large one. Rows are read a segment at
76
+ * a time, and each segment is either the Writer's bytes, carried as they
77
+ * stand, or read and written again.
78
+ */
79
+ intake: StructType({
80
+ input: StringType,
81
+ type: StringType,
82
+ segments: OptionType(StructType({ from: IntegerType, to: IntegerType })),
83
+ output: StringType,
84
+ }),
85
+ });
86
+ /**
87
+ * A unit of work for a runner: what `exec` reads.
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * const unit: Unit = {
92
+ * work: variant("run", {
93
+ * program: "program.beast2",
94
+ * inputs: ["sales.beast2"],
95
+ * output: variant("dict", { dir: "out", merge: some("add.beast2") }),
96
+ * }),
97
+ * platforms: [],
98
+ * threads: 1n,
99
+ * result: "result.beast2",
100
+ * };
101
+ * writeFileSync("unit.beast2", encodeBeast2For(UnitType)(unit));
102
+ * // east-node exec unit.beast2
103
+ * ```
104
+ */
105
+ export const UnitType = StructType({
106
+ /** The work. */
107
+ work: UnitWorkType,
108
+ /** The platform packages the program's platform calls need, named as the
109
+ * runner that executes the unit names them. */
110
+ platforms: ArrayType(StringType),
111
+ /** The threads the runner may use, its own pools included: one frames every
112
+ * output inline. */
113
+ threads: IntegerType,
114
+ /** Where the runner writes its {@link UnitResultType}. */
115
+ result: StringType,
116
+ });
117
+ /** How a unit ended. */
118
+ export const UnitOutcomeType = VariantType({
119
+ /** Every output was written. */
120
+ ok: NullType,
121
+ /** The unit failed: its message, and its source locations innermost first,
122
+ * as the program's source map gives them — empty when no East code was
123
+ * running. */
124
+ failed: StructType({ message: StringType, locations: ArrayType(LocationType) }),
125
+ });
126
+ /** Where a unit's time went, in milliseconds. */
127
+ export const UnitTimingsType = StructType({
128
+ /** Loading the program, the platforms and the inputs. */
129
+ load: FloatType,
130
+ /** Compiling the program and the functions its output folds with. */
131
+ compile: FloatType,
132
+ /** Running the program, or merging the parts. */
133
+ execute: FloatType,
134
+ /** Finishing the output. */
135
+ output: FloatType,
136
+ });
137
+ /**
138
+ * What a runner reports for a unit, written where the unit's `result` says.
139
+ *
140
+ * @remarks
141
+ * The runner exits 0 when the outcome is `ok` and 1 when it records a failure;
142
+ * any other exit, or no result, is a crash. Two runners agree on a unit when
143
+ * their outcomes are equal: `peakBytes` and `timings` are measurements.
144
+ */
145
+ export const UnitResultType = StructType({
146
+ /** How the unit ended. */
147
+ outcome: UnitOutcomeType,
148
+ /** The process's peak resident memory: VmHWM on Linux, `ru_maxrss`
149
+ * elsewhere. */
150
+ peakBytes: IntegerType,
151
+ /** Where the time went. */
152
+ timings: UnitTimingsType,
153
+ });
154
+ //# sourceMappingURL=runner_protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner_protocol.js","sourceRoot":"","sources":["../../src/runner_protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC5I,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;IACxC;sDACkD;IAClD,KAAK,EAAE,UAAU;IACjB;sCACkC;IAClC,KAAK,EAAE,UAAU;IACjB;;6DAEyD;IACzD,GAAG,EAAE,UAAU;IACf;;mEAE+D;IAC/D,IAAI,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;IACpE;;6CAEyC;IACzC,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;CAC9E,CAAC,CAAC;AAIH,wBAAwB;AACxB,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC;+DAC2D;IAC3D,GAAG,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC/F;;;;;;;OAOG;IACH,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC1G;;;;;;;;;OASG;IACH,MAAM,EAAE,UAAU,CAAC;QACjB,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACxE,MAAM,EAAE,UAAU;KACnB,CAAC;CACH,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;IACjC,gBAAgB;IAChB,IAAI,EAAE,YAAY;IAClB;oDACgD;IAChD,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;IAChC;yBACqB;IACrB,OAAO,EAAE,WAAW;IACpB,0DAA0D;IAC1D,MAAM,EAAE,UAAU;CACnB,CAAC,CAAC;AAIH,wBAAwB;AACxB,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;IACzC,gCAAgC;IAChC,EAAE,EAAE,QAAQ;IACZ;;mBAEe;IACf,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;CAChF,CAAC,CAAC;AAIH,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,yDAAyD;IACzD,IAAI,EAAE,SAAS;IACf,qEAAqE;IACrE,OAAO,EAAE,SAAS;IAClB,iDAAiD;IACjD,OAAO,EAAE,SAAS;IAClB,4BAA4B;IAC5B,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC;AAIH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,0BAA0B;IAC1B,OAAO,EAAE,eAAe;IACxB;qBACiB;IACjB,SAAS,EAAE,WAAW;IACtB,2BAA2B;IAC3B,OAAO,EAAE,eAAe;CACzB,CAAC,CAAC"}