@elaraai/e3-ui 1.0.97 → 1.0.99

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 (491) hide show
  1. package/README.md +0 -2
  2. package/dist/src/allocation/adapters.d.ts +1 -1
  3. package/dist/src/allocation/adapters.js +1 -1
  4. package/dist/src/allocation/index.d.ts +232 -25
  5. package/dist/src/allocation/index.d.ts.map +1 -1
  6. package/dist/src/allocation/index.js +35 -6
  7. package/dist/src/allocation/index.js.map +1 -1
  8. package/dist/src/allocation/types.d.ts +41 -0
  9. package/dist/src/allocation/types.d.ts.map +1 -1
  10. package/dist/src/allocation/types.js +35 -0
  11. package/dist/src/allocation/types.js.map +1 -1
  12. package/dist/src/bind/data-indexed.d.ts +286 -37
  13. package/dist/src/bind/data-indexed.d.ts.map +1 -1
  14. package/dist/src/bind/data-indexed.js +259 -38
  15. package/dist/src/bind/data-indexed.js.map +1 -1
  16. package/dist/src/bind/data.d.ts +48 -9
  17. package/dist/src/bind/data.d.ts.map +1 -1
  18. package/dist/src/bind/data.js +48 -3
  19. package/dist/src/bind/data.js.map +1 -1
  20. package/dist/src/bind/record.d.ts +61 -24
  21. package/dist/src/bind/record.d.ts.map +1 -1
  22. package/dist/src/bind/record.js +17 -57
  23. package/dist/src/bind/record.js.map +1 -1
  24. package/dist/src/calendar/index.d.ts +522 -36
  25. package/dist/src/calendar/index.d.ts.map +1 -1
  26. package/dist/src/calendar/index.js +53 -13
  27. package/dist/src/calendar/index.js.map +1 -1
  28. package/dist/src/calendar/paged.d.ts +89 -0
  29. package/dist/src/calendar/paged.d.ts.map +1 -0
  30. package/dist/src/calendar/paged.js +148 -0
  31. package/dist/src/calendar/paged.js.map +1 -0
  32. package/dist/src/flowchart/index.d.ts +35 -31
  33. package/dist/src/flowchart/index.d.ts.map +1 -1
  34. package/dist/src/flowchart/index.js +35 -31
  35. package/dist/src/flowchart/index.js.map +1 -1
  36. package/dist/src/flowchart/library.d.ts +108 -84
  37. package/dist/src/flowchart/library.d.ts.map +1 -1
  38. package/dist/src/flowchart/library.js +108 -84
  39. package/dist/src/flowchart/library.js.map +1 -1
  40. package/dist/src/flowchart/payload.d.ts +105 -17
  41. package/dist/src/flowchart/payload.d.ts.map +1 -1
  42. package/dist/src/flowchart/payload.js +3 -3
  43. package/dist/src/flowchart/payload.js.map +1 -1
  44. package/dist/src/flowchart/values.d.ts +35 -31
  45. package/dist/src/flowchart/values.d.ts.map +1 -1
  46. package/dist/src/flowchart/values.js +35 -31
  47. package/dist/src/flowchart/values.js.map +1 -1
  48. package/dist/src/flowchart/window.d.ts.map +1 -1
  49. package/dist/src/flowchart/window.js +3 -2
  50. package/dist/src/flowchart/window.js.map +1 -1
  51. package/dist/src/index.d.ts +13 -4
  52. package/dist/src/index.d.ts.map +1 -1
  53. package/dist/src/index.js +20 -1
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/internal.d.ts +18 -8
  56. package/dist/src/internal.d.ts.map +1 -1
  57. package/dist/src/internal.js +40 -10
  58. package/dist/src/internal.js.map +1 -1
  59. package/dist/src/plan/assemble.d.ts +8 -0
  60. package/dist/src/plan/assemble.d.ts.map +1 -1
  61. package/dist/src/plan/assemble.js +1 -1
  62. package/dist/src/plan/assemble.js.map +1 -1
  63. package/dist/src/plan/builders.d.ts +1530 -10
  64. package/dist/src/plan/builders.d.ts.map +1 -1
  65. package/dist/src/plan/builders.js +260 -122
  66. package/dist/src/plan/builders.js.map +1 -1
  67. package/dist/src/plan/event-rows.d.ts +224 -157
  68. package/dist/src/plan/event-rows.d.ts.map +1 -1
  69. package/dist/src/plan/event-rows.js +201 -56
  70. package/dist/src/plan/event-rows.js.map +1 -1
  71. package/dist/src/plan/factories.d.ts +72 -4
  72. package/dist/src/plan/factories.d.ts.map +1 -1
  73. package/dist/src/plan/factories.js +147 -1
  74. package/dist/src/plan/factories.js.map +1 -1
  75. package/dist/src/plan/index.d.ts +152 -125
  76. package/dist/src/plan/index.d.ts.map +1 -1
  77. package/dist/src/plan/index.js +138 -122
  78. package/dist/src/plan/index.js.map +1 -1
  79. package/dist/src/plan/ir.d.ts +1139 -8
  80. package/dist/src/plan/ir.d.ts.map +1 -1
  81. package/dist/src/plan/ir.js +5 -0
  82. package/dist/src/plan/ir.js.map +1 -1
  83. package/dist/src/plan/library.d.ts +65 -42
  84. package/dist/src/plan/library.d.ts.map +1 -1
  85. package/dist/src/plan/library.js +65 -42
  86. package/dist/src/plan/library.js.map +1 -1
  87. package/dist/src/plan/nested-checks.d.ts +146 -0
  88. package/dist/src/plan/nested-checks.d.ts.map +1 -0
  89. package/dist/src/plan/nested-checks.js +468 -0
  90. package/dist/src/plan/nested-checks.js.map +1 -0
  91. package/dist/src/plan/nested-patch.d.ts +35 -0
  92. package/dist/src/plan/nested-patch.d.ts.map +1 -0
  93. package/dist/src/plan/nested-patch.js +143 -0
  94. package/dist/src/plan/nested-patch.js.map +1 -0
  95. package/dist/src/plan/nested-read.d.ts +3250 -0
  96. package/dist/src/plan/nested-read.d.ts.map +1 -0
  97. package/dist/src/plan/nested-read.js +163 -0
  98. package/dist/src/plan/nested-read.js.map +1 -0
  99. package/dist/src/plan/nested.d.ts +280 -0
  100. package/dist/src/plan/nested.d.ts.map +1 -0
  101. package/dist/src/plan/nested.js +6 -0
  102. package/dist/src/plan/nested.js.map +1 -0
  103. package/dist/src/plan/ordered-source.d.ts +3067 -1
  104. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  105. package/dist/src/plan/ordered-source.js +67 -17
  106. package/dist/src/plan/ordered-source.js.map +1 -1
  107. package/dist/src/plan/over.d.ts +111 -75
  108. package/dist/src/plan/over.d.ts.map +1 -1
  109. package/dist/src/plan/over.js +111 -75
  110. package/dist/src/plan/over.js.map +1 -1
  111. package/dist/src/plan/pick.d.ts +15 -3
  112. package/dist/src/plan/pick.d.ts.map +1 -1
  113. package/dist/src/plan/pick.js +75 -36
  114. package/dist/src/plan/pick.js.map +1 -1
  115. package/dist/src/plan/plan.d.ts +3143 -501
  116. package/dist/src/plan/plan.d.ts.map +1 -1
  117. package/dist/src/plan/plan.js +133 -34
  118. package/dist/src/plan/plan.js.map +1 -1
  119. package/dist/src/plan/reads.d.ts +421 -0
  120. package/dist/src/plan/reads.d.ts.map +1 -0
  121. package/dist/src/plan/reads.js +143 -0
  122. package/dist/src/plan/reads.js.map +1 -0
  123. package/dist/src/plan/refs.d.ts +111 -75
  124. package/dist/src/plan/refs.d.ts.map +1 -1
  125. package/dist/src/plan/refs.js +111 -75
  126. package/dist/src/plan/refs.js.map +1 -1
  127. package/dist/src/plan/root.d.ts +14 -7
  128. package/dist/src/plan/root.d.ts.map +1 -1
  129. package/dist/src/plan/root.js +82 -17
  130. package/dist/src/plan/root.js.map +1 -1
  131. package/dist/src/plan/series.d.ts +5153 -4331
  132. package/dist/src/plan/series.d.ts.map +1 -1
  133. package/dist/src/plan/series.js +1082 -266
  134. package/dist/src/plan/series.js.map +1 -1
  135. package/dist/src/plan/shade.d.ts +981 -0
  136. package/dist/src/plan/shade.d.ts.map +1 -0
  137. package/dist/src/plan/shade.js +60 -0
  138. package/dist/src/plan/shade.js.map +1 -0
  139. package/dist/src/plan/types.d.ts +192 -18
  140. package/dist/src/plan/types.d.ts.map +1 -1
  141. package/dist/src/plan/types.js +77 -19
  142. package/dist/src/plan/types.js.map +1 -1
  143. package/dist/src/query/builder.d.ts +3 -3
  144. package/dist/src/query/builder.d.ts.map +1 -1
  145. package/dist/src/query/builder.js +1 -1
  146. package/dist/src/query/library.d.ts +3 -3
  147. package/dist/src/query/library.d.ts.map +1 -1
  148. package/dist/src/query/library.js +1 -1
  149. package/dist/src/query/queries.d.ts +2 -2
  150. package/dist/src/query/queries.js +1 -1
  151. package/dist/src/query/saved.d.ts +8 -4
  152. package/dist/src/query/saved.d.ts.map +1 -1
  153. package/dist/src/query/saved.js +8 -4
  154. package/dist/src/query/saved.js.map +1 -1
  155. package/dist/src/query/types.d.ts +8 -3
  156. package/dist/src/query/types.d.ts.map +1 -1
  157. package/dist/src/query/types.js +8 -3
  158. package/dist/src/query/types.js.map +1 -1
  159. package/dist/src/roster/index.d.ts +583 -39
  160. package/dist/src/roster/index.d.ts.map +1 -1
  161. package/dist/src/roster/index.js +109 -35
  162. package/dist/src/roster/index.js.map +1 -1
  163. package/dist/src/roster/library.d.ts +12 -2
  164. package/dist/src/roster/library.d.ts.map +1 -1
  165. package/dist/src/roster/library.js +8 -0
  166. package/dist/src/roster/library.js.map +1 -1
  167. package/dist/src/roster/lists.d.ts +59 -12
  168. package/dist/src/roster/lists.d.ts.map +1 -1
  169. package/dist/src/roster/lists.js +51 -58
  170. package/dist/src/roster/lists.js.map +1 -1
  171. package/dist/src/roster/targets.d.ts +8 -4
  172. package/dist/src/roster/targets.d.ts.map +1 -1
  173. package/dist/src/roster/targets.js +9 -5
  174. package/dist/src/roster/targets.js.map +1 -1
  175. package/dist/src/roster/times.d.ts +402 -0
  176. package/dist/src/roster/times.d.ts.map +1 -1
  177. package/dist/src/roster/types.d.ts +913 -1
  178. package/dist/src/roster/types.d.ts.map +1 -1
  179. package/dist/src/roster/types.js +43 -3
  180. package/dist/src/roster/types.js.map +1 -1
  181. package/dist/src/schedule/cell-checks.d.ts +85 -0
  182. package/dist/src/schedule/cell-checks.d.ts.map +1 -0
  183. package/dist/src/schedule/cell-checks.js +211 -0
  184. package/dist/src/schedule/cell-checks.js.map +1 -0
  185. package/dist/src/schedule/days.d.ts +1 -1
  186. package/dist/src/schedule/days.js +1 -1
  187. package/dist/src/schedule/events.d.ts +52 -16
  188. package/dist/src/schedule/events.d.ts.map +1 -1
  189. package/dist/src/schedule/events.js +574 -356
  190. package/dist/src/schedule/events.js.map +1 -1
  191. package/dist/src/schedule/fields.d.ts +134 -0
  192. package/dist/src/schedule/fields.d.ts.map +1 -0
  193. package/dist/src/schedule/fields.js +207 -0
  194. package/dist/src/schedule/fields.js.map +1 -0
  195. package/dist/src/schedule/library.d.ts +11 -3
  196. package/dist/src/schedule/library.d.ts.map +1 -1
  197. package/dist/src/schedule/library.js +9 -6
  198. package/dist/src/schedule/library.js.map +1 -1
  199. package/dist/src/schedule/optimise.d.ts +124 -0
  200. package/dist/src/schedule/optimise.d.ts.map +1 -0
  201. package/dist/src/schedule/optimise.js +140 -0
  202. package/dist/src/schedule/optimise.js.map +1 -0
  203. package/dist/src/schedule/pages.d.ts +76 -0
  204. package/dist/src/schedule/pages.d.ts.map +1 -0
  205. package/dist/src/schedule/pages.js +86 -0
  206. package/dist/src/schedule/pages.js.map +1 -0
  207. package/dist/src/schedule/patch.d.ts +1 -1
  208. package/dist/src/schedule/patch.js +1 -1
  209. package/dist/src/schedule/periods.d.ts +8 -4
  210. package/dist/src/schedule/periods.d.ts.map +1 -1
  211. package/dist/src/schedule/periods.js +1 -1
  212. package/dist/src/schedule/periods.js.map +1 -1
  213. package/dist/src/schedule/record-window.d.ts +115 -22
  214. package/dist/src/schedule/record-window.d.ts.map +1 -1
  215. package/dist/src/schedule/record-window.js +140 -62
  216. package/dist/src/schedule/record-window.js.map +1 -1
  217. package/dist/src/schedule/resources.d.ts +9 -5
  218. package/dist/src/schedule/resources.d.ts.map +1 -1
  219. package/dist/src/schedule/resources.js +35 -15
  220. package/dist/src/schedule/resources.js.map +1 -1
  221. package/dist/src/schedule/session.d.ts +15 -1
  222. package/dist/src/schedule/session.d.ts.map +1 -1
  223. package/dist/src/schedule/session.js +30 -18
  224. package/dist/src/schedule/session.js.map +1 -1
  225. package/dist/src/schedule/types.d.ts +455 -37
  226. package/dist/src/schedule/types.d.ts.map +1 -1
  227. package/dist/src/schedule/types.js +79 -18
  228. package/dist/src/schedule/types.js.map +1 -1
  229. package/dist/src/schedule/window.d.ts +30 -9
  230. package/dist/src/schedule/window.d.ts.map +1 -1
  231. package/dist/src/schedule/window.js +101 -49
  232. package/dist/src/schedule/window.js.map +1 -1
  233. package/dist/src/schematic/index.d.ts +287 -0
  234. package/dist/src/schematic/index.d.ts.map +1 -0
  235. package/dist/src/schematic/index.js +216 -0
  236. package/dist/src/schematic/index.js.map +1 -0
  237. package/dist/src/schematic/kinds.d.ts +501 -0
  238. package/dist/src/schematic/kinds.d.ts.map +1 -0
  239. package/dist/src/schematic/kinds.js +1027 -0
  240. package/dist/src/schematic/kinds.js.map +1 -0
  241. package/dist/src/schematic/layers.d.ts +74 -0
  242. package/dist/src/schematic/layers.d.ts.map +1 -0
  243. package/dist/src/schematic/layers.js +99 -0
  244. package/dist/src/schematic/layers.js.map +1 -0
  245. package/dist/src/schematic/library.d.ts +202 -0
  246. package/dist/src/schematic/library.d.ts.map +1 -0
  247. package/dist/src/schematic/library.js +244 -0
  248. package/dist/src/schematic/library.js.map +1 -0
  249. package/dist/src/schematic/payload.d.ts +8310 -0
  250. package/dist/src/schematic/payload.d.ts.map +1 -0
  251. package/dist/src/schematic/payload.js +446 -0
  252. package/dist/src/schematic/payload.js.map +1 -0
  253. package/dist/src/schematic/schematic.d.ts +27 -0
  254. package/dist/src/schematic/schematic.d.ts.map +1 -0
  255. package/dist/src/schematic/schematic.js +17 -0
  256. package/dist/src/schematic/schematic.js.map +1 -0
  257. package/dist/src/schematic/shapes.d.ts +150 -0
  258. package/dist/src/schematic/shapes.d.ts.map +1 -0
  259. package/dist/src/schematic/shapes.js +171 -0
  260. package/dist/src/schematic/shapes.js.map +1 -0
  261. package/dist/src/schematic/templates.d.ts +96 -0
  262. package/dist/src/schematic/templates.d.ts.map +1 -0
  263. package/dist/src/schematic/templates.js +91 -0
  264. package/dist/src/schematic/templates.js.map +1 -0
  265. package/dist/src/schematic/types.d.ts +5766 -0
  266. package/dist/src/schematic/types.d.ts.map +1 -0
  267. package/dist/src/schematic/types.js +688 -0
  268. package/dist/src/schematic/types.js.map +1 -0
  269. package/dist/src/schematic/window.d.ts +213 -0
  270. package/dist/src/schematic/window.d.ts.map +1 -0
  271. package/dist/src/schematic/window.js +340 -0
  272. package/dist/src/schematic/window.js.map +1 -0
  273. package/dist/src/sheet/bridge.d.ts +19 -0
  274. package/dist/src/sheet/bridge.d.ts.map +1 -1
  275. package/dist/src/sheet/bridge.js +28 -21
  276. package/dist/src/sheet/bridge.js.map +1 -1
  277. package/dist/src/sheet/editing-bridge.d.ts +4 -2
  278. package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
  279. package/dist/src/sheet/editing-bridge.js +8 -2
  280. package/dist/src/sheet/editing-bridge.js.map +1 -1
  281. package/dist/src/sheet/editing-types.d.ts +9 -5
  282. package/dist/src/sheet/editing-types.d.ts.map +1 -1
  283. package/dist/src/sheet/editing-types.js +9 -5
  284. package/dist/src/sheet/editing-types.js.map +1 -1
  285. package/dist/src/sheet/index.d.ts +84 -54
  286. package/dist/src/sheet/index.d.ts.map +1 -1
  287. package/dist/src/sheet/index.js +81 -53
  288. package/dist/src/sheet/index.js.map +1 -1
  289. package/dist/src/sheet/library.d.ts +13 -8
  290. package/dist/src/sheet/library.d.ts.map +1 -1
  291. package/dist/src/sheet/library.js +13 -8
  292. package/dist/src/sheet/library.js.map +1 -1
  293. package/dist/src/sheet/optimise.d.ts +69 -0
  294. package/dist/src/sheet/optimise.d.ts.map +1 -0
  295. package/dist/src/sheet/optimise.js +81 -0
  296. package/dist/src/sheet/optimise.js.map +1 -0
  297. package/dist/src/sheet/record.d.ts +1 -1
  298. package/dist/src/sheet/record.js +2 -2
  299. package/dist/src/sheet/record.js.map +1 -1
  300. package/dist/src/sheet/registers.d.ts +157 -133
  301. package/dist/src/sheet/registers.d.ts.map +1 -1
  302. package/dist/src/sheet/registers.js +157 -133
  303. package/dist/src/sheet/registers.js.map +1 -1
  304. package/dist/src/sheet/root.d.ts +6 -1
  305. package/dist/src/sheet/root.d.ts.map +1 -1
  306. package/dist/src/sheet/root.js +17 -5
  307. package/dist/src/sheet/root.js.map +1 -1
  308. package/dist/src/sheet/sheet.d.ts +696 -590
  309. package/dist/src/sheet/sheet.d.ts.map +1 -1
  310. package/dist/src/sheet/sheet.js +49 -15
  311. package/dist/src/sheet/sheet.js.map +1 -1
  312. package/dist/src/sheet/sub-rows.d.ts +106 -76
  313. package/dist/src/sheet/sub-rows.d.ts.map +1 -1
  314. package/dist/src/sheet/sub-rows.js +106 -76
  315. package/dist/src/sheet/sub-rows.js.map +1 -1
  316. package/dist/src/sheet/types.d.ts +57 -20
  317. package/dist/src/sheet/types.d.ts.map +1 -1
  318. package/dist/src/sheet/types.js +4 -8
  319. package/dist/src/sheet/types.js.map +1 -1
  320. package/dist/src/studio/builder.d.ts +3 -153
  321. package/dist/src/studio/builder.d.ts.map +1 -1
  322. package/dist/src/studio/builder.js +1 -1
  323. package/dist/src/studio/canvas.d.ts +5 -4
  324. package/dist/src/studio/canvas.d.ts.map +1 -1
  325. package/dist/src/studio/canvas.js +8 -7
  326. package/dist/src/studio/canvas.js.map +1 -1
  327. package/dist/src/studio/component.d.ts +30 -20
  328. package/dist/src/studio/component.d.ts.map +1 -1
  329. package/dist/src/studio/component.js +26 -61
  330. package/dist/src/studio/component.js.map +1 -1
  331. package/dist/src/studio/index.d.ts +2 -2
  332. package/dist/src/studio/index.d.ts.map +1 -1
  333. package/dist/src/studio/index.js +1 -1
  334. package/dist/src/studio/index.js.map +1 -1
  335. package/dist/src/studio/inspector.d.ts +10 -39
  336. package/dist/src/studio/inspector.d.ts.map +1 -1
  337. package/dist/src/studio/inspector.js +11 -31
  338. package/dist/src/studio/inspector.js.map +1 -1
  339. package/dist/src/studio/library.d.ts +3 -169
  340. package/dist/src/studio/library.d.ts.map +1 -1
  341. package/dist/src/studio/library.js +1 -1
  342. package/dist/src/studio/page.d.ts +0 -8
  343. package/dist/src/studio/page.d.ts.map +1 -1
  344. package/dist/src/studio/pages.d.ts +17 -591
  345. package/dist/src/studio/pages.d.ts.map +1 -1
  346. package/dist/src/studio/pages.js +17 -44
  347. package/dist/src/studio/pages.js.map +1 -1
  348. package/dist/src/studio/palette.d.ts +2 -7
  349. package/dist/src/studio/palette.d.ts.map +1 -1
  350. package/dist/src/studio/palette.js +4 -5
  351. package/dist/src/studio/palette.js.map +1 -1
  352. package/dist/src/studio/publish.d.ts +8 -18
  353. package/dist/src/studio/publish.d.ts.map +1 -1
  354. package/dist/src/studio/publish.js +10 -36
  355. package/dist/src/studio/publish.js.map +1 -1
  356. package/dist/src/utils/derive.d.ts +12 -12
  357. package/dist/src/utils/derive.d.ts.map +1 -1
  358. package/dist/src/utils/derive.js +5 -2
  359. package/dist/src/utils/derive.js.map +1 -1
  360. package/dist/src/utils/keyed-rows.d.ts +41 -0
  361. package/dist/src/utils/keyed-rows.d.ts.map +1 -0
  362. package/dist/src/utils/keyed-rows.js +64 -0
  363. package/dist/src/utils/keyed-rows.js.map +1 -0
  364. package/dist/src/utils/optimise.d.ts +79 -0
  365. package/dist/src/utils/optimise.d.ts.map +1 -0
  366. package/dist/src/utils/optimise.js +46 -0
  367. package/dist/src/utils/optimise.js.map +1 -0
  368. package/dist/src/utils/ordered-source.d.ts.map +1 -1
  369. package/dist/src/utils/ordered-source.js +14 -5
  370. package/dist/src/utils/ordered-source.js.map +1 -1
  371. package/dist/test/allocation/allocation.examples.d.ts +1900 -1610
  372. package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
  373. package/dist/test/allocation/allocation.examples.js +179 -89
  374. package/dist/test/allocation/allocation.examples.js.map +1 -1
  375. package/dist/test/allocation/optimise.examples.d.ts +109 -0
  376. package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
  377. package/dist/test/allocation/optimise.examples.js +223 -0
  378. package/dist/test/allocation/optimise.examples.js.map +1 -0
  379. package/dist/test/bind/data/data.examples.d.ts +1172 -514
  380. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  381. package/dist/test/bind/data/data.examples.js +284 -164
  382. package/dist/test/bind/data/data.examples.js.map +1 -1
  383. package/dist/test/bind/record/record.examples.d.ts +457 -428
  384. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  385. package/dist/test/bind/record/record.examples.js +41 -21
  386. package/dist/test/bind/record/record.examples.js.map +1 -1
  387. package/dist/test/calendar/calendar-records.examples.d.ts +162 -170
  388. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  389. package/dist/test/calendar/calendar-records.examples.js +20 -12
  390. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  391. package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
  392. package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
  393. package/dist/test/calendar/calendar-windows.examples.js +111 -0
  394. package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
  395. package/dist/test/calendar/calendar.examples.d.ts +1172 -915
  396. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  397. package/dist/test/calendar/calendar.examples.js +211 -124
  398. package/dist/test/calendar/calendar.examples.js.map +1 -1
  399. package/dist/test/calendar/optimise.examples.d.ts +132 -0
  400. package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
  401. package/dist/test/calendar/optimise.examples.js +75 -0
  402. package/dist/test/calendar/optimise.examples.js.map +1 -0
  403. package/dist/test/examples-package.d.ts +49 -16
  404. package/dist/test/examples-package.d.ts.map +1 -1
  405. package/dist/test/examples-package.js +138 -49
  406. package/dist/test/examples-package.js.map +1 -1
  407. package/dist/test/flowchart/flowchart.examples.d.ts +3841 -2840
  408. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  409. package/dist/test/flowchart/flowchart.examples.js +211 -121
  410. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  411. package/dist/test/plan/optimise.examples.d.ts +207 -0
  412. package/dist/test/plan/optimise.examples.d.ts.map +1 -0
  413. package/dist/test/plan/optimise.examples.js +98 -0
  414. package/dist/test/plan/optimise.examples.js.map +1 -0
  415. package/dist/test/plan/plan-events.examples.d.ts +4055 -3279
  416. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  417. package/dist/test/plan/plan-events.examples.js +492 -319
  418. package/dist/test/plan/plan-events.examples.js.map +1 -1
  419. package/dist/test/plan/plan-nested.examples.d.ts +1829 -0
  420. package/dist/test/plan/plan-nested.examples.d.ts.map +1 -0
  421. package/dist/test/plan/plan-nested.examples.js +321 -0
  422. package/dist/test/plan/plan-nested.examples.js.map +1 -0
  423. package/dist/test/plan/plan-records.examples.d.ts +391 -244
  424. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  425. package/dist/test/plan/plan-records.examples.js +186 -65
  426. package/dist/test/plan/plan-records.examples.js.map +1 -1
  427. package/dist/test/plan/plan-windows.examples.d.ts +1978 -803
  428. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  429. package/dist/test/plan/plan-windows.examples.js +269 -99
  430. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  431. package/dist/test/plan/plan.examples.d.ts +2238 -5726
  432. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  433. package/dist/test/plan/plan.examples.js +846 -973
  434. package/dist/test/plan/plan.examples.js.map +1 -1
  435. package/dist/test/query/query.examples.d.ts +5221 -3005
  436. package/dist/test/query/query.examples.d.ts.map +1 -1
  437. package/dist/test/query/query.examples.js +169 -118
  438. package/dist/test/query/query.examples.js.map +1 -1
  439. package/dist/test/roster/domain.examples.d.ts +804 -0
  440. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  441. package/dist/test/roster/domain.examples.js +3 -3
  442. package/dist/test/roster/domain.examples.js.map +1 -1
  443. package/dist/test/roster/optimise.examples.d.ts +485 -0
  444. package/dist/test/roster/optimise.examples.d.ts.map +1 -0
  445. package/dist/test/roster/optimise.examples.js +155 -0
  446. package/dist/test/roster/optimise.examples.js.map +1 -0
  447. package/dist/test/roster/roster-records.examples.d.ts +364 -404
  448. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  449. package/dist/test/roster/roster-records.examples.js +40 -26
  450. package/dist/test/roster/roster-records.examples.js.map +1 -1
  451. package/dist/test/roster/roster.examples.d.ts +5091 -1424
  452. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  453. package/dist/test/roster/roster.examples.js +255 -109
  454. package/dist/test/roster/roster.examples.js.map +1 -1
  455. package/dist/test/roster/warehouse.d.ts +150 -7
  456. package/dist/test/roster/warehouse.d.ts.map +1 -1
  457. package/dist/test/roster/warehouse.js +36 -11
  458. package/dist/test/roster/warehouse.js.map +1 -1
  459. package/dist/test/schedule/schedule.examples.d.ts +2646 -2473
  460. package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
  461. package/dist/test/schedule/schedule.examples.js +144 -88
  462. package/dist/test/schedule/schedule.examples.js.map +1 -1
  463. package/dist/test/schematic/schematic-records.examples.d.ts +454 -0
  464. package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
  465. package/dist/test/schematic/schematic-records.examples.js +219 -0
  466. package/dist/test/schematic/schematic-records.examples.js.map +1 -0
  467. package/dist/test/schematic/schematic.examples.d.ts +2640 -0
  468. package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
  469. package/dist/test/schematic/schematic.examples.js +559 -0
  470. package/dist/test/schematic/schematic.examples.js.map +1 -0
  471. package/dist/test/sheet/optimise.examples.d.ts +184 -0
  472. package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
  473. package/dist/test/sheet/optimise.examples.js +79 -0
  474. package/dist/test/sheet/optimise.examples.js.map +1 -0
  475. package/dist/test/sheet/sheet-records.examples.d.ts +208 -356
  476. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  477. package/dist/test/sheet/sheet-records.examples.js +66 -29
  478. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  479. package/dist/test/sheet/sheet.examples.d.ts +3650 -3377
  480. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  481. package/dist/test/sheet/sheet.examples.js +406 -296
  482. package/dist/test/sheet/sheet.examples.js.map +1 -1
  483. package/dist/test/studio/component.examples.js +2 -2
  484. package/dist/test/studio/component.examples.js.map +1 -1
  485. package/dist/test/studio/page.examples.js +6 -6
  486. package/dist/test/studio/page.examples.js.map +1 -1
  487. package/dist/test/studio/studio.examples.d.ts +2329 -873
  488. package/dist/test/studio/studio.examples.d.ts.map +1 -1
  489. package/dist/test/studio/studio.examples.js +155 -107
  490. package/dist/test/studio/studio.examples.js.map +1 -1
  491. package/package.json +15 -11
