@elaraai/e3-ui 1.0.94 → 1.0.96

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 (303) hide show
  1. package/dist/src/allocation/adapters.d.ts +159 -0
  2. package/dist/src/allocation/adapters.d.ts.map +1 -0
  3. package/dist/src/allocation/adapters.js +241 -0
  4. package/dist/src/allocation/adapters.js.map +1 -0
  5. package/dist/src/allocation/functions.d.ts +664 -0
  6. package/dist/src/allocation/functions.d.ts.map +1 -0
  7. package/dist/src/allocation/functions.js +782 -0
  8. package/dist/src/allocation/functions.js.map +1 -0
  9. package/dist/src/allocation/index.d.ts +2985 -0
  10. package/dist/src/allocation/index.d.ts.map +1 -0
  11. package/dist/src/allocation/index.js +499 -0
  12. package/dist/src/allocation/index.js.map +1 -0
  13. package/dist/src/allocation/types.d.ts +832 -0
  14. package/dist/src/allocation/types.d.ts.map +1 -0
  15. package/dist/src/allocation/types.js +360 -0
  16. package/dist/src/allocation/types.js.map +1 -0
  17. package/dist/src/bind/func.d.ts +14 -0
  18. package/dist/src/bind/func.d.ts.map +1 -1
  19. package/dist/src/bind/func.js +22 -1
  20. package/dist/src/bind/func.js.map +1 -1
  21. package/dist/src/calendar/index.d.ts +510 -1639
  22. package/dist/src/calendar/index.d.ts.map +1 -1
  23. package/dist/src/calendar/index.js +56 -29
  24. package/dist/src/calendar/index.js.map +1 -1
  25. package/dist/src/flowchart/canvas.d.ts +9 -21
  26. package/dist/src/flowchart/canvas.d.ts.map +1 -1
  27. package/dist/src/flowchart/canvas.js +10 -22
  28. package/dist/src/flowchart/canvas.js.map +1 -1
  29. package/dist/src/flowchart/flowchart.d.ts +19 -13
  30. package/dist/src/flowchart/flowchart.d.ts.map +1 -1
  31. package/dist/src/flowchart/flowchart.js.map +1 -1
  32. package/dist/src/flowchart/index.d.ts +44 -21
  33. package/dist/src/flowchart/index.d.ts.map +1 -1
  34. package/dist/src/flowchart/index.js +43 -20
  35. package/dist/src/flowchart/index.js.map +1 -1
  36. package/dist/src/flowchart/library.d.ts +166 -81
  37. package/dist/src/flowchart/library.d.ts.map +1 -1
  38. package/dist/src/flowchart/library.js +232 -105
  39. package/dist/src/flowchart/library.js.map +1 -1
  40. package/dist/src/flowchart/over.d.ts +9 -16
  41. package/dist/src/flowchart/over.d.ts.map +1 -1
  42. package/dist/src/flowchart/over.js +9 -16
  43. package/dist/src/flowchart/over.js.map +1 -1
  44. package/dist/src/flowchart/payload.d.ts +710 -508
  45. package/dist/src/flowchart/payload.d.ts.map +1 -1
  46. package/dist/src/flowchart/payload.js +128 -74
  47. package/dist/src/flowchart/payload.js.map +1 -1
  48. package/dist/src/flowchart/window.d.ts +132 -347
  49. package/dist/src/flowchart/window.d.ts.map +1 -1
  50. package/dist/src/flowchart/window.js +48 -55
  51. package/dist/src/flowchart/window.js.map +1 -1
  52. package/dist/src/index.d.ts +11 -7
  53. package/dist/src/index.d.ts.map +1 -1
  54. package/dist/src/index.js +14 -6
  55. package/dist/src/index.js.map +1 -1
  56. package/dist/src/internal.d.ts +18 -7
  57. package/dist/src/internal.d.ts.map +1 -1
  58. package/dist/src/internal.js +28 -9
  59. package/dist/src/internal.js.map +1 -1
  60. package/dist/src/plan/event-rows.d.ts +26 -10
  61. package/dist/src/plan/event-rows.d.ts.map +1 -1
  62. package/dist/src/plan/event-rows.js +39 -13
  63. package/dist/src/plan/event-rows.js.map +1 -1
  64. package/dist/src/plan/ir.d.ts +244 -815
  65. package/dist/src/plan/ir.d.ts.map +1 -1
  66. package/dist/src/plan/ir.js +8 -6
  67. package/dist/src/plan/ir.js.map +1 -1
  68. package/dist/src/plan/library.d.ts +3 -0
  69. package/dist/src/plan/library.d.ts.map +1 -1
  70. package/dist/src/plan/library.js +1 -1
  71. package/dist/src/plan/library.js.map +1 -1
  72. package/dist/src/plan/ordered-source.d.ts +1 -0
  73. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  74. package/dist/src/plan/plan.d.ts +559 -1667
  75. package/dist/src/plan/plan.d.ts.map +1 -1
  76. package/dist/src/plan/plan.js +123 -45
  77. package/dist/src/plan/plan.js.map +1 -1
  78. package/dist/src/plan/root.d.ts +16 -20
  79. package/dist/src/plan/root.d.ts.map +1 -1
  80. package/dist/src/plan/root.js +23 -33
  81. package/dist/src/plan/root.js.map +1 -1
  82. package/dist/src/roster/coverage.d.ts +17 -231
  83. package/dist/src/roster/coverage.d.ts.map +1 -1
  84. package/dist/src/roster/coverage.js +94 -90
  85. package/dist/src/roster/coverage.js.map +1 -1
  86. package/dist/src/roster/fit.d.ts +59 -0
  87. package/dist/src/roster/fit.d.ts.map +1 -0
  88. package/dist/src/roster/fit.js +155 -0
  89. package/dist/src/roster/fit.js.map +1 -0
  90. package/dist/src/roster/index.d.ts +2862 -3662
  91. package/dist/src/roster/index.d.ts.map +1 -1
  92. package/dist/src/roster/index.js +383 -81
  93. package/dist/src/roster/index.js.map +1 -1
  94. package/dist/src/roster/library.d.ts +37 -92
  95. package/dist/src/roster/library.d.ts.map +1 -1
  96. package/dist/src/roster/library.js +25 -64
  97. package/dist/src/roster/library.js.map +1 -1
  98. package/dist/src/roster/lists.d.ts +195 -0
  99. package/dist/src/roster/lists.d.ts.map +1 -0
  100. package/dist/src/roster/lists.js +233 -0
  101. package/dist/src/roster/lists.js.map +1 -0
  102. package/dist/src/roster/rules.d.ts +17 -260
  103. package/dist/src/roster/rules.d.ts.map +1 -1
  104. package/dist/src/roster/rules.js +135 -132
  105. package/dist/src/roster/rules.js.map +1 -1
  106. package/dist/src/roster/targets.d.ts +115 -0
  107. package/dist/src/roster/targets.d.ts.map +1 -0
  108. package/dist/src/roster/targets.js +213 -0
  109. package/dist/src/roster/targets.js.map +1 -0
  110. package/dist/src/roster/times.d.ts +251 -0
  111. package/dist/src/roster/times.d.ts.map +1 -0
  112. package/dist/src/roster/times.js +174 -0
  113. package/dist/src/roster/times.js.map +1 -0
  114. package/dist/src/roster/types.d.ts +828 -183
  115. package/dist/src/roster/types.d.ts.map +1 -1
  116. package/dist/src/roster/types.js +224 -97
  117. package/dist/src/roster/types.js.map +1 -1
  118. package/dist/src/schedule/accessor.d.ts +28 -0
  119. package/dist/src/schedule/accessor.d.ts.map +1 -0
  120. package/dist/src/schedule/accessor.js +39 -0
  121. package/dist/src/schedule/accessor.js.map +1 -0
  122. package/dist/src/schedule/events.d.ts +170 -42
  123. package/dist/src/schedule/events.d.ts.map +1 -1
  124. package/dist/src/schedule/events.js +431 -171
  125. package/dist/src/schedule/events.js.map +1 -1
  126. package/dist/src/schedule/index.d.ts +41 -4
  127. package/dist/src/schedule/index.d.ts.map +1 -1
  128. package/dist/src/schedule/index.js +35 -3
  129. package/dist/src/schedule/index.js.map +1 -1
  130. package/dist/src/schedule/library.d.ts +13 -3
  131. package/dist/src/schedule/library.d.ts.map +1 -1
  132. package/dist/src/schedule/library.js +11 -4
  133. package/dist/src/schedule/library.js.map +1 -1
  134. package/dist/src/schedule/periods.d.ts +115 -0
  135. package/dist/src/schedule/periods.d.ts.map +1 -0
  136. package/dist/src/schedule/periods.js +215 -0
  137. package/dist/src/schedule/periods.js.map +1 -0
  138. package/dist/src/schedule/record-window.d.ts +25 -3
  139. package/dist/src/schedule/record-window.d.ts.map +1 -1
  140. package/dist/src/schedule/record-window.js +31 -18
  141. package/dist/src/schedule/record-window.js.map +1 -1
  142. package/dist/src/schedule/resources.d.ts +82 -4
  143. package/dist/src/schedule/resources.d.ts.map +1 -1
  144. package/dist/src/schedule/resources.js +44 -14
  145. package/dist/src/schedule/resources.js.map +1 -1
  146. package/dist/src/schedule/session.d.ts +69 -0
  147. package/dist/src/schedule/session.d.ts.map +1 -0
  148. package/dist/src/schedule/session.js +121 -0
  149. package/dist/src/schedule/session.js.map +1 -0
  150. package/dist/src/schedule/templates.d.ts +14 -2
  151. package/dist/src/schedule/templates.d.ts.map +1 -1
  152. package/dist/src/schedule/templates.js +5 -3
  153. package/dist/src/schedule/templates.js.map +1 -1
  154. package/dist/src/schedule/types.d.ts +1671 -37
  155. package/dist/src/schedule/types.d.ts.map +1 -1
  156. package/dist/src/schedule/types.js +196 -5
  157. package/dist/src/schedule/types.js.map +1 -1
  158. package/dist/src/schedule/window.d.ts +14 -0
  159. package/dist/src/schedule/window.d.ts.map +1 -1
  160. package/dist/src/schedule/window.js +14 -4
  161. package/dist/src/schedule/window.js.map +1 -1
  162. package/dist/src/schedule/words.d.ts +22 -0
  163. package/dist/src/schedule/words.d.ts.map +1 -0
  164. package/dist/src/schedule/words.js +25 -0
  165. package/dist/src/schedule/words.js.map +1 -0
  166. package/dist/src/sheet/index.d.ts +61 -27
  167. package/dist/src/sheet/index.d.ts.map +1 -1
  168. package/dist/src/sheet/index.js +59 -25
  169. package/dist/src/sheet/index.js.map +1 -1
  170. package/dist/src/sheet/library.d.ts +21 -3
  171. package/dist/src/sheet/library.d.ts.map +1 -1
  172. package/dist/src/sheet/library.js +23 -6
  173. package/dist/src/sheet/library.js.map +1 -1
  174. package/dist/src/sheet/registers.d.ts +100 -85
  175. package/dist/src/sheet/registers.d.ts.map +1 -1
  176. package/dist/src/sheet/registers.js +100 -85
  177. package/dist/src/sheet/registers.js.map +1 -1
  178. package/dist/src/sheet/root.d.ts +8 -12
  179. package/dist/src/sheet/root.d.ts.map +1 -1
  180. package/dist/src/sheet/root.js +6 -40
  181. package/dist/src/sheet/root.js.map +1 -1
  182. package/dist/src/sheet/sheet.d.ts +598 -2349
  183. package/dist/src/sheet/sheet.d.ts.map +1 -1
  184. package/dist/src/sheet/sheet.js +124 -37
  185. package/dist/src/sheet/sheet.js.map +1 -1
  186. package/dist/src/sheet/sub-rows.d.ts +74 -28
  187. package/dist/src/sheet/sub-rows.d.ts.map +1 -1
  188. package/dist/src/sheet/sub-rows.js +74 -28
  189. package/dist/src/sheet/sub-rows.js.map +1 -1
  190. package/dist/src/sheet/templates.d.ts +98 -34
  191. package/dist/src/sheet/templates.d.ts.map +1 -1
  192. package/dist/src/sheet/templates.js +102 -58
  193. package/dist/src/sheet/templates.js.map +1 -1
  194. package/dist/src/sheet/types.d.ts +289 -1359
  195. package/dist/src/sheet/types.d.ts.map +1 -1
  196. package/dist/src/sheet/types.js +20 -26
  197. package/dist/src/sheet/types.js.map +1 -1
  198. package/dist/src/sheet/views.d.ts +10 -11
  199. package/dist/src/sheet/views.d.ts.map +1 -1
  200. package/dist/src/sheet/views.js +15 -20
  201. package/dist/src/sheet/views.js.map +1 -1
  202. package/dist/src/{roster/visibility.d.ts → utils/key-visibility.d.ts} +42 -7
  203. package/dist/src/utils/key-visibility.d.ts.map +1 -0
  204. package/dist/src/utils/key-visibility.js +36 -0
  205. package/dist/src/utils/key-visibility.js.map +1 -0
  206. package/dist/src/utils/ordered-source.d.ts +1 -0
  207. package/dist/src/utils/ordered-source.d.ts.map +1 -1
  208. package/dist/src/utils/ordered-source.js +8 -3
  209. package/dist/src/utils/ordered-source.js.map +1 -1
  210. package/dist/src/utils/record-sources.d.ts +107 -0
  211. package/dist/src/utils/record-sources.d.ts.map +1 -0
  212. package/dist/src/utils/record-sources.js +132 -0
  213. package/dist/src/utils/record-sources.js.map +1 -0
  214. package/dist/test/allocation/allocation.examples.d.ts +2902 -0
  215. package/dist/test/allocation/allocation.examples.d.ts.map +1 -0
  216. package/dist/test/allocation/allocation.examples.js +643 -0
  217. package/dist/test/allocation/allocation.examples.js.map +1 -0
  218. package/dist/test/allocation/fit.examples.d.ts +546 -0
  219. package/dist/test/allocation/fit.examples.d.ts.map +1 -0
  220. package/dist/test/allocation/fit.examples.js +171 -0
  221. package/dist/test/allocation/fit.examples.js.map +1 -0
  222. package/dist/test/allocation/kiln-yard.d.ts +181 -0
  223. package/dist/test/allocation/kiln-yard.d.ts.map +1 -0
  224. package/dist/test/allocation/kiln-yard.js +228 -0
  225. package/dist/test/allocation/kiln-yard.js.map +1 -0
  226. package/dist/test/bind/data/data.examples.d.ts +651 -1
  227. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  228. package/dist/test/bind/data/data.examples.js +140 -2
  229. package/dist/test/bind/data/data.examples.js.map +1 -1
  230. package/dist/test/bind/func/func.examples.d.ts +10 -1
  231. package/dist/test/bind/func/func.examples.d.ts.map +1 -1
  232. package/dist/test/bind/func/func.examples.js +8 -1
  233. package/dist/test/bind/func/func.examples.js.map +1 -1
  234. package/dist/test/bind/record/record.examples.d.ts +633 -1
  235. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  236. package/dist/test/bind/record/record.examples.js +26 -2
  237. package/dist/test/bind/record/record.examples.js.map +1 -1
  238. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  239. package/dist/test/calendar/calendar-records.examples.js +18 -14
  240. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  241. package/dist/test/calendar/calendar.examples.d.ts +521 -16
  242. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  243. package/dist/test/calendar/calendar.examples.js +182 -135
  244. package/dist/test/calendar/calendar.examples.js.map +1 -1
  245. package/dist/test/examples-package.d.ts +75 -0
  246. package/dist/test/examples-package.d.ts.map +1 -0
  247. package/dist/test/examples-package.js +263 -0
  248. package/dist/test/examples-package.js.map +1 -0
  249. package/dist/test/flowchart/flowchart.examples.d.ts +211 -19
  250. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  251. package/dist/test/flowchart/flowchart.examples.js +102 -75
  252. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  253. package/dist/test/plan/plan-events.examples.d.ts +1439 -209
  254. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  255. package/dist/test/plan/plan-events.examples.js +199 -59
  256. package/dist/test/plan/plan-events.examples.js.map +1 -1
  257. package/dist/test/plan/plan-records.examples.d.ts +420 -0
  258. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  259. package/dist/test/plan/plan-records.examples.js +70 -19
  260. package/dist/test/plan/plan-records.examples.js.map +1 -1
  261. package/dist/test/plan/plan-windows.examples.d.ts +636 -55
  262. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  263. package/dist/test/plan/plan-windows.examples.js +69 -33
  264. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  265. package/dist/test/plan/plan.examples.d.ts +153 -31
  266. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  267. package/dist/test/plan/plan.examples.js +178 -101
  268. package/dist/test/plan/plan.examples.js.map +1 -1
  269. package/dist/test/roster/domain.examples.d.ts +467 -250
  270. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  271. package/dist/test/roster/domain.examples.js +92 -29
  272. package/dist/test/roster/domain.examples.js.map +1 -1
  273. package/dist/test/roster/roster-records.examples.d.ts +430 -586
  274. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  275. package/dist/test/roster/roster-records.examples.js +102 -43
  276. package/dist/test/roster/roster-records.examples.js.map +1 -1
  277. package/dist/test/roster/roster.examples.d.ts +2319 -606
  278. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  279. package/dist/test/roster/roster.examples.js +456 -148
  280. package/dist/test/roster/roster.examples.js.map +1 -1
  281. package/dist/test/roster/warehouse.d.ts +172 -63
  282. package/dist/test/roster/warehouse.d.ts.map +1 -1
  283. package/dist/test/roster/warehouse.js +172 -39
  284. package/dist/test/roster/warehouse.js.map +1 -1
  285. package/dist/test/schedule/schedule.examples.d.ts +3499 -0
  286. package/dist/test/schedule/schedule.examples.d.ts.map +1 -0
  287. package/dist/test/schedule/schedule.examples.js +192 -0
  288. package/dist/test/schedule/schedule.examples.js.map +1 -0
  289. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  290. package/dist/test/sheet/sheet-records.examples.js +22 -18
  291. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  292. package/dist/test/sheet/sheet.examples.d.ts +715 -26
  293. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  294. package/dist/test/sheet/sheet.examples.js +204 -130
  295. package/dist/test/sheet/sheet.examples.js.map +1 -1
  296. package/package.json +17 -10
  297. package/dist/src/roster/people.d.ts +0 -50
  298. package/dist/src/roster/people.d.ts.map +0 -1
  299. package/dist/src/roster/people.js +0 -32
  300. package/dist/src/roster/people.js.map +0 -1
  301. package/dist/src/roster/visibility.d.ts.map +0 -1
  302. package/dist/src/roster/visibility.js +0 -25
  303. package/dist/src/roster/visibility.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/allocation/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,360 @@
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 Allocation's East types (#1371, `Builder Interfaces Spec.md` §6.3). A
7
+ * day is the board's reading of the app's own rows — each bin the app's row,
8
+ * with the roles the board reads from it — carried in the fit's and the
9
+ * check's requests and in the renderer, and stored nowhere: the bins and the
10
+ * days are the app's records. Beside them, the arrivals and resources an app
11
+ * gives the board, and the fit's question and answer.
12
+ *
13
+ * The types over a day take the app's bin row type, `R`: each is a
14
+ * constructor, and the same `R` gives the same East type (`isTypeEqual`), so a
15
+ * row type declared once matches the board's bin kind and the fit's request.
16
+ *
17
+ * @packageDocumentation
18
+ */
19
+ import { ArrayType, BooleanType, DateTimeType, DictType, FloatType, IntegerType, NullType, OptionType, StringType, StructType, VariantType, } from "@elaraai/east";
20
+ import { StatusTokenType, TimeStepType } from "@elaraai/east-ui";
21
+ import { ScheduleFitType, SchedulePeriodStatusType, ScheduleRefusalType } from "../schedule/types.js";
22
+ // ============================================================================
23
+ // The day, as the board reads it
24
+ // ============================================================================
25
+ /**
26
+ * A lane: it takes one bin each `every` (an hour by default), at its offset
27
+ * past it.
28
+ *
29
+ * @property key - Its key, what a bin's lane names: its row's key in the lanes' resource kind
30
+ * @property label - Its name (`B-1`)
31
+ * @property offset - How far past each slot's start its bins are booked (`minutes 15`)
32
+ */
33
+ export const AllocationLaneType = StructType({ key: StringType, label: StringType, offset: TimeStepType });
34
+ /**
35
+ * A day's status: Schedule's period status, read from the app's days record
36
+ * (`Schedule.periods`).
37
+ *
38
+ * @property draft - An editable day
39
+ * @property published - A read-only day, and when it was published when the app's published case holds the time
40
+ * @property other - Another case of the app's status, by its name: read-only
41
+ */
42
+ export const AllocationStatusType = SchedulePeriodStatusType;
43
+ /**
44
+ * One bin, as the board reads it from the app's row (`R`): its roles — one
45
+ * booking in a lane slot, and the quantity it puts on each resource — beside
46
+ * the row itself, every field of it.
47
+ *
48
+ * @remarks
49
+ * Composed from the bin kind's roles (its `rows` and `read`) and the row. A
50
+ * bin keeps what it was booked with — its kind and its hold come from its
51
+ * arrival when it is booked, as its row's other fields do, and stay with it
52
+ * when it moves — so a bin can differ from its arrival, as a delivery measured
53
+ * on arrival does. A reservation books no arrival, and holds no quantity, no
54
+ * kind and no hold.
55
+ *
56
+ * @typeParam R - The app's bin row type
57
+ * @param row - The app's bin row type
58
+ * @returns `StructType({ lane, at, arrival, quantity, kind, hold, parts, row })`
59
+ *
60
+ * @property lane - Its lane's key
61
+ * @property at - Its time; a batch's bins follow one minute apart
62
+ * @property arrival - The arrival it books, by key; `none` for a reservation
63
+ * @property quantity - Its quantity; 0 for a reservation
64
+ * @property kind - What it goes with on a resource (its arrival's kind when booked); `none` for a kind with no `kind` role
65
+ * @property hold - How long a resource holds it from the plan day (its arrival's hold when booked)
66
+ * @property parts - The quantity on each resource, by key; empty while it is not linked
67
+ * @property row - The app's row, every field of it
68
+ */
69
+ export function AllocationBinTypeFor(row) {
70
+ return StructType({
71
+ lane: StringType, at: DateTimeType, arrival: OptionType(StringType), quantity: FloatType, kind: OptionType(StringType),
72
+ hold: TimeStepType, parts: DictType(StringType, FloatType), row,
73
+ });
74
+ }
75
+ /**
76
+ * One day of the app's bins, as the board reads them: its period's status and
77
+ * its bins, the drafts in place.
78
+ *
79
+ * @typeParam R - The app's bin row type
80
+ * @param row - The app's bin row type
81
+ * @returns `StructType({ status, bins })`
82
+ *
83
+ * @property status - The day's status, from the app's days record; a draft with no `periods`, or no row for the day
84
+ * @property bins - The bins whose `at` falls in the day, by their keys
85
+ */
86
+ export function AllocationDayTypeFor(row) {
87
+ return StructType({ status: AllocationStatusType, bins: DictType(StringType, AllocationBinTypeFor(row)) });
88
+ }
89
+ // ============================================================================
90
+ // Arrivals and resources
91
+ // ============================================================================
92
+ /**
93
+ * A span of time, `[from, to)`.
94
+ *
95
+ * @property from - Its start
96
+ * @property to - Its end
97
+ */
98
+ export const AllocationIntervalType = StructType({ from: DateTimeType, to: DateTimeType });
99
+ /**
100
+ * Other work on a resource: a job covering the plan day's start makes it busy
101
+ * until the job ends; one starting later is its next job.
102
+ *
103
+ * @property label - Its name (`C-3142`)
104
+ * @property start - When it starts
105
+ * @property end - When it ends, and the resource is released
106
+ */
107
+ export const AllocationJobType = StructType({ label: StringType, start: DateTimeType, end: DateTimeType });
108
+ /**
109
+ * One line of an arrival's details, shown read-only in a bin's inspector.
110
+ *
111
+ * @property label - Its label (`Settings`)
112
+ * @property value - Its text
113
+ */
114
+ export const AllocationDetailType = StructType({ label: StringType, value: StringType });
115
+ /**
116
+ * What the board books from: an arrival, resolved from the app's rows
117
+ * (`Allocation.arrivals`).
118
+ *
119
+ * @property key - Its key in the app's rows, what a bin's `arrival` names
120
+ * @property label - Its code on cards, chips and lists (`LD-2231`)
121
+ * @property meta - Its second line (`BRK · R2 · spec MC12`)
122
+ * @property quantity - Its quantity, booked whole unless split
123
+ * @property hold - How long a resource holds a bin of it
124
+ * @property kind - What it goes with: a resource holding the same kind ranks higher in `Allocation.fit`
125
+ * @property due - When it is due; overdue before the plan day
126
+ * @property window - Its ready window
127
+ * @property details - Read-only lines in a bin's inspector
128
+ */
129
+ export const AllocationArrivalType = StructType({
130
+ key: StringType, label: StringType, meta: OptionType(StringType), quantity: FloatType, hold: TimeStepType, kind: OptionType(StringType),
131
+ due: OptionType(DateTimeType), window: OptionType(AllocationIntervalType), details: ArrayType(AllocationDetailType),
132
+ });
133
+ /**
134
+ * A resource bins are allocated to, resolved from the app's rows through its
135
+ * resource kind's accessors (`Schedule.resources`).
136
+ *
137
+ * @property key - Its key in the app's rows, what a bin's `parts` name
138
+ * @property label - Its name (`K-203`)
139
+ * @property group - Its group (`Hall B`)
140
+ * @property meta - Its free line (`Hall B · 40 m³`)
141
+ * @property note - A line about its next job, after the inspector's next fill
142
+ * @property min - Its minimum, in the quantity's unit
143
+ * @property max - Its maximum
144
+ * @property hold - How long a reservation on it is checked for, and how long it is held when it holds only reservations
145
+ * @property jobs - Other work on it
146
+ */
147
+ export const AllocationResourceType = StructType({
148
+ key: StringType, label: StringType, group: OptionType(StringType), meta: OptionType(StringType), note: OptionType(StringType),
149
+ min: FloatType, max: FloatType, hold: TimeStepType, jobs: ArrayType(AllocationJobType),
150
+ });
151
+ /**
152
+ * The built-in rules an app may turn off.
153
+ *
154
+ * @property under - Whether `Allocation.fit` and `Allocation.check` warn under a resource's minimum
155
+ */
156
+ export const AllocationRulesType = StructType({ under: BooleanType });
157
+ /**
158
+ * Everything a fit and the checks read besides the day: the board's
159
+ * configuration, every arrival and every resource — whatever the narrowing
160
+ * hides.
161
+ *
162
+ * @property lanes - The lanes, in order
163
+ * @property every - The slot spacing
164
+ * @property arrivals - Every arrival, by key
165
+ * @property resources - Every resource, by key
166
+ * @property rules - The built-in rules
167
+ * @property unit - The quantity's unit (`m³`), or empty
168
+ */
169
+ export const AllocationContextType = StructType({
170
+ lanes: ArrayType(AllocationLaneType), every: TimeStepType, arrivals: DictType(StringType, AllocationArrivalType),
171
+ resources: DictType(StringType, AllocationResourceType), rules: AllocationRulesType, unit: StringType,
172
+ });
173
+ // ============================================================================
174
+ // Loads, candidates and fits
175
+ // ============================================================================
176
+ /**
177
+ * A resource's state on the plan day.
178
+ *
179
+ * @property free - It holds nothing and is not busy
180
+ * @property loading - It holds bins today
181
+ * @property busy - A job covers the day's start
182
+ */
183
+ export const AllocationLoadStateType = VariantType({ free: NullType, loading: NullType, busy: NullType });
184
+ /**
185
+ * A resource's load on the plan day.
186
+ *
187
+ * @property resource - The resource's key
188
+ * @property fill - What its bins put on it
189
+ * @property bins - How many bins are on it, reservations included
190
+ * @property hold - From the plan day for its longest bin's hold (its own hold when it holds only reservations); `none` with no bins
191
+ * @property state - Free, loading or busy
192
+ */
193
+ export const AllocationLoadType = StructType({
194
+ resource: StringType, fill: FloatType, bins: IntegerType, hold: OptionType(AllocationIntervalType), state: AllocationLoadStateType,
195
+ });
196
+ /**
197
+ * A resource's line on the plan day, as its row and its bins' cards show it
198
+ * (A16, A19).
199
+ *
200
+ * @property text - Its line: the load it holds (`11 m³ · max 9 · 2 over`, `reserved · takes 26–48`, with `· 1 d into next job`), `busy until Fri 14`, or what it is and takes when free (`Hall B · 40 m³ · takes 20–40 m³`)
201
+ * @property tone - `danger` over its maximum, `warning` overlapping its next job or under its minimum, else `neutral`
202
+ * @property over - Whether it holds more than its maximum
203
+ * @property under - Whether it holds something, but less than its minimum
204
+ * @property overlap - Whether its hold runs into its next job
205
+ * @property next - Its next job: where an overlap starts
206
+ */
207
+ export const AllocationResourceLineType = StructType({
208
+ text: StringType, tone: StatusTokenType, over: BooleanType, under: BooleanType, overlap: BooleanType, next: OptionType(AllocationJobType),
209
+ });
210
+ /**
211
+ * One quantity on one resource, against the drafted day: what a fit is asked
212
+ * about, one candidate at a time.
213
+ *
214
+ * @property day - The plan day
215
+ * @property bin - The bin it is for; `none` for an arrival not yet booked and for a new reservation
216
+ * @property reserve - Whether it reserves a slot (a reservation, or a bin booking no arrival): checked with no quantity, and refused when the resource is full
217
+ * @property quantity - What the resource would hold of it
218
+ * @property arrival - Its arrival, if it has one
219
+ * @property kind - Its kind
220
+ * @property resource - The resource
221
+ * @property load - The resource's load as the day stands
222
+ * @property after - What the resource would hold with it: the other bins' parts, and its quantity
223
+ * @property hold - From the plan day for the longer of its hold and the resource's other bins' holds
224
+ * @property spare - The days between the hold's end and the resource's next job; `none` with no next job
225
+ * @property kindMates - Whether a bin of its kind is already on the resource
226
+ * @property otherMates - Whether the resource holds other bins, none of its kind
227
+ * @property rules - The built-in rules
228
+ * @property unit - The quantity's unit
229
+ */
230
+ export const AllocationCandidateType = StructType({
231
+ day: DateTimeType, bin: OptionType(StringType), reserve: BooleanType, quantity: FloatType, arrival: OptionType(AllocationArrivalType),
232
+ kind: OptionType(StringType), resource: AllocationResourceType, load: AllocationLoadType, after: FloatType, hold: AllocationIntervalType,
233
+ spare: OptionType(FloatType), kindMates: BooleanType, otherMates: BooleanType, rules: AllocationRulesType, unit: StringType,
234
+ });
235
+ /** Why something does not fit — Schedule's, shared with the Roster. */
236
+ export const AllocationRefusalType = ScheduleRefusalType;
237
+ /** One verdict of a fit — Schedule's, shared with the Roster. */
238
+ export const AllocationFitType = ScheduleFitType;
239
+ /**
240
+ * The question a fit answers.
241
+ *
242
+ * @property place - Where can this subject — a bin, or an arrival — go with this quantity: a verdict per resource
243
+ * @property take - What can this resource take: a verdict per bin, one per arrival the day has not booked, and one for reserving an empty slot on it
244
+ */
245
+ export const AllocationFitAskType = VariantType({
246
+ place: StructType({ subject: VariantType({ bin: StringType, arrival: StringType }), quantity: FloatType }),
247
+ take: StructType({ resource: StringType }),
248
+ });
249
+ /**
250
+ * One question to the app's fit, about the drafted day.
251
+ *
252
+ * @typeParam R - The app's bin row type
253
+ * @param row - The app's bin row type
254
+ * @returns `StructType({ day, plan, ask, context })`
255
+ *
256
+ * @property day - The plan day
257
+ * @property plan - The day as drafted: each bin its roles and its own row
258
+ * @property ask - The question
259
+ * @property context - Every arrival and resource, and the board's configuration
260
+ */
261
+ export function AllocationFitRequestTypeFor(row) {
262
+ return StructType({ day: DateTimeType, plan: AllocationDayTypeFor(row), ask: AllocationFitAskType, context: AllocationContextType });
263
+ }
264
+ /**
265
+ * A fit's answer. It echoes its question, so the board matches each answer to
266
+ * the question it asked.
267
+ *
268
+ * @property ask - The question answered
269
+ * @property resources - A place's verdicts, by resource
270
+ * @property bins - A take's verdicts, by bin
271
+ * @property arrivals - A take's verdicts for booking each arrival the day has not booked onto the resource, by arrival (the Table's arrival Chooser, a reservation's Book list)
272
+ * @property reserve - A take's verdict for reserving an empty slot
273
+ * @property basis - How the fits are ranked, in words (`ranked by load, kind and spare days`)
274
+ */
275
+ export const AllocationFitResultType = StructType({
276
+ ask: AllocationFitAskType, resources: DictType(StringType, AllocationFitType), bins: DictType(StringType, AllocationFitType),
277
+ arrivals: DictType(StringType, AllocationFitType), reserve: OptionType(AllocationFitType), basis: StringType,
278
+ });
279
+ // ============================================================================
280
+ // Issues and slots
281
+ // ============================================================================
282
+ /**
283
+ * An issue's fix.
284
+ *
285
+ * @property choose - Choose a resource for the bin
286
+ * @property move - Open this bin's resource choices (`Move LD-2205…`)
287
+ * @property find - Find a fit for the bin's unallocated quantity
288
+ */
289
+ export const AllocationFixType = VariantType({ choose: NullType, move: StringType, find: NullType });
290
+ /**
291
+ * What an issue is about.
292
+ *
293
+ * @property unlinked - A bin with no resource
294
+ * @property unallocated - A bin whose parts leave some of it unallocated
295
+ * @property over - A resource over its maximum
296
+ * @property under - A resource under its minimum
297
+ * @property overlap - A resource whose hold runs into its next job
298
+ * @property custom - One of the app's, by its group's name (`Spec mismatch`)
299
+ */
300
+ export const AllocationIssueKindType = VariantType({
301
+ unlinked: NullType, unallocated: NullType, over: NullType, under: NullType, overlap: NullType, custom: StringType,
302
+ });
303
+ /**
304
+ * One warning about the drafted day. Issues never block Save or Publish.
305
+ *
306
+ * @property kind - What it is about
307
+ * @property tone - Its tone; warning and danger issues are counted, neutral and info ones listed only
308
+ * @property title - Its title (`K-207`)
309
+ * @property detail - Its detail (`44 m³ · max 40 · 4 over · over max`)
310
+ * @property bin - The bin it is about, if any
311
+ * @property resource - The resource it is about, if any
312
+ * @property flag - A bin card's short mark (`≠ spec`)
313
+ * @property fix - Its fix
314
+ */
315
+ export const AllocationIssueType = StructType({
316
+ kind: AllocationIssueKindType, tone: StatusTokenType, title: StringType, detail: StringType,
317
+ bin: OptionType(StringType), resource: OptionType(StringType), flag: OptionType(StringType), fix: OptionType(AllocationFixType),
318
+ });
319
+ /**
320
+ * What the app's `check` is given: the drafted day and every load.
321
+ *
322
+ * @typeParam R - The app's bin row type
323
+ * @param row - The app's bin row type
324
+ * @returns `StructType({ day, plan, context, loads })`
325
+ *
326
+ * @property day - The plan day
327
+ * @property plan - The day as drafted: each bin its roles and its own row, which the app's check reads
328
+ * @property context - Every arrival and resource
329
+ * @property loads - Every resource's load, by key
330
+ */
331
+ export function AllocationCheckContextTypeFor(row) {
332
+ return StructType({
333
+ day: DateTimeType, plan: AllocationDayTypeFor(row), context: AllocationContextType, loads: DictType(StringType, AllocationLoadType),
334
+ });
335
+ }
336
+ /**
337
+ * A slot's state.
338
+ *
339
+ * @property free - No bin is in it
340
+ * @property booked - A bin booking an arrival is in it
341
+ * @property reserved - Only reservations are in it
342
+ */
343
+ export const AllocationSlotStatusType = VariantType({ free: NullType, booked: NullType, reserved: NullType });
344
+ /**
345
+ * One lane slot of the plan day: a Table's row, or one per bin of its batch.
346
+ *
347
+ * @property lane - Its lane's key
348
+ * @property at - Its time: the slot's start and its lane's offset
349
+ * @property status - Free, booked or reserved
350
+ * @property bins - Its bins, by time
351
+ */
352
+ export const AllocationSlotType = StructType({ lane: StringType, at: DateTimeType, status: AllocationSlotStatusType, bins: ArrayType(StringType) });
353
+ /**
354
+ * The board's layout.
355
+ *
356
+ * @property timeline - Lanes, links and resources
357
+ * @property table - One row per slot
358
+ */
359
+ export const AllocationLayoutType = VariantType({ timeline: NullType, table: NullType });
360
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/allocation/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACH,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EACpH,WAAW,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEtG,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AAK3G;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAc7D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,oBAAoB,CAAqB,GAAM;IAC3D,OAAO,UAAU,CAAC;QACd,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;QACtH,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,GAAG;KAClE,CAAoC,CAAC;AAC1C,CAAC;AAKD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAqB,GAAM;IAC3D,OAAO,UAAU,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAoC,CAAC;AAClJ,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;AAK3F;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;AAK3G;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AAKzF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAC5C,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;IACvI,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,oBAAoB,CAAC;CACtH,CAAC,CAAC;AAKH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAC7C,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;IAC7H,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,iBAAiB,CAAC;CACzF,CAAC,CAAC;AAKH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAKtE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAC5C,KAAK,EAAE,SAAS,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAChH,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU;CACxG,CAAC,CAAC;AAKH,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAK1G;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IACzC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,uBAAuB;CACrI,CAAC,CAAC;AAKH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;IACjD,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC;CAC5I,CAAC,CAAC;AAKH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;IAC9C,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,qBAAqB,CAAC;IACrI,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB;IACxI,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU;CAC9H,CAAC,CAAC;AAKH,uEAAuE;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAKzD,iEAAiE;AACjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAKjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC;IAC5C,KAAK,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC1G,IAAI,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;CAC7C,CAAC,CAAC;AAUH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,2BAA2B,CAAqB,GAAM;IAClE,OAAO,UAAU,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAA2C,CAAC;AACnL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;IAC9C,GAAG,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAC5H,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,UAAU;CAC/G,CAAC,CAAC;AAKH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAKrG;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;IAC/C,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU;CACpH,CAAC,CAAC;AAKH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;IAC3F,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,iBAAiB,CAAC;CAClI,CAAC,CAAC;AAUH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,6BAA6B,CAAqB,GAAM;IACpE,OAAO,UAAU,CAAC;QACd,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;KACtI,CAA6C,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAK9G;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAKpJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC"}
@@ -187,6 +187,20 @@ export declare const FuncBindHandleType: <I extends EastType[], O extends EastTy
187
187
  * @typeParam O - Return East type.
