@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
@@ -118,6 +118,114 @@ export declare const sheetJobsPatch: import("@elaraai/e3").MutationDef<"patch",
118
118
  }>;
119
119
  }>>;
120
120
  }>]>;
121
+ /** The jobs again, as the edge bander's week holds them: a Save over them is refused for a reason the record gives. */
122
+ export declare const sheetBookedJobs: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
123
+ readonly task: StringType;
124
+ readonly start: OptionType<DateTimeType>;
125
+ readonly qty: OptionType<FloatType>;
126
+ }>>, [variant<"field", "records">, variant<"field", "sheet_booked_jobs">]>;
127
+ /** The booked jobs' patch door: it commits a patch unless a job it leaves bands both edges — the edge bander is booked that week. */
128
+ export declare const sheetBookedJobsPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
129
+ readonly task: StringType;
130
+ readonly start: OptionType<DateTimeType>;
131
+ readonly qty: OptionType<FloatType>;
132
+ }>>, [VariantType<{
133
+ unchanged: NullType;
134
+ replace: StructType<{
135
+ before: DictType<StringType, StructType<{
136
+ readonly task: StringType;
137
+ readonly start: OptionType<DateTimeType>;
138
+ readonly qty: OptionType<FloatType>;
139
+ }>>;
140
+ after: DictType<StringType, StructType<{
141
+ readonly task: StringType;
142
+ readonly start: OptionType<DateTimeType>;
143
+ readonly qty: OptionType<FloatType>;
144
+ }>>;
145
+ }>;
146
+ patch: DictType<StringType, VariantType<{
147
+ delete: StructType<{
148
+ readonly task: StringType;
149
+ readonly start: OptionType<DateTimeType>;
150
+ readonly qty: OptionType<FloatType>;
151
+ }>;
152
+ insert: StructType<{
153
+ readonly task: StringType;
154
+ readonly start: OptionType<DateTimeType>;
155
+ readonly qty: OptionType<FloatType>;
156
+ }>;
157
+ update: VariantType<{
158
+ unchanged: NullType;
159
+ replace: StructType<{
160
+ before: StructType<{
161
+ readonly task: StringType;
162
+ readonly start: OptionType<DateTimeType>;
163
+ readonly qty: OptionType<FloatType>;
164
+ }>;
165
+ after: StructType<{
166
+ readonly task: StringType;
167
+ readonly start: OptionType<DateTimeType>;
168
+ readonly qty: OptionType<FloatType>;
169
+ }>;
170
+ }>;
171
+ patch: StructType<{
172
+ readonly task: VariantType<{
173
+ unchanged: NullType;
174
+ replace: StructType<{
175
+ before: StringType;
176
+ after: StringType;
177
+ }>;
178
+ }>;
179
+ readonly start: VariantType<{
180
+ unchanged: NullType;
181
+ replace: StructType<{
182
+ before: OptionType<DateTimeType>;
183
+ after: OptionType<DateTimeType>;
184
+ }>;
185
+ patch: VariantType<{
186
+ none: VariantType<{
187
+ unchanged: NullType;
188
+ replace: StructType<{
189
+ before: NullType;
190
+ after: NullType;
191
+ }>;
192
+ }>;
193
+ some: VariantType<{
194
+ unchanged: NullType;
195
+ replace: StructType<{
196
+ before: DateTimeType;
197
+ after: DateTimeType;
198
+ }>;
199
+ }>;
200
+ }>;
201
+ }>;
202
+ readonly qty: VariantType<{
203
+ unchanged: NullType;
204
+ replace: StructType<{
205
+ before: OptionType<FloatType>;
206
+ after: OptionType<FloatType>;
207
+ }>;
208
+ patch: VariantType<{
209
+ none: VariantType<{
210
+ unchanged: NullType;
211
+ replace: StructType<{
212
+ before: NullType;
213
+ after: NullType;
214
+ }>;
215
+ }>;
216
+ some: VariantType<{
217
+ unchanged: NullType;
218
+ replace: StructType<{
219
+ before: FloatType;
220
+ after: FloatType;
221
+ }>;
222
+ }>;
223
+ }>;
224
+ }>;
225
+ }>;
226
+ }>;
227
+ }>>;
228
+ }>]>;
121
229
  /**
122
230
  * The smallest sheet (§3.1) — the jobs an e3 record holds, in its frame: one
123
231
  * row per job in key order and a blank tail for the next, three typed
@@ -411,9 +519,6 @@ export declare const StressJob: StructType<{
411
519
  readonly status: StringType;
412
520
  readonly qty: OptionType<FloatType>;
413
521
  }>;
414
- /** How many jobs the stress sheet holds — a small authored constant;
415
- * {@link sheetStressJobs} makes the rows. */
416
- export declare const sheetStressJobCount: import("@elaraai/e3").DatasetDef<IntegerType, [variant<"field", "inputs">, variant<"field", "sheet_stress_job_count">]>;
417
522
  /**
418
523
  * The jobs, generated from their count — four a day from 5 January, the
419
524
  * activities in turn: every fifth a routing run naming a count of routers,
@@ -460,8 +565,133 @@ export declare const generateStressJobs: import("@elaraai/east").CallableFunctio
460
565
  readonly status: StringType;
461
566
  readonly qty: OptionType<FloatType>;
462
567
  }>>>;
463
- /** The task that generates the jobs — its output is what the stress sheet reads. */
464
- export declare const sheetStressJobs: import("@elaraai/e3").TaskDef<ArrayType<StructType<{
568
+ /** The jobs, keyed by their id — two thousand made by {@link generateStressJobs}: what the stress sheet pages and its rail narrows (#1345). */
569
+ export declare const sheetStressJobs: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
570
+ readonly id: StringType;
571
+ readonly start: OptionType<DateTimeType>;
572
+ readonly activity: StringType;
573
+ readonly notes: StringType;
574
+ readonly stations: StructType<{
575
+ readonly from: ArrayType<VariantType<{
576
+ readonly identified: StructType<{
577
+ readonly key: StringType;
578
+ }>;
579
+ readonly range: StructType<{
580
+ readonly from: StringType;
581
+ readonly to: StringType;
582
+ }>;
583
+ readonly counted: StructType<{
584
+ readonly n: IntegerType;
585
+ readonly key: StringType;
586
+ }>;
587
+ readonly placeholder: NullType;
588
+ readonly text: StringType;
589
+ }>>;
590
+ readonly to: ArrayType<VariantType<{
591
+ readonly identified: StructType<{
592
+ readonly key: StringType;
593
+ }>;
594
+ readonly range: StructType<{
595
+ readonly from: StringType;
596
+ readonly to: StringType;
597
+ }>;
598
+ readonly counted: StructType<{
599
+ readonly n: IntegerType;
600
+ readonly key: StringType;
601
+ }>;
602
+ readonly placeholder: NullType;
603
+ readonly text: StringType;
604
+ }>>;
605
+ }>;
606
+ readonly status: StringType;
607
+ readonly qty: OptionType<FloatType>;
608
+ }>>, [variant<"field", "records">, variant<"field", "sheet_stress_jobs">]>;
609
+ /** The jobs by activity, by status and by their notes: what the rail narrows them by, each choice one index's runs. */
610
+ export declare const sheetStressByActivity: import("@elaraai/e3").RecordIndexDef<"sheet_stress_by_activity", DictType<StringType, StructType<{
611
+ readonly id: StringType;
612
+ readonly start: OptionType<DateTimeType>;
613
+ readonly activity: StringType;
614
+ readonly notes: StringType;
615
+ readonly stations: StructType<{
616
+ readonly from: ArrayType<VariantType<{
617
+ readonly identified: StructType<{
618
+ readonly key: StringType;
619
+ }>;
620
+ readonly range: StructType<{
621
+ readonly from: StringType;
622
+ readonly to: StringType;
623
+ }>;
624
+ readonly counted: StructType<{
625
+ readonly n: IntegerType;
626
+ readonly key: StringType;
627
+ }>;
628
+ readonly placeholder: NullType;
629
+ readonly text: StringType;
630
+ }>>;
631
+ readonly to: ArrayType<VariantType<{
632
+ readonly identified: StructType<{
633
+ readonly key: StringType;
634
+ }>;
635
+ readonly range: StructType<{
636
+ readonly from: StringType;
637
+ readonly to: StringType;
638
+ }>;
639
+ readonly counted: StructType<{
640
+ readonly n: IntegerType;
641
+ readonly key: StringType;
642
+ }>;
643
+ readonly placeholder: NullType;
644
+ readonly text: StringType;
645
+ }>>;
646
+ }>;
647
+ readonly status: StringType;
648
+ readonly qty: OptionType<FloatType>;
649
+ }>>, StringType, NullType, readonly ["activity"]> & {
650
+ interval: undefined;
651
+ };
652
+ export declare const sheetStressByStatus: import("@elaraai/e3").RecordIndexDef<"sheet_stress_by_status", DictType<StringType, StructType<{
653
+ readonly id: StringType;
654
+ readonly start: OptionType<DateTimeType>;
655
+ readonly activity: StringType;
656
+ readonly notes: StringType;
657
+ readonly stations: StructType<{
658
+ readonly from: ArrayType<VariantType<{
659
+ readonly identified: StructType<{
660
+ readonly key: StringType;
661
+ }>;
662
+ readonly range: StructType<{
663
+ readonly from: StringType;
664
+ readonly to: StringType;
665
+ }>;
666
+ readonly counted: StructType<{
667
+ readonly n: IntegerType;
668
+ readonly key: StringType;
669
+ }>;
670
+ readonly placeholder: NullType;
671
+ readonly text: StringType;
672
+ }>>;
673
+ readonly to: ArrayType<VariantType<{
674
+ readonly identified: StructType<{
675
+ readonly key: StringType;
676
+ }>;
677
+ readonly range: StructType<{
678
+ readonly from: StringType;
679
+ readonly to: StringType;
680
+ }>;
681
+ readonly counted: StructType<{
682
+ readonly n: IntegerType;
683
+ readonly key: StringType;
684
+ }>;
685
+ readonly placeholder: NullType;
686
+ readonly text: StringType;
687
+ }>>;
688
+ }>;
689
+ readonly status: StringType;
690
+ readonly qty: OptionType<FloatType>;
691
+ }>>, StringType, NullType, readonly ["status"]> & {
692
+ interval: undefined;
693
+ };
694
+ export declare const sheetStressByNotes: import("@elaraai/e3").RecordIndexDef<"sheet_stress_by_notes", DictType<StringType, StructType<{
465
695
  readonly id: StringType;
466
696
  readonly start: OptionType<DateTimeType>;
467
697
  readonly activity: StringType;
@@ -500,18 +730,18 @@ export declare const sheetStressJobs: import("@elaraai/e3").TaskDef<ArrayType<St
500
730
  }>;