package/README.md CHANGED
@@ -13,7 +13,6 @@
13
13
  |---------|-------------|-----|
14
14
  | [@elaraai/east-ui](packages/east-ui) | Core UI component definitions | [![npm](https://img.shields.io/npm/v/@elaraai/east-ui)](https://www.npmjs.com/package/@elaraai/east-ui) |
15
15
  | [@elaraai/east-ui-components](packages/east-ui-components) | React rendering with Chakra UI | [![npm](https://img.shields.io/npm/v/@elaraai/east-ui-components)](https://www.npmjs.com/package/@elaraai/east-ui-components) |
16
- | [east-ui-preview](packages/east-ui-extension) | VSCode extension for live preview | [Marketplace](https://marketplace.visualstudio.com/items?itemName=ElaraAI.east-ui-preview) |
17
16
 
18
17
  ## Features
19
18
 
@@ -115,7 +114,6 @@ Dual-licensed:
115
114
  - [@elaraai/e3-ui](https://www.npmjs.com/package/@elaraai/e3-ui): e3 + UI bridge — Data bindings, `e3.ui()` task, manifest
116
115
  - [@elaraai/e3-ui-components](https://www.npmjs.com/package/@elaraai/e3-ui-components): React Query hooks and preview components for the e3 API
117
116
  - [@elaraai/e3-ui-cli](https://www.npmjs.com/package/@elaraai/e3-ui-cli): Browse an e3 repository in the terminal (`e3-ui [repo]`), and render east-ui / e3-ui components to PNG (`e3-ui shot`)
118
- - [east-ui-preview](https://marketplace.visualstudio.com/items?itemName=ElaraAI.east-ui-preview): VS Code extension for live East UI component preview
119
117
 
120
118
  - **[e3 — East Execution Engine](https://github.com/elaraai/east-workspace/tree/main/libs/e3)**: Durable execution engine for running East pipelines at scale. Git-like content-addressable storage, automatic memoization, reactive dataflow, real-time monitoring.
121
119
  - [@elaraai/e3](https://www.npmjs.com/package/@elaraai/e3): SDK for authoring e3 packages with typed tasks and pipelines
@@ -98,7 +98,7 @@ export interface AllocationArrivals {
98
98
  * import e3 from "@elaraai/e3";
99
99
  *
100
100
  * const Load = StructType({ code: StringType, m3: FloatType, dryingDays: FloatType });
101
- * const loads = e3.record("loads", DictType(StringType, Load), new Map());
101
+ * const loads = e3.record("loads", DictType(StringType, Load), { initial: new Map() });
102
102
  *
103
103
  * // Inside the board's Reactive body: every load the day may book.
104
104
  * const arrivals = Allocation.arrivals(Data.bind(loads).read(), { label: (l) => l.code, quantity: (l) => l.m3, hold: (l) => variant("days", l.dryingDays) });
@@ -45,7 +45,7 @@ export const ALLOCATION_ARRIVALS = Symbol("Allocation.arrivals");
45
45
  * import e3 from "@elaraai/e3";
46
46
  *
47
47
  * const Load = StructType({ code: StringType, m3: FloatType, dryingDays: FloatType });
48
- * const loads = e3.record("loads", DictType(StringType, Load), new Map());
48
+ * const loads = e3.record("loads", DictType(StringType, Load), { initial: new Map() });
49
49
  *
50
50
  * // Inside the board's Reactive body: every load the day may book.
51
51
  * const arrivals = Allocation.arrivals(Data.bind(loads).read(), { label: (l) => l.code, quantity: (l) => l.m3, hold: (l) => variant("days", l.dryingDays) });
@@ -184,6 +184,7 @@ export type AllocationSettingsType = typeof AllocationSettingsType;
184
184
  * @property periods - The app's days: their status, and Publish; `none`, no status chip and no Publish
185
185
  * @property narrowed - Each narrowed source's keys, paged through its part of `slice`: the lanes, the resources and the arrivals that show
186
186
  * @property fit - The app's fit, by its `e3.function`'s name
187
+ * @property optimise - The app's optimiser, by its `e3.function`'s name: what the Elara eye calls over the day in view, its result one edit of the session; `none`, no eye (#1409)
187
188
  * @property check - The app's issues, from a `CheckContext(R)` as bytes
188
189
  * @property columns - The app's bin fields as columns and inspector rows
189
190
  * @property rules - The built-in rules
@@ -318,7 +319,7 @@ export declare const AllocationPayloadType: StructType<{
318
319
  readonly readonly: NullType;
319
320
  }>;
320
321
  }>>;
321
- readonly items: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>], OptionType<ArrayType<StructType<{
322
+ readonly items: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>, OptionType<BlobType>], OptionType<ArrayType<StructType<{
322
323
  readonly kind: StringType;
323
324
  readonly key: StringType;
324
325
  readonly title: StringType;
@@ -342,7 +343,7 @@ export declare const AllocationPayloadType: StructType<{
342
343
  readonly minutes: import("@elaraai/east").IntegerType;
343
344
  readonly due: OptionType<DateTimeType>;
344
345
  }>>>>;
345
- readonly unscheduled: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>], OptionType<ArrayType<StructType<{
346
+ readonly unscheduled: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>, OptionType<BlobType>], OptionType<ArrayType<StructType<{
346
347
  readonly kind: StringType;
347
348
  readonly key: StringType;
348
349
  readonly title: StringType;
@@ -597,7 +598,7 @@ export declare const AllocationPayloadType: StructType<{
597
598
  readonly at: DateTimeType;
598
599
  readonly delta: OptionType<StringType>;
599
600
  }>>>>;
600
- readonly event: FunctionType<[StringType, import("@elaraai/east").DictType<StringType, BlobType>, DateTimeType, DateTimeType], OptionType<StructType<{
601
+ readonly event: FunctionType<[StringType, import("@elaraai/east").DictType<StringType, BlobType>, DateTimeType, DateTimeType, OptionType<OptionType<BlobType>>], OptionType<StructType<{
601
602
  readonly item: StructType<{
602
603
  readonly kind: StringType;
603
604
  readonly key: StringType;
@@ -630,12 +631,63 @@ export declare const AllocationPayloadType: StructType<{
630
631
  readonly end: StringType;
631
632
  readonly resource: OptionType<StringType>;
632
633
  readonly status: OptionType<StringType>;
634
+ readonly quantity: OptionType<StringType>;
635
+ readonly parts: OptionType<StringType>;
636
+ readonly withTimes: ArrayType<StringType>;
633
637
  }>;
634
638
  readonly overlaps: VariantType<{
635
639
  readonly warn: NullType;
636
640
  readonly allow: NullType;
637
641
  }>;
638
642
  readonly inspector: OptionType<FunctionType<[BlobType, FunctionType<[BlobType], NullType>], import("@elaraai/east").RecursiveType<import("@elaraai/east-ui").UIComponentNode>>>;
643
+ readonly seriesKey: FunctionType<[OptionType<StructType<{
644
+ readonly kind: StringType;
645
+ readonly key: StringType;
646
+ }>>], OptionType<StringType>>;
647
+ readonly cellsType: import("@elaraai/east").RecursiveType<VariantType<{
648
+ readonly Never: NullType;
649
+ readonly Null: NullType;
650
+ readonly Boolean: NullType;
651
+ readonly Integer: NullType;
652
+ readonly Float: NullType;
653
+ readonly String: NullType;
654
+ readonly DateTime: NullType;
655
+ readonly Blob: NullType;
656
+ readonly Ref: import("@elaraai/east").RecursiveTypeMarker;
657
+ readonly Array: import("@elaraai/east").RecursiveTypeMarker;
658
+ readonly Set: import("@elaraai/east").RecursiveTypeMarker;
659
+ readonly Dict: StructType<{
660
+ readonly key: import("@elaraai/east").RecursiveTypeMarker;
661
+ readonly value: import("@elaraai/east").RecursiveTypeMarker;
662
+ }>;
663
+ readonly Struct: ArrayType<StructType<{
664
+ readonly name: StringType;
665
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
666
+ }>>;
667
+ readonly Variant: ArrayType<StructType<{
668
+ readonly name: StringType;
669
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
670
+ }>>;
671
+ readonly Recursive: VariantType<{
672
+ readonly ref: import("@elaraai/east").IntegerType;
673
+ readonly wrapper: StructType<{
674
+ readonly id: import("@elaraai/east").IntegerType;
675
+ readonly inner: import("@elaraai/east").RecursiveTypeMarker;
676
+ }>;
677
+ }>;
678
+ readonly Function: StructType<{
679
+ readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
680
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
681
+ }>;
682
+ readonly AsyncFunction: StructType<{
683
+ readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
684
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
685
+ }>;
686
+ readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
687
+ readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
688
+ }>>;
689
+ readonly count: FunctionType<[DateTimeType, DateTimeType], OptionType<import("@elaraai/east").IntegerType>>;
690
+ readonly countExact: BooleanType;
639
691
  }>;
640
692
  readonly rows: FunctionType<[DateTimeType, DateTimeType], OptionType<import("@elaraai/east").DictType<StringType, StructType<{
641
693
  readonly roles: StructType<{
@@ -1109,6 +1161,9 @@ export declare const AllocationPayloadType: StructType<{
1109
1161
  readonly fit: StructType<{
1110
1162
  readonly name: StringType;
1111
1163
  }>;
1164
+ readonly optimise: OptionType<StructType<{
1165
+ readonly name: StringType;
1166
+ }>>;
1112
1167
  readonly check: OptionType<FunctionType<[BlobType], ArrayType<StructType<{
1113
1168
  readonly kind: VariantType<{
1114
1169
  readonly unlinked: NullType;
@@ -1276,6 +1331,39 @@ export declare const AllocationPayloadType: StructType<{
1276
1331
  readonly to: import("@elaraai/east").StringType;
1277
1332
  readonly optional: import("@elaraai/east").BooleanType;
1278
1333
  }>>;
1334
+ readonly area: OptionType<StructType<{
1335
+ readonly x: import("@elaraai/east").StringType;
1336
+ readonly y: import("@elaraai/east").StringType;
1337
+ readonly width: OptionType<import("@elaraai/east").StringType>;
1338
+ readonly height: OptionType<import("@elaraai/east").StringType>;
1339
+ readonly centre: import("@elaraai/east").BooleanType;
1340
+ readonly cell: import("@elaraai/east").FloatType;
1341
+ readonly optional: import("@elaraai/east").BooleanType;
1342
+ }>>;
1343
+ readonly series: OptionType<StructType<{
1344
+ readonly key: import("@elaraai/east").StringType;
1345
+ readonly from: import("@elaraai/east").StringType;
1346
+ readonly to: import("@elaraai/east").StringType;
1347
+ readonly tile: VariantType<{
1348
+ readonly day: NullType;
1349
+ readonly week: NullType;
1350
+ readonly month: NullType;
1351
+ readonly quarter: NullType;
1352
+ readonly year: NullType;
1353
+ }>;
1354
+ }>>;
1355
+ readonly summary: OptionType<StructType<{
1356
+ readonly key: import("@elaraai/east").StringType;
1357
+ readonly from: import("@elaraai/east").StringType;
1358
+ readonly to: import("@elaraai/east").StringType;
1359
+ readonly tile: VariantType<{
1360
+ readonly day: NullType;
1361
+ readonly week: NullType;
1362
+ readonly month: NullType;
1363
+ readonly quarter: NullType;
1364
+ readonly year: NullType;
1365
+ }>;
1366
+ }>>;
1279
1367
  }>>;
1280
1368
  readonly range: OptionType<import("@elaraai/east").StringType>;
1281
1369
  readonly search: ArrayType<import("@elaraai/east").StringType>;
@@ -1338,14 +1426,25 @@ export declare const AllocationPayloadType: StructType<{
1338
1426
  readonly clear: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], NullType>;
1339
1427
  readonly clearAll: import("@elaraai/east").FunctionType<[], NullType>;
1340
1428
  readonly count: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
1341
- readonly countWhere: import("@elaraai/east").FunctionType<[import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
1342
- readonly values: ArrayType<import("@elaraai/east").StringType>;
1343
- readonly range: StructType<{
1344
- readonly from: import("@elaraai/east").StringType;
1345
- readonly to: import("@elaraai/east").StringType;
1346
- }>;
1347
- readonly prefix: import("@elaraai/east").StringType;
1348
- }>>], OptionType<import("@elaraai/east").IntegerType>>;
1429
+ readonly countWhere: import("@elaraai/east").FunctionType<[StructType<{
1430
+ readonly where: import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
1431
+ readonly values: ArrayType<import("@elaraai/east").StringType>;
1432
+ readonly range: StructType<{
1433
+ readonly from: import("@elaraai/east").StringType;
1434
+ readonly to: import("@elaraai/east").StringType;
1435
+ }>;
1436
+ readonly prefix: import("@elaraai/east").StringType;
1437
+ }>>;
1438
+ readonly area: OptionType<VariantType<{
1439
+ readonly window: StructType<{
1440
+ readonly minX: import("@elaraai/east").FloatType;
1441
+ readonly minY: import("@elaraai/east").FloatType;
1442
+ readonly maxX: import("@elaraai/east").FloatType;
1443
+ readonly maxY: import("@elaraai/east").FloatType;
1444
+ }>;
1445
+ readonly unplaced: NullType;
1446
+ }>>;
1447
+ }>], OptionType<import("@elaraai/east").IntegerType>>;
1349
1448
  readonly total: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
1350
1449
  readonly domain: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], OptionType<StructType<{
1351
1450
  readonly from: import("@elaraai/east").StringType;
@@ -1596,7 +1695,7 @@ export declare const AllocationComponent: import("@elaraai/east-ui").UIComponent
1596
1695
  readonly readonly: NullType;
1597
1696
  }>;
1598
1697
  }>>;
1599
- readonly items: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>], OptionType<ArrayType<StructType<{
1698
+ readonly items: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>, OptionType<BlobType>], OptionType<ArrayType<StructType<{
1600
1699
  readonly kind: StringType;
1601
1700
  readonly key: StringType;
1602
1701
  readonly title: StringType;
@@ -1620,7 +1719,7 @@ export declare const AllocationComponent: import("@elaraai/east-ui").UIComponent
1620
1719
  readonly minutes: import("@elaraai/east").IntegerType;
1621
1720
  readonly due: OptionType<DateTimeType>;
1622
1721
  }>>>>;
1623
- readonly unscheduled: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>], OptionType<ArrayType<StructType<{
1722
+ readonly unscheduled: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>, OptionType<BlobType>], OptionType<ArrayType<StructType<{
1624
1723
  readonly kind: StringType;
1625
1724
  readonly key: StringType;
1626
1725
  readonly title: StringType;
@@ -1875,7 +1974,7 @@ export declare const AllocationComponent: import("@elaraai/east-ui").UIComponent
1875
1974
  readonly at: DateTimeType;
1876
1975
  readonly delta: OptionType<StringType>;
1877
1976
  }>>>>;
1878
- readonly event: FunctionType<[StringType, import("@elaraai/east").DictType<StringType, BlobType>, DateTimeType, DateTimeType], OptionType<StructType<{
1977
+ readonly event: FunctionType<[StringType, import("@elaraai/east").DictType<StringType, BlobType>, DateTimeType, DateTimeType, OptionType<OptionType<BlobType>>], OptionType<StructType<{
1879
1978
  readonly item: StructType<{
1880
1979
  readonly kind: StringType;
1881
1980
  readonly key: StringType;
@@ -1908,12 +2007,63 @@ export declare const AllocationComponent: import("@elaraai/east-ui").UIComponent
1908
2007
  readonly end: StringType;
1909
2008
  readonly resource: OptionType<StringType>;
1910
2009
  readonly status: OptionType<StringType>;
2010
+ readonly quantity: OptionType<StringType>;
2011
+ readonly parts: OptionType<StringType>;
2012
+ readonly withTimes: ArrayType<StringType>;
1911
2013
  }>;
1912
2014
  readonly overlaps: VariantType<{
1913
2015
  readonly warn: NullType;
1914
2016
  readonly allow: NullType;
1915
2017
  }>;
1916
2018
  readonly inspector: OptionType<FunctionType<[BlobType, FunctionType<[BlobType], NullType>], import("@elaraai/east").RecursiveType<import("@elaraai/east-ui").UIComponentNode>>>;
2019
+ readonly seriesKey: FunctionType<[OptionType<StructType<{
2020
+ readonly kind: StringType;
2021
+ readonly key: StringType;
2022
+ }>>], OptionType<StringType>>;
2023
+ readonly cellsType: import("@elaraai/east").RecursiveType<VariantType<{
2024
+ readonly Never: NullType;
2025
+ readonly Null: NullType;
2026
+ readonly Boolean: NullType;
2027
+ readonly Integer: NullType;
2028
+ readonly Float: NullType;
2029
+ readonly String: NullType;
2030
+ readonly DateTime: NullType;
2031
+ readonly Blob: NullType;
2032
+ readonly Ref: import("@elaraai/east").RecursiveTypeMarker;
2033
+ readonly Array: import("@elaraai/east").RecursiveTypeMarker;
2034
+ readonly Set: import("@elaraai/east").RecursiveTypeMarker;
2035
+ readonly Dict: StructType<{
2036
+ readonly key: import("@elaraai/east").RecursiveTypeMarker;
2037
+ readonly value: import("@elaraai/east").RecursiveTypeMarker;
2038
+ }>;
2039
+ readonly Struct: ArrayType<StructType<{
2040
+ readonly name: StringType;
2041
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
2042
+ }>>;
2043
+ readonly Variant: ArrayType<StructType<{
2044
+ readonly name: StringType;
2045
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
2046
+ }>>;
2047
+ readonly Recursive: VariantType<{
2048
+ readonly ref: import("@elaraai/east").IntegerType;
2049
+ readonly wrapper: StructType<{
2050
+ readonly id: import("@elaraai/east").IntegerType;
2051
+ readonly inner: import("@elaraai/east").RecursiveTypeMarker;
2052
+ }>;
2053
+ }>;
2054
+ readonly Function: StructType<{
2055
+ readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
2056
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
2057
+ }>;
2058
+ readonly AsyncFunction: StructType<{
2059
+ readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
2060
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
2061
+ }>;
2062
+ readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
2063
+ readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
2064
+ }>>;
2065
+ readonly count: FunctionType<[DateTimeType, DateTimeType], OptionType<import("@elaraai/east").IntegerType>>;
2066
+ readonly countExact: BooleanType;
1917
2067
  }>;
1918
2068
  readonly rows: FunctionType<[DateTimeType, DateTimeType], OptionType<import("@elaraai/east").DictType<StringType, StructType<{
1919
2069
  readonly roles: StructType<{
@@ -2387,6 +2537,9 @@ export declare const AllocationComponent: import("@elaraai/east-ui").UIComponent
2387
2537
  readonly fit: StructType<{
2388
2538
  readonly name: StringType;
2389
2539
  }>;
2540
+ readonly optimise: OptionType<StructType<{
2541
+ readonly name: StringType;
2542
+ }>>;
2390
2543
  readonly check: OptionType<FunctionType<[BlobType], ArrayType<StructType<{
2391
2544
  readonly kind: VariantType<{
2392
2545
  readonly unlinked: NullType;
@@ -2554,6 +2707,39 @@ export declare const AllocationComponent: import("@elaraai/east-ui").UIComponent
2554
2707
  readonly to: import("@elaraai/east").StringType;
2555
2708
  readonly optional: import("@elaraai/east").BooleanType;
2556
2709
  }>>;
2710
+ readonly area: OptionType<StructType<{
2711
+ readonly x: import("@elaraai/east").StringType;
2712
+ readonly y: import("@elaraai/east").StringType;
2713
+ readonly width: OptionType<import("@elaraai/east").StringType>;
2714
+ readonly height: OptionType<import("@elaraai/east").StringType>;
2715
+ readonly centre: import("@elaraai/east").BooleanType;
2716
+ readonly cell: import("@elaraai/east").FloatType;
2717
+ readonly optional: import("@elaraai/east").BooleanType;
2718
+ }>>;
2719
+ readonly series: OptionType<StructType<{
2720
+ readonly key: import("@elaraai/east").StringType;
2721
+ readonly from: import("@elaraai/east").StringType;
2722
+ readonly to: import("@elaraai/east").StringType;
2723
+ readonly tile: VariantType<{
2724
+ readonly day: NullType;
2725
+ readonly week: NullType;
2726
+ readonly month: NullType;
2727
+ readonly quarter: NullType;
2728
+ readonly year: NullType;
2729
+ }>;
2730
+ }>>;
2731
+ readonly summary: OptionType<StructType<{
2732
+ readonly key: import("@elaraai/east").StringType;
2733
+ readonly from: import("@elaraai/east").StringType;
2734
+ readonly to: import("@elaraai/east").StringType;
2735
+ readonly tile: VariantType<{
2736
+ readonly day: NullType;
2737
+ readonly week: NullType;
2738
+ readonly month: NullType;
2739
+ readonly quarter: NullType;
2740
+ readonly year: NullType;
2741
+ }>;
2742
+ }>>;
2557
2743
  }>>;
2558
2744
  readonly range: OptionType<import("@elaraai/east").StringType>;
2559
2745
  readonly search: ArrayType<import("@elaraai/east").StringType>;
@@ -2616,14 +2802,25 @@ export declare const AllocationComponent: import("@elaraai/east-ui").UIComponent
2616
2802
  readonly clear: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], NullType>;
2617
2803
  readonly clearAll: import("@elaraai/east").FunctionType<[], NullType>;
2618
2804
  readonly count: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
2619
- readonly countWhere: import("@elaraai/east").FunctionType<[import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
2620
- readonly values: ArrayType<import("@elaraai/east").StringType>;
2621
- readonly range: StructType<{
2622
- readonly from: import("@elaraai/east").StringType;
2623
- readonly to: import("@elaraai/east").StringType;
2624
- }>;
2625
- readonly prefix: import("@elaraai/east").StringType;
2626
- }>>], OptionType<import("@elaraai/east").IntegerType>>;
2805
+ readonly countWhere: import("@elaraai/east").FunctionType<[StructType<{
2806
+ readonly where: import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
2807
+ readonly values: ArrayType<import("@elaraai/east").StringType>;
2808
+ readonly range: StructType<{
2809
+ readonly from: import("@elaraai/east").StringType;
2810
+ readonly to: import("@elaraai/east").StringType;
2811
+ }>;
2812
+ readonly prefix: import("@elaraai/east").StringType;
2813
+ }>>;
2814
+ readonly area: OptionType<VariantType<{
2815
+ readonly window: StructType<{
2816
+ readonly minX: import("@elaraai/east").FloatType;
2817
+ readonly minY: import("@elaraai/east").FloatType;
2818
+ readonly maxX: import("@elaraai/east").FloatType;
2819
+ readonly maxY: import("@elaraai/east").FloatType;
2820
+ }>;
2821
+ readonly unplaced: NullType;
2822
+ }>>;
2823
+ }>], OptionType<import("@elaraai/east").IntegerType>>;
2627
2824
  readonly total: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
2628
2825
  readonly domain: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], OptionType<StructType<{
2629
2826
  readonly from: import("@elaraai/east").StringType;
@@ -2786,7 +2983,7 @@ export interface AllocationColumn<R extends EastType> {
2786
2983
  */
2787
2984
  export interface AllocationProps<R extends EastType = EastType> {
2788
2985
  /**
2789
- * Exactly one event kind, the bins, an instant kind keyed by String: `{ bin: Schedule.events(Record.bind(bins, [binsPatch]),
2986
+ * Exactly one event kind, the bins, an instant kind keyed by String: `{ bin: Schedule.events(Record.bind(bins),
2790
2987
  * { at, resource, arrival, quantity, parts, hold, kind? }) }`.
2791
2988
  */
2792
2989
  events: Readonly<Record<string, ScheduleEventKind<EastType, R>>>;
@@ -2798,10 +2995,17 @@ export interface AllocationProps<R extends EastType = EastType> {
2798
2995
  resources: Readonly<Record<string, ScheduleResourceKind<EastType, EastType>>>;
2799
2996
  /** Every arrival the day may book: `Allocation.arrivals(rows, { label, quantity, hold, … })` over the app's rows. */
2800
2997
  arrivals: AllocationArrivals;
2801
- /** What the board publishes, the app's days: `Schedule.periods(Record.bind(days, [daysPatch]), { every: "day", status })`. Omitted, no Publish. */
2998
+ /** What the board publishes, the app's days: `Schedule.periods(Record.bind(days), { every: "day", status })`. Omitted, no Publish. */
2802
2999
  periods?: SchedulePeriods;
2803
3000
  /** The fit: `Func.bind` of the app's `e3.function` from `Allocation.Types.FitRequest(R)` to `Allocation.Types.FitResult`. The board has no fit of its own. */
2804
3001
  fit: BoundFunc<[T.AllocationFitRequestType<R>], T.AllocationFitResultType>;
3002
+ /**
3003
+ * The app's optimiser (#1409): `Func.bind` of its `e3.function` from `Allocation.Types.OptimiseRequest(R)` — the day in view, the run
3004
+ * number, the day's bins as drafted, every arrival and the board's context — to `Allocation.Types.OptimiseResult(R)`, the day's bins
3005
+ * complete. The Elara eye in the toolbar calls it once per run; the result lands in the session as one edit, which one Undo
3006
+ * reverts and Save commits with everything else. Omitted, no eye.
3007
+ */
3008
+ optimise?: BoundFunc<[T.AllocationOptimiseRequestType<R>], T.AllocationOptimiseResultType<R>>;
2805
3009
  /** The app's issues, after the built-in ones wherever issues show: an East function from `Allocation.Types.CheckContext(R)` to `Array<Allocation.Types.Issue>`. */
2806
3010
  check?: SubtypeExprOrValue<FunctionType<[T.AllocationCheckContextType<R>], ArrayType<T.AllocationIssueType>>>;
2807
3011
  /** The app's bin fields as Table columns (after Quantity) and inspector rows, over the bin's row. */
@@ -2899,7 +3103,8 @@ export declare function allocationBands(bands: readonly {
2899
3103
  * by anything but String, or a resources kind with no `min` or `max`; `arrivals` that is not `Allocation.arrivals`, and
2900
3104
  * its `values` returning another struct than the bin kind's own fields; `periods` that is not `Schedule.periods`; a
2901
3105
  * `fit` that is not `Func.bind` of a function from `FitRequest(R)` to `FitResult`, one over another row type naming
2902
- * both; a `check` of another type; a library tab or a column key listed twice; a label that is empty; the Table's
3106
+ * both; an `optimise` that is not `Func.bind` of a function from `OptimiseRequest(R)` to `OptimiseResult(R)`, one over
3107
+ * another row type naming both (#1409); a `check` of another type; a library tab or a column key listed twice; a label that is empty; the Table's
2903
3108
  * bands not starting at 0 and rising within the day; and as `Schedule`'s checks, the bin kind's build
2904
3109
  * (`buildAllocation`) and the slice's (`recordSources`) do
2905
3110
  * @internal
@@ -2970,6 +3175,8 @@ export interface AllocationNamespace {
2970
3175
  SlotStatus: typeof T.AllocationSlotStatusType;
2971
3176
  Slot: typeof T.AllocationSlotType;
2972
3177
  Layout: typeof T.AllocationLayoutType;
3178
+ OptimiseRequest: typeof T.AllocationOptimiseRequestTypeFor;
3179
+ OptimiseResult: typeof T.AllocationOptimiseResultTypeFor;
2973
3180
  };
2974
3181
  }
2975
3182
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/allocation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/allocation/index.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ import { FuncBindingType, boundFuncSignature } from "../bind/func.js";
29
29
  import { scheduleCheck } from "../schedule/index.js";
30
30
  import { SCHEDULE_DEF } from "../schedule/resources.js";
31
31
  import { ScheduleAllocationKindType, SchedulePeriodsKindType } from "../schedule/types.js";
32
+ import { optimiseBinding } from "../utils/optimise.js";
32
33
  import { recordSources } from "../utils/record-sources.js";
33
34
  import { allocationArrivals, allocationArrivalsOf, allocationInitial, allocationLanesOf, allocationResourcesOf, isAllocationArrivals, } from "./adapters.js";
34
35
  import { allocationAnswer, allocationCandidates, allocationCheck, allocationFit, allocationLoads, allocationLookahead, allocationSlots, } from "./functions.js";
@@ -112,6 +113,7 @@ export const AllocationSettingsType = StructType({
112
113
  * @property periods - The app's days: their status, and Publish; `none`, no status chip and no Publish
113
114
  * @property narrowed - Each narrowed source's keys, paged through its part of `slice`: the lanes, the resources and the arrivals that show
114
115
  * @property fit - The app's fit, by its `e3.function`'s name
116
+ * @property optimise - The app's optimiser, by its `e3.function`'s name: what the Elara eye calls over the day in view, its result one edit of the session; `none`, no eye (#1409)
115
117
  * @property check - The app's issues, from a `CheckContext(R)` as bytes
116
118
  * @property columns - The app's bin fields as columns and inspector rows
117
119
  * @property rules - The built-in rules
@@ -136,6 +138,7 @@ export const AllocationPayloadType = StructType({
136
138
  arrivals: OptionType(RowSourceType(ArrayType(StringType))),
137
139
  }),
138
140
  fit: FuncBindingType,
141
+ optimise: OptionType(FuncBindingType),
139
142
  check: OptionType(FunctionType([BlobType], ArrayType(T.AllocationIssueType))),
140
143
  columns: ArrayType(AllocationColumnType),
141
144
  rules: T.AllocationRulesType,
@@ -150,19 +153,19 @@ export const AllocationPayloadType = StructType({
150
153
  /** Carrier registered by e3-ui-components. */
151
154
  export const AllocationComponent = EastUI.component("Allocation", AllocationPayloadType, { optional: true });
152
155
  /** The bin kind, as the refusals write it. */
153
- const BINS = "events={{ bin: Schedule.events(Record.bind(bins, [binsPatch]), { at, resource, arrival, quantity, parts, hold }) }}";
156
+ const BINS = "events={{ bin: Schedule.events(Record.bind(bins), { at, resource, arrival, quantity, parts, hold }) }}";
154
157
  /** The arrivals' declaration, as the refusals write it. */
155
158
  const ARRIVALS = "Allocation.arrivals(rows, { label, quantity, hold, … })";
156
159
  /** The props §2 removed, each refused by name with the form that replaces it (B4). */
157
160
  const REMOVED = [
158
161
  ["days", `\`days\` is gone — the Allocation writes the app's own bins, ${BINS}, and publishes the app's own days, ` +
159
- "periods={Schedule.periods(Record.bind(days, [daysPatch]), { every: \"day\", status })}"],
162
+ "periods={Schedule.periods(Record.bind(days), { every: \"day\", status })}"],
160
163
  ["window", "`window` is gone — the Allocation reads a day's bins through the bin kind's source of its slice, an interval index from `at` to `at`: " +
161
- "slice={{ slice: Slice.bindRecords(key, { bin: { source: Data.bindPaged(bins, { indexes: [byTime] }), range: \"at\" } }) }}, the kind given " +
164
+ "slice={{ slice: Slice.bindRecords(key, { bin: { source: Data.bindPaged(bins, { indexes: [\"by_time\"] }), range: \"at\" } }) }}, the kind given " +
162
165
  "`entries`; or the record whole"],
163
166
  ["lanes", "`lanes` moves to `resources`: resources={{ <lanes>: Schedule.resources(rows, { name, icon, label, offset }), … }}, under the slot " +
164
167
  "the bin kind's `resource.of` names — Allocation.lanes is gone"],
165
- ["publish", "`publish` is gone — Publish is the app's own days, periods={Schedule.periods(Record.bind(days, [daysPatch]), { every: \"day\", status })}; " +
168
+ ["publish", "`publish` is gone — Publish is the app's own days, periods={Schedule.periods(Record.bind(days), { every: \"day\", status })}; " +
166
169
  "leave `periods` out for no Publish"],
167
170
  ["quantity", "`quantity` is gone — the unit is the bin kind's `quantity` role's: Schedule.events(record, { …, quantity: { field, unit: \"m³\" } })"],
168
171
  ];
@@ -265,6 +268,28 @@ function fitBinding(fit, rowType) {
265
268
  }
266
269
  return fit.binding;
267
270
  }
271
+ /**
272
+ * What the Allocation holds `optimise` to (#1409): `Func.bind` of an `e3.function` from `Allocation.Types.OptimiseRequest(R)` to
273
+ * `Allocation.Types.OptimiseResult(R)`, R the bins' row type — a request over another row named by its bins' row.
274
+ *
275
+ * @param rowType - The bin kind's row type
276
+ * @returns The contract, for {@link optimiseBinding}
277
+ */
278
+ function allocationOptimiseContract(rowType) {
279
+ const rows = printType(rowType);
280
+ return {
281
+ builder: "Allocation", request: T.AllocationOptimiseRequestTypeFor(rowType), result: T.AllocationOptimiseResultTypeFor(rowType),
282
+ signature: "from Allocation.Types.OptimiseRequest(R) to Allocation.Types.OptimiseResult(R), R the bins' row type",
283
+ names: { request: "Allocation.Types.OptimiseRequest", result: "Allocation.Types.OptimiseResult" },
284
+ rows: { request: rows, result: rows }, noun: { theirs: "bin rows", ours: "the bin kind's rows" }, of: "the bins' row type",
285
+ otherRows: (asked) => {
286
+ // An OptimiseRequest over another row: its bins' row.
287
+ const bins = asked.type === "Struct" ? asked.fields["bins"] : undefined;
288
+ const theirs = bins?.type === "Dict" ? bins.value : undefined;
289
+ return theirs !== undefined && isTypeEqual(asked, T.AllocationOptimiseRequestTypeFor(theirs)) ? printType(theirs) : undefined;
290
+ },
291
+ };
292
+ }
268
293
  /**
269
294
  * Validates the declarations and assembles the Allocation's interface. View
270
295
  * and interaction behaviour belong to the renderer, not this factory.
@@ -279,7 +304,8 @@ function fitBinding(fit, rowType) {
279
304
  * by anything but String, or a resources kind with no `min` or `max`; `arrivals` that is not `Allocation.arrivals`, and
280
305
  * its `values` returning another struct than the bin kind's own fields; `periods` that is not `Schedule.periods`; a
281
306
  * `fit` that is not `Func.bind` of a function from `FitRequest(R)` to `FitResult`, one over another row type naming
282
- * both; a `check` of another type; a library tab or a column key listed twice; a label that is empty; the Table's
307
+ * both; an `optimise` that is not `Func.bind` of a function from `OptimiseRequest(R)` to `OptimiseResult(R)`, one over
308
+ * another row type naming both (#1409); a `check` of another type; a library tab or a column key listed twice; a label that is empty; the Table's
283
309
  * bands not starting at 0 and rising within the day; and as `Schedule`'s checks, the bin kind's build
284
310
  * (`buildAllocation`) and the slice's (`recordSources`) do
285
311
  * @internal
@@ -369,11 +395,12 @@ export function createAllocationPayload(props) {
369
395
  const arrivals = given["arrivals"];
370
396
  const periods = props.periods;
371
397
  if (periods !== undefined && periods[SCHEDULE_DEF] !== "periods") {
372
- throw new Error("Allocation: `periods` is what the board publishes, the app's days — periods={Schedule.periods(Record.bind(days, [daysPatch]), { every: \"day\", status })}");
398
+ throw new Error("Allocation: `periods` is what the board publishes, the app's days — periods={Schedule.periods(Record.bind(days), { every: \"day\", status })}");
373
399
  }
374
400
  // The app's functions over the bin row type.
375
401
  const rowType = kind.rowType;
376
402
  const fit = fitBinding(props.fit, rowType);
403
+ const optimise = props.optimise === undefined ? undefined : optimiseBinding(props.optimise, allocationOptimiseContract(rowType));
377
404
  const check = props.check === undefined ? undefined : overBytes(props.check, T.AllocationCheckContextTypeFor(rowType), ArrayType(T.AllocationIssueType), `Allocation: \`check\` is an East function from Allocation.Types.CheckContext(${printType(rowType)}) to Array<Allocation.Types.Issue>`);
378
405
  // A booked bin's own fields, the ones no role maps: each arrival's `values`, at the bin kind's (B13).
379
406
  const initial = allocationInitial(arrivals, kind.allocationValues);
@@ -433,6 +460,7 @@ export function createAllocationPayload(props) {
433
460
  periods: periods === undefined ? none : some(periods.build()),
434
461
  narrowed: { lanes: shown(lanesSlot), resources: shown(partsSlot), arrivals: shown("arrivals") },
435
462
  fit,
463
+ optimise: optimise === undefined ? none : some(optimise),
436
464
  check: check === undefined ? none : some(check),
437
465
  columns,
438
466
  rules: { under: props.rules?.under ?? true },
@@ -494,6 +522,7 @@ export const Allocation = Object.assign((props) => AllocationComponent.Root(crea
494
522
  FitAsk: T.AllocationFitAskType, FitRequest: T.AllocationFitRequestTypeFor, FitResult: T.AllocationFitResultType, Fix: T.AllocationFixType,
495
523
  IssueKind: T.AllocationIssueKindType, Issue: T.AllocationIssueType, CheckContext: T.AllocationCheckContextTypeFor,
496
524
  SlotStatus: T.AllocationSlotStatusType, Slot: T.AllocationSlotType, Layout: T.AllocationLayoutType,
525
+ OptimiseRequest: T.AllocationOptimiseRequestTypeFor, OptimiseResult: T.AllocationOptimiseResultTypeFor,
497
526
  },
498
527
  });
499
528
  //# sourceMappingURL=index.js.map