188
188
  */
189
189
  export type BoundFunc<I extends EastType[], O extends EastType> = ExprType<ReturnType<typeof FuncBindHandleType<I, O>>>;
190
+ /**
191
+ * What a {@link Func.bind} handle of a one-argument function asks and
192
+ * answers, read from the handle's type: its `call`'s one input and its
193
+ * `read`'s result. A tag that takes a bound function checks the handle it is
194
+ * given with this, then holds each type to its own with `isTypeEqual`.
195
+ *
196
+ * @param handle - What an app passed where a `Func.bind` handle goes
197
+ * @returns The function's argument type and result type, or `undefined` for a value that is no `Func.bind` handle of a one-argument function
198
+ * @internal
199
+ */
200
+ export declare function boundFuncSignature(handle: unknown): {
201
+ asks: EastType;
202
+ answers: EastType;
203
+ } | undefined;
190
204
  /**
191
205
  * The underlying `Func.bind` platform-function definition. End-users
192
206
  * should call {@link Func.bind} (the typed factory in this module);
@@ -1 +1 @@
1
- {"version":3,"file":"func.d.ts","sourceRoot":"","sources":["../../../src/bind/func.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAEH,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,QAAQ,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc;;;;;;EAMzB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;EAE1B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAMrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,EAAE,EAAE,CAAC,SAAS,QAAQ,EACvE,QAAQ,CAAC,GAAG,CAAC,CAAC,EACd,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASX,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,CAAC,SAAS,QAAQ,IAC1D,QAAQ,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAM1D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,+FAM9B,CAAC;AAqBF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;IAC3B,2EAA2E;;IAE3E,wEAAwE;;IAExE,6CAA6C;;;;;;;;IAE7C,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;IAEnD,wCAAwC;;IAExC,uCAAuC;;CAEjC,CAAC;AAMX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,iBAAS,YAAY,CAAC,MAAM,SAAS,QAAQ,EAAE,EAAE,MAAM,SAAS,QAAQ,EACpE,EAAE,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAO3B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI;;CAEP,CAAC"}
1
+ {"version":3,"file":"func.d.ts","sourceRoot":"","sources":["../../../src/bind/func.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAGH,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,QAAQ,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc;;;;;;EAMzB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;EAE1B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAMrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,EAAE,EAAE,CAAC,SAAS,QAAQ,EACvE,QAAQ,CAAC,GAAG,CAAC,CAAC,EACd,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASX,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,CAAC,SAAS,QAAQ,IAC1D,QAAQ,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,GAAG,SAAS,CAQrG;AAMD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,+FAM9B,CAAC;AAqBF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;IAC3B,2EAA2E;;IAE3E,wEAAwE;;IAExE,6CAA6C;;;;;;;;IAE7C,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;IAEnD,wCAAwC;;IAExC,uCAAuC;;CAEjC,CAAC;AAMX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,iBAAS,YAAY,CAAC,MAAM,SAAS,QAAQ,EAAE,EAAE,MAAM,SAAS,QAAQ,EACpE,EAAE,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAO3B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI;;CAEP,CAAC"}
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * @packageDocumentation
16
16
  */