501
731
  readonly status: StringType;
502
732
  readonly qty: OptionType<FloatType>;
503
- }>>, [variant<"field", "tasks">, variant<"field", "sheet_stress_jobs">, variant<"field", "output">]>;
733
+ }>>, StringType, NullType, readonly ["notes"]> & {
734
+ interval: undefined;
735
+ };
504
736
  /**
505
- * Stress, and the lens (§3.8) — two thousand jobs an e3 task generates, the
506
- * host's rows (`data`), read only, every row virtualised. Search and filter
507
- * run through the bound slice; the sheet never narrows, it draws the rows the
508
- * narrowing leaves as collapsed context bands while hits keep their row
509
- * numbers. The work centres are a set column searched through its display
510
- * form (`text: r => Sheet.link.print(r.stations)`); saved views are
511
- * slice-state snapshots evaluated live, with their context and reveals, the
512
- * first one open, kept per viewer through a `State` bind handle. The rows
513
- * are a task's output, made where data is made, so the sheet only reads
514
- * them. It is given no pane.
737
+ * Stress (§3.8) — two thousand jobs of an e3 record, read only, every row
738
+ * virtualised, paged a window at a time. The rail is the sheet's
739
+ * `Slice.bindRecords`: its `rows` source narrows the jobs by activity, by
740
+ * status and by a prefix of their notes, each through the record's own index,
741
+ * and the sheet pages what it narrows to. Saved views each keep every
742
+ * source's narrowing (`Sheet.Types.RecordView`, its values `.east` literals),
743
+ * the first one open, kept per viewer through a `State` bind handle. It is
744
+ * given no pane.
515
745
  */
