@elaraai/e3-ui 1.0.86 → 1.0.87

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 (385) hide show
  1. package/dist/src/bind/data-indexed.d.ts +159 -0
  2. package/dist/src/bind/data-indexed.d.ts.map +1 -0
  3. package/dist/src/bind/data-indexed.js +105 -0
  4. package/dist/src/bind/data-indexed.js.map +1 -0
  5. package/dist/src/bind/data.d.ts +5 -3
  6. package/dist/src/bind/data.d.ts.map +1 -1
  7. package/dist/src/bind/data.js +6 -0
  8. package/dist/src/bind/data.js.map +1 -1
  9. package/dist/src/bind/record.d.ts +34 -23
  10. package/dist/src/bind/record.d.ts.map +1 -1
  11. package/dist/src/bind/record.js +46 -19
  12. package/dist/src/bind/record.js.map +1 -1
  13. package/dist/src/calendar/index.d.ts +2923 -0
  14. package/dist/src/calendar/index.d.ts.map +1 -0
  15. package/dist/src/calendar/index.js +135 -0
  16. package/dist/src/calendar/index.js.map +1 -0
  17. package/dist/src/decision/queue.d.ts +3 -3
  18. package/dist/src/decision/queue.d.ts.map +1 -1
  19. package/dist/src/decision/queue.js +2 -2
  20. package/dist/src/decision/queue.js.map +1 -1
  21. package/dist/src/decision/types.d.ts +4 -0
  22. package/dist/src/decision/types.d.ts.map +1 -1
  23. package/dist/src/decision/types.js +4 -0
  24. package/dist/src/decision/types.js.map +1 -1
  25. package/dist/src/flowchart/canvas.d.ts +114 -0
  26. package/dist/src/flowchart/canvas.d.ts.map +1 -0
  27. package/dist/src/flowchart/canvas.js +84 -0
  28. package/dist/src/flowchart/canvas.js.map +1 -0
  29. package/dist/src/flowchart/flowchart.d.ts +79 -0
  30. package/dist/src/flowchart/flowchart.d.ts.map +1 -0
  31. package/dist/src/flowchart/flowchart.js +9 -0
  32. package/dist/src/flowchart/flowchart.js.map +1 -0
  33. package/dist/src/flowchart/index.d.ts +305 -0
  34. package/dist/src/flowchart/index.d.ts.map +1 -0
  35. package/dist/src/flowchart/index.js +267 -0
  36. package/dist/src/flowchart/index.js.map +1 -0
  37. package/dist/src/flowchart/library.d.ts +720 -0
  38. package/dist/src/flowchart/library.d.ts.map +1 -0
  39. package/dist/src/flowchart/library.js +611 -0
  40. package/dist/src/flowchart/library.js.map +1 -0
  41. package/dist/src/flowchart/over.d.ts +234 -0
  42. package/dist/src/flowchart/over.d.ts.map +1 -0
  43. package/dist/src/flowchart/over.js +220 -0
  44. package/dist/src/flowchart/over.js.map +1 -0
  45. package/dist/src/flowchart/patch.d.ts +64 -0
  46. package/dist/src/flowchart/patch.d.ts.map +1 -0
  47. package/dist/src/flowchart/patch.js +67 -0
  48. package/dist/src/flowchart/patch.js.map +1 -0
  49. package/dist/src/flowchart/payload.d.ts +8220 -0
  50. package/dist/src/flowchart/payload.d.ts.map +1 -0
  51. package/dist/src/flowchart/payload.js +521 -0
  52. package/dist/src/flowchart/payload.js.map +1 -0
  53. package/dist/src/flowchart/types.d.ts +393 -0
  54. package/dist/src/flowchart/types.d.ts.map +1 -0
  55. package/dist/src/flowchart/types.js +216 -0
  56. package/dist/src/flowchart/types.js.map +1 -0
  57. package/dist/src/flowchart/values.d.ts +267 -0
  58. package/dist/src/flowchart/values.d.ts.map +1 -0
  59. package/dist/src/flowchart/values.js +216 -0
  60. package/dist/src/flowchart/values.js.map +1 -0
  61. package/dist/src/flowchart/window.d.ts +521 -0
  62. package/dist/src/flowchart/window.d.ts.map +1 -0
  63. package/dist/src/flowchart/window.js +69 -0
  64. package/dist/src/flowchart/window.js.map +1 -0
  65. package/dist/src/index.d.ts +25 -1
  66. package/dist/src/index.d.ts.map +1 -1
  67. package/dist/src/index.js +48 -1
  68. package/dist/src/index.js.map +1 -1
  69. package/dist/src/internal.d.ts +35 -3
  70. package/dist/src/internal.d.ts.map +1 -1
  71. package/dist/src/internal.js +72 -3
  72. package/dist/src/internal.js.map +1 -1
  73. package/dist/src/plan/assemble.d.ts +2224 -0
  74. package/dist/src/plan/assemble.d.ts.map +1 -0
  75. package/dist/src/plan/assemble.js +210 -0
  76. package/dist/src/plan/assemble.js.map +1 -0
  77. package/dist/src/plan/builders.d.ts +790 -0
  78. package/dist/src/plan/builders.d.ts.map +1 -0
  79. package/dist/src/plan/builders.js +749 -0
  80. package/dist/src/plan/builders.js.map +1 -0
  81. package/dist/src/plan/event-rows.d.ts +2565 -0
  82. package/dist/src/plan/event-rows.d.ts.map +1 -0
  83. package/dist/src/plan/event-rows.js +689 -0
  84. package/dist/src/plan/event-rows.js.map +1 -0
  85. package/dist/src/plan/factories.d.ts +458 -0
  86. package/dist/src/plan/factories.d.ts.map +1 -0
  87. package/dist/src/plan/factories.js +484 -0
  88. package/dist/src/plan/factories.js.map +1 -0
  89. package/dist/src/plan/index.d.ts +672 -0
  90. package/dist/src/plan/index.d.ts.map +1 -0
  91. package/dist/src/plan/index.js +532 -0
  92. package/dist/src/plan/index.js.map +1 -0
  93. package/dist/src/plan/ir.d.ts +2594 -0
  94. package/dist/src/plan/ir.d.ts.map +1 -0
  95. package/dist/src/plan/ir.js +78 -0
  96. package/dist/src/plan/ir.js.map +1 -0
  97. package/dist/src/plan/library.d.ts +772 -0
  98. package/dist/src/plan/library.d.ts.map +1 -0
  99. package/dist/src/plan/library.js +424 -0
  100. package/dist/src/plan/library.js.map +1 -0
  101. package/dist/src/plan/ordered-source.d.ts +27 -0
  102. package/dist/src/plan/ordered-source.d.ts.map +1 -0
  103. package/dist/src/plan/ordered-source.js +48 -0
  104. package/dist/src/plan/ordered-source.js.map +1 -0
  105. package/dist/src/plan/over.d.ts +247 -0
  106. package/dist/src/plan/over.d.ts.map +1 -0
  107. package/dist/src/plan/over.js +266 -0
  108. package/dist/src/plan/over.js.map +1 -0
  109. package/dist/src/plan/pick.d.ts +78 -0
  110. package/dist/src/plan/pick.d.ts.map +1 -0
  111. package/dist/src/plan/pick.js +146 -0
  112. package/dist/src/plan/pick.js.map +1 -0
  113. package/dist/src/plan/plan.d.ts +11611 -0
  114. package/dist/src/plan/plan.d.ts.map +1 -0
  115. package/dist/src/plan/plan.js +428 -0
  116. package/dist/src/plan/plan.js.map +1 -0
  117. package/dist/src/plan/refs.d.ts +218 -0
  118. package/dist/src/plan/refs.d.ts.map +1 -0
  119. package/dist/src/plan/refs.js +226 -0
  120. package/dist/src/plan/refs.js.map +1 -0
  121. package/dist/src/plan/root.d.ts +290 -0
  122. package/dist/src/plan/root.d.ts.map +1 -0
  123. package/dist/src/plan/root.js +463 -0
  124. package/dist/src/plan/root.js.map +1 -0
  125. package/dist/src/plan/series.d.ts +13554 -0
  126. package/dist/src/plan/series.d.ts.map +1 -0
  127. package/dist/src/plan/series.js +1921 -0
  128. package/dist/src/plan/series.js.map +1 -0
  129. package/dist/src/plan/types.d.ts +12400 -0
  130. package/dist/src/plan/types.d.ts.map +1 -0
  131. package/dist/src/plan/types.js +1335 -0
  132. package/dist/src/plan/types.js.map +1 -0
  133. package/dist/src/roster/coverage.d.ts +240 -0
  134. package/dist/src/roster/coverage.d.ts.map +1 -0
  135. package/dist/src/roster/coverage.js +109 -0
  136. package/dist/src/roster/coverage.js.map +1 -0
  137. package/dist/src/roster/index.d.ts +4028 -0
  138. package/dist/src/roster/index.d.ts.map +1 -0
  139. package/dist/src/roster/index.js +115 -0
  140. package/dist/src/roster/index.js.map +1 -0
  141. package/dist/src/roster/library.d.ts +106 -0
  142. package/dist/src/roster/library.d.ts.map +1 -0
  143. package/dist/src/roster/library.js +78 -0
  144. package/dist/src/roster/library.js.map +1 -0
  145. package/dist/src/roster/people.d.ts +50 -0
  146. package/dist/src/roster/people.d.ts.map +1 -0
  147. package/dist/src/roster/people.js +32 -0
  148. package/dist/src/roster/people.js.map +1 -0
  149. package/dist/src/roster/rules.d.ts +275 -0
  150. package/dist/src/roster/rules.d.ts.map +1 -0
  151. package/dist/src/roster/rules.js +162 -0
  152. package/dist/src/roster/rules.js.map +1 -0
  153. package/dist/src/roster/types.d.ts +672 -0
  154. package/dist/src/roster/types.d.ts.map +1 -0
  155. package/dist/src/roster/types.js +248 -0
  156. package/dist/src/roster/types.js.map +1 -0
  157. package/dist/src/roster/visibility.d.ts +66 -0
  158. package/dist/src/roster/visibility.d.ts.map +1 -0
  159. package/dist/src/roster/visibility.js +25 -0
  160. package/dist/src/roster/visibility.js.map +1 -0
  161. package/dist/src/schedule/days.d.ts +54 -0
  162. package/dist/src/schedule/days.d.ts.map +1 -0
  163. package/dist/src/schedule/days.js +68 -0
  164. package/dist/src/schedule/days.js.map +1 -0
  165. package/dist/src/schedule/events.d.ts +433 -0
  166. package/dist/src/schedule/events.d.ts.map +1 -0
  167. package/dist/src/schedule/events.js +851 -0
  168. package/dist/src/schedule/events.js.map +1 -0
  169. package/dist/src/schedule/index.d.ts +150 -0
  170. package/dist/src/schedule/index.d.ts.map +1 -0
  171. package/dist/src/schedule/index.js +132 -0
  172. package/dist/src/schedule/index.js.map +1 -0
  173. package/dist/src/schedule/library.d.ts +70 -0
  174. package/dist/src/schedule/library.d.ts.map +1 -0
  175. package/dist/src/schedule/library.js +102 -0
  176. package/dist/src/schedule/library.js.map +1 -0
  177. package/dist/src/schedule/patch.d.ts +74 -0
  178. package/dist/src/schedule/patch.d.ts.map +1 -0
  179. package/dist/src/schedule/patch.js +68 -0
  180. package/dist/src/schedule/patch.js.map +1 -0
  181. package/dist/src/schedule/record-window.d.ts +189 -0
  182. package/dist/src/schedule/record-window.d.ts.map +1 -0
  183. package/dist/src/schedule/record-window.js +95 -0
  184. package/dist/src/schedule/record-window.js.map +1 -0
  185. package/dist/src/schedule/resources.d.ts +165 -0
  186. package/dist/src/schedule/resources.d.ts.map +1 -0
  187. package/dist/src/schedule/resources.js +234 -0
  188. package/dist/src/schedule/resources.js.map +1 -0
  189. package/dist/src/schedule/templates.d.ts +47 -0
  190. package/dist/src/schedule/templates.d.ts.map +1 -0
  191. package/dist/src/schedule/templates.js +61 -0
  192. package/dist/src/schedule/templates.js.map +1 -0
  193. package/dist/src/schedule/types.d.ts +1677 -0
  194. package/dist/src/schedule/types.d.ts.map +1 -0
  195. package/dist/src/schedule/types.js +374 -0
  196. package/dist/src/schedule/types.js.map +1 -0
  197. package/dist/src/schedule/window.d.ts +154 -0
  198. package/dist/src/schedule/window.d.ts.map +1 -0
  199. package/dist/src/schedule/window.js +363 -0
  200. package/dist/src/schedule/window.js.map +1 -0
  201. package/dist/src/sheet/bridge.d.ts +385 -0
  202. package/dist/src/sheet/bridge.d.ts.map +1 -0
  203. package/dist/src/sheet/bridge.js +809 -0
  204. package/dist/src/sheet/bridge.js.map +1 -0
  205. package/dist/src/sheet/columns.d.ts +410 -0
  206. package/dist/src/sheet/columns.d.ts.map +1 -0
  207. package/dist/src/sheet/columns.js +99 -0
  208. package/dist/src/sheet/columns.js.map +1 -0
  209. package/dist/src/sheet/context-bridge.d.ts +48 -0
  210. package/dist/src/sheet/context-bridge.d.ts.map +1 -0
  211. package/dist/src/sheet/context-bridge.js +216 -0
  212. package/dist/src/sheet/context-bridge.js.map +1 -0
  213. package/dist/src/sheet/draft-bridge.d.ts +37 -0
  214. package/dist/src/sheet/draft-bridge.d.ts.map +1 -0
  215. package/dist/src/sheet/draft-bridge.js +153 -0
  216. package/dist/src/sheet/draft-bridge.js.map +1 -0
  217. package/dist/src/sheet/drafts.d.ts +14 -0
  218. package/dist/src/sheet/drafts.d.ts.map +1 -0
  219. package/dist/src/sheet/drafts.js +14 -0
  220. package/dist/src/sheet/drafts.js.map +1 -0
  221. package/dist/src/sheet/editing-bridge.d.ts +40 -0
  222. package/dist/src/sheet/editing-bridge.d.ts.map +1 -0
  223. package/dist/src/sheet/editing-bridge.js +231 -0
  224. package/dist/src/sheet/editing-bridge.js.map +1 -0
  225. package/dist/src/sheet/editing-types.d.ts +268 -0
  226. package/dist/src/sheet/editing-types.d.ts.map +1 -0
  227. package/dist/src/sheet/editing-types.js +34 -0
  228. package/dist/src/sheet/editing-types.js.map +1 -0
  229. package/dist/src/sheet/edits.d.ts +37 -0
  230. package/dist/src/sheet/edits.d.ts.map +1 -0
  231. package/dist/src/sheet/edits.js +31 -0
  232. package/dist/src/sheet/edits.js.map +1 -0
  233. package/dist/src/sheet/fields.d.ts +693 -0
  234. package/dist/src/sheet/fields.d.ts.map +1 -0
  235. package/dist/src/sheet/fields.js +280 -0
  236. package/dist/src/sheet/fields.js.map +1 -0
  237. package/dist/src/sheet/group.d.ts +165 -0
  238. package/dist/src/sheet/group.d.ts.map +1 -0
  239. package/dist/src/sheet/group.js +52 -0
  240. package/dist/src/sheet/group.js.map +1 -0
  241. package/dist/src/sheet/index.d.ts +542 -0
  242. package/dist/src/sheet/index.d.ts.map +1 -0
  243. package/dist/src/sheet/index.js +387 -0
  244. package/dist/src/sheet/index.js.map +1 -0
  245. package/dist/src/sheet/library.d.ts +284 -0
  246. package/dist/src/sheet/library.d.ts.map +1 -0
  247. package/dist/src/sheet/library.js +259 -0
  248. package/dist/src/sheet/library.js.map +1 -0
  249. package/dist/src/sheet/link.d.ts +398 -0
  250. package/dist/src/sheet/link.d.ts.map +1 -0
  251. package/dist/src/sheet/link.js +228 -0
  252. package/dist/src/sheet/link.js.map +1 -0
  253. package/dist/src/sheet/record.d.ts +75 -0
  254. package/dist/src/sheet/record.d.ts.map +1 -0
  255. package/dist/src/sheet/record.js +128 -0
  256. package/dist/src/sheet/record.js.map +1 -0
  257. package/dist/src/sheet/registers.d.ts +681 -0
  258. package/dist/src/sheet/registers.d.ts.map +1 -0
  259. package/dist/src/sheet/registers.js +671 -0
  260. package/dist/src/sheet/registers.js.map +1 -0
  261. package/dist/src/sheet/root.d.ts +329 -0
  262. package/dist/src/sheet/root.d.ts.map +1 -0
  263. package/dist/src/sheet/root.js +511 -0
  264. package/dist/src/sheet/root.js.map +1 -0
  265. package/dist/src/sheet/seed-bridge.d.ts +14 -0
  266. package/dist/src/sheet/seed-bridge.d.ts.map +1 -0
  267. package/dist/src/sheet/seed-bridge.js +51 -0
  268. package/dist/src/sheet/seed-bridge.js.map +1 -0
  269. package/dist/src/sheet/sheet.d.ts +11819 -0
  270. package/dist/src/sheet/sheet.d.ts.map +1 -0
  271. package/dist/src/sheet/sheet.js +236 -0
  272. package/dist/src/sheet/sheet.js.map +1 -0
  273. package/dist/src/sheet/sub-rows.d.ts +299 -0
  274. package/dist/src/sheet/sub-rows.d.ts.map +1 -0
  275. package/dist/src/sheet/sub-rows.js +272 -0
  276. package/dist/src/sheet/sub-rows.js.map +1 -0
  277. package/dist/src/sheet/templates.d.ts +161 -0
  278. package/dist/src/sheet/templates.d.ts.map +1 -0
  279. package/dist/src/sheet/templates.js +122 -0
  280. package/dist/src/sheet/templates.js.map +1 -0
  281. package/dist/src/sheet/transactions.d.ts +76 -0
  282. package/dist/src/sheet/transactions.d.ts.map +1 -0
  283. package/dist/src/sheet/transactions.js +40 -0
  284. package/dist/src/sheet/transactions.js.map +1 -0
  285. package/dist/src/sheet/types.d.ts +15226 -0
  286. package/dist/src/sheet/types.d.ts.map +1 -0
  287. package/dist/src/sheet/types.js +1070 -0
  288. package/dist/src/sheet/types.js.map +1 -0
  289. package/dist/src/sheet/views.d.ts +29 -0
  290. package/dist/src/sheet/views.d.ts.map +1 -0
  291. package/dist/src/sheet/views.js +43 -0
  292. package/dist/src/sheet/views.js.map +1 -0
  293. package/dist/src/studio/component.d.ts.map +1 -1
  294. package/dist/src/studio/component.js +11 -8
  295. package/dist/src/studio/component.js.map +1 -1
  296. package/dist/src/utils/derive.d.ts +134 -8
  297. package/dist/src/utils/derive.d.ts.map +1 -1
  298. package/dist/src/utils/derive.js +409 -7
  299. package/dist/src/utils/derive.js.map +1 -1
  300. package/dist/src/utils/ordered-source.d.ts +38 -0
  301. package/dist/src/utils/ordered-source.d.ts.map +1 -0
  302. package/dist/src/utils/ordered-source.js +45 -0
  303. package/dist/src/utils/ordered-source.js.map +1 -0
  304. package/dist/src/utils/row-inspector.d.ts +36 -0
  305. package/dist/src/utils/row-inspector.d.ts.map +1 -0
  306. package/dist/src/utils/row-inspector.js +49 -0
  307. package/dist/src/utils/row-inspector.js.map +1 -0
  308. package/dist/test/bind/data/data.examples.d.ts +21 -19
  309. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  310. package/dist/test/bind/data/data.examples.js +122 -122
  311. package/dist/test/bind/data/data.examples.js.map +1 -1
  312. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  313. package/dist/test/bind/record/record.examples.js +9 -9
  314. package/dist/test/bind/record/record.examples.js.map +1 -1
  315. package/dist/test/calendar/calendar-records.examples.d.ts +228 -0
  316. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -0
  317. package/dist/test/calendar/calendar-records.examples.js +91 -0
  318. package/dist/test/calendar/calendar-records.examples.js.map +1 -0
  319. package/dist/test/calendar/calendar.examples.d.ts +776 -0
  320. package/dist/test/calendar/calendar.examples.d.ts.map +1 -0
  321. package/dist/test/calendar/calendar.examples.js +336 -0
  322. package/dist/test/calendar/calendar.examples.js.map +1 -0
  323. package/dist/test/decision/journal.examples.d.ts +28 -28
  324. package/dist/test/decision/journal.examples.d.ts.map +1 -1
  325. package/dist/test/decision/journal.examples.js +4 -4
  326. package/dist/test/decision/journal.examples.js.map +1 -1
  327. package/dist/test/decision/queue.examples.d.ts.map +1 -1
  328. package/dist/test/decision/queue.examples.js +5 -7
  329. package/dist/test/decision/queue.examples.js.map +1 -1
  330. package/dist/test/flowchart/flowchart.examples.d.ts +3713 -0
  331. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -0
  332. package/dist/test/flowchart/flowchart.examples.js +465 -0
  333. package/dist/test/flowchart/flowchart.examples.js.map +1 -0
  334. package/dist/test/plan/plan-events.examples.d.ts +3666 -0
  335. package/dist/test/plan/plan-events.examples.d.ts.map +1 -0
  336. package/dist/test/plan/plan-events.examples.js +773 -0
  337. package/dist/test/plan/plan-events.examples.js.map +1 -0
  338. package/dist/test/plan/plan-records.examples.d.ts +3 -0
  339. package/dist/test/plan/plan-records.examples.d.ts.map +1 -0
  340. package/dist/test/plan/plan-records.examples.js +45 -0
  341. package/dist/test/plan/plan-records.examples.js.map +1 -0
  342. package/dist/test/plan/plan-windows.examples.d.ts +588 -0
  343. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -0
  344. package/dist/test/plan/plan-windows.examples.js +170 -0
  345. package/dist/test/plan/plan-windows.examples.js.map +1 -0
  346. package/dist/test/plan/plan.examples.d.ts +8095 -0
  347. package/dist/test/plan/plan.examples.d.ts.map +1 -0
  348. package/dist/test/plan/plan.examples.js +2500 -0
  349. package/dist/test/plan/plan.examples.js.map +1 -0
  350. package/dist/test/roster/domain.examples.d.ts +367 -0
  351. package/dist/test/roster/domain.examples.d.ts.map +1 -0
  352. package/dist/test/roster/domain.examples.js +72 -0
  353. package/dist/test/roster/domain.examples.js.map +1 -0
  354. package/dist/test/roster/roster-records.examples.d.ts +729 -0
  355. package/dist/test/roster/roster-records.examples.d.ts.map +1 -0
  356. package/dist/test/roster/roster-records.examples.js +86 -0
  357. package/dist/test/roster/roster-records.examples.js.map +1 -0
  358. package/dist/test/roster/roster.examples.d.ts +750 -0
  359. package/dist/test/roster/roster.examples.d.ts.map +1 -0
  360. package/dist/test/roster/roster.examples.js +198 -0
  361. package/dist/test/roster/roster.examples.js.map +1 -0
  362. package/dist/test/roster/warehouse.d.ts +87 -0
  363. package/dist/test/roster/warehouse.d.ts.map +1 -0
  364. package/dist/test/roster/warehouse.js +883 -0
  365. package/dist/test/roster/warehouse.js.map +1 -0
  366. package/dist/test/sheet/sheet-link.examples.d.ts +7 -0
  367. package/dist/test/sheet/sheet-link.examples.d.ts.map +1 -0
  368. package/dist/test/sheet/sheet-link.examples.js +41 -0
  369. package/dist/test/sheet/sheet-link.examples.js.map +1 -0
  370. package/dist/test/sheet/sheet-records.examples.d.ts +421 -0
  371. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -0
  372. package/dist/test/sheet/sheet-records.examples.js +79 -0
  373. package/dist/test/sheet/sheet-records.examples.js.map +1 -0
  374. package/dist/test/sheet/sheet-transactions.examples.d.ts +7 -0
  375. package/dist/test/sheet/sheet-transactions.examples.d.ts.map +1 -0
  376. package/dist/test/sheet/sheet-transactions.examples.js +58 -0
  377. package/dist/test/sheet/sheet-transactions.examples.js.map +1 -0
  378. package/dist/test/sheet/sheet.examples.d.ts +5562 -0
  379. package/dist/test/sheet/sheet.examples.d.ts.map +1 -0
  380. package/dist/test/sheet/sheet.examples.js +1178 -0
  381. package/dist/test/sheet/sheet.examples.js.map +1 -0
  382. package/dist/test/studio/studio.examples.d.ts.map +1 -1
  383. package/dist/test/studio/studio.examples.js +11 -11
  384. package/dist/test/studio/studio.examples.js.map +1 -1
  385. package/package.json +12 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schedule/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,374 @@
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
+ * `Schedule`'s East types (#1218): what an author meets (`Calendar Spec.md`
7
+ * §5.1), and the kinds' wire (§5.2) that a builder's payload holds — the
8
+ * Calendar's, and Plan's builder's (#1190, `Plan Builder Spec.md` §5.2): the
9
+ * same kinds with Plan's options resolved beside them.
10
+ *
11
+ * @packageDocumentation
12
+ */
13
+ import { ArrayType, BlobType, BooleanType, DateTimeType, DictType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, VariantType, } from "@elaraai/east";
14
+ import { RecordCommitInfoType } from "@elaraai/e3-types";
15
+ import { EventStateType, StatusTokenType, StatusValueType, TimeStepType } from "@elaraai/east-ui";
16
+ import { EditingReadinessType, EditingType, FieldSpecType } from "@elaraai/east-ui/internal";
17
+ import { PlanDrawType, PlanQuantityType, PlanRollupType } from "../plan/types.js";
18
+ import { RowInspectorType } from "../utils/row-inspector.js";
19
+ // ============================================================================
20
+ // What an author meets
21
+ // ============================================================================
22
+ /**
23
+ * A resource: its kind's slot name, and its key's text (a String key as it
24
+ * is, any other key as East prints it).
25
+ *
26
+ * @property kind - The resource kind's slot name (`people`)
27
+ * @property key - The resource's key, as text
28
+ */
29
+ export const ScheduleResourceRefType = StructType({ kind: StringType, key: StringType });
30
+ /**
31
+ * An event: its kind's slot name, and its record key's text.
32
+ *
33
+ * @property kind - The event kind's slot name (`shift`)
34
+ * @property key - The event's record key, as text
35
+ */
36
+ export const ScheduleEventRefType = StructType({ kind: StringType, key: StringType });
37
+ /**
38
+ * How one case of an event's status shows.
39
+ *
40
+ * @property label - Its words
41
+ * @property tone - Its tone: success, warning, danger, info or neutral
42
+ * @property ring - Whether it draws as an open ring, as a tentative status does
43
+ */
44
+ export const ScheduleStatusType = StructType({ label: StringType, tone: StatusTokenType, ring: BooleanType });
45
+ /**
46
+ * Constructs the status table of a status variant: one
47
+ * {@link ScheduleStatusType} per case.
48
+ *
49
+ * @typeParam V - The status variant
50
+ * @param statusType - The status variant
51
+ * @returns A struct with a field per case
52
+ * @throws {Error} When the type is not a variant
53
+ */
54
+ export function ScheduleStatusCasesFor(statusType) {
55
+ if (statusType.type !== "Variant")
56
+ throw new Error("Schedule.Types.StatusCases: a status is a variant, one case per status");
57
+ const cases = Object.keys(statusType.cases);
58
+ return StructType(Object.fromEntries(cases.map((c) => [c, ScheduleStatusType])));
59
+ }
60
+ /**
61
+ * A time of day: what a template starts at when it is dropped on a whole day.
62
+ *
63
+ * @property hour - The hour, 0–23
64
+ * @property minute - The minute, 0–59
65
+ */
66
+ export const ScheduleClockType = StructType({ hour: IntegerType, minute: IntegerType });
67
+ /** How long something takes: the time contract's minutes, hours, days, weeks or months, as a Float. */
68
+ export const ScheduleDurationType = TimeStepType;
69
+ /**
70
+ * Where a drop would put an event: what a builder's `canDrop` is asked.
71
+ *
72
+ * @property kind - The event kind's slot name
73
+ * @property from - What is dropped: a template's key, a backlog row's key, or an event's key
74
+ * @property start - Where it would start
75
+ * @property end - Where it would end
76
+ * @property resource - The resource it would be on, if any
77
+ */
78
+ export const ScheduleCandidateType = StructType({
79
+ kind: StringType,
80
+ from: VariantType({ template: StringType, backlog: StringType, event: StringType }),
81
+ start: DateTimeType,
82
+ end: DateTimeType,
83
+ resource: OptionType(ScheduleResourceRefType),
84
+ });
85
+ // ============================================================================
86
+ // The kinds' wire
87
+ // ============================================================================
88
+ /**
89
+ * One event, as every view draws it.
90
+ *
91
+ * @property kind - Its kind's slot name
92
+ * @property key - Its record key's text
93
+ * @property title - Its title
94
+ * @property start - When it starts; `none` in the backlog
95
+ * @property end - When it ends; `none` in the backlog
96
+ * @property resource - The resource it is on, if any
97
+ * @property status - Its status, as its kind's `status` shows it
98
+ * @property minutes - Its length in minutes, or a backlog row's duration (a month counts 30 days)
99
+ * @property due - When it is due, for a backlog row
100
+ */
101
+ export const ScheduleItemType = StructType({
102
+ kind: StringType,
103
+ key: StringType,
104
+ title: StringType,
105
+ start: OptionType(DateTimeType),
106
+ end: OptionType(DateTimeType),
107
+ resource: OptionType(ScheduleResourceRefType),
108
+ status: OptionType(ScheduleStatusType),
109
+ minutes: IntegerType,
110
+ due: OptionType(DateTimeType),
111
+ });
112
+ /**
113
+ * One field written into an event: its path, and its new value as bytes at
114
+ * the field's type — what an inspector edit writes, and each field a library
115
+ * card's drop sets (#1195).
116
+ *
117
+ * @property path - The field's path, a step per struct
118
+ * @property value - Its new value, as bytes at the field's type
119
+ */
120
+ export const ScheduleFieldWriteType = StructType({ path: ArrayType(StringType), value: BlobType });
121
+ /**
122
+ * One gesture, as `write` takes it.
123
+ *
124
+ * @property place - A move, a resize or a schedule: the start, the end and the resource
125
+ * @property unplace - Back to the backlog: no start and no end
126
+ * @property field - An inspector edit: the field's path and its new value, as bytes at the field's type
127
+ * @property create - A template dropped: its key, and where the new event goes
128
+ */
129
+ export const ScheduleGestureType = VariantType({
130
+ place: StructType({ start: DateTimeType, end: DateTimeType, resource: OptionType(ScheduleResourceRefType) }),
131
+ unplace: NullType,
132
+ field: ScheduleFieldWriteType,
133
+ create: StructType({ template: StringType, start: DateTimeType, end: DateTimeType, resource: OptionType(ScheduleResourceRefType) }),
134
+ });
135
+ /**
136
+ * One gesture, written into one entry through the kind's field names.
137
+ *
138
+ * @property id - The entry's id: its key's text
139
+ * @property entry - The entry as the gesture finds it, as bytes at the record's entry type; empty for a `create`
140
+ * @property gesture - The gesture
141
+ */
142
+ export const ScheduleWriteType = StructType({ id: StringType, entry: BlobType, gesture: ScheduleGestureType });
143
+ /**
144
+ * One template, as the library lists it and a drop creates from it.
145
+ *
146
+ * @property key - Unique within its kind
147
+ * @property name - The card's name
148
+ * @property group - The library's group for it
149
+ * @property at - When it starts if dropped on a whole day
150
+ * @property duration - How long it runs
151
+ * @property values - A value for every field but the start, the end and the resource, as bytes
152
+ */
153
+ export const ScheduleTemplateType = StructType({
154
+ key: StringType,
155
+ name: StringType,
156
+ group: OptionType(StringType),
157
+ at: OptionType(ScheduleClockType),
158
+ duration: ScheduleDurationType,
159
+ values: BlobType,
160
+ });
161
+ /**
162
+ * The drafts a seam reads, by entry id: each the entry's draft, as bytes at
163
+ * the kind's draft type (`Editing.Types.DraftField(R)`) — `value` the entry
164
+ * as drafted, `missing` an entry deleted.
165
+ */
166
+ export const ScheduleDraftsType = DictType(StringType, BlobType);
167
+ /**
168
+ * One drafted entry, as a kind's `ready` reads it.
169
+ *
170
+ * @property id - The entry's id: its key's text
171
+ * @property entry - The drafted entry, as bytes at the record's entry type
172
+ */
173
+ export const ScheduleReadyEntryType = StructType({ id: StringType, entry: BlobType });
174
+ /**
175
+ * A kind's record read by key, for a kind read a window at a time (#1199):
176
+ * what its editing session's base is — the record's revision — and how one
177
+ * event is read without the record whole.
178
+ *
179
+ * @property revision - The record's revision, `none` while it resolves: the snapshot every read of the record is at
180
+ * @property refresh - Moves every read of the record to a revision, or to the one it holds now
181
+ * @property entry - One event by its key's text: `none` while its read is in flight, `some(none)` for a key the record does not hold, else its row as bytes at the record's entry type
182
+ * @property last - The record's largest key's text — how a new Integer key is made past every key it holds: `none` while its read is in flight, `some(none)` for an empty record
183
+ */
184
+ export const ScheduleEntriesType = StructType({
185
+ revision: FunctionType([], OptionType(StringType)),
186
+ refresh: FunctionType([OptionType(StringType)], NullType),
187
+ entry: FunctionType([StringType], OptionType(OptionType(BlobType))),
188
+ last: FunctionType([], OptionType(OptionType(StringType))),
189
+ });
190
+ /**
191
+ * Whether two events of a kind on one resource at once are a conflict.
192
+ *
193
+ * @property warn - They are: both wear a warn ring, and the overlaps count them (the default)
194
+ * @property allow - They are not: the kind's events run in parallel
195
+ */
196
+ export const ScheduleOverlapsType = VariantType({ warn: NullType, allow: NullType });
197
+ /** One event and its full record row, read with the current drafts in place. */
198
+ export const ScheduleReadType = StructType({ item: ScheduleItemType, row: BlobType });
199
+ /** The fields whose edits are owned by the schedule section of an inspector. */
200
+ export const ScheduleRolesType = StructType({
201
+ title: StringType, start: StringType, end: StringType,
202
+ resource: OptionType(StringType), status: OptionType(StringType),
203
+ });
204
+ /**
205
+ * One event kind, closed: every row crosses as bytes at the record's own entry
206
+ * type, so a builder's payload is one type whatever the records hold.
207
+ *
208
+ * @property key - The kind's slot name
209
+ * @property name - Its name
210
+ * @property icon - Its Font Awesome icon
211
+ * @property takes - The resource kinds its events may be on
212
+ * @property status - How each case of its status shows
213
+ * @property backlog - Whether its rows with no time are its backlog
214
+ * @property templates - Its templates, for the library
215
+ * @property fields - The inspector's form over its other fields (`Fields`)
216
+ * @property items - Its events overlapping `[from, to)`, the drafts in place; `none` while a read is in flight
217
+ * @property unscheduled - Its backlog: the rows with no time, the drafts in place
218
+ * @property write - Each gesture into its entry's new bytes; `none` for a gesture the kind refuses
219
+ * @property ready - The author's check over drafted entries, one result each
220
+ * @property editing - The shared session over the record: its entry and key types, and its patch door — its base the record's snapshot, or for a kind read a window at a time (#1199) its revision
221
+ * @property entries - The record read by key, for a kind read a window at a time (#1199); `none` for a kind read whole
222
+ * @property history - The record's commits, newest first
223
+ */
224
+ export const ScheduleKindType = StructType({
225
+ key: StringType,
226
+ name: StringType,
227
+ icon: StringType,
228
+ takes: ArrayType(StringType),
229
+ status: ArrayType(StructType({ case: StringType, status: ScheduleStatusType })),
230
+ backlog: BooleanType,
231
+ templates: ArrayType(ScheduleTemplateType),
232
+ fields: ArrayType(FieldSpecType),
233
+ items: FunctionType([DateTimeType, DateTimeType, ScheduleDraftsType], OptionType(ArrayType(ScheduleItemType))),
234
+ unscheduled: FunctionType([ScheduleDraftsType], OptionType(ArrayType(ScheduleItemType))),
235
+ write: FunctionType([ArrayType(ScheduleWriteType)], ArrayType(OptionType(BlobType))),
236
+ ready: OptionType(FunctionType([ArrayType(ScheduleReadyEntryType)], ArrayType(EditingReadinessType))),
237
+ editing: EditingType,
238
+ entries: OptionType(ScheduleEntriesType),
239
+ history: FunctionType([], OptionType(ArrayType(RecordCommitInfoType))),
240
+ /** One event and its row, read from the window or by key, with drafts applied. */
241
+ event: FunctionType([StringType, ScheduleDraftsType, DateTimeType, DateTimeType], OptionType(ScheduleReadType)),
242
+ /** The inspector's schedule fields. */
243
+ schedule: ScheduleRolesType,
244
+ /** Whether this kind participates in overlap warnings. */
245
+ overlaps: ScheduleOverlapsType,
246
+ /** The author's form in place of the default fields. */
247
+ inspector: OptionType(RowInspectorType),
248
+ });
249
+ /**
250
+ * One resource, resolved.
251
+ *
252
+ * @property key - Its key's text
253
+ * @property label - Its name
254
+ * @property meta - Its second line
255
+ */
256
+ export const ScheduleResourceRowType = StructType({ key: StringType, label: StringType, meta: OptionType(StringType) });
257
+ /**
258
+ * One resource kind, its rows resolved.
259
+ *
260
+ * @property key - The kind's slot name
261
+ * @property name - Its name
262
+ * @property icon - Its Font Awesome icon
263
+ * @property rows - Its resources, in key order
264
+ */
265
+ export const ScheduleResourcesType = StructType({
266
+ key: StringType,
267
+ name: StringType,
268
+ icon: StringType,
269
+ rows: ArrayType(ScheduleResourceRowType),
270
+ });
271
+ // ============================================================================
272
+ // The kinds as Plan's builder takes them (#1190)
273
+ // ============================================================================
274
+ /**
275
+ * One event as Plan draws it: what every view draws ({@link ScheduleItemType}),
276
+ * with its lifecycle, its quantity and its lane.
277
+ *
278
+ * @property state - The lifecycle it wears, from its kind's `state` field; confirmed when the kind has none
279
+ * @property quantity - Its kind's `quantity` field, with the kind's unit and format: what a bar prints and a parent's rollup sums
280
+ * @property lane - The lane its tile sits in, from its kind's `lane` field
281
+ */
282
+ export const PlanEventItemType = StructType({
283
+ ...ScheduleItemType.fields,
284
+ state: EventStateType,
285
+ quantity: OptionType(PlanQuantityType),
286
+ lane: OptionType(StringType),
287
+ });
288
+ /**
289
+ * One event read by its key, as a Plan's inspector shows it (#1197).
290
+ *
291
+ * @property item - The event as Plan draws it
292
+ * @property row - Its row, as bytes at the record's entry type: what the kind's form and its own inspector read
293
+ */
294
+ export const PlanEventReadType = StructType({ item: PlanEventItemType, row: BlobType });
295
+ /**
296
+ * The fields an event kind's roles read on a Plan, by name: what a gesture
297
+ * writes to change one (a `field` gesture's path), and what the inspector
298
+ * draws in its own sections rather than in the kind's form.
299
+ *
300
+ * @property state - The `EventStateType` field
301
+ * @property quantity - The `Float` quantity field
302
+ * @property lane - The `String` lane field
303
+ */
304
+ export const PlanEventRolesType = StructType({
305
+ state: OptionType(StringType),
306
+ quantity: OptionType(StringType),
307
+ lane: OptionType(StringType),
308
+ });
309
+ /**
310
+ * One event kind as Plan's builder takes it: the Calendar's closed kind
311
+ * ({@link ScheduleKindType}), field for field, with how the kind draws and its
312
+ * roles, its events as Plan draws them, and its own inspector.
313
+ *
314
+ * @property draw - How it draws: bars, tiles, chips or marks
315
+ * @property instant - Whether each of its events is one instant (`at`), its start and its end the same
316
+ * @property overlaps - Whether two of its events on one resource at once are a conflict
317
+ * @property roles - The fields its roles read
318
+ * @property planItems - Its events overlapping `[from, to)` as Plan draws them, the drafts in place; `none` while a read is in flight
319
+ * @property planUnscheduled - Its backlog as Plan draws it, the drafts in place
320
+ * @property planEvent - One event by its key's text, the drafts in place (#1197): as Plan draws it, and its row; `none` when there is no such event. A kind read a window at a time (#1199) looks for it first among the rows its windows hold over `[from, to)` — the range the canvas reads, where a gesture's event is drawn — and its backlog's, then reads it by its key, `none` while that read is in flight; a kind read whole takes no notice of the range
321
+ * @property inspector - Its own inspector for one event (PB60, #1197): the event's row and a writer of the edited row, as bytes, to what the inspector shows in place of the kind's form; `none`, the form
322
+ */
323
+ export const PlanEventKindType = StructType({
324
+ ...ScheduleKindType.fields,
325
+ draw: PlanDrawType,
326
+ instant: BooleanType,
327
+ overlaps: ScheduleOverlapsType,
328
+ roles: PlanEventRolesType,
329
+ planItems: FunctionType([DateTimeType, DateTimeType, ScheduleDraftsType], OptionType(ArrayType(PlanEventItemType))),
330
+ planUnscheduled: FunctionType([ScheduleDraftsType], OptionType(ArrayType(PlanEventItemType))),
331
+ planEvent: FunctionType([StringType, ScheduleDraftsType, DateTimeType, DateTimeType], OptionType(PlanEventReadType)),
332
+ inspector: OptionType(RowInspectorType),
333
+ });
334
+ /**
335
+ * One resource as Plan's builder takes it: what every view draws
336
+ * ({@link ScheduleResourceRowType}), with where it sits and its gutter.
337
+ *
338
+ * @property group - The group strip it sits under (a hall); `none` when the kind has no `group`
339
+ * @property parent - The key's text of the resource of its kind it nests under
340
+ * @property sub - The gutter's sub line
341
+ * @property value - The gutter's value slot
342
+ * @property status - The gutter's status dot
343
+ * @property collapsed - Whether it starts folded, when it has resources under it
344
+ */
345
+ export const PlanResourceRowType = StructType({
346
+ ...ScheduleResourceRowType.fields,
347
+ group: OptionType(StringType),
348
+ parent: OptionType(StringType),
349
+ sub: OptionType(StringType),
350
+ value: OptionType(StringType),
351
+ status: OptionType(StatusValueType),
352
+ collapsed: BooleanType,
353
+ });
354
+ /**
355
+ * One resource kind as Plan's builder takes it, its rows resolved.
356
+ *
357
+ * @property key - The kind's slot name
358
+ * @property name - Its name
359
+ * @property icon - Its Font Awesome icon
360
+ * @property rollup - How a parent's bands roll its children's events up
361
+ * @property measures - Its measures' keys, in order: the rows under each of its resources, each at its resource's path (#1197)
362
+ * @property rows - Its resources, in key order — none for a kind paged a window at a time (#1199)
363
+ * @property byKey - A paged kind's resource by its key's text (#1199): its window's key search for the key, then a one-row page, as Plan's builder takes it — `none` while either is in flight, `some(none)` for a key the kind does not have; `none` for a kind whose rows are listed
364
+ */
365
+ export const PlanResourcesType = StructType({
366
+ key: StringType,
367
+ name: StringType,
368
+ icon: StringType,
369
+ rollup: PlanRollupType,
370
+ measures: ArrayType(StringType),
371
+ rows: ArrayType(PlanResourceRowType),
372
+ byKey: OptionType(FunctionType([StringType], OptionType(OptionType(PlanResourceRowType)))),
373
+ });
374
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/schedule/types.ts"],"names":[],"mappings":"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"}
@@ -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 window reader (#1199, `Calendar Spec.md` decision 9 and §3.4, `Plan
7
+ * Builder Spec.md` §9.11, PB54): an event kind's large record read a window
8
+ * at a time, through its record indexes, never whole — the days in view
9
+ * through an index on the days each event touches (`Schedule.days`), and the
10
+ * backlog through an index on the rows with no start (`Schedule.unscheduled`).
11
+ * The Calendar's windowed reads (#1156) and the Plan's are this one reader: a
12
+ * kind's seams read through it when the kind is given `window` or
13
+ * `backlogWindow`, and the record whole otherwise.
14
+ *
15
+ * - **A window** is a `Data.bindPaged(record, { index, join: true })` handle:
16
+ * its pages are the index's entries in the index's own order, each
17
+ * `{ ik, key, value, row }`, its `seek` the index's key search, and its
18
+ * revision the record's state, so a Save that moves the record moves the
19
+ * window, which reads again. Its type is checked at build
20
+ * ({@link checkIndexWindow}). Whether it joins each entry to its row can't
21
+ * be told from its type, so a read that meets an entry with no row refuses,
22
+ * naming `join: true`.
23
+ * - **The days of `[from, to)`**: the midnight of the first day is sought in
24
+ * the index (a `range` from it), and the pages are read from the one holding
25
+ * that row — each page from its start to the next page's, at the reader's
26
+ * own page size, so the pages a pan read before are the runtime's again —
27
+ * until an entry filed under a day the window does not reach, or the
28
+ * index's end. An event filed under several of the days is kept once, by
29
+ * its key.
30
+ * - **The backlog**: every page of the backlog index, from its start.
31
+ * - **One event by its key** — the inspector's, a draft's original, a Save's
32
+ * entries read back and a conflict's — through a paged read of the record's
33
+ * own entries (`entries`, `Data.bindPaged(record)`): its key sought, then a
34
+ * one-row page at the row the search found ({@link scheduleEntryByKey}).
35
+ * The index windows can't be sought by the record's key, as their key leads
36
+ * with the index's, and a kind can't open a read of the record's own entries
37
+ * itself: a paged read is declared where it is bound, which is what lets a
38
+ * `ui()` task read it at all.
39
+ * - **In flight**, the search or a page answers `none`, and so does the read:
40
+ * the reader keeps nothing between reads, and the read that asked is asked
41
+ * again when it lands.
42
+ *
43
+ * @packageDocumentation
44
+ */
45
+ import { DateTimeType, DictType, NullType, OptionType, StringType, VariantType, type EastType, type ExprType, type FunctionType } from "@elaraai/east";
46
+ /**
47
+ * How many index entries the reader asks for at a time: each read starts at a
48
+ * whole multiple of it and ends at the next, so two windows that share a page
49
+ * share its read.
50
+ */
51
+ export declare const SCHEDULE_INDEX_PAGE = 256n;
52
+ /** Which of a kind's windows: the days in view, or the backlog. */
53
+ export type ScheduleWindowProp = "window" | "backlogWindow";
54
+ /**
55
+ * Checks a kind's `window` or `backlogWindow` at build: a paged read of an
56
+ * index over the kind's own record, whose pages serve the index's entries —
57
+ * `Array<{ ik, key, value, row: Option<R> }>`, `ik` the index's key (a
58
+ * `DateTime` day for `window`, an `Option<DateTime>` due date for
59
+ * `backlogWindow`), `key` the record's key and `row` its row.
60
+ *
61
+ * @param window - The window, as the author gave it
62
+ * @param prop - Which window it is
63
+ * @param keyType - The record's key type
64
+ * @param rowType - The record's row type
65
+ * @param ik - The index key the window's entries are filed under
66
+ * @param where - The kind, as a refusal names it
67
+ * @returns The window, as an East expression
68
+ * @throws {Error} Naming the window, the index it reads through and what it serves instead
69
+ */
70
+ export declare function checkIndexWindow(window: unknown, prop: ScheduleWindowProp, keyType: EastType, rowType: EastType, ik: EastType, where: string): ExprType<EastType>;
71
+ /**
72
+ * The words a read refuses a window in when it meets an entry with no row:
73
+ * the window reads the index alone, not each entry's row.
74
+ *
75
+ * @param where - The kind, as a refusal names it
76
+ * @param prop - Which window it is
77
+ * @returns The refusal
78
+ */
79
+ export declare function joinRefusal(where: string, prop: ScheduleWindowProp): string;
80
+ /**
81
+ * Reads the days of `[from, to)` through a kind's day index (see the module
82
+ * docs): the rows filed under them, each once, by the record's key.
83
+ *
84
+ * @param window - The kind's `window`, checked ({@link checkIndexWindow})
85
+ * @param keyType - The record's key type
86
+ * @param rowType - The record's row type
87
+ * @param where - The kind, as a refusal names it
88
+ * @returns `(from, to)` → the rows, by key; `none` while the search or a page is in flight
89
+ */
90
+ export declare function scheduleDayWindow(window: ExprType<EastType>, keyType: EastType, rowType: EastType, where: string): ExprType<FunctionType<[DateTimeType, DateTimeType], OptionType<DictType<EastType, EastType>>>>;
91
+ /**
92
+ * Reads a kind's backlog through its backlog index (see the module docs):
93
+ * the rows the index files, each once, by the record's key.
94
+ *
95
+ * @param window - The kind's `backlogWindow`, checked ({@link checkIndexWindow})
96
+ * @param keyType - The record's key type
97
+ * @param rowType - The record's row type
98
+ * @param where - The kind, as a refusal names it
99
+ * @returns `()` → the rows, by key; `none` while a page is in flight
100
+ */
101
+ export declare function scheduleBacklogWindow(window: ExprType<EastType>, keyType: EastType, rowType: EastType, where: string): ExprType<FunctionType<[], OptionType<DictType<EastType, EastType>>>>;
102
+ /**
103
+ * Checks a paged read of a record's own entries at build (#1199): the record's
104
+ * entries by key, `Data.bindPaged(record)`, which names the snapshot its reads
105
+ * are at — what a kind given `window` reads one event by, and a paged resource
106
+ * kind its resources.
107
+ *
108
+ * @param entries - The read, as the author gave it
109
+ * @param keyType - The record's key type
110
+ * @param rowType - The record's row type
111
+ * @param where - What reads it, as a refusal names it: the option and its kind
112
+ * @returns The read, as an East expression
113
+ * @throws {Error} Naming what it serves instead: the entries whole, an index's window, another collection, or a read that names no snapshot
114
+ */
115
+ export declare function checkEntries(entries: unknown, keyType: EastType, rowType: EastType, where: string): ExprType<EastType>;
116
+ /**
117
+ * One entry of a record read by its key (#1199): its read still in flight, the
118
+ * key the record does not hold, or the entry held — its row.
119
+ *
120
+ * @param rowType - The record's row type
121
+ * @returns The variant
122
+ */
123
+ export declare function ScheduleKeyReadType<R extends EastType>(rowType: R): VariantType<{
124
+ reading: NullType;
125
+ absent: NullType;
126
+ held: R;
127
+ }>;
128
+ /**
129
+ * Reads one entry of a record by its key through a paged read of the record's
130
+ * own entries (#1199): the key sought — the `.east` literal of the key its text
131
+ * names — then a one-row page at the row the search found.
132
+ *
133
+ * @param entries - The read, checked ({@link checkEntries})
134
+ * @param keyType - The record's key type
135
+ * @param rowType - The record's row type
136
+ * @returns `(id)` → the entry's row, held; `absent` for a key the record does not hold; `reading` while the search or the page is in flight
137
+ */
138
+ export declare function scheduleEntryByKey(entries: ExprType<EastType>, keyType: EastType, rowType: EastType): ExprType<FunctionType<[StringType], VariantType<{
139
+ reading: NullType;
140
+ absent: NullType;
141
+ held: EastType;
142
+ }>>>;
143
+ /**
144
+ * Reads the largest key of a record through a paged read of its own entries
145
+ * (#1199) — the last entry, as the read serves them in key order: how a new
146
+ * Integer key is made past every key the record holds, which no window of it
147
+ * says.
148
+ *
149
+ * @param entries - The read, checked ({@link checkEntries})
150
+ * @param keyType - The record's key type
151
+ * @returns `()` → `some(some(text))`, the largest key's text; `some(none)` for an empty record; `none` while a read is in flight
152
+ */
153
+ export declare function scheduleLastKey(entries: ExprType<EastType>, keyType: EastType): ExprType<FunctionType<[], OptionType<OptionType<StringType>>>>;
154
+ //# sourceMappingURL=window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/schedule/window.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EACH,YAAY,EAAE,QAAQ,EAA2B,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAC9E,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAClE,MAAM,eAAe,CAAC;AAIvB;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAWxC,mEAAmE;AACnE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,eAAe,CAAC;AAoB5D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAC7G,QAAQ,CAAC,QAAQ,CAAC,CAkBpB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAG3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAChF,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAgEhG;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAmCtE;AAaD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAatH;AASD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAEjI;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAClE,QAAQ,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC,CAAC,CAqC5G;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC3B,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,GAC/C,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAuBhE"}