17
- import { East, ArrayType, BooleanType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, VariantType, } from '@elaraai/east';
17
+ import { East, Expr, ArrayType, BooleanType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, VariantType, } from '@elaraai/east';
18
18
  // ============================================================================
19
19
  // Status + error types
20
20
  // ============================================================================
@@ -125,6 +125,27 @@ export const FuncBindHandleType = (inputs, output) => StructType({
125
125
  cancel: FunctionType([], NullType),
126
126
  binding: FuncBindingType,
127
127
  });
128
+ /**
129
+ * What a {@link Func.bind} handle of a one-argument function asks and
130
+ * answers, read from the handle's type: its `call`'s one input and its
131
+ * `read`'s result. A tag that takes a bound function checks the handle it is
132
+ * given with this, then holds each type to its own with `isTypeEqual`.
133
+ *
134
+ * @param handle - What an app passed where a `Func.bind` handle goes
135
+ * @returns The function's argument type and result type, or `undefined` for a value that is no `Func.bind` handle of a one-argument function
136
+ * @internal
137
+ */
138
+ export function boundFuncSignature(handle) {
139
+ if (!(handle instanceof Expr))
140
+ return undefined;
141
+ const type = Expr.type(handle);
142
+ if (type.type !== "Struct" || type.fields["binding"] === undefined)
143
+ return undefined;
144
+ const call = type.fields["call"], read = type.fields["read"];
145
+ const asks = call?.type === "Function" && call.inputs.length === 1 ? call.inputs[0] : undefined;
146
+ const answers = read?.type === "Function" && read.output.type === "Variant" ? read.output.cases["some"] : undefined;
147
+ return asks === undefined || answers === undefined ? undefined : { asks, answers };
148
+ }
128
149
  // ============================================================================