516
746
  export declare const sheetStress: import("@elaraai/east").ExampleDef<[], any>;
517
747
  /** A task a job takes, and the stage of the work it belongs to. */
@@ -1910,7 +2140,357 @@ export declare const sheetWorkshopOrdersPatch: import("@elaraai/e3").MutationDef
1910
2140
  }>;
1911
2141
  }>;
1912
2142
  }>>;
1913
- }>]>;
2143
+ }>]>;
2144
+ /** The orders by status and by customer: what the rail narrows them by, each choice one index's runs. */
2145
+ export declare const sheetWorkshopOrdersByStatus: import("@elaraai/e3").RecordIndexDef<"sheet_workshop_orders_by_status", DictType<StringType, StructType<{
2146
+ readonly name: StringType;
2147
+ readonly customer: StringType;
2148
+ readonly due: OptionType<DateTimeType>;
2149
+ readonly status: StringType;
2150
+ readonly ops: ArrayType<StructType<{
2151
+ readonly activity: StringType;
2152
+ readonly start: OptionType<DateTimeType>;
2153
+ readonly end: OptionType<DateTimeType>;
2154
+ readonly qty: OptionType<FloatType>;
2155
+ readonly machines: StructType<{
2156
+ readonly from: ArrayType<VariantType<{
2157
+ readonly identified: StructType<{
2158
+ readonly key: StringType;
2159
+ }>;
2160
+ readonly range: StructType<{
2161
+ readonly from: StringType;
2162
+ readonly to: StringType;
2163
+ }>;
2164
+ readonly counted: StructType<{
2165
+ readonly n: IntegerType;
2166
+ readonly key: StringType;
2167
+ }>;
2168
+ readonly placeholder: NullType;
2169
+ readonly text: StringType;
2170
+ }>>;
2171
+ readonly to: ArrayType<VariantType<{
2172
+ readonly identified: StructType<{
2173
+ readonly key: StringType;
2174
+ }>;
2175
+ readonly range: StructType<{
2176
+ readonly from: StringType;
2177
+ readonly to: StringType;
2178
+ }>;
2179
+ readonly counted: StructType<{
2180
+ readonly n: IntegerType;
2181
+ readonly key: StringType;
2182
+ }>;
2183
+ readonly placeholder: NullType;
2184
+ readonly text: StringType;
2185
+ }>>;
2186
+ }>;
2187
+ readonly notes: StringType;
2188
+ readonly created_by: StringType;
2189
+ }>>;
2190
+ }>>, StringType, NullType, readonly ["status"]> & {
2191
+ interval: undefined;
2192
+ };
2193
+ export declare const sheetWorkshopOrdersByCustomer: import("@elaraai/e3").RecordIndexDef<"sheet_workshop_orders_by_customer", DictType<StringType, StructType<{
2194
+ readonly name: StringType;
2195
+ readonly customer: StringType;
2196
+ readonly due: OptionType<DateTimeType>;
2197
+ readonly status: StringType;
2198
+ readonly ops: ArrayType<StructType<{
2199
+ readonly activity: StringType;
2200
+ readonly start: OptionType<DateTimeType>;
2201
+ readonly end: OptionType<DateTimeType>;
2202
+ readonly qty: OptionType<FloatType>;
2203
+ readonly machines: StructType<{
2204
+ readonly from: ArrayType<VariantType<{
2205
+ readonly identified: StructType<{
2206
+ readonly key: StringType;
2207
+ }>;
2208
+ readonly range: StructType<{
2209
+ readonly from: StringType;
2210
+ readonly to: StringType;
2211
+ }>;
2212
+ readonly counted: StructType<{
2213
+ readonly n: IntegerType;
2214
+ readonly key: StringType;
2215
+ }>;
2216
+ readonly placeholder: NullType;
2217
+ readonly text: StringType;
2218
+ }>>;
2219
+ readonly to: ArrayType<VariantType<{
2220
+ readonly identified: StructType<{
2221
+ readonly key: StringType;
2222
+ }>;
2223
+ readonly range: StructType<{
2224
+ readonly from: StringType;
2225
+ readonly to: StringType;
2226
+ }>;
2227
+ readonly counted: StructType<{
2228
+ readonly n: IntegerType;
2229
+ readonly key: StringType;
2230
+ }>;
2231
+ readonly placeholder: NullType;
2232
+ readonly text: StringType;
2233
+ }>>;
2234
+ }>;
2235
+ readonly notes: StringType;
2236
+ readonly created_by: StringType;
2237
+ }>>;
2238
+ }>>, StringType, NullType, readonly ["customer"]> & {
2239
+ interval: undefined;
2240
+ };
2241
+ /** An operation template — the Rows tab's card, the group it sits under, and the activity and work centres it drops. */
2242
+ export declare const WorkshopOperationTemplate: StructType<{
2243
+ readonly name: StringType;
2244
+ readonly group: StringType;
2245
+ readonly activity: StringType;
2246
+ readonly machines: StructType<{
2247
+ readonly from: ArrayType<VariantType<{
2248
+ readonly identified: StructType<{
2249
+ readonly key: StringType;
2250
+ }>;
2251
+ readonly range: StructType<{
2252
+ readonly from: StringType;
2253
+ readonly to: StringType;
2254
+ }>;
2255
+ readonly counted: StructType<{
2256
+ readonly n: IntegerType;
2257
+ readonly key: StringType;
2258
+ }>;
2259
+ readonly placeholder: NullType;
2260
+ readonly text: StringType;
2261
+ }>>;
2262
+ readonly to: ArrayType<VariantType<{
2263
+ readonly identified: StructType<{
2264
+ readonly key: StringType;
2265
+ }>;
2266
+ readonly range: StructType<{
2267
+ readonly from: StringType;
2268
+ readonly to: StringType;
2269
+ }>;
2270
+ readonly counted: StructType<{
2271
+ readonly n: IntegerType;
2272
+ readonly key: StringType;
2273
+ }>;
2274
+ readonly placeholder: NullType;
2275
+ readonly text: StringType;
2276
+ }>>;
2277
+ }>;
2278
+ }>;
2279
+ /** The operation templates, keyed by their key: a record of their own, the rail's `rowTemplates` source (#1345). */
2280
+ export declare const sheetWorkshopOperationTemplates: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
2281
+ readonly name: StringType;
2282
+ readonly group: StringType;
2283
+ readonly activity: StringType;
2284
+ readonly machines: StructType<{
2285
+ readonly from: ArrayType<VariantType<{
2286
+ readonly identified: StructType<{
2287
+ readonly key: StringType;
2288
+ }>;
2289
+ readonly range: StructType<{
2290
+ readonly from: StringType;
2291
+ readonly to: StringType;
2292
+ }>;
2293
+ readonly counted: StructType<{
2294
+ readonly n: IntegerType;
2295
+ readonly key: StringType;
2296
+ }>;
2297
+ readonly placeholder: NullType;
2298
+ readonly text: StringType;
2299
+ }>>;
2300
+ readonly to: ArrayType<VariantType<{
2301
+ readonly identified: StructType<{
2302
+ readonly key: StringType;
2303
+ }>;
2304
+ readonly range: StructType<{
2305
+ readonly from: StringType;
2306
+ readonly to: StringType;
2307
+ }>;
2308
+ readonly counted: StructType<{
2309
+ readonly n: IntegerType;
2310
+ readonly key: StringType;
2311
+ }>;
2312
+ readonly placeholder: NullType;
2313
+ readonly text: StringType;
2314
+ }>>;
2315
+ }>;
2316
+ }>>, [variant<"field", "records">, variant<"field", "sheet_workshop_operation_templates">]>;
2317
+ /** The operation templates by their group: what the rail narrows them by. */
2318
+ export declare const sheetWorkshopOperationTemplatesByGroup: import("@elaraai/e3").RecordIndexDef<"sheet_workshop_operation_templates_by_group", DictType<StringType, StructType<{
2319
+ readonly name: StringType;
2320
+ readonly group: StringType;
2321
+ readonly activity: StringType;
2322
+ readonly machines: StructType<{
2323
+ readonly from: ArrayType<VariantType<{
2324
+ readonly identified: StructType<{
2325
+ readonly key: StringType;
2326
+ }>;
2327
+ readonly range: StructType<{
2328
+ readonly from: StringType;
2329
+ readonly to: StringType;
2330
+ }>;
2331
+ readonly counted: StructType<{
2332
+ readonly n: IntegerType;
2333
+ readonly key: StringType;
2334
+ }>;
2335
+ readonly placeholder: NullType;
2336
+ readonly text: StringType;
2337
+ }>>;
2338
+ readonly to: ArrayType<VariantType<{
2339
+ readonly identified: StructType<{
2340
+ readonly key: StringType;
2341
+ }>;
2342
+ readonly range: StructType<{
2343
+ readonly from: StringType;
2344
+ readonly to: StringType;
2345
+ }>;
2346
+ readonly counted: StructType<{
2347
+ readonly n: IntegerType;
2348
+ readonly key: StringType;
2349
+ }>;
2350
+ readonly placeholder: NullType;
2351
+ readonly text: StringType;
2352
+ }>>;
2353
+ }>;
2354
+ }>>, StringType, NullType, readonly ["group"]> & {
2355
+ interval: undefined;
2356
+ };
2357
+ /** An order template — the Rows tab's card, the group it sits under, and the operations each kind of order starts with. */
2358
+ export declare const WorkshopOrderTemplate: StructType<{
2359
+ readonly name: StringType;
2360
+ readonly group: StringType;
2361
+ readonly ops: ArrayType<StructType<{
2362
+ readonly activity: StringType;
2363
+ readonly start: OptionType<DateTimeType>;
2364
+ readonly end: OptionType<DateTimeType>;
2365
+ readonly qty: OptionType<FloatType>;
2366
+ readonly machines: StructType<{
2367
+ readonly from: ArrayType<VariantType<{
2368
+ readonly identified: StructType<{
2369
+ readonly key: StringType;
2370
+ }>;
2371
+ readonly range: StructType<{
2372
+ readonly from: StringType;
2373
+ readonly to: StringType;
2374
+ }>;
2375
+ readonly counted: StructType<{
2376
+ readonly n: IntegerType;
2377
+ readonly key: StringType;
2378
+ }>;
2379
+ readonly placeholder: NullType;
2380
+ readonly text: StringType;
2381
+ }>>;
2382
+ readonly to: ArrayType<VariantType<{
2383
+ readonly identified: StructType<{
2384
+ readonly key: StringType;
2385
+ }>;
2386
+ readonly range: StructType<{
2387
+ readonly from: StringType;
2388
+ readonly to: StringType;
2389
+ }>;
2390
+ readonly counted: StructType<{
2391
+ readonly n: IntegerType;
2392
+ readonly key: StringType;
2393
+ }>;
2394
+ readonly placeholder: NullType;
2395
+ readonly text: StringType;
2396
+ }>>;
2397
+ }>;
2398
+ readonly notes: StringType;
2399
+ readonly created_by: StringType;
2400
+ }>>;
2401
+ }>;
2402
+ /** The order templates, keyed by their key: a record of their own, the rail's `groupTemplates` source (#1345). */
2403
+ export declare const sheetWorkshopOrderTemplates: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
2404
+ readonly name: StringType;
2405
+ readonly group: StringType;
2406
+ readonly ops: ArrayType<StructType<{
2407
+ readonly activity: StringType;
2408
+ readonly start: OptionType<DateTimeType>;
2409
+ readonly end: OptionType<DateTimeType>;
2410
+ readonly qty: OptionType<FloatType>;
2411
+ readonly machines: StructType<{
2412
+ readonly from: ArrayType<VariantType<{
2413
+ readonly identified: StructType<{
2414
+ readonly key: StringType;
2415
+ }>;
2416
+ readonly range: StructType<{
2417
+ readonly from: StringType;
2418
+ readonly to: StringType;
2419
+ }>;
2420
+ readonly counted: StructType<{
2421
+ readonly n: IntegerType;
2422
+ readonly key: StringType;
2423
+ }>;
2424
+ readonly placeholder: NullType;
2425
+ readonly text: StringType;
2426
+ }>>;
2427
+ readonly to: ArrayType<VariantType<{
2428
+ readonly identified: StructType<{
2429
+ readonly key: StringType;
2430
+ }>;
2431
+ readonly range: StructType<{
2432
+ readonly from: StringType;
2433
+ readonly to: StringType;
2434
+ }>;
2435
+ readonly counted: StructType<{
2436
+ readonly n: IntegerType;
2437
+ readonly key: StringType;
2438
+ }>;
2439
+ readonly placeholder: NullType;
2440
+ readonly text: StringType;
2441
+ }>>;
2442
+ }>;
2443
+ readonly notes: StringType;
2444
+ readonly created_by: StringType;
2445
+ }>>;
2446
+ }>>, [variant<"field", "records">, variant<"field", "sheet_workshop_order_templates">]>;
2447
+ /** The order templates by their group: what the rail narrows them by. */
2448
+ export declare const sheetWorkshopOrderTemplatesByGroup: import("@elaraai/e3").RecordIndexDef<"sheet_workshop_order_templates_by_group", DictType<StringType, StructType<{
2449
+ readonly name: StringType;
2450
+ readonly group: StringType;
2451
+ readonly ops: ArrayType<StructType<{
2452
+ readonly activity: StringType;
2453
+ readonly start: OptionType<DateTimeType>;
2454
+ readonly end: OptionType<DateTimeType>;
2455
+ readonly qty: OptionType<FloatType>;
2456
+ readonly machines: StructType<{
2457
+ readonly from: ArrayType<VariantType<{
2458
+ readonly identified: StructType<{
2459
+ readonly key: StringType;
2460
+ }>;
2461
+ readonly range: StructType<{
2462
+ readonly from: StringType;
2463
+ readonly to: StringType;
2464
+ }>;
2465
+ readonly counted: StructType<{
2466
+ readonly n: IntegerType;
2467
+ readonly key: StringType;
2468
+ }>;
2469
+ readonly placeholder: NullType;
2470
+ readonly text: StringType;
2471
+ }>>;
2472
+ readonly to: ArrayType<VariantType<{
2473
+ readonly identified: StructType<{
2474
+ readonly key: StringType;
2475
+ }>;
2476
+ readonly range: StructType<{
2477
+ readonly from: StringType;
2478
+ readonly to: StringType;
2479
+ }>;
2480
+ readonly counted: StructType<{
2481
+ readonly n: IntegerType;
2482
+ readonly key: StringType;
2483
+ }>;
2484
+ readonly placeholder: NullType;
2485
+ readonly text: StringType;
2486
+ }>>;
2487
+ }>;
2488
+ readonly notes: StringType;
2489
+ readonly created_by: StringType;
2490
+ }>>;
2491
+ }>>, StringType, NullType, readonly ["group"]> & {
2492
+ interval: undefined;
2493
+ };
1914
2494
  /**
1915
2495
  * The flagship (§3.3) — the joinery workshop's orders, a grouped sheet over a
1916
2496
  * record: each order a group, its operations its lines, the order's status and
@@ -1923,13 +2503,16 @@ export declare const sheetWorkshopOrdersPatch: import("@elaraai/e3").MutationDef
1923
2503
  * half the activity does not use, implies how many machines a quantity needs,
1924
2504
  * and checks each machine named. The copilot fills dates, quantities, notes
1925
2505
  * and work centres, and proposes the lines that follow — a pattern, one
1926
- * learned from the order, and an async model. A check on each order, templates
1927
- * for whole orders and single operations, the slice's search and filter with
1928
- * the work centres searched by their display text, views kept per viewer and
1929
- * a footer. Both panes: the library lists the templates, the statuses — a
1930
- * card dropped on an order's band sets its status — and the columns; the
1931
- * inspector shows every field of the selected operation, `created_by` (no
1932
- * column) read only, and the order with no customer is the batch's issue.
2506
+ * learned from the order, and an async model. A check on each order, and a
2507
+ * footer counting every operation. One rail, its `Slice.bindRecords` over
2508
+ * three records (#1345): the orders, by status and customer — the sheet's
2509
+ * rows, paged from it, Save committing through the record's patch door — and
2510
+ * the operation and order templates, each a record of its own, by their
2511
+ * group; views kept per viewer hold every source's narrowing. Both panes: the
2512
+ * library lists the templates the rail shows, the statuses — a card dropped
2513
+ * on an order's band sets its status — and the columns; the inspector shows
2514
+ * every field of the selected operation, `created_by` (no column) read only,
2515
+ * and the order with no customer is the batch's issue.
1933
2516
  */
