@elaraai/east-ui 1.0.85 → 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 (561) hide show
  1. package/dist/src/buttons/button/index.d.ts +4 -0
  2. package/dist/src/buttons/button/index.d.ts.map +1 -1
  3. package/dist/src/buttons/button/index.js +8 -1
  4. package/dist/src/buttons/button/index.js.map +1 -1
  5. package/dist/src/buttons/button/types.d.ts +6 -5
  6. package/dist/src/buttons/button/types.d.ts.map +1 -1
  7. package/dist/src/buttons/button/types.js.map +1 -1
  8. package/dist/src/buttons/icon-button/index.d.ts +5 -5
  9. package/dist/src/buttons/icon-button/index.d.ts.map +1 -1
  10. package/dist/src/buttons/icon-button/index.js +8 -2
  11. package/dist/src/buttons/icon-button/index.js.map +1 -1
  12. package/dist/src/buttons/icon-button/types.d.ts +8 -12
  13. package/dist/src/buttons/icon-button/types.d.ts.map +1 -1
  14. package/dist/src/buttons/icon-button/types.js +2 -2
  15. package/dist/src/buttons/icon-button/types.js.map +1 -1
  16. package/dist/src/buttons/toggle/index.d.ts +4 -0
  17. package/dist/src/buttons/toggle/index.d.ts.map +1 -1
  18. package/dist/src/buttons/toggle/index.js +6 -1
  19. package/dist/src/buttons/toggle/index.js.map +1 -1
  20. package/dist/src/buttons/toggle/types.d.ts +3 -2
  21. package/dist/src/buttons/toggle/types.d.ts.map +1 -1
  22. package/dist/src/buttons/toggle/types.js.map +1 -1
  23. package/dist/src/charts/chart/index.d.ts.map +1 -1
  24. package/dist/src/charts/chart/index.js +3 -3
  25. package/dist/src/charts/chart/index.js.map +1 -1
  26. package/dist/src/charts/spec/index.d.ts.map +1 -1
  27. package/dist/src/charts/spec/index.js +5 -2
  28. package/dist/src/charts/spec/index.js.map +1 -1
  29. package/dist/src/collections/deck/index.d.ts.map +1 -1
  30. package/dist/src/collections/deck/index.js +2 -2
  31. package/dist/src/collections/deck/index.js.map +1 -1
  32. package/dist/src/collections/index.d.ts +0 -6
  33. package/dist/src/collections/index.d.ts.map +1 -1
  34. package/dist/src/collections/index.js +0 -6
  35. package/dist/src/collections/index.js.map +1 -1
  36. package/dist/src/collections/library/index.d.ts +1 -1
  37. package/dist/src/collections/library/index.d.ts.map +1 -1
  38. package/dist/src/collections/library/index.js +2 -2
  39. package/dist/src/collections/library/index.js.map +1 -1
  40. package/dist/src/collections/schematic/index.d.ts.map +1 -1
  41. package/dist/src/collections/schematic/index.js +2 -2
  42. package/dist/src/collections/schematic/index.js.map +1 -1
  43. package/dist/src/collections/table/index.d.ts +1 -1
  44. package/dist/src/collections/table/index.d.ts.map +1 -1
  45. package/dist/src/collections/table/index.js +2 -2
  46. package/dist/src/collections/table/index.js.map +1 -1
  47. package/dist/src/collections/tree-view/index.d.ts +11 -32
  48. package/dist/src/collections/tree-view/index.d.ts.map +1 -1
  49. package/dist/src/collections/tree-view/index.js +15 -10
  50. package/dist/src/collections/tree-view/index.js.map +1 -1
  51. package/dist/src/component.d.ts +673 -9344
  52. package/dist/src/component.d.ts.map +1 -1
  53. package/dist/src/component.js +5 -259
  54. package/dist/src/component.js.map +1 -1
  55. package/dist/src/contracts/approval.d.ts +6 -8
  56. package/dist/src/contracts/approval.d.ts.map +1 -1
  57. package/dist/src/contracts/approval.js +6 -8
  58. package/dist/src/contracts/approval.js.map +1 -1
  59. package/dist/src/contracts/drag.d.ts +1 -1
  60. package/dist/src/contracts/drag.d.ts.map +1 -1
  61. package/dist/src/contracts/drag.js +4 -5
  62. package/dist/src/contracts/drag.js.map +1 -1
  63. package/dist/src/contracts/editing.d.ts +19 -19
  64. package/dist/src/contracts/editing.js +14 -14
  65. package/dist/src/contracts/fields.d.ts +471 -0
  66. package/dist/src/contracts/fields.d.ts.map +1 -0
  67. package/dist/src/contracts/fields.js +492 -0
  68. package/dist/src/contracts/fields.js.map +1 -0
  69. package/dist/src/contracts/index.d.ts +1 -0
  70. package/dist/src/contracts/index.d.ts.map +1 -1
  71. package/dist/src/contracts/index.js +1 -0
  72. package/dist/src/contracts/index.js.map +1 -1
  73. package/dist/src/contracts/indexed-source.d.ts +118 -0
  74. package/dist/src/contracts/indexed-source.d.ts.map +1 -0
  75. package/dist/src/contracts/indexed-source.js +89 -0
  76. package/dist/src/contracts/indexed-source.js.map +1 -0
  77. package/dist/src/contracts/pick.d.ts +0 -16
  78. package/dist/src/contracts/pick.d.ts.map +1 -1
  79. package/dist/src/contracts/review.d.ts +4 -6
  80. package/dist/src/contracts/review.d.ts.map +1 -1
  81. package/dist/src/contracts/review.js +4 -6
  82. package/dist/src/contracts/review.js.map +1 -1
  83. package/dist/src/contracts/source.d.ts +2 -2
  84. package/dist/src/contracts/source.d.ts.map +1 -1
  85. package/dist/src/contracts/source.js.map +1 -1
  86. package/dist/src/contracts/states.d.ts +1 -3
  87. package/dist/src/contracts/states.d.ts.map +1 -1
  88. package/dist/src/contracts/states.js +1 -3
  89. package/dist/src/contracts/states.js.map +1 -1
  90. package/dist/src/display/editable-chip/index.d.ts +2 -0
  91. package/dist/src/display/editable-chip/index.d.ts.map +1 -1
  92. package/dist/src/display/editable-chip/index.js +4 -1
  93. package/dist/src/display/editable-chip/index.js.map +1 -1
  94. package/dist/src/display/icon/index.d.ts +14 -31
  95. package/dist/src/display/icon/index.d.ts.map +1 -1
  96. package/dist/src/display/icon/index.js +15 -19
  97. package/dist/src/display/icon/index.js.map +1 -1
  98. package/dist/src/display/icon/solid.d.ts +24 -0
  99. package/dist/src/display/icon/solid.d.ts.map +1 -0
  100. package/dist/src/display/icon/solid.js +39 -0
  101. package/dist/src/display/icon/solid.js.map +1 -0
  102. package/dist/src/display/icon/types.d.ts +14 -38
  103. package/dist/src/display/icon/types.d.ts.map +1 -1
  104. package/dist/src/display/icon/types.js +6 -15
  105. package/dist/src/display/icon/types.js.map +1 -1
  106. package/dist/src/display/metric-chip/index.d.ts +2 -0
  107. package/dist/src/display/metric-chip/index.d.ts.map +1 -1
  108. package/dist/src/display/metric-chip/index.js +4 -1
  109. package/dist/src/display/metric-chip/index.js.map +1 -1
  110. package/dist/src/display/stat/index.d.ts +2 -0
  111. package/dist/src/display/stat/index.d.ts.map +1 -1
  112. package/dist/src/display/stat/index.js +4 -1
  113. package/dist/src/display/stat/index.js.map +1 -1
  114. package/dist/src/display/stat/types.d.ts +3 -5
  115. package/dist/src/display/stat/types.d.ts.map +1 -1
  116. package/dist/src/display/stat/types.js +5 -2
  117. package/dist/src/display/stat/types.js.map +1 -1
  118. package/dist/src/feedback/banner/index.d.ts +5 -3
  119. package/dist/src/feedback/banner/index.d.ts.map +1 -1
  120. package/dist/src/feedback/banner/index.js +4 -1
  121. package/dist/src/feedback/banner/index.js.map +1 -1
  122. package/dist/src/feedback/empty-state/index.d.ts +16 -19
  123. package/dist/src/feedback/empty-state/index.d.ts.map +1 -1
  124. package/dist/src/feedback/empty-state/index.js +17 -10
  125. package/dist/src/feedback/empty-state/index.js.map +1 -1
  126. package/dist/src/feedback/status/index.d.ts +5 -3
  127. package/dist/src/feedback/status/index.d.ts.map +1 -1
  128. package/dist/src/feedback/status/index.js +4 -1
  129. package/dist/src/feedback/status/index.js.map +1 -1
  130. package/dist/src/index.d.ts +5 -6
  131. package/dist/src/index.d.ts.map +1 -1
  132. package/dist/src/index.js +12 -11
  133. package/dist/src/index.js.map +1 -1
  134. package/dist/src/internal.d.ts +23 -16
  135. package/dist/src/internal.d.ts.map +1 -1
  136. package/dist/src/internal.js +29 -13
  137. package/dist/src/internal.js.map +1 -1
  138. package/dist/src/navigation/index.d.ts +0 -2
  139. package/dist/src/navigation/index.d.ts.map +1 -1
  140. package/dist/src/navigation/index.js +0 -2
  141. package/dist/src/navigation/index.js.map +1 -1
  142. package/dist/src/navigation/nav-list/index.d.ts +2 -0
  143. package/dist/src/navigation/nav-list/index.d.ts.map +1 -1
  144. package/dist/src/navigation/nav-list/index.js +4 -1
  145. package/dist/src/navigation/nav-list/index.js.map +1 -1
  146. package/dist/src/navigation/nav-list/types.d.ts +3 -14
  147. package/dist/src/navigation/nav-list/types.d.ts.map +1 -1
  148. package/dist/src/navigation/nav-list/types.js.map +1 -1
  149. package/dist/src/overlays/command-palette/index.d.ts +2 -0
  150. package/dist/src/overlays/command-palette/index.d.ts.map +1 -1
  151. package/dist/src/overlays/command-palette/index.js +5 -0
  152. package/dist/src/overlays/command-palette/index.js.map +1 -1
  153. package/dist/src/overlays/command-palette/types.d.ts +0 -8
  154. package/dist/src/overlays/command-palette/types.d.ts.map +1 -1
  155. package/dist/src/pick/index.d.ts +1 -17
  156. package/dist/src/pick/index.d.ts.map +1 -1
  157. package/dist/src/pick/index.js +1 -1
  158. package/dist/src/platform/slice/index.d.ts +1324 -2039
  159. package/dist/src/platform/slice/index.d.ts.map +1 -1
  160. package/dist/src/platform/slice/index.js +55 -74
  161. package/dist/src/platform/slice/index.js.map +1 -1
  162. package/dist/src/platform/slice/local.d.ts +743 -0
  163. package/dist/src/platform/slice/local.d.ts.map +1 -0
  164. package/dist/src/platform/slice/local.js +133 -0
  165. package/dist/src/platform/slice/local.js.map +1 -0
  166. package/dist/src/platform/slice/record-chrome.d.ts +211 -0
  167. package/dist/src/platform/slice/record-chrome.d.ts.map +1 -0
  168. package/dist/src/platform/slice/record-chrome.js +52 -0
  169. package/dist/src/platform/slice/record-chrome.js.map +1 -0
  170. package/dist/src/platform/slice/record-interval.d.ts +24 -0
  171. package/dist/src/platform/slice/record-interval.d.ts.map +1 -0
  172. package/dist/src/platform/slice/record-interval.js +61 -0
  173. package/dist/src/platform/slice/record-interval.js.map +1 -0
  174. package/dist/src/platform/slice/record-plan.d.ts +54 -0
  175. package/dist/src/platform/slice/record-plan.d.ts.map +1 -0
  176. package/dist/src/platform/slice/record-plan.js +139 -0
  177. package/dist/src/platform/slice/record-plan.js.map +1 -0
  178. package/dist/src/platform/slice/record-types.d.ts +2739 -0
  179. package/dist/src/platform/slice/record-types.d.ts.map +1 -0
  180. package/dist/src/platform/slice/record-types.js +209 -0
  181. package/dist/src/platform/slice/record-types.js.map +1 -0
  182. package/dist/src/platform/slice/record.d.ts +109 -0
  183. package/dist/src/platform/slice/record.d.ts.map +1 -0
  184. package/dist/src/platform/slice/record.js +210 -0
  185. package/dist/src/platform/slice/record.js.map +1 -0
  186. package/dist/src/reactive/match.d.ts +4 -6
  187. package/dist/src/reactive/match.d.ts.map +1 -1
  188. package/dist/src/reactive/match.js +4 -6
  189. package/dist/src/reactive/match.js.map +1 -1
  190. package/dist/src/runtime/collections/deck.d.ts.map +1 -1
  191. package/dist/src/runtime/collections/index.d.ts +0 -6
  192. package/dist/src/runtime/collections/index.d.ts.map +1 -1
  193. package/dist/src/runtime/collections/index.js +0 -6
  194. package/dist/src/runtime/collections/index.js.map +1 -1
  195. package/dist/src/runtime/display/icon.d.ts +6 -5
  196. package/dist/src/runtime/display/icon.d.ts.map +1 -1
  197. package/dist/src/runtime/display/icon.js +6 -5
  198. package/dist/src/runtime/display/icon.js.map +1 -1
  199. package/dist/src/runtime/feedback/empty-state.d.ts +5 -5
  200. package/dist/src/runtime/feedback/empty-state.js +5 -5
  201. package/dist/src/runtime/layout/dock.d.ts +2 -1
  202. package/dist/src/runtime/layout/dock.d.ts.map +1 -1
  203. package/dist/src/runtime/layout/dock.js +2 -1
  204. package/dist/src/runtime/layout/dock.js.map +1 -1
  205. package/dist/src/runtime/navigation/index.d.ts +0 -3
  206. package/dist/src/runtime/navigation/index.d.ts.map +1 -1
  207. package/dist/src/runtime/navigation/index.js +0 -3
  208. package/dist/src/runtime/navigation/index.js.map +1 -1
  209. package/dist/src/runtime/reactive/match.d.ts +2 -3
  210. package/dist/src/runtime/reactive/match.d.ts.map +1 -1
  211. package/dist/src/runtime/reactive/match.js +2 -3
  212. package/dist/src/runtime/reactive/match.js.map +1 -1
  213. package/dist/src/runtime/record-slice-source.d.ts +78 -0
  214. package/dist/src/runtime/record-slice-source.d.ts.map +1 -0
  215. package/dist/src/runtime/record-slice-source.js +201 -0
  216. package/dist/src/runtime/record-slice-source.js.map +1 -0
  217. package/dist/src/runtime/record-slice.d.ts +110 -0
  218. package/dist/src/runtime/record-slice.d.ts.map +1 -0
  219. package/dist/src/runtime/record-slice.js +374 -0
  220. package/dist/src/runtime/record-slice.js.map +1 -0
  221. package/dist/src/runtime/slice.d.ts +11 -13
  222. package/dist/src/runtime/slice.d.ts.map +1 -1
  223. package/dist/src/runtime/slice.js +41 -93
  224. package/dist/src/runtime/slice.js.map +1 -1
  225. package/dist/src/shared/plot-gutter.d.ts +1 -1
  226. package/dist/src/shared/plot-gutter.js +1 -1
  227. package/dist/src/shared/resolve-tag.d.ts +23 -0
  228. package/dist/src/shared/resolve-tag.d.ts.map +1 -0
  229. package/dist/src/shared/resolve-tag.js +26 -0
  230. package/dist/src/shared/resolve-tag.js.map +1 -0
  231. package/dist/src/shared/tree.d.ts +1 -1
  232. package/dist/src/shared/tree.js +1 -1
  233. package/dist/src/slice/breakdown/index.d.ts +1 -1
  234. package/dist/src/slice/breakdown/index.d.ts.map +1 -1
  235. package/dist/src/slice/breakdown/index.js +3 -3
  236. package/dist/src/slice/breakdown/index.js.map +1 -1
  237. package/dist/src/slice/cohort/index.d.ts +4 -5
  238. package/dist/src/slice/cohort/index.d.ts.map +1 -1
  239. package/dist/src/slice/cohort/index.js +6 -7
  240. package/dist/src/slice/cohort/index.js.map +1 -1
  241. package/dist/src/slice/filter/index.d.ts +1 -1
  242. package/dist/src/slice/filter/index.d.ts.map +1 -1
  243. package/dist/src/slice/filter/index.js +3 -3
  244. package/dist/src/slice/filter/index.js.map +1 -1
  245. package/dist/src/slice/index.d.ts +20 -2230
  246. package/dist/src/slice/index.d.ts.map +1 -1
  247. package/dist/src/slice/legend/index.d.ts +2 -2
  248. package/dist/src/slice/legend/index.d.ts.map +1 -1
  249. package/dist/src/slice/legend/index.js +4 -4
  250. package/dist/src/slice/legend/index.js.map +1 -1
  251. package/dist/src/slice/rail/index.d.ts +7 -4
  252. package/dist/src/slice/rail/index.d.ts.map +1 -1
  253. package/dist/src/slice/rail/index.js +10 -5
  254. package/dist/src/slice/rail/index.js.map +1 -1
  255. package/dist/src/slice/range/index.d.ts +1 -1
  256. package/dist/src/slice/range/index.d.ts.map +1 -1
  257. package/dist/src/slice/range/index.js +3 -3
  258. package/dist/src/slice/range/index.js.map +1 -1
  259. package/dist/src/slice/record/index.d.ts +171 -0
  260. package/dist/src/slice/record/index.d.ts.map +1 -0
  261. package/dist/src/slice/record/index.js +10 -0
  262. package/dist/src/slice/record/index.js.map +1 -0
  263. package/dist/src/slice/search/index.d.ts +6 -6
  264. package/dist/src/slice/search/index.d.ts.map +1 -1
  265. package/dist/src/slice/search/index.js +7 -7
  266. package/dist/src/slice/search/index.js.map +1 -1
  267. package/dist/src/slice/summary/index.d.ts +1 -1
  268. package/dist/src/slice/summary/index.d.ts.map +1 -1
  269. package/dist/src/slice/summary/index.js +3 -3
  270. package/dist/src/slice/summary/index.js.map +1 -1
  271. package/dist/src/typography/list/index.d.ts +2 -8
  272. package/dist/src/typography/list/index.d.ts.map +1 -1
  273. package/dist/src/typography/list/index.js +4 -1
  274. package/dist/src/typography/list/index.js.map +1 -1
  275. package/dist/src/typography/list/types.d.ts +0 -8
  276. package/dist/src/typography/list/types.d.ts.map +1 -1
  277. package/dist/test/collections/deck.examples.d.ts.map +1 -1
  278. package/dist/test/collections/deck.examples.js +6 -7
  279. package/dist/test/collections/deck.examples.js.map +1 -1
  280. package/dist/test/collections/index.d.ts +0 -1
  281. package/dist/test/collections/index.d.ts.map +1 -1
  282. package/dist/test/collections/index.js +0 -1
  283. package/dist/test/collections/index.js.map +1 -1
  284. package/dist/test/collections/library.examples.d.ts.map +1 -1
  285. package/dist/test/collections/library.examples.js +6 -7
  286. package/dist/test/collections/library.examples.js.map +1 -1
  287. package/dist/test/collections/schematic.examples.d.ts.map +1 -1
  288. package/dist/test/collections/schematic.examples.js +11 -19
  289. package/dist/test/collections/schematic.examples.js.map +1 -1
  290. package/dist/test/collections/tree-view.examples.js +2 -2
  291. package/dist/test/contracts/editing.examples.d.ts +1 -0
  292. package/dist/test/contracts/editing.examples.d.ts.map +1 -1
  293. package/dist/test/contracts/editing.examples.js +37 -6
  294. package/dist/test/contracts/editing.examples.js.map +1 -1
  295. package/dist/test/contracts/fields.examples.d.ts +7 -0
  296. package/dist/test/contracts/fields.examples.d.ts.map +1 -0
  297. package/dist/test/contracts/fields.examples.js +42 -0
  298. package/dist/test/contracts/fields.examples.js.map +1 -0
  299. package/dist/test/display/avatar.examples.d.ts.map +1 -1
  300. package/dist/test/display/avatar.examples.js +3 -3
  301. package/dist/test/display/avatar.examples.js.map +1 -1
  302. package/dist/test/display/icon.examples.d.ts.map +1 -1
  303. package/dist/test/display/icon.examples.js +12 -11
  304. package/dist/test/display/icon.examples.js.map +1 -1
  305. package/dist/test/feedback/empty-state.examples.js +9 -9
  306. package/dist/test/feedback/empty-state.examples.js.map +1 -1
  307. package/dist/test/layout/dock.examples.d.ts +0 -8
  308. package/dist/test/layout/dock.examples.d.ts.map +1 -1
  309. package/dist/test/layout/dock.examples.js +2 -42
  310. package/dist/test/layout/dock.examples.js.map +1 -1
  311. package/dist/test/layout/snap-grid.examples.d.ts.map +1 -1
  312. package/dist/test/layout/snap-grid.examples.js +18 -28
  313. package/dist/test/layout/snap-grid.examples.js.map +1 -1
  314. package/dist/test/navigation/index.d.ts +0 -2
  315. package/dist/test/navigation/index.d.ts.map +1 -1
  316. package/dist/test/navigation/index.js +0 -2
  317. package/dist/test/navigation/index.js.map +1 -1
  318. package/dist/test/navigation/nav-list.examples.js.map +1 -1
  319. package/dist/test/platform/index.d.ts +1 -0
  320. package/dist/test/platform/index.d.ts.map +1 -1
  321. package/dist/test/platform/index.js +1 -0
  322. package/dist/test/platform/index.js.map +1 -1
  323. package/dist/test/platform/slice-local.examples.d.ts +2 -0
  324. package/dist/test/platform/slice-local.examples.d.ts.map +1 -0
  325. package/dist/test/platform/slice-local.examples.js +31 -0
  326. package/dist/test/platform/slice-local.examples.js.map +1 -0
  327. package/dist/test/platform/slice.examples.js +61 -61
  328. package/dist/test/platform/slice.examples.js.map +1 -1
  329. package/dist/test/slice/slice.examples.d.ts +0 -1
  330. package/dist/test/slice/slice.examples.d.ts.map +1 -1
  331. package/dist/test/slice/slice.examples.js +67 -181
  332. package/dist/test/slice/slice.examples.js.map +1 -1
  333. package/package.json +4 -4
  334. package/dist/src/collections/board/index.d.ts +0 -855
  335. package/dist/src/collections/board/index.d.ts.map +0 -1
  336. package/dist/src/collections/board/index.js +0 -416
  337. package/dist/src/collections/board/index.js.map +0 -1
  338. package/dist/src/collections/board/types.d.ts +0 -111
  339. package/dist/src/collections/board/types.d.ts.map +0 -1
  340. package/dist/src/collections/board/types.js +0 -89
  341. package/dist/src/collections/board/types.js.map +0 -1
  342. package/dist/src/collections/calendar/index.d.ts +0 -446
  343. package/dist/src/collections/calendar/index.d.ts.map +0 -1
  344. package/dist/src/collections/calendar/index.js +0 -287
  345. package/dist/src/collections/calendar/index.js.map +0 -1
  346. package/dist/src/collections/calendar/types.d.ts +0 -338
  347. package/dist/src/collections/calendar/types.d.ts.map +0 -1
  348. package/dist/src/collections/calendar/types.js +0 -206
  349. package/dist/src/collections/calendar/types.js.map +0 -1
  350. package/dist/src/collections/flowchart/index.d.ts +0 -430
  351. package/dist/src/collections/flowchart/index.d.ts.map +0 -1
  352. package/dist/src/collections/flowchart/index.js +0 -292
  353. package/dist/src/collections/flowchart/index.js.map +0 -1
  354. package/dist/src/collections/flowchart/types.d.ts +0 -333
  355. package/dist/src/collections/flowchart/types.d.ts.map +0 -1
  356. package/dist/src/collections/flowchart/types.js +0 -263
  357. package/dist/src/collections/flowchart/types.js.map +0 -1
  358. package/dist/src/collections/plan/assemble.d.ts +0 -2274
  359. package/dist/src/collections/plan/assemble.d.ts.map +0 -1
  360. package/dist/src/collections/plan/assemble.js +0 -210
  361. package/dist/src/collections/plan/assemble.js.map +0 -1
  362. package/dist/src/collections/plan/builders.d.ts +0 -765
  363. package/dist/src/collections/plan/builders.d.ts.map +0 -1
  364. package/dist/src/collections/plan/builders.js +0 -673
  365. package/dist/src/collections/plan/builders.js.map +0 -1
  366. package/dist/src/collections/plan/factories.d.ts +0 -512
  367. package/dist/src/collections/plan/factories.d.ts.map +0 -1
  368. package/dist/src/collections/plan/factories.js +0 -539
  369. package/dist/src/collections/plan/factories.js.map +0 -1
  370. package/dist/src/collections/plan/index.d.ts +0 -324
  371. package/dist/src/collections/plan/index.d.ts.map +0 -1
  372. package/dist/src/collections/plan/index.js +0 -193
  373. package/dist/src/collections/plan/index.js.map +0 -1
  374. package/dist/src/collections/plan/ir.d.ts +0 -2490
  375. package/dist/src/collections/plan/ir.d.ts.map +0 -1
  376. package/dist/src/collections/plan/ir.js +0 -107
  377. package/dist/src/collections/plan/ir.js.map +0 -1
  378. package/dist/src/collections/plan/pick.d.ts +0 -133
  379. package/dist/src/collections/plan/pick.d.ts.map +0 -1
  380. package/dist/src/collections/plan/pick.js +0 -208
  381. package/dist/src/collections/plan/pick.js.map +0 -1
  382. package/dist/src/collections/plan/root.d.ts +0 -297
  383. package/dist/src/collections/plan/root.d.ts.map +0 -1
  384. package/dist/src/collections/plan/root.js +0 -427
  385. package/dist/src/collections/plan/root.js.map +0 -1
  386. package/dist/src/collections/plan/series.d.ts +0 -13887
  387. package/dist/src/collections/plan/series.d.ts.map +0 -1
  388. package/dist/src/collections/plan/series.js +0 -1710
  389. package/dist/src/collections/plan/series.js.map +0 -1
  390. package/dist/src/collections/plan/types.d.ts +0 -12612
  391. package/dist/src/collections/plan/types.d.ts.map +0 -1
  392. package/dist/src/collections/plan/types.js +0 -1345
  393. package/dist/src/collections/plan/types.js.map +0 -1
  394. package/dist/src/collections/roster/index.d.ts +0 -787
  395. package/dist/src/collections/roster/index.d.ts.map +0 -1
  396. package/dist/src/collections/roster/index.js +0 -325
  397. package/dist/src/collections/roster/index.js.map +0 -1
  398. package/dist/src/collections/roster/types.d.ts +0 -97
  399. package/dist/src/collections/roster/types.d.ts.map +0 -1
  400. package/dist/src/collections/roster/types.js +0 -72
  401. package/dist/src/collections/roster/types.js.map +0 -1
  402. package/dist/src/collections/sheet/bridge.d.ts +0 -376
  403. package/dist/src/collections/sheet/bridge.d.ts.map +0 -1
  404. package/dist/src/collections/sheet/bridge.js +0 -773
  405. package/dist/src/collections/sheet/bridge.js.map +0 -1
  406. package/dist/src/collections/sheet/columns.d.ts +0 -410
  407. package/dist/src/collections/sheet/columns.d.ts.map +0 -1
  408. package/dist/src/collections/sheet/columns.js +0 -99
  409. package/dist/src/collections/sheet/columns.js.map +0 -1
  410. package/dist/src/collections/sheet/context-bridge.d.ts +0 -48
  411. package/dist/src/collections/sheet/context-bridge.d.ts.map +0 -1
  412. package/dist/src/collections/sheet/context-bridge.js +0 -216
  413. package/dist/src/collections/sheet/context-bridge.js.map +0 -1
  414. package/dist/src/collections/sheet/draft-bridge.d.ts +0 -37
  415. package/dist/src/collections/sheet/draft-bridge.d.ts.map +0 -1
  416. package/dist/src/collections/sheet/draft-bridge.js +0 -153
  417. package/dist/src/collections/sheet/draft-bridge.js.map +0 -1
  418. package/dist/src/collections/sheet/drafts.d.ts +0 -14
  419. package/dist/src/collections/sheet/drafts.d.ts.map +0 -1
  420. package/dist/src/collections/sheet/drafts.js +0 -14
  421. package/dist/src/collections/sheet/drafts.js.map +0 -1
  422. package/dist/src/collections/sheet/editing-bridge.d.ts +0 -36
  423. package/dist/src/collections/sheet/editing-bridge.d.ts.map +0 -1
  424. package/dist/src/collections/sheet/editing-bridge.js +0 -196
  425. package/dist/src/collections/sheet/editing-bridge.js.map +0 -1
  426. package/dist/src/collections/sheet/editing-types.d.ts +0 -268
  427. package/dist/src/collections/sheet/editing-types.d.ts.map +0 -1
  428. package/dist/src/collections/sheet/editing-types.js +0 -34
  429. package/dist/src/collections/sheet/editing-types.js.map +0 -1
  430. package/dist/src/collections/sheet/edits.d.ts +0 -37
  431. package/dist/src/collections/sheet/edits.d.ts.map +0 -1
  432. package/dist/src/collections/sheet/edits.js +0 -31
  433. package/dist/src/collections/sheet/edits.js.map +0 -1
  434. package/dist/src/collections/sheet/group.d.ts +0 -165
  435. package/dist/src/collections/sheet/group.d.ts.map +0 -1
  436. package/dist/src/collections/sheet/group.js +0 -52
  437. package/dist/src/collections/sheet/group.js.map +0 -1
  438. package/dist/src/collections/sheet/index.d.ts +0 -351
  439. package/dist/src/collections/sheet/index.d.ts.map +0 -1
  440. package/dist/src/collections/sheet/index.js +0 -208
  441. package/dist/src/collections/sheet/index.js.map +0 -1
  442. package/dist/src/collections/sheet/link.d.ts +0 -398
  443. package/dist/src/collections/sheet/link.d.ts.map +0 -1
  444. package/dist/src/collections/sheet/link.js +0 -228
  445. package/dist/src/collections/sheet/link.js.map +0 -1
  446. package/dist/src/collections/sheet/registers.d.ts +0 -278
  447. package/dist/src/collections/sheet/registers.d.ts.map +0 -1
  448. package/dist/src/collections/sheet/registers.js +0 -268
  449. package/dist/src/collections/sheet/registers.js.map +0 -1
  450. package/dist/src/collections/sheet/root.d.ts +0 -328
  451. package/dist/src/collections/sheet/root.d.ts.map +0 -1
  452. package/dist/src/collections/sheet/root.js +0 -432
  453. package/dist/src/collections/sheet/root.js.map +0 -1
  454. package/dist/src/collections/sheet/seed-bridge.d.ts +0 -14
  455. package/dist/src/collections/sheet/seed-bridge.d.ts.map +0 -1
  456. package/dist/src/collections/sheet/seed-bridge.js +0 -51
  457. package/dist/src/collections/sheet/seed-bridge.js.map +0 -1
  458. package/dist/src/collections/sheet/sub-rows.d.ts +0 -249
  459. package/dist/src/collections/sheet/sub-rows.d.ts.map +0 -1
  460. package/dist/src/collections/sheet/sub-rows.js +0 -222
  461. package/dist/src/collections/sheet/sub-rows.js.map +0 -1
  462. package/dist/src/collections/sheet/transactions.d.ts +0 -76
  463. package/dist/src/collections/sheet/transactions.d.ts.map +0 -1
  464. package/dist/src/collections/sheet/transactions.js +0 -40
  465. package/dist/src/collections/sheet/transactions.js.map +0 -1
  466. package/dist/src/collections/sheet/types.d.ts +0 -14992
  467. package/dist/src/collections/sheet/types.d.ts.map +0 -1
  468. package/dist/src/collections/sheet/types.js +0 -1061
  469. package/dist/src/collections/sheet/types.js.map +0 -1
  470. package/dist/src/navigation/app/index.d.ts +0 -150
  471. package/dist/src/navigation/app/index.d.ts.map +0 -1
  472. package/dist/src/navigation/app/index.js +0 -191
  473. package/dist/src/navigation/app/index.js.map +0 -1
  474. package/dist/src/navigation/pages/index.d.ts +0 -165
  475. package/dist/src/navigation/pages/index.d.ts.map +0 -1
  476. package/dist/src/navigation/pages/index.js +0 -152
  477. package/dist/src/navigation/pages/index.js.map +0 -1
  478. package/dist/src/navigation/pages/types.d.ts +0 -111
  479. package/dist/src/navigation/pages/types.d.ts.map +0 -1
  480. package/dist/src/navigation/pages/types.js +0 -101
  481. package/dist/src/navigation/pages/types.js.map +0 -1
  482. package/dist/src/runtime/collections/board.d.ts +0 -73
  483. package/dist/src/runtime/collections/board.d.ts.map +0 -1
  484. package/dist/src/runtime/collections/board.js +0 -68
  485. package/dist/src/runtime/collections/board.js.map +0 -1
  486. package/dist/src/runtime/collections/calendar.d.ts +0 -54
  487. package/dist/src/runtime/collections/calendar.d.ts.map +0 -1
  488. package/dist/src/runtime/collections/calendar.js +0 -54
  489. package/dist/src/runtime/collections/calendar.js.map +0 -1
  490. package/dist/src/runtime/collections/flowchart.d.ts +0 -58
  491. package/dist/src/runtime/collections/flowchart.d.ts.map +0 -1
  492. package/dist/src/runtime/collections/flowchart.js +0 -54
  493. package/dist/src/runtime/collections/flowchart.js.map +0 -1
  494. package/dist/src/runtime/collections/plan.d.ts +0 -181
  495. package/dist/src/runtime/collections/plan.d.ts.map +0 -1
  496. package/dist/src/runtime/collections/plan.js +0 -186
  497. package/dist/src/runtime/collections/plan.js.map +0 -1
  498. package/dist/src/runtime/collections/roster.d.ts +0 -60
  499. package/dist/src/runtime/collections/roster.d.ts.map +0 -1
  500. package/dist/src/runtime/collections/roster.js +0 -59
  501. package/dist/src/runtime/collections/roster.js.map +0 -1
  502. package/dist/src/runtime/collections/sheet.d.ts +0 -122
  503. package/dist/src/runtime/collections/sheet.d.ts.map +0 -1
  504. package/dist/src/runtime/collections/sheet.js +0 -73
  505. package/dist/src/runtime/collections/sheet.js.map +0 -1
  506. package/dist/src/runtime/navigation/app.d.ts +0 -52
  507. package/dist/src/runtime/navigation/app.d.ts.map +0 -1
  508. package/dist/src/runtime/navigation/app.js +0 -53
  509. package/dist/src/runtime/navigation/app.js.map +0 -1
  510. package/dist/src/runtime/navigation/pages.d.ts +0 -50
  511. package/dist/src/runtime/navigation/pages.d.ts.map +0 -1
  512. package/dist/src/runtime/navigation/pages.js +0 -52
  513. package/dist/src/runtime/navigation/pages.js.map +0 -1
  514. package/dist/src/runtime/navigation/route.d.ts +0 -46
  515. package/dist/src/runtime/navigation/route.d.ts.map +0 -1
  516. package/dist/src/runtime/navigation/route.js +0 -47
  517. package/dist/src/runtime/navigation/route.js.map +0 -1
  518. package/dist/test/collections/board.examples.d.ts +0 -18
  519. package/dist/test/collections/board.examples.d.ts.map +0 -1
  520. package/dist/test/collections/board.examples.js +0 -297
  521. package/dist/test/collections/board.examples.js.map +0 -1
  522. package/dist/test/collections/calendar.examples.d.ts +0 -5
  523. package/dist/test/collections/calendar.examples.d.ts.map +0 -1
  524. package/dist/test/collections/calendar.examples.js +0 -147
  525. package/dist/test/collections/calendar.examples.js.map +0 -1
  526. package/dist/test/collections/flowchart.examples.d.ts +0 -17
  527. package/dist/test/collections/flowchart.examples.d.ts.map +0 -1
  528. package/dist/test/collections/flowchart.examples.js +0 -243
  529. package/dist/test/collections/flowchart.examples.js.map +0 -1
  530. package/dist/test/collections/plan.examples.d.ts +0 -200
  531. package/dist/test/collections/plan.examples.d.ts.map +0 -1
  532. package/dist/test/collections/plan.examples.js +0 -3665
  533. package/dist/test/collections/plan.examples.js.map +0 -1
  534. package/dist/test/collections/roster.examples.d.ts +0 -26
  535. package/dist/test/collections/roster.examples.d.ts.map +0 -1
  536. package/dist/test/collections/roster.examples.js +0 -237
  537. package/dist/test/collections/roster.examples.js.map +0 -1
  538. package/dist/test/collections/sheet-link.examples.d.ts +0 -7
  539. package/dist/test/collections/sheet-link.examples.d.ts.map +0 -1
  540. package/dist/test/collections/sheet-link.examples.js +0 -41
  541. package/dist/test/collections/sheet-link.examples.js.map +0 -1
  542. package/dist/test/collections/sheet-transactions.examples.d.ts +0 -7
  543. package/dist/test/collections/sheet-transactions.examples.d.ts.map +0 -1
  544. package/dist/test/collections/sheet-transactions.examples.js +0 -58
  545. package/dist/test/collections/sheet-transactions.examples.js.map +0 -1
  546. package/dist/test/collections/sheet.examples.d.ts +0 -96
  547. package/dist/test/collections/sheet.examples.d.ts.map +0 -1
  548. package/dist/test/collections/sheet.examples.js +0 -1040
  549. package/dist/test/collections/sheet.examples.js.map +0 -1
  550. package/dist/test/navigation/app.examples.d.ts +0 -22
  551. package/dist/test/navigation/app.examples.d.ts.map +0 -1
  552. package/dist/test/navigation/app.examples.js +0 -136
  553. package/dist/test/navigation/app.examples.js.map +0 -1
  554. package/dist/test/navigation/pages.examples.d.ts +0 -13
  555. package/dist/test/navigation/pages.examples.d.ts.map +0 -1
  556. package/dist/test/navigation/pages.examples.js +0 -113
  557. package/dist/test/navigation/pages.examples.js.map +0 -1
  558. package/dist/test/navigation/route.examples.d.ts +0 -13
  559. package/dist/test/navigation/route.examples.d.ts.map +0 -1
  560. package/dist/test/navigation/route.examples.js +0 -69
  561. package/dist/test/navigation/route.examples.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../../src/platform/slice/local.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
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
+ /** Typed local authoring over the existing Slice engine and frozen wire. */
6
+ import { ArrayType, BooleanType, DateTimeType, East, Expr, FloatType, FunctionType, IntegerType, SetType, StringType, StructType, none, some, variant, } from "@elaraai/east";
7
+ import { Slice, SliceBindType, SlicePredicateType, SliceSearchMatchType, slice_bind, slice_rows, } from "./index.js";
8
+ /** A typed authoring handle; component payloads still project to SliceBindType. */
9
+ export function LocalSliceHandleType(row) {
10
+ return StructType({ ...SliceBindType.fields, data: FunctionType([], ArrayType(row)) });
11
+ }
12
+ function label(name) {
13
+ const words = name.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/_/g, " ");
14
+ return words.charAt(0).toUpperCase() + words.slice(1).toLowerCase();
15
+ }
16
+ /** Build predicates as data; no filtering or UI composition runs in the factory. */
17
+ function narrowing(row, fields, where, rangeField) {
18
+ const filters = [];
19
+ let range;
20
+ for (const [field, choice] of Object.entries(where)) {
21
+ if (!fields.has(field))
22
+ throw new Error(`Slice.bind: '${field}' must be included in fields`);
23
+ const type = row.fields[field];
24
+ const kind = { String: "string", Integer: "integer", Float: "float", DateTime: "datetime", Boolean: "boolean" }[type.type];
25
+ if (kind === undefined)
26
+ throw new Error(`Slice.bind: '${field}' is search-only; it cannot have a predicate`);
27
+ const add = (op, value) => filters.push(East.value(variant(kind, { fieldId: field, op: variant(op, value) }), SlicePredicateType));
28
+ if (Array.isArray(choice)) {
29
+ if (choice.length === 0)
30
+ throw new Error(`Slice.bind: '${field}' needs at least one value`);
31
+ if (kind === "boolean" && choice.length === 1)
32
+ add("is", choice[0]);
33
+ else if (kind === "string" || kind === "integer") {
34
+ if (choice.length === 1)
35
+ add("eq", choice[0]);
36
+ else
37
+ add("in", East.value(choice, ArrayType(type)).toSet((_$, value) => value));
38
+ }
39
+ else
40
+ throw new Error(`Slice.bind: '${field}' needs a range, or one Boolean value`);
41
+ continue;
42
+ }
43
+ if (choice === null || typeof choice !== "object")
44
+ throw new Error(`Slice.bind: '${field}' needs values, a range or a typed operator`);
45
+ if ("from" in choice && "to" in choice) {
46
+ if (!["integer", "float", "datetime"].includes(kind))
47
+ throw new Error(`Slice.bind: '${field}' cannot use a range`);
48
+ if (rangeField === field)
49
+ range = East.value(variant(kind, choice), Slice.Types.Range);
50
+ else if (kind === "datetime")
51
+ add("between", choice);
52
+ else {
53
+ add("gte", choice.from);
54
+ add("lte", choice.to);
55
+ }
56
+ continue;
57
+ }
58
+ if ("preset" in choice) {
59
+ if (kind !== "datetime" || rangeField !== field)
60
+ throw new Error(`Slice.bind: a date preset needs '${field}' as the range field`);
61
+ range = East.value(variant("datetimePreset", variant(choice.preset, null)), Slice.Types.Range);
62
+ continue;
63
+ }
64
+ const operators = Object.entries(choice);
65
+ if (operators.length === 0)
66
+ throw new Error(`Slice.bind: '${field}' has no predicate`);
67
+ for (const [op, value] of operators) {
68
+ add(op === "prefix" ? "startsWith" : op, op === "isEmpty" || op === "isNotEmpty" ? null : value);
69
+ }
70
+ }
71
+ return { filters, range };
72
+ }
73
+ /**
74
+ * Bind rows in hand with inferred fields and typed options.
75
+ * @param key - Stable UI store key.
76
+ * @param collection - Complete rows the browser may narrow.
77
+ * @param options - Offered fields, initial narrowing and named presets.
78
+ * @returns A serializable typed handle; Slice.rows reads its current narrowed rows.
79
+ */
80
+ export function bindLocal(key, collection, options = {}) {
81
+ const data = East.value(collection);
82
+ const collectionType = Expr.type(data);
83
+ if (collectionType.type !== "Array" || collectionType.value.type !== "Struct")
84
+ throw new Error("Slice.bind needs an array of Struct rows; use Slice.bindRecord for a paged record");
85
+ const row = collectionType.value;
86
+ const offered = options.fields === undefined ? Object.keys(row.fields) : Object.keys(options.fields);
87
+ const fields = Object.fromEntries(offered.map(field => {
88
+ if (row.fields[field] === undefined)
89
+ throw new Error(`Slice.bind: '${field}' is not a row field`);
90
+ const config = options.fields?.[field];
91
+ return [field, { ...config, label: config?.label ?? label(field) }];
92
+ }));
93
+ const known = new Set(offered);
94
+ const check = (field, role) => { if (!known.has(field))
95
+ throw new Error(`Slice.bind: ${role} '${field}' must be included in fields`); };
96
+ const search = options.search === undefined ? undefined : typeof options.search === "string" ? [options.search] : [...options.search];
97
+ for (const field of search ?? [])
98
+ check(field, "search");
99
+ for (const field of options.breakdown ?? []) {
100
+ check(field, "breakdown");
101
+ if (!["String", "Integer", "Float", "DateTime", "Boolean"].includes(row.fields[field].type))
102
+ throw new Error(`Slice.bind: breakdown '${field}' must be primitive`);
103
+ }
104
+ if (options.range !== undefined) {
105
+ check(options.range, "range");
106
+ if (!["Integer", "Float", "DateTime"].includes(row.fields[options.range].type))
107
+ throw new Error(`Slice.bind: range '${options.range}' must be DateTime, Integer or Float`);
108
+ }
109
+ const config = Slice.config(row, { fields,
110
+ ...(options.range === undefined ? {} : { rangeFieldId: options.range }),
111
+ ...(search === undefined ? {} : { searchFieldIds: search }),
112
+ ...(options.breakdown === undefined ? {} : { breakdownFieldIds: options.breakdown }),
113
+ });
114
+ const initial = narrowing(row, known, options.initial ?? {}, options.range);
115
+ const ids = new Set();
116
+ const cohorts = (options.presets ?? []).map(preset => {
117
+ if (ids.has(preset.id))
118
+ throw new Error(`Slice.bind: repeated preset '${preset.id}'`);
119
+ ids.add(preset.id);
120
+ return { id: preset.id, name: preset.name, group: preset.group === undefined ? none : some(preset.group), filters: narrowing(row, known, preset.where).filters };
121
+ });
122
+ const state = Slice.state({ ...options.view, filters: initial.filters, range: initial.range === undefined ? none : some(initial.range), cohorts,
123
+ activeCohorts: new Set((options.presets ?? []).filter(preset => preset.active).map(preset => preset.id)) });
124
+ const match = options.match;
125
+ const toMatch = match === undefined ? none : some(East.function([row], SliceSearchMatchType, (_$, item) => match(item)));
126
+ const handleType = LocalSliceHandleType(row);
127
+ return East.function([], handleType, $ => {
128
+ const handle = $.const(slice_bind([row], key, config, state, data, toMatch));
129
+ const read = East.function([], ArrayType(row), _$ => slice_rows([row], handle));
130
+ return East.value({ ...Object.fromEntries(Object.keys(SliceBindType.fields).map(name => [name, handle[name]])), data: read }, handleType);
131
+ })();
132
+ }
133
+ //# sourceMappingURL=local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../src/platform/slice/local.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
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
+ /** Record-only chrome, separate from the frozen local Slice wire. */
6
+ import { ArrayType, NullType, OptionType, StructType, VariantType, type SubtypeExprOrValue, type ExprType } from "@elaraai/east";
7
+ import { RecordSliceBindType } from "./record-types.js";
8
+ import { SlicePersistType } from "./index.js";
9
+ /** Controls a record can answer without evaluating row predicates. */
10
+ export declare const RecordSliceAffordanceType: VariantType<{
11
+ readonly fields: NullType;
12
+ readonly search: NullType;
13
+ readonly range: NullType;
14
+ readonly presets: NullType;
15
+ readonly resolution: NullType;
16
+ readonly brush: NullType;
17
+ readonly summary: NullType;
18
+ }>;
19
+ export type RecordSliceAffordanceType = typeof RecordSliceAffordanceType;
20
+ /** Record toolbar vocabulary; rows-only controls are intentionally absent. */
21
+ export type RecordSliceAffordance = keyof RecordSliceAffordanceType["cases"];
22
+ /**
23
+ * Record narrowing in a component's existing toolbar.
24
+ * @property slice - Canonical controls handle; typed data stays in the component's source.
25
+ * @property affordances - Explicit controls the host offers.
26
+ * @property persist - Optional store persistence.
27
+ */
28
+ export declare const RecordSliceChromeType: StructType<{
29
+ readonly slice: StructType<{
30
+ readonly key: import("@elaraai/east").StringType;
31
+ readonly config: StructType<{
32
+ readonly fields: ArrayType<StructType<{
33
+ readonly fieldId: import("@elaraai/east").StringType;
34
+ readonly label: import("@elaraai/east").StringType;
35
+ readonly kind: import("@elaraai/east").StringType;
36
+ readonly optional: import("@elaraai/east").BooleanType;
37
+ readonly multiple: import("@elaraai/east").BooleanType;
38
+ readonly set: import("@elaraai/east").BooleanType;
39
+ readonly values: ArrayType<StructType<{
40
+ readonly value: import("@elaraai/east").StringType;
41
+ readonly label: import("@elaraai/east").StringType;
42
+ }>>;
43
+ readonly format: OptionType<VariantType<{
44
+ readonly number: NullType;
45
+ readonly currency: StructType<{
46
+ readonly code: import("@elaraai/east").StringType;
47
+ readonly compact: import("@elaraai/east").BooleanType;
48
+ }>;
49
+ readonly percent: NullType;
50
+ readonly compact: NullType;
51
+ readonly date: import("@elaraai/east").StringType;
52
+ readonly time: import("@elaraai/east").StringType;
53
+ readonly datetime: import("@elaraai/east").StringType;
54
+ }>>;
55
+ }>>;
56
+ readonly indexes: ArrayType<StructType<{
57
+ readonly name: import("@elaraai/east").StringType;
58
+ readonly fields: ArrayType<import("@elaraai/east").StringType>;
59
+ readonly sets: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
60
+ readonly structured: import("@elaraai/east").BooleanType;
61
+ readonly interval: OptionType<StructType<{
62
+ readonly from: import("@elaraai/east").StringType;
63
+ readonly to: import("@elaraai/east").StringType;
64
+ readonly optional: import("@elaraai/east").BooleanType;
65
+ }>>;
66
+ }>>;
67
+ readonly range: OptionType<import("@elaraai/east").StringType>;
68
+ readonly search: ArrayType<import("@elaraai/east").StringType>;
69
+ readonly presets: ArrayType<StructType<{
70
+ readonly id: import("@elaraai/east").StringType;
71
+ readonly name: import("@elaraai/east").StringType;
72
+ readonly where: import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
73
+ readonly values: ArrayType<import("@elaraai/east").StringType>;
74
+ readonly range: StructType<{
75
+ readonly from: import("@elaraai/east").StringType;
76
+ readonly to: import("@elaraai/east").StringType;
77
+ }>;
78
+ readonly prefix: import("@elaraai/east").StringType;
79
+ }>>;
80
+ }>>;
81
+ }>;
82
+ readonly read: import("@elaraai/east").FunctionType<[], StructType<{
83
+ readonly where: import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
84
+ readonly values: ArrayType<import("@elaraai/east").StringType>;
85
+ readonly range: StructType<{
86
+ readonly from: import("@elaraai/east").StringType;
87
+ readonly to: import("@elaraai/east").StringType;
88
+ }>;
89
+ readonly prefix: import("@elaraai/east").StringType;
90
+ }>>;
91
+ readonly preset: OptionType<import("@elaraai/east").StringType>;
92
+ readonly resolution: OptionType<VariantType<{
93
+ readonly auto: NullType;
94
+ readonly hour: NullType;
95
+ readonly day: NullType;
96
+ readonly week: NullType;
97
+ readonly month: NullType;
98
+ readonly quarter: NullType;
99
+ readonly year: NullType;
100
+ }>>;
101
+ }>>;
102
+ readonly write: import("@elaraai/east").FunctionType<[StructType<{
103
+ readonly where: import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
104
+ readonly values: ArrayType<import("@elaraai/east").StringType>;
105
+ readonly range: StructType<{
106
+ readonly from: import("@elaraai/east").StringType;
107
+ readonly to: import("@elaraai/east").StringType;
108
+ }>;
109
+ readonly prefix: import("@elaraai/east").StringType;
110
+ }>>;
111
+ readonly preset: OptionType<import("@elaraai/east").StringType>;
112
+ readonly resolution: OptionType<VariantType<{
113
+ readonly auto: NullType;
114
+ readonly hour: NullType;
115
+ readonly day: NullType;
116
+ readonly week: NullType;
117
+ readonly month: NullType;
118
+ readonly quarter: NullType;
119
+ readonly year: NullType;
120
+ }>>;
121
+ }>], NullType>;
122
+ readonly choose: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType, ArrayType<import("@elaraai/east").StringType>], NullType>;
123
+ readonly range: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType, import("@elaraai/east").StringType, import("@elaraai/east").StringType], NullType>;
124
+ readonly prefix: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType, import("@elaraai/east").StringType], NullType>;
125
+ readonly clear: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], NullType>;
126
+ readonly clearAll: import("@elaraai/east").FunctionType<[], NullType>;
127
+ readonly count: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
128
+ readonly countWhere: import("@elaraai/east").FunctionType<[import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
129
+ readonly values: ArrayType<import("@elaraai/east").StringType>;
130
+ readonly range: StructType<{
131
+ readonly from: import("@elaraai/east").StringType;
132
+ readonly to: import("@elaraai/east").StringType;
133
+ }>;
134
+ readonly prefix: import("@elaraai/east").StringType;
135
+ }>>], OptionType<import("@elaraai/east").IntegerType>>;
136
+ readonly total: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
137
+ readonly domain: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], OptionType<StructType<{
138
+ readonly from: import("@elaraai/east").StringType;
139
+ readonly to: import("@elaraai/east").StringType;
140
+ }>>>;
141
+ readonly values: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], ArrayType<StructType<{
142
+ readonly value: import("@elaraai/east").StringType;
143
+ readonly label: import("@elaraai/east").StringType;
144
+ readonly count: OptionType<import("@elaraai/east").IntegerType>;
145
+ readonly selected: import("@elaraai/east").BooleanType;
146
+ readonly error: OptionType<import("@elaraai/east").StringType>;
147
+ }>>>;
148
+ readonly suggest: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType, import("@elaraai/east").StringType], OptionType<ArrayType<StructType<{
149
+ readonly value: import("@elaraai/east").StringType;
150
+ readonly label: import("@elaraai/east").StringType;
151
+ readonly count: OptionType<import("@elaraai/east").IntegerType>;
152
+ readonly selected: import("@elaraai/east").BooleanType;
153
+ readonly error: OptionType<import("@elaraai/east").StringType>;
154
+ }>>>>;
155
+ readonly replaces: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], ArrayType<import("@elaraai/east").StringType>>;
156
+ readonly togglePreset: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], NullType>;
157
+ readonly setResolution: import("@elaraai/east").FunctionType<[OptionType<VariantType<{
158
+ readonly auto: NullType;
159
+ readonly hour: NullType;
160
+ readonly day: NullType;
161
+ readonly week: NullType;
162
+ readonly month: NullType;
163
+ readonly quarter: NullType;
164
+ readonly year: NullType;
165
+ }>>], NullType>;
166
+ readonly retry: import("@elaraai/east").FunctionType<[], NullType>;
167
+ readonly sourceId: import("@elaraai/east").StringType;
168
+ readonly readEntry: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], OptionType<OptionType<import("@elaraai/east").BlobType>>>;
169
+ readonly contains: import("@elaraai/east").FunctionType<[import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
170
+ readonly values: ArrayType<import("@elaraai/east").StringType>;
171
+ readonly range: StructType<{
172
+ readonly from: import("@elaraai/east").StringType;
173
+ readonly to: import("@elaraai/east").StringType;
174
+ }>;
175
+ readonly prefix: import("@elaraai/east").StringType;
176
+ }>>, import("@elaraai/east").StringType], OptionType<import("@elaraai/east").BooleanType>>;
177
+ }>;
178
+ readonly affordances: ArrayType<VariantType<{
179
+ readonly fields: NullType;
180
+ readonly search: NullType;
181
+ readonly range: NullType;
182
+ readonly presets: NullType;
183
+ readonly resolution: NullType;
184
+ readonly brush: NullType;
185
+ readonly summary: NullType;
186
+ }>>;
187
+ readonly persist: OptionType<VariantType<{
188
+ readonly local: NullType;
189
+ readonly session: NullType;
190
+ readonly url: NullType;
191
+ }>>;
192
+ }>;
193
+ export type RecordSliceChromeType = typeof RecordSliceChromeType;
194
+ /** Shared authoring options for a record-aware component. */
195
+ export interface RecordSliceChromeOptions {
196
+ /** A record Slice handle, including its typed authoring form. */
197
+ slice: SubtypeExprOrValue<RecordSliceBindType>;
198
+ /** Controls to mount; defaults to field chips, presets and summary. */
199
+ affordances?: readonly RecordSliceAffordance[];
200
+ /** Persist validated narrowing in local/session storage or the URL. */
201
+ persist?: keyof SlicePersistType["cases"];
202
+ }
203
+ /** Recognise the new handle at authoring time, before projecting its data member. */
204
+ export declare function isRecordSlice(input: unknown): boolean;
205
+ /**
206
+ * Build canonical chrome without extending the local handle or embedding its data.
207
+ * @param options - Bound handle, requested controls and persistence.
208
+ * @returns The record chrome payload.
209
+ */
210
+ export declare function recordSliceChrome(options: RecordSliceChromeOptions): ExprType<RecordSliceChromeType>;
211
+ //# sourceMappingURL=record-chrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-chrome.d.ts","sourceRoot":"","sources":["../../../../src/platform/slice/record-chrome.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qEAAqE;AACrE,OAAO,EAAE,SAAS,EAAc,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAkC,KAAK,kBAAkB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7K,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,sEAAsE;AACtE,eAAO,MAAM,yBAAyB;;;;;;;;EAGpC,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AACzE,8EAA8E;AAC9E,MAAM,MAAM,qBAAqB,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAE7E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC;AAEjE,6DAA6D;AAC7D,MAAM,WAAW,wBAAwB;IACrC,iEAAiE;IACjE,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IAC/C,uEAAuE;IACvE,WAAW,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC/C,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGrD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAapG"}
@@ -0,0 +1,52 @@
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
+ /** Record-only chrome, separate from the frozen local Slice wire. */
6
+ import { ArrayType, East, Expr, NullType, OptionType, StructType, VariantType, isSubtype, none, some, variant } from "@elaraai/east";
7
+ import { RecordSliceBindType } from "./record-types.js";
8
+ import { SlicePersistType } from "./index.js";
9
+ /** Controls a record can answer without evaluating row predicates. */
10
+ export const RecordSliceAffordanceType = VariantType({
11
+ fields: NullType, search: NullType, range: NullType, presets: NullType,
12
+ resolution: NullType, brush: NullType, summary: NullType,
13
+ });
14
+ /**
15
+ * Record narrowing in a component's existing toolbar.
16
+ * @property slice - Canonical controls handle; typed data stays in the component's source.
17
+ * @property affordances - Explicit controls the host offers.
18
+ * @property persist - Optional store persistence.
19
+ */
20
+ export const RecordSliceChromeType = StructType({
21
+ slice: RecordSliceBindType,
22
+ affordances: ArrayType(RecordSliceAffordanceType),
23
+ persist: OptionType(SlicePersistType),
24
+ });
25
+ /** Recognise the new handle at authoring time, before projecting its data member. */
26
+ export function isRecordSlice(input) {
27
+ const type = Expr.type(East.value(input));
28
+ return type.type === "Struct" && type.fields.config !== undefined && type.fields.choose !== undefined;
29
+ }
30
+ /**
31
+ * Build canonical chrome without extending the local handle or embedding its data.
32
+ * @param options - Bound handle, requested controls and persistence.
33
+ * @returns The record chrome payload.
34
+ */
35
+ export function recordSliceChrome(options) {
36
+ const source = East.value(options.slice);
37
+ const type = Expr.type(source);
38
+ if (type.type !== "Struct")
39
+ throw new Error("A record Slice handle is required");
40
+ for (const [field, expected] of Object.entries(RecordSliceBindType.fields)) {
41
+ if (type.fields[field] === undefined || !isSubtype(type.fields[field], expected))
42
+ throw new Error(`Invalid record Slice member '${field}'`);
43
+ }
44
+ const slice = East.value(Object.fromEntries(Object.keys(RecordSliceBindType.fields).map(field => [field, source[field]])), RecordSliceBindType);
45
+ const affordances = options.affordances ?? ["fields", "presets", "summary"];
46
+ for (const affordance of affordances) {
47
+ if (!(affordance in RecordSliceAffordanceType.cases))
48
+ throw new Error(`Record slices do not support '${affordance}'; use indexed field choices`);
49
+ }
50
+ return East.value({ slice, affordances: affordances.map(value => variant(value, null)), persist: options.persist === undefined ? none : some(variant(options.persist, null)) }, RecordSliceChromeType);
51
+ }
52
+ //# sourceMappingURL=record-chrome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-chrome.js","sourceRoot":"","sources":["../../../../src/platform/slice/record-chrome.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
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
+ /** Queries for e3's ordinary maintained centred interval index. */
6
+ import { type ValueTypeOf } from "@elaraai/east";
7
+ import type { SeekQueryType } from "../../contracts/source.js";
8
+ import type { RecordSliceChoiceType, RecordSliceIndexType } from "./record-types.js";
9
+ type Interval = Extract<ValueTypeOf<RecordSliceIndexType>["interval"], {
10
+ type: "some";
11
+ }>["value"];
12
+ /**
13
+ * Each exact prefix has one start range and at most 54 carry-in ranges.
14
+ * Their event identities are disjoint: each interval lives at one ancestor;
15
+ * which side the lower bound lies on selects its start or end ordering.
16
+ * Counts therefore sum original events, without reading or deduplicating rows.
17
+ * @param prefix - Exact choices of every leading field.
18
+ * @param choice - Half-open overlap range, exact start values, or all starts.
19
+ * @param interval - The generated index's interval metadata.
20
+ * @returns Disjoint ordinary key searches understood by every record backend.
21
+ */
22
+ export declare function intervalQueries(prefix: readonly string[], choice: ValueTypeOf<RecordSliceChoiceType> | undefined, interval: Interval): ValueTypeOf<SeekQueryType>[];
23
+ export {};
24
+ //# sourceMappingURL=record-interval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-interval.d.ts","sourceRoot":"","sources":["../../../../src/platform/slice/record-interval.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mEAAmE;AACnE,OAAO,EAA+F,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9I,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAErF,KAAK,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AAIlG;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,qBAAqB,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC,EAAE,CAkCnK"}
@@ -0,0 +1,61 @@
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
+ /** Queries for e3's ordinary maintained centred interval index. */
6
+ import { DateTimeType, IntegerType, OptionType, none, parseFor, printFor, some, variant } from "@elaraai/east";
7
+ const leaf = 3n * (1n << 53n);
8
+ const integerText = printFor(IntegerType);
9
+ /**
10
+ * Each exact prefix has one start range and at most 54 carry-in ranges.
11
+ * Their event identities are disjoint: each interval lives at one ancestor;
12
+ * which side the lower bound lies on selects its start or end ordering.
13
+ * Counts therefore sum original events, without reading or deduplicating rows.
14
+ * @param prefix - Exact choices of every leading field.
15
+ * @param choice - Half-open overlap range, exact start values, or all starts.
16
+ * @param interval - The generated index's interval metadata.
17
+ * @returns Disjoint ordinary key searches understood by every record backend.
18
+ */
19
+ export function intervalQueries(prefix, choice, interval) {
20
+ const starts = [...prefix, integerText(0n)];
21
+ if (choice === undefined)
22
+ return [variant("fields", { values: starts, prefix: none })];
23
+ if (choice.type === "values")
24
+ return [...new Set(choice.value)].map(value => variant("fields", { values: [...starts, value], prefix: none }));
25
+ if (choice.type !== "range")
26
+ throw new Error("Choose a time range for interval overlap");
27
+ const type = interval.optional ? OptionType(DateTimeType) : DateTimeType;
28
+ const parse = parseFor(type);
29
+ const print = printFor(type);
30
+ const lower = parse(choice.value.from);
31
+ const upper = parse(choice.value.to);
32
+ if (!lower.success || !upper.success)
33
+ throw new Error("Choose valid DateTime range endpoints");
34
+ const unwrap = (value) => {
35
+ if (!interval.optional)
36
+ return value;
37
+ const optional = value;
38
+ if (optional.type === "none")
39
+ throw new Error("Choose two range endpoints");
40
+ return optional.value;
41
+ };
42
+ const from = unwrap(lower.value);
43
+ const to = unwrap(upper.value);
44
+ if (from.getTime() >= to.getTime())
45
+ throw new Error("The range end must be after its start");
46
+ const after = new Date(from.getTime() + 1);
47
+ const afterText = print(interval.optional ? some(after) : after);
48
+ const queries = [variant("range", {
49
+ from: [...starts, choice.value.from], to: [...starts, choice.value.to],
50
+ })];
51
+ for (let child = leaf + BigInt(from.getTime()); child > 1n; child /= 2n) {
52
+ const right = child % 2n === 1n;
53
+ const code = 2n * (child / 2n) + (right ? 1n : 0n);
54
+ const node = [...prefix, integerText(code)];
55
+ queries.push(variant("range", right
56
+ ? { from: [...node, afterText], to: [...prefix, integerText(code + 1n)] }
57
+ : { from: node, to: [...node, choice.value.from] }));
58
+ }
59
+ return queries;
60
+ }
61
+ //# sourceMappingURL=record-interval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-interval.js","sourceRoot":"","sources":["../../../../src/platform/slice/record-interval.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mEAAmE;AACnE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAiC,MAAM,eAAe,CAAC;AAK9I,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;AAC9B,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE1C;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyB,EAAE,MAAsD,EAAE,QAAkB;IACjI,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvF,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9I,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACzF,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,CAAC,KAA0B,EAAQ,EAAE;QAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO,KAAa,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAqB,CAAC;QACvC,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC,KAAK,CAAC;IAC1B,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7F,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,OAAO,GAAiC,CAAC,OAAO,CAAC,OAAO,EAAE;YAC5D,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC,CAAC;IACJ,KAAK,IAAI,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK;YAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,EAAE,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,EAAE;YACzE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,54 @@
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
+ /** Query planning shared by authoring validation and the record Slice runtime. */
6
+ import { type ValueTypeOf } from "@elaraai/east";
7
+ import type { SeekQueryType } from "../../contracts/source.js";
8
+ import type { RecordSliceChoiceType, RecordSliceIndexType } from "./record-types.js";
9
+ type Choice = ValueTypeOf<RecordSliceChoiceType>;
10
+ type Index = ValueTypeOf<RecordSliceIndexType>;
11
+ /** Bound the fan-out of a multi-choice path; never replace it with a row scan. */
12
+ export declare const MAX_RECORD_SLICE_RUNS = 64;
13
+ /** One supported index path and the disjoint key searches it needs. */
14
+ export interface RecordSlicePlan {
15
+ /** Source selector. */
16
+ index: string;
17
+ /** No queries means the complete source, rather than an empty result. */
18
+ queries: ValueTypeOf<SeekQueryType>[];
19
+ }
20
+ /**
21
+ * Whether one index can answer every clause without scanning or duplicate rows.
22
+ * @param index - Available field path.
23
+ * @param where - Current narrowing.
24
+ * @returns Whether it is a supported path.
25
+ */
26
+ export declare function recordPathMatches(index: Index, where: ReadonlyMap<string, Choice>): boolean;
27
+ /** Pick a supported path without executing or parsing its ranges. */
28
+ export declare function recordPlanIndex(indexes: readonly Index[], where: ReadonlyMap<string, Choice>): Index | undefined;
29
+ /**
30
+ * Plan the record's narrowing as exact leading values followed by at most one
31
+ * prefix or half-open range. The server answers every query; no predicate runs
32
+ * over a fetched row. Completed ranges are sorted by their actual source offsets.
33
+ *
34
+ * @param indexes - Available paths.
35
+ * @param where - Field choices, in any authored order.
36
+ * @param defaultIndex - Unfiltered source containing every primary row once.
37
+ * @returns One path and its key searches; null when no index answers it.
38
+ * @throws When a choice would exceed the bounded number of disjoint runs.
39
+ */
40
+ export declare function planRecordSlice(indexes: readonly Index[], where: ReadonlyMap<string, Choice>, defaultIndex: string): RecordSlicePlan | null;
41
+ /**
42
+ * Keep the largest supported leading path after a choice changes. A new field
43
+ * that cannot follow replaces incompatible clauses; a trailing field with no
44
+ * chosen prerequisites remains unavailable. Chrome uses the same result to
45
+ * explain replacements before applying them.
46
+ * @param indexes - Available field paths.
47
+ * @param current - Current narrowing.
48
+ * @param field - Field being changed or cleared.
49
+ * @param choice - New choice, or undefined to clear the field.
50
+ * @returns Supported next narrowing, or null when prerequisites are missing.
51
+ */
52
+ export declare function recordChoiceWhere(indexes: readonly Index[], current: ReadonlyMap<string, Choice>, field: string, choice: Choice | undefined): Map<string, Choice> | null;
53
+ export {};
54
+ //# sourceMappingURL=record-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-plan.d.ts","sourceRoot":"","sources":["../../../../src/platform/slice/record-plan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kFAAkF;AAClF,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAErF,KAAK,MAAM,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAGjD,KAAK,KAAK,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAE/C,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC5B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;CACzC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAmB3F;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,GAAG,SAAS,CAIhH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAsC3I;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAiBxK"}