129
150
  // Platform function — single generic over the instantiated handle type.
130
151
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"func.js","sourceRoot":"","sources":["../../../src/bind/func.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"func.js","sourceRoot":"","sources":["../../../src/bind/func.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EACH,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,GAGd,MAAM,eAAe,CAAC;AAGvB,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;IACtC,IAAI,EAAO,QAAQ;IACnB,OAAO,EAAI,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAK,QAAQ;IACnB,SAAS,EAAE,QAAQ;CACtB,CAAC,CAAC;AAOH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,WAAW,CAAC;QACd,MAAM,EAAK,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAChD,OAAO,EAAI,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,SAAS,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACjE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;QAC1C,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;KACjD,CAAC;IACF,OAAO,EAAE,UAAU;IACnB,MAAM,EAAG,UAAU;IACnB,MAAM,EAAG,UAAU;CACtB,CAAC,CAAC;AAOH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACtC,IAAI,EAAE,UAAU;CACnB,CAAC,CAAC;AAOH,+EAA+E;AAC/E,4CAA4C;AAC5C,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,MAAc,EACd,MAAS,EACX,EAAE,CAAC,UAAU,CAAC;IACZ,IAAI,EAAK,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;IACvC,IAAI,EAAK,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAG,YAAY,CAAC,EAAE,EAAE,cAAc,CAAC;IACzC,KAAK,EAAI,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IACpD,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC;IACtC,MAAM,EAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC;IACnC,OAAO,EAAE,eAAe;CAC3B,CAAC,CAAC;AAkBH;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAC9C,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAa,CAAC;IAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACrF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpH,OAAO,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACvF,CAAC;AAED,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAClD,eAAe,EACf,CAAC,GAAG,CAAC,EACL,CAAC,UAAU,CAAC,EACZ,GAAG,EACH,EAAE,QAAQ,EAAE,IAAI,EAAE,CACrB,CAAC;AAEF,4EAA4E;AAC5E,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,+BAA+B;AAC/B,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,8EAA8E;AAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACzH,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACtH,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3G,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACpH,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1G,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAErG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,2EAA2E;IAC3E,IAAI,EAAE,aAAa;IACnB,wEAAwE;IACxE,IAAI,EAAE,aAAa;IACnB,6CAA6C;IAC7C,MAAM,EAAE,eAAe;IACvB,mDAAmD;IACnD,KAAK,EAAE,cAAc;IACrB,wCAAwC;IACxC,OAAO,EAAE,gBAAgB;IACzB,uCAAuC;IACvC,MAAM,EAAE,eAAe;CACjB,CAAC;AAEX,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,SAAS,YAAY,CACjB,EAA+B;IAE/B,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IACzE,mEAAmE;IACnE,sEAAsE;IACtE,0DAA0D;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,OAAO,kBAAkB,CAAC,CAAC,UAAU,CAAC,EAAE,SAAS,CAA8B,CAAC;AACpF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAChB,IAAI,EAAE,YAAY;CACZ,CAAC"}