1934
2517
  export declare const sheetWorkshop: import("@elaraai/east").ExampleDef<[], any>;
1935
2518
  /** A plan row — what it is, when it starts (read at its own level) and when it
@@ -4394,6 +4977,109 @@ export declare const sheetBatchDaysPatch: import("@elaraai/e3").MutationDef<"pat
4394
4977
  }>;
4395
4978
  }>>;
4396
4979
  }>]>;
4980
+ /** A step template — the Rows tab's card, the group it sits under, and the task of the step it drops. */
4981
+ export declare const BatchStepTemplate: StructType<{
4982
+ readonly name: StringType;
4983
+ readonly group: StringType;
4984
+ readonly task: StringType;
4985
+ }>;
4986
+ /** The step templates, keyed by their key: a record of their own, the rail's `rowTemplates` source (#1345). */
4987
+ export declare const sheetBatchStepTemplates: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
4988
+ readonly name: StringType;
4989
+ readonly group: StringType;
4990
+ readonly task: StringType;
4991
+ }>>, [variant<"field", "records">, variant<"field", "sheet_batch_step_templates">]>;
4992
+ /** The step templates by their group: what the rail narrows them by. */
4993
+ export declare const sheetBatchStepTemplatesByGroup: import("@elaraai/e3").RecordIndexDef<"sheet_batch_step_templates_by_group", DictType<StringType, StructType<{
4994
+ readonly name: StringType;
4995
+ readonly group: StringType;
4996
+ readonly task: StringType;
4997
+ }>>, StringType, NullType, readonly ["group"]> & {
4998
+ interval: undefined;
4999
+ };
5000
+ /** A batch template — the Rows tab's card, the group it sits under, the batch's name and the steps it starts with. */
5001
+ export declare const BatchTemplate: StructType<{
5002
+ readonly name: StringType;
5003
+ readonly group: StringType;
5004
+ readonly batch: StringType;
5005
+ readonly steps: ArrayType<StructType<{
5006
+ readonly task: StringType;
5007
+ readonly qty: OptionType<FloatType>;
5008
+ readonly parts: ArrayType<StructType<{
5009
+ readonly id: StringType;
5010
+ readonly code: StringType;
5011
+ readonly name: StringType;
5012
+ readonly materials: ArrayType<StringType>;
5013
+ readonly station: OptionType<StringType>;
5014
+ }>>;
5015
+ readonly bookings: ArrayType<VariantType<{
5016
+ readonly labour: StructType<{
5017
+ readonly team: StringType;
5018
+ readonly people: IntegerType;
5019
+ readonly hours: FloatType;
5020
+ }>;
5021
+ readonly equipment: StructType<{
5022
+ readonly resource: StringType;
5023
+ }>;
5024
+ }>>;
5025
+ }>>;
5026
+ }>;
5027
+ /** The batch templates, keyed by their key: a record of their own, the rail's `groupTemplates` source (#1345). */
5028
+ export declare const sheetBatchTemplates: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
5029
+ readonly name: StringType;
5030
+ readonly group: StringType;
5031
+ readonly batch: StringType;
5032
+ readonly steps: ArrayType<StructType<{
5033
+ readonly task: StringType;
5034
+ readonly qty: OptionType<FloatType>;
5035
+ readonly parts: ArrayType<StructType<{
5036
+ readonly id: StringType;
5037
+ readonly code: StringType;
5038
+ readonly name: StringType;
5039
+ readonly materials: ArrayType<StringType>;
5040
+ readonly station: OptionType<StringType>;
5041
+ }>>;
5042
+ readonly bookings: ArrayType<VariantType<{
5043
+ readonly labour: StructType<{
5044
+ readonly team: StringType;
5045
+ readonly people: IntegerType;
5046
+ readonly hours: FloatType;
5047
+ }>;
5048
+ readonly equipment: StructType<{
5049
+ readonly resource: StringType;
5050
+ }>;
5051
+ }>>;
5052
+ }>>;
5053
+ }>>, [variant<"field", "records">, variant<"field", "sheet_batch_templates">]>;
5054
+ /** The batch templates by their group: what the rail narrows them by. */
5055
+ export declare const sheetBatchTemplatesByGroup: import("@elaraai/e3").RecordIndexDef<"sheet_batch_templates_by_group", DictType<StringType, StructType<{
5056
+ readonly name: StringType;
5057
+ readonly group: StringType;
5058
+ readonly batch: StringType;
5059
+ readonly steps: ArrayType<StructType<{
5060
+ readonly task: StringType;
5061
+ readonly qty: OptionType<FloatType>;
5062
+ readonly parts: ArrayType<StructType<{
5063
+ readonly id: StringType;
5064
+ readonly code: StringType;
5065
+ readonly name: StringType;
5066
+ readonly materials: ArrayType<StringType>;
5067
+ readonly station: OptionType<StringType>;
5068
+ }>>;
5069
+ readonly bookings: ArrayType<VariantType<{
5070
+ readonly labour: StructType<{
5071
+ readonly team: StringType;
5072
+ readonly people: IntegerType;
5073
+ readonly hours: FloatType;
5074
+ }>;
5075
+ readonly equipment: StructType<{
5076
+ readonly resource: StringType;
5077
+ }>;
5078
+ }>>;
5079
+ }>>;
5080
+ }>>, StringType, NullType, readonly ["group"]> & {
5081
+ interval: undefined;
5082
+ };
4397
5083
  /**
4398
5084
  * One day's batches, in the planner's order (#1187, SB39, SB40, SB44) — a
4399
5085
  * grouped sheet over one entry's groups, each batch a group of its steps. A
@@ -4406,7 +5092,10 @@ export declare const sheetBatchDaysPatch: import("@elaraai/e3").MutationDef<"pat
4406
5092
  * (a struct source — chips and labelled facets, a `none` facet dropping out)
4407
5093
  * and its bookings (a variant source matched arm by arm). Its chevron opens
4408
5094
  * them. Both panes: the library holds the templates and the columns, and the
4409
- * inspector a step's form, which leaves the sub rows' fields out.
5095
+ * inspector a step's form, which leaves the sub rows' fields out. The
5096
+ * templates are two records, the step templates and the batch templates, each
5097
+ * a source of the sheet's one rail (#1345), which narrows their cards by
5098
+ * their group.
4410
5099
  */
4411
5100
  export declare const sheetBatches: import("@elaraai/east").ExampleDef<[], any>;
4412
5101
  /** A task — a package's line, or a loose task that belongs to no package; `id` identifies a loose one. */
@@ -4984,7 +5673,7 @@ export declare const sheetLooseWorkPatch: import("@elaraai/e3").MutationDef<"pat
4984
5673
  export declare const sheetLoose: import("@elaraai/east").ExampleDef<[], any>;
4985
5674
  /**
4986
5675
  * A record read a window at a time (§3.4) — the jobs, paged in key order: the
4987
- * key search seeks a job by its key, and the lens narrows the loaded rows. Its
5676
+ * key search seeks a job by its key. Its
4988
5677
  * `edits` let rows be added — from a gutter seam, the selection strip, or
4989
5678
  * Alt+Insert — and never removed: a job leaves through the record's own
4990
5679
  * process, not the sheet. It is given no pane.