@elaraai/e3-ui 1.0.94 → 1.0.95
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.
- package/dist/src/allocation/adapters.d.ts +159 -0
- package/dist/src/allocation/adapters.d.ts.map +1 -0
- package/dist/src/allocation/adapters.js +241 -0
- package/dist/src/allocation/adapters.js.map +1 -0
- package/dist/src/allocation/functions.d.ts +664 -0
- package/dist/src/allocation/functions.d.ts.map +1 -0
- package/dist/src/allocation/functions.js +782 -0
- package/dist/src/allocation/functions.js.map +1 -0
- package/dist/src/allocation/index.d.ts +2985 -0
- package/dist/src/allocation/index.d.ts.map +1 -0
- package/dist/src/allocation/index.js +499 -0
- package/dist/src/allocation/index.js.map +1 -0
- package/dist/src/allocation/types.d.ts +832 -0
- package/dist/src/allocation/types.d.ts.map +1 -0
- package/dist/src/allocation/types.js +360 -0
- package/dist/src/allocation/types.js.map +1 -0
- package/dist/src/bind/func.d.ts +14 -0
- package/dist/src/bind/func.d.ts.map +1 -1
- package/dist/src/bind/func.js +22 -1
- package/dist/src/bind/func.js.map +1 -1
- package/dist/src/calendar/index.d.ts +510 -1639
- package/dist/src/calendar/index.d.ts.map +1 -1
- package/dist/src/calendar/index.js +56 -29
- package/dist/src/calendar/index.js.map +1 -1
- package/dist/src/flowchart/canvas.d.ts +9 -21
- package/dist/src/flowchart/canvas.d.ts.map +1 -1
- package/dist/src/flowchart/canvas.js +10 -22
- package/dist/src/flowchart/canvas.js.map +1 -1
- package/dist/src/flowchart/flowchart.d.ts +19 -13
- package/dist/src/flowchart/flowchart.d.ts.map +1 -1
- package/dist/src/flowchart/flowchart.js.map +1 -1
- package/dist/src/flowchart/index.d.ts +44 -21
- package/dist/src/flowchart/index.d.ts.map +1 -1
- package/dist/src/flowchart/index.js +43 -20
- package/dist/src/flowchart/index.js.map +1 -1
- package/dist/src/flowchart/library.d.ts +166 -81
- package/dist/src/flowchart/library.d.ts.map +1 -1
- package/dist/src/flowchart/library.js +232 -105
- package/dist/src/flowchart/library.js.map +1 -1
- package/dist/src/flowchart/over.d.ts +9 -16
- package/dist/src/flowchart/over.d.ts.map +1 -1
- package/dist/src/flowchart/over.js +9 -16
- package/dist/src/flowchart/over.js.map +1 -1
- package/dist/src/flowchart/payload.d.ts +710 -508
- package/dist/src/flowchart/payload.d.ts.map +1 -1
- package/dist/src/flowchart/payload.js +128 -74
- package/dist/src/flowchart/payload.js.map +1 -1
- package/dist/src/flowchart/window.d.ts +132 -347
- package/dist/src/flowchart/window.d.ts.map +1 -1
- package/dist/src/flowchart/window.js +48 -55
- package/dist/src/flowchart/window.js.map +1 -1
- package/dist/src/index.d.ts +11 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +14 -6
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +18 -7
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +28 -9
- package/dist/src/internal.js.map +1 -1
- package/dist/src/plan/event-rows.d.ts +26 -10
- package/dist/src/plan/event-rows.d.ts.map +1 -1
- package/dist/src/plan/event-rows.js +39 -13
- package/dist/src/plan/event-rows.js.map +1 -1
- package/dist/src/plan/ir.d.ts +244 -815
- package/dist/src/plan/ir.d.ts.map +1 -1
- package/dist/src/plan/ir.js +8 -6
- package/dist/src/plan/ir.js.map +1 -1
- package/dist/src/plan/library.d.ts +3 -0
- package/dist/src/plan/library.d.ts.map +1 -1
- package/dist/src/plan/library.js +1 -1
- package/dist/src/plan/library.js.map +1 -1
- package/dist/src/plan/ordered-source.d.ts +1 -0
- package/dist/src/plan/ordered-source.d.ts.map +1 -1
- package/dist/src/plan/plan.d.ts +559 -1667
- package/dist/src/plan/plan.d.ts.map +1 -1
- package/dist/src/plan/plan.js +123 -45
- package/dist/src/plan/plan.js.map +1 -1
- package/dist/src/plan/root.d.ts +16 -20
- package/dist/src/plan/root.d.ts.map +1 -1
- package/dist/src/plan/root.js +23 -33
- package/dist/src/plan/root.js.map +1 -1
- package/dist/src/roster/coverage.d.ts +17 -231
- package/dist/src/roster/coverage.d.ts.map +1 -1
- package/dist/src/roster/coverage.js +94 -90
- package/dist/src/roster/coverage.js.map +1 -1
- package/dist/src/roster/fit.d.ts +59 -0
- package/dist/src/roster/fit.d.ts.map +1 -0
- package/dist/src/roster/fit.js +155 -0
- package/dist/src/roster/fit.js.map +1 -0
- package/dist/src/roster/index.d.ts +2862 -3662
- package/dist/src/roster/index.d.ts.map +1 -1
- package/dist/src/roster/index.js +383 -81
- package/dist/src/roster/index.js.map +1 -1
- package/dist/src/roster/library.d.ts +37 -92
- package/dist/src/roster/library.d.ts.map +1 -1
- package/dist/src/roster/library.js +25 -64
- package/dist/src/roster/library.js.map +1 -1
- package/dist/src/roster/lists.d.ts +195 -0
- package/dist/src/roster/lists.d.ts.map +1 -0
- package/dist/src/roster/lists.js +233 -0
- package/dist/src/roster/lists.js.map +1 -0
- package/dist/src/roster/rules.d.ts +17 -260
- package/dist/src/roster/rules.d.ts.map +1 -1
- package/dist/src/roster/rules.js +135 -132
- package/dist/src/roster/rules.js.map +1 -1
- package/dist/src/roster/targets.d.ts +115 -0
- package/dist/src/roster/targets.d.ts.map +1 -0
- package/dist/src/roster/targets.js +213 -0
- package/dist/src/roster/targets.js.map +1 -0
- package/dist/src/roster/times.d.ts +251 -0
- package/dist/src/roster/times.d.ts.map +1 -0
- package/dist/src/roster/times.js +174 -0
- package/dist/src/roster/times.js.map +1 -0
- package/dist/src/roster/types.d.ts +828 -183
- package/dist/src/roster/types.d.ts.map +1 -1
- package/dist/src/roster/types.js +224 -97
- package/dist/src/roster/types.js.map +1 -1
- package/dist/src/schedule/accessor.d.ts +28 -0
- package/dist/src/schedule/accessor.d.ts.map +1 -0
- package/dist/src/schedule/accessor.js +39 -0
- package/dist/src/schedule/accessor.js.map +1 -0
- package/dist/src/schedule/events.d.ts +170 -42
- package/dist/src/schedule/events.d.ts.map +1 -1
- package/dist/src/schedule/events.js +431 -171
- package/dist/src/schedule/events.js.map +1 -1
- package/dist/src/schedule/index.d.ts +41 -4
- package/dist/src/schedule/index.d.ts.map +1 -1
- package/dist/src/schedule/index.js +35 -3
- package/dist/src/schedule/index.js.map +1 -1
- package/dist/src/schedule/library.d.ts +13 -3
- package/dist/src/schedule/library.d.ts.map +1 -1
- package/dist/src/schedule/library.js +11 -4
- package/dist/src/schedule/library.js.map +1 -1
- package/dist/src/schedule/periods.d.ts +115 -0
- package/dist/src/schedule/periods.d.ts.map +1 -0
- package/dist/src/schedule/periods.js +215 -0
- package/dist/src/schedule/periods.js.map +1 -0
- package/dist/src/schedule/record-window.d.ts +25 -3
- package/dist/src/schedule/record-window.d.ts.map +1 -1
- package/dist/src/schedule/record-window.js +31 -18
- package/dist/src/schedule/record-window.js.map +1 -1
- package/dist/src/schedule/resources.d.ts +82 -4
- package/dist/src/schedule/resources.d.ts.map +1 -1
- package/dist/src/schedule/resources.js +44 -14
- package/dist/src/schedule/resources.js.map +1 -1
- package/dist/src/schedule/session.d.ts +69 -0
- package/dist/src/schedule/session.d.ts.map +1 -0
- package/dist/src/schedule/session.js +121 -0
- package/dist/src/schedule/session.js.map +1 -0
- package/dist/src/schedule/templates.d.ts +14 -2
- package/dist/src/schedule/templates.d.ts.map +1 -1
- package/dist/src/schedule/templates.js +5 -3
- package/dist/src/schedule/templates.js.map +1 -1
- package/dist/src/schedule/types.d.ts +1671 -37
- package/dist/src/schedule/types.d.ts.map +1 -1
- package/dist/src/schedule/types.js +196 -5
- package/dist/src/schedule/types.js.map +1 -1
- package/dist/src/schedule/window.d.ts +14 -0
- package/dist/src/schedule/window.d.ts.map +1 -1
- package/dist/src/schedule/window.js +14 -4
- package/dist/src/schedule/window.js.map +1 -1
- package/dist/src/schedule/words.d.ts +22 -0
- package/dist/src/schedule/words.d.ts.map +1 -0
- package/dist/src/schedule/words.js +25 -0
- package/dist/src/schedule/words.js.map +1 -0
- package/dist/src/sheet/index.d.ts +61 -27
- package/dist/src/sheet/index.d.ts.map +1 -1
- package/dist/src/sheet/index.js +59 -25
- package/dist/src/sheet/index.js.map +1 -1
- package/dist/src/sheet/library.d.ts +21 -3
- package/dist/src/sheet/library.d.ts.map +1 -1
- package/dist/src/sheet/library.js +23 -6
- package/dist/src/sheet/library.js.map +1 -1
- package/dist/src/sheet/registers.d.ts +100 -85
- package/dist/src/sheet/registers.d.ts.map +1 -1
- package/dist/src/sheet/registers.js +100 -85
- package/dist/src/sheet/registers.js.map +1 -1
- package/dist/src/sheet/root.d.ts +8 -12
- package/dist/src/sheet/root.d.ts.map +1 -1
- package/dist/src/sheet/root.js +6 -40
- package/dist/src/sheet/root.js.map +1 -1
- package/dist/src/sheet/sheet.d.ts +598 -2349
- package/dist/src/sheet/sheet.d.ts.map +1 -1
- package/dist/src/sheet/sheet.js +124 -37
- package/dist/src/sheet/sheet.js.map +1 -1
- package/dist/src/sheet/sub-rows.d.ts +74 -28
- package/dist/src/sheet/sub-rows.d.ts.map +1 -1
- package/dist/src/sheet/sub-rows.js +74 -28
- package/dist/src/sheet/sub-rows.js.map +1 -1
- package/dist/src/sheet/templates.d.ts +98 -34
- package/dist/src/sheet/templates.d.ts.map +1 -1
- package/dist/src/sheet/templates.js +102 -58
- package/dist/src/sheet/templates.js.map +1 -1
- package/dist/src/sheet/types.d.ts +289 -1359
- package/dist/src/sheet/types.d.ts.map +1 -1
- package/dist/src/sheet/types.js +20 -26
- package/dist/src/sheet/types.js.map +1 -1
- package/dist/src/sheet/views.d.ts +10 -11
- package/dist/src/sheet/views.d.ts.map +1 -1
- package/dist/src/sheet/views.js +15 -20
- package/dist/src/sheet/views.js.map +1 -1
- package/dist/src/{roster/visibility.d.ts → utils/key-visibility.d.ts} +42 -7
- package/dist/src/utils/key-visibility.d.ts.map +1 -0
- package/dist/src/utils/key-visibility.js +36 -0
- package/dist/src/utils/key-visibility.js.map +1 -0
- package/dist/src/utils/ordered-source.d.ts +1 -0
- package/dist/src/utils/ordered-source.d.ts.map +1 -1
- package/dist/src/utils/ordered-source.js +8 -3
- package/dist/src/utils/ordered-source.js.map +1 -1
- package/dist/src/utils/record-sources.d.ts +107 -0
- package/dist/src/utils/record-sources.d.ts.map +1 -0
- package/dist/src/utils/record-sources.js +132 -0
- package/dist/src/utils/record-sources.js.map +1 -0
- package/dist/test/allocation/allocation.examples.d.ts +2902 -0
- package/dist/test/allocation/allocation.examples.d.ts.map +1 -0
- package/dist/test/allocation/allocation.examples.js +643 -0
- package/dist/test/allocation/allocation.examples.js.map +1 -0
- package/dist/test/allocation/fit.examples.d.ts +546 -0
- package/dist/test/allocation/fit.examples.d.ts.map +1 -0
- package/dist/test/allocation/fit.examples.js +171 -0
- package/dist/test/allocation/fit.examples.js.map +1 -0
- package/dist/test/allocation/kiln-yard.d.ts +181 -0
- package/dist/test/allocation/kiln-yard.d.ts.map +1 -0
- package/dist/test/allocation/kiln-yard.js +228 -0
- package/dist/test/allocation/kiln-yard.js.map +1 -0
- package/dist/test/bind/data/data.examples.d.ts +651 -1
- package/dist/test/bind/data/data.examples.d.ts.map +1 -1
- package/dist/test/bind/data/data.examples.js +140 -2
- package/dist/test/bind/data/data.examples.js.map +1 -1
- package/dist/test/bind/func/func.examples.d.ts +10 -1
- package/dist/test/bind/func/func.examples.d.ts.map +1 -1
- package/dist/test/bind/func/func.examples.js +8 -1
- package/dist/test/bind/func/func.examples.js.map +1 -1
- package/dist/test/bind/record/record.examples.d.ts +633 -1
- package/dist/test/bind/record/record.examples.d.ts.map +1 -1
- package/dist/test/bind/record/record.examples.js +26 -2
- package/dist/test/bind/record/record.examples.js.map +1 -1
- package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar-records.examples.js +18 -14
- package/dist/test/calendar/calendar-records.examples.js.map +1 -1
- package/dist/test/calendar/calendar.examples.d.ts +521 -16
- package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar.examples.js +182 -135
- package/dist/test/calendar/calendar.examples.js.map +1 -1
- package/dist/test/examples-package.d.ts +75 -0
- package/dist/test/examples-package.d.ts.map +1 -0
- package/dist/test/examples-package.js +263 -0
- package/dist/test/examples-package.js.map +1 -0
- package/dist/test/flowchart/flowchart.examples.d.ts +211 -19
- package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
- package/dist/test/flowchart/flowchart.examples.js +102 -75
- package/dist/test/flowchart/flowchart.examples.js.map +1 -1
- package/dist/test/plan/plan-events.examples.d.ts +1439 -209
- package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-events.examples.js +199 -59
- package/dist/test/plan/plan-events.examples.js.map +1 -1
- package/dist/test/plan/plan-records.examples.d.ts +420 -0
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-records.examples.js +70 -19
- package/dist/test/plan/plan-records.examples.js.map +1 -1
- package/dist/test/plan/plan-windows.examples.d.ts +636 -55
- package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-windows.examples.js +69 -33
- package/dist/test/plan/plan-windows.examples.js.map +1 -1
- package/dist/test/plan/plan.examples.d.ts +153 -31
- package/dist/test/plan/plan.examples.d.ts.map +1 -1
- package/dist/test/plan/plan.examples.js +178 -101
- package/dist/test/plan/plan.examples.js.map +1 -1
- package/dist/test/roster/domain.examples.d.ts +467 -250
- package/dist/test/roster/domain.examples.d.ts.map +1 -1
- package/dist/test/roster/domain.examples.js +92 -29
- package/dist/test/roster/domain.examples.js.map +1 -1
- package/dist/test/roster/roster-records.examples.d.ts +430 -586
- package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
- package/dist/test/roster/roster-records.examples.js +102 -43
- package/dist/test/roster/roster-records.examples.js.map +1 -1
- package/dist/test/roster/roster.examples.d.ts +2319 -606
- package/dist/test/roster/roster.examples.d.ts.map +1 -1
- package/dist/test/roster/roster.examples.js +456 -148
- package/dist/test/roster/roster.examples.js.map +1 -1
- package/dist/test/roster/warehouse.d.ts +172 -63
- package/dist/test/roster/warehouse.d.ts.map +1 -1
- package/dist/test/roster/warehouse.js +172 -39
- package/dist/test/roster/warehouse.js.map +1 -1
- package/dist/test/schedule/schedule.examples.d.ts +3499 -0
- package/dist/test/schedule/schedule.examples.d.ts.map +1 -0
- package/dist/test/schedule/schedule.examples.js +192 -0
- package/dist/test/schedule/schedule.examples.js.map +1 -0
- package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet-records.examples.js +22 -18
- package/dist/test/sheet/sheet-records.examples.js.map +1 -1
- package/dist/test/sheet/sheet.examples.d.ts +715 -26
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet.examples.js +204 -130
- package/dist/test/sheet/sheet.examples.js.map +1 -1
- package/package.json +17 -10
- package/dist/src/roster/people.d.ts +0 -50
- package/dist/src/roster/people.d.ts.map +0 -1
- package/dist/src/roster/people.js +0 -32
- package/dist/src/roster/people.js.map +0 -1
- package/dist/src/roster/visibility.d.ts.map +0 -1
- package/dist/src/roster/visibility.js +0 -25
- package/dist/src/roster/visibility.js.map +0 -1
|
@@ -2,11 +2,21 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
import { ArrayType, BooleanType, DateTimeType, DictType, FloatType, IntegerType, NullType, OptionType, SetType, StringType, StructType, VariantType } from "@elaraai/east";
|
|
6
5
|
/**
|
|
7
|
-
*
|
|
6
|
+
* The Roster's East types (#1368, `Builder Interfaces Spec.md` §5.3). A week
|
|
7
|
+
* is the Roster's reading of the app's own rows — each duty the app's row,
|
|
8
|
+
* with the roles the Roster reads from it — carried in the fit's, the pay's
|
|
9
|
+
* and the check's requests and in the renderer, and stored nowhere. The types
|
|
10
|
+
* over a week take the app's duty row type, `R`: each is a constructor, and
|
|
11
|
+
* the same `R` gives the same East type (`isTypeEqual`).
|
|
12
|
+
*
|
|
13
|
+
* @packageDocumentation
|
|
14
|
+
*/
|
|
15
|
+
import { ArrayType, BlobType, BooleanType, DateTimeType, DictType, FloatType, FunctionType, IntegerType, NullType, OptionType, SetType, StringType, StructType, VariantType, type EastType } from "@elaraai/east";
|
|
16
|
+
/**
|
|
17
|
+
* One shift of one group on one day of the week.
|
|
8
18
|
* @remarks Slot keys compare by East value, including when decoded in the browser.
|
|
9
|
-
* @property day - Day within the week, from zero to six
|
|
19
|
+
* @property day - Day within the week, from zero to six: the duty's day (§5.5, rule 1) less the week's first
|
|
10
20
|
* @property group - Group key
|
|
11
21
|
* @property shift - Shift key
|
|
12
22
|
*/
|
|
@@ -17,10 +27,10 @@ export declare const RosterSlotType: StructType<{
|
|
|
17
27
|
}>;
|
|
18
28
|
export type RosterSlotType = typeof RosterSlotType;
|
|
19
29
|
/**
|
|
20
|
-
*
|
|
30
|
+
* Who a duty is: a person, or an agency asked to send someone.
|
|
21
31
|
* @remarks Requests reserve positions without pretending an agency has supplied a named person.
|
|
22
|
-
* @property person - The
|
|
23
|
-
* @property request - The agency
|
|
32
|
+
* @property person - The person's key, of the `people` resource kind
|
|
33
|
+
* @property request - The agency's key, of the `agencies` resource kind
|
|
24
34
|
*/
|
|
25
35
|
export declare const RosterWhoType: VariantType<{
|
|
26
36
|
readonly person: StringType;
|
|
@@ -28,17 +38,15 @@ export declare const RosterWhoType: VariantType<{
|
|
|
28
38
|
}>;
|
|
29
39
|
export type RosterWhoType = typeof RosterWhoType;
|
|
30
40
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* @
|
|
35
|
-
* @
|
|
36
|
-
* @
|
|
37
|
-
* @
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*/
|
|
41
|
-
export declare const RosterAssignmentType: StructType<{
|
|
41
|
+
* One duty, as the Roster reads it from the app's row (`R`): its slot, who it
|
|
42
|
+
* is, and its roles, beside the row itself, every field of it.
|
|
43
|
+
*
|
|
44
|
+
* @typeParam R - The app's duty row type
|
|
45
|
+
* @param row - The app's duty row type
|
|
46
|
+
* @returns The assignment type over it
|
|
47
|
+
* @remarks Its times are the duty's own; the Roster gives them no name and no worth (§5.5). Its `hours` are what the duty counts.
|
|
48
|
+
*/
|
|
49
|
+
export declare function RosterAssignmentTypeFor<R extends EastType>(row: R): StructType<{
|
|
42
50
|
readonly slot: StructType<{
|
|
43
51
|
readonly day: IntegerType;
|
|
44
52
|
readonly group: StringType;
|
|
@@ -50,11 +58,13 @@ export declare const RosterAssignmentType: StructType<{
|
|
|
50
58
|
}>;
|
|
51
59
|
readonly position: StringType;
|
|
52
60
|
readonly activity: OptionType<StringType>;
|
|
53
|
-
readonly
|
|
54
|
-
readonly
|
|
55
|
-
readonly
|
|
61
|
+
readonly start: DateTimeType;
|
|
62
|
+
readonly end: DateTimeType;
|
|
63
|
+
readonly hours: FloatType;
|
|
64
|
+
readonly row: R;
|
|
56
65
|
}>;
|
|
57
|
-
|
|
66
|
+
/** Type representing {@link RosterAssignmentTypeFor}. */
|
|
67
|
+
export type RosterAssignmentTypeFor<R extends EastType> = ReturnType<typeof RosterAssignmentTypeFor<R>>;
|
|
58
68
|
/**
|
|
59
69
|
* A slot's staffing and work targets.
|
|
60
70
|
* @remarks A duty needs assigned hours, whereas a skill also has holder capacity.
|
|
@@ -77,32 +87,35 @@ export declare const RosterRequirementsType: DictType<StructType<{
|
|
|
77
87
|
}>>;
|
|
78
88
|
export type RosterRequirementsType = typeof RosterRequirementsType;
|
|
79
89
|
/**
|
|
80
|
-
*
|
|
81
|
-
*
|
|
90
|
+
* A week's status: Schedule's period status, read from the app's weeks record
|
|
91
|
+
* (`Schedule.periods`).
|
|
82
92
|
* @property draft - An editable week
|
|
83
|
-
* @property published - A read-only week and
|
|
93
|
+
* @property published - A read-only week, and when it was published when the app's published case holds the time
|
|
94
|
+
* @property other - Another case of the app's status, by its name: read-only
|
|
84
95
|
*/
|
|
85
96
|
export declare const RosterStatusType: VariantType<{
|
|
86
97
|
readonly draft: NullType;
|
|
87
98
|
readonly published: StructType<{
|
|
88
|
-
readonly at: DateTimeType
|
|
99
|
+
readonly at: OptionType<DateTimeType>;
|
|
89
100
|
}>;
|
|
101
|
+
readonly other: StringType;
|
|
90
102
|
}>;
|
|
91
103
|
export type RosterStatusType = typeof RosterStatusType;
|
|
92
104
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
* @
|
|
96
|
-
* @
|
|
97
|
-
* @
|
|
98
|
-
* @
|
|
105
|
+
* One week of the app's rows, as the Roster reads them.
|
|
106
|
+
*
|
|
107
|
+
* @typeParam R - The app's duty row type
|
|
108
|
+
* @param row - The app's duty row type
|
|
109
|
+
* @returns The week type over it
|
|
110
|
+
* @remarks Its assignments are the week's duties by their keys; its requirements the app's targets by slot; its status and its dismissals the app's week row's.
|
|
99
111
|
*/
|
|
100
|
-
export declare
|
|
112
|
+
export declare function RosterWeekTypeFor<R extends EastType>(row: R): StructType<{
|
|
101
113
|
readonly status: VariantType<{
|
|
102
114
|
readonly draft: NullType;
|
|
103
115
|
readonly published: StructType<{
|
|
104
|
-
readonly at: DateTimeType
|
|
116
|
+
readonly at: OptionType<DateTimeType>;
|
|
105
117
|
}>;
|
|
118
|
+
readonly other: StringType;
|
|
106
119
|
}>;
|
|
107
120
|
readonly assignments: DictType<StringType, StructType<{
|
|
108
121
|
readonly slot: StructType<{
|
|
@@ -116,9 +129,10 @@ export declare const RosterWeekType: StructType<{
|
|
|
116
129
|
}>;
|
|
117
130
|
readonly position: StringType;
|
|
118
131
|
readonly activity: OptionType<StringType>;
|
|
119
|
-
readonly
|
|
120
|
-
readonly
|
|
121
|
-
readonly
|
|
132
|
+
readonly start: DateTimeType;
|
|
133
|
+
readonly end: DateTimeType;
|
|
134
|
+
readonly hours: FloatType;
|
|
135
|
+
readonly row: R;
|
|
122
136
|
}>>;
|
|
123
137
|
readonly requirements: DictType<StructType<{
|
|
124
138
|
readonly day: IntegerType;
|
|
@@ -130,80 +144,57 @@ export declare const RosterWeekType: StructType<{
|
|
|
130
144
|
}>>;
|
|
131
145
|
readonly dismissed: SetType<StringType>;
|
|
132
146
|
}>;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
export declare const RosterWeeksType: DictType<DateTimeType, StructType<{
|
|
136
|
-
readonly status: VariantType<{
|
|
137
|
-
readonly draft: NullType;
|
|
138
|
-
readonly published: StructType<{
|
|
139
|
-
readonly at: DateTimeType;
|
|
140
|
-
}>;
|
|
141
|
-
}>;
|
|
142
|
-
readonly assignments: DictType<StringType, StructType<{
|
|
143
|
-
readonly slot: StructType<{
|
|
144
|
-
readonly day: IntegerType;
|
|
145
|
-
readonly group: StringType;
|
|
146
|
-
readonly shift: StringType;
|
|
147
|
-
}>;
|
|
148
|
-
readonly who: VariantType<{
|
|
149
|
-
readonly person: StringType;
|
|
150
|
-
readonly request: StringType;
|
|
151
|
-
}>;
|
|
152
|
-
readonly position: StringType;
|
|
153
|
-
readonly activity: OptionType<StringType>;
|
|
154
|
-
readonly offset: FloatType;
|
|
155
|
-
readonly overtime: FloatType;
|
|
156
|
-
readonly agreed: OptionType<BooleanType>;
|
|
157
|
-
}>>;
|
|
158
|
-
readonly requirements: DictType<StructType<{
|
|
159
|
-
readonly day: IntegerType;
|
|
160
|
-
readonly group: StringType;
|
|
161
|
-
readonly shift: StringType;
|
|
162
|
-
}>, StructType<{
|
|
163
|
-
readonly positions: IntegerType;
|
|
164
|
-
readonly hours: DictType<StringType, FloatType>;
|
|
165
|
-
}>>;
|
|
166
|
-
readonly dismissed: SetType<StringType>;
|
|
167
|
-
}>>;
|
|
168
|
-
export type RosterWeeksType = typeof RosterWeeksType;
|
|
147
|
+
/** Type representing {@link RosterWeekTypeFor}. */
|
|
148
|
+
export type RosterWeekTypeFor<R extends EastType> = ReturnType<typeof RosterWeekTypeFor<R>>;
|
|
169
149
|
/**
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
* @
|
|
150
|
+
* One row of an activities record, keyed by the activity's key: a skill of one
|
|
151
|
+
* group, or a duty of none, which every group may assign (#1342).
|
|
152
|
+
* @remarks `Roster.activities` reads a record of these, or of the app's own rows through its accessors.
|
|
173
153
|
* @property label - Display name
|
|
174
154
|
* @property code - Short code on assignment chips
|
|
155
|
+
* @property group - The group whose skill it is; none, a duty every group shares
|
|
156
|
+
*/
|
|
157
|
+
export declare const RosterActivityType: StructType<{
|
|
158
|
+
readonly label: StringType;
|
|
159
|
+
readonly code: StringType;
|
|
160
|
+
readonly group: OptionType<StringType>;
|
|
161
|
+
}>;
|
|
162
|
+
export type RosterActivityType = typeof RosterActivityType;
|
|
163
|
+
/**
|
|
164
|
+
* An activity resolved from the author's keyed activities: a skill within a
|
|
165
|
+
* group, or a duty available to every group.
|
|
166
|
+
* @remarks Keys are unique across all skills and duties: they are the activities record's keys.
|
|
167
|
+
* @property key - Stable identifier: its key in the activities record
|
|
168
|
+
* @property label - Display name
|
|
169
|
+
* @property code - Short code on assignment chips
|
|
170
|
+
* @property group - The group whose skill it is; none, a duty
|
|
175
171
|
*/
|
|
176
172
|
export declare const RosterSkillType: StructType<{
|
|
177
173
|
readonly key: StringType;
|
|
178
174
|
readonly label: StringType;
|
|
179
175
|
readonly code: StringType;
|
|
176
|
+
readonly group: OptionType<StringType>;
|
|
180
177
|
}>;
|
|
181
178
|
export type RosterSkillType = typeof RosterSkillType;
|
|
182
179
|
/**
|
|
183
|
-
* A group of people
|
|
180
|
+
* A group of people. Its skills are the activities of that group.
|
|
184
181
|
* @remarks The array order controls the grid and library order.
|
|
185
182
|
* @property key - Stable identifier
|
|
186
183
|
* @property label - Display name
|
|
187
|
-
* @property skills - Skills in display order
|
|
188
184
|
*/
|
|
189
185
|
export declare const RosterGroupType: StructType<{
|
|
190
186
|
readonly key: StringType;
|
|
191
187
|
readonly label: StringType;
|
|
192
|
-
readonly skills: ArrayType<StructType<{
|
|
193
|
-
readonly key: StringType;
|
|
194
|
-
readonly label: StringType;
|
|
195
|
-
readonly code: StringType;
|
|
196
|
-
}>>;
|
|
197
188
|
}>;
|
|
198
189
|
export type RosterGroupType = typeof RosterGroupType;
|
|
199
190
|
/**
|
|
200
|
-
* A recurring shift's
|
|
201
|
-
* @remarks An end past midnight belongs to the following day;
|
|
191
|
+
* A recurring shift's start and nominal hours.
|
|
192
|
+
* @remarks An end past midnight belongs to the following day; a duty still belongs to its shift's start day.
|
|
202
193
|
* @property key - Stable identifier
|
|
203
194
|
* @property label - Display name
|
|
204
195
|
* @property code - Short code in the week layout
|
|
205
196
|
* @property start - Start time in UTC, shared with Schedule
|
|
206
|
-
* @property hours - Nominal shift duration
|
|
197
|
+
* @property hours - Nominal shift duration: what a new duty runs, and a skill holder's capacity
|
|
207
198
|
*/
|
|
208
199
|
export declare const RosterShiftType: StructType<{
|
|
209
200
|
readonly key: StringType;
|
|
@@ -234,7 +225,7 @@ export type RosterPositionType = typeof RosterPositionType;
|
|
|
234
225
|
/**
|
|
235
226
|
* An agency from which positions may be requested.
|
|
236
227
|
* @remarks The first agency supplies the suggested open-position fix.
|
|
237
|
-
* @property key - Stable identifier
|
|
228
|
+
* @property key - Stable identifier: its key in the `agencies` resource kind
|
|
238
229
|
* @property name - Display name
|
|
239
230
|
*/
|
|
240
231
|
export declare const RosterAgencyType: StructType<{
|
|
@@ -243,8 +234,8 @@ export declare const RosterAgencyType: StructType<{
|
|
|
243
234
|
}>;
|
|
244
235
|
export type RosterAgencyType = typeof RosterAgencyType;
|
|
245
236
|
/**
|
|
246
|
-
* A person resolved from the
|
|
247
|
-
* @remarks Roster reads staff;
|
|
237
|
+
* A person resolved from the app's staff rows (the `people` resource kind).
|
|
238
|
+
* @remarks Roster reads staff; it never writes them.
|
|
248
239
|
* @property key - Original staff key
|
|
249
240
|
* @property name - Display name
|
|
250
241
|
* @property group - Home group
|
|
@@ -272,48 +263,28 @@ export type RosterPersonType = typeof RosterPersonType;
|
|
|
272
263
|
/**
|
|
273
264
|
* Built-in checks enabled for the roster.
|
|
274
265
|
* @remarks Rest reads this week only; double booking is always reported.
|
|
275
|
-
* @property rest - Minimum hours between
|
|
266
|
+
* @property rest - Minimum hours between duties; zero disables the rest check
|
|
276
267
|
* @property lead - Check staffed slots for a lead
|
|
277
268
|
* @property trainer - Check trainees have a trainer
|
|
278
269
|
* @property skill - Check activities against held skills
|
|
279
|
-
* @property agree - Report unagreed changed hours
|
|
280
270
|
*/
|
|
281
271
|
export declare const RosterRulesType: StructType<{
|
|
282
272
|
readonly rest: FloatType;
|
|
283
273
|
readonly lead: BooleanType;
|
|
284
274
|
readonly trainer: BooleanType;
|
|
285
275
|
readonly skill: BooleanType;
|
|
286
|
-
readonly agree: BooleanType;
|
|
287
276
|
}>;
|
|
288
277
|
export type RosterRulesType = typeof RosterRulesType;
|
|
289
|
-
/**
|
|
290
|
-
* Optional costing configuration.
|
|
291
|
-
* @remarks Omitting costs hides monetary readouts; it does not affect staffing checks.
|
|
292
|
-
* @property currency - Currency identifier for the shared formatter
|
|
293
|
-
* @property rates - Permanent, overtime and agency hourly rates
|
|
294
|
-
* @property budget - Daily budget, or none
|
|
295
|
-
*/
|
|
296
|
-
export declare const RosterCostsType: StructType<{
|
|
297
|
-
readonly currency: StringType;
|
|
298
|
-
readonly rates: StructType<{
|
|
299
|
-
readonly permanent: FloatType;
|
|
300
|
-
readonly overtime: FloatType;
|
|
301
|
-
readonly agency: FloatType;
|
|
302
|
-
}>;
|
|
303
|
-
readonly budget: OptionType<FloatType>;
|
|
304
|
-
}>;
|
|
305
|
-
export type RosterCostsType = typeof RosterCostsType;
|
|
306
278
|
/**
|
|
307
279
|
* Complete reference data used by coverage and checks.
|
|
308
|
-
* @remarks Visibility filters never remove people from this context.
|
|
280
|
+
* @remarks Visibility filters never remove people or activities from this context.
|
|
309
281
|
* @property people - All resolved staff by original key
|
|
310
|
-
* @property groups - Groups
|
|
311
|
-
* @property
|
|
282
|
+
* @property groups - Groups
|
|
283
|
+
* @property activities - Every activity: each group's skills, and the duties of no group
|
|
312
284
|
* @property shifts - Shift definitions
|
|
313
285
|
* @property positions - Position definitions
|
|
314
286
|
* @property agencies - Agencies available for gap fixes
|
|
315
287
|
* @property rules - Enabled rules
|
|
316
|
-
* @property costs - Optional monetary configuration
|
|
317
288
|
*/
|
|
318
289
|
export declare const RosterContextType: StructType<{
|
|
319
290
|
readonly people: DictType<StringType, StructType<{
|
|
@@ -331,16 +302,12 @@ export declare const RosterContextType: StructType<{
|
|
|
331
302
|
readonly groups: ArrayType<StructType<{
|
|
332
303
|
readonly key: StringType;
|
|
333
304
|
readonly label: StringType;
|
|
334
|
-
readonly skills: ArrayType<StructType<{
|
|
335
|
-
readonly key: StringType;
|
|
336
|
-
readonly label: StringType;
|
|
337
|
-
readonly code: StringType;
|
|
338
|
-
}>>;
|
|
339
305
|
}>>;
|
|
340
|
-
readonly
|
|
306
|
+
readonly activities: ArrayType<StructType<{
|
|
341
307
|
readonly key: StringType;
|
|
342
308
|
readonly label: StringType;
|
|
343
309
|
readonly code: StringType;
|
|
310
|
+
readonly group: OptionType<StringType>;
|
|
344
311
|
}>>;
|
|
345
312
|
readonly shifts: ArrayType<StructType<{
|
|
346
313
|
readonly key: StringType;
|
|
@@ -367,17 +334,7 @@ export declare const RosterContextType: StructType<{
|
|
|
367
334
|
readonly lead: BooleanType;
|
|
368
335
|
readonly trainer: BooleanType;
|
|
369
336
|
readonly skill: BooleanType;
|
|
370
|
-
readonly agree: BooleanType;
|
|
371
337
|
}>;
|
|
372
|
-
readonly costs: OptionType<StructType<{
|
|
373
|
-
readonly currency: StringType;
|
|
374
|
-
readonly rates: StructType<{
|
|
375
|
-
readonly permanent: FloatType;
|
|
376
|
-
readonly overtime: FloatType;
|
|
377
|
-
readonly agency: FloatType;
|
|
378
|
-
}>;
|
|
379
|
-
readonly budget: OptionType<FloatType>;
|
|
380
|
-
}>>;
|
|
381
338
|
}>;
|
|
382
339
|
export type RosterContextType = typeof RosterContextType;
|
|
383
340
|
/**
|
|
@@ -388,7 +345,7 @@ export type RosterContextType = typeof RosterContextType;
|
|
|
388
345
|
* @property holders - Number of people holding the skill, or none for a duty
|
|
389
346
|
* @property capacity - Nominal hours available from holders, or none for a duty
|
|
390
347
|
* @property gap - Positive shortfall in skill capacity
|
|
391
|
-
* @property assigned - Hours
|
|
348
|
+
* @property assigned - Hours of the duties assigned to this activity
|
|
392
349
|
*/
|
|
393
350
|
export declare const RosterCoverageLineType: StructType<{
|
|
394
351
|
readonly skill: StringType;
|
|
@@ -400,15 +357,15 @@ export declare const RosterCoverageLineType: StructType<{
|
|
|
400
357
|
}>;
|
|
401
358
|
export type RosterCoverageLineType = typeof RosterCoverageLineType;
|
|
402
359
|
/**
|
|
403
|
-
* Staffing, work and
|
|
404
|
-
* @remarks Requests fill positions and contribute
|
|
360
|
+
* Staffing, work and pay for a complete slot.
|
|
361
|
+
* @remarks Requests fill positions and contribute their hours, but never count as named people or skilled holders.
|
|
405
362
|
* @property positions - Required positions
|
|
406
363
|
* @property filled - Assignments including requests
|
|
407
364
|
* @property open - Unfilled positions, at least zero
|
|
408
365
|
* @property people - Named people assigned
|
|
409
|
-
* @property hours - Permanent, agency,
|
|
366
|
+
* @property hours - Permanent, agency, requested, needed and total rostered hours: each duty's hours
|
|
410
367
|
* @property lines - Required skills in group order, then duties
|
|
411
|
-
* @property cost -
|
|
368
|
+
* @property cost - The slot's pay: its duties' costs summed over every code; zero without `pay`
|
|
412
369
|
* @property lead - A named person holds a lead position
|
|
413
370
|
* @property trainer - A trainer is assigned
|
|
414
371
|
*/
|
|
@@ -420,7 +377,6 @@ export declare const RosterCoverageType: StructType<{
|
|
|
420
377
|
readonly hours: StructType<{
|
|
421
378
|
readonly permanent: FloatType;
|
|
422
379
|
readonly agency: FloatType;
|
|
423
|
-
readonly overtime: FloatType;
|
|
424
380
|
readonly requested: FloatType;
|
|
425
381
|
readonly needed: FloatType;
|
|
426
382
|
readonly rostered: FloatType;
|
|
@@ -439,42 +395,51 @@ export declare const RosterCoverageType: StructType<{
|
|
|
439
395
|
}>;
|
|
440
396
|
export type RosterCoverageType = typeof RosterCoverageType;
|
|
441
397
|
/**
|
|
442
|
-
*
|
|
443
|
-
*
|
|
444
|
-
* @
|
|
445
|
-
* @property
|
|
446
|
-
* @property
|
|
398
|
+
* A suggested placement, as the Roster reads it from the app's rows
|
|
399
|
+
* (`Roster.proposals`).
|
|
400
|
+
* @remarks Acceptance creates a duty; rejection keeps this key in the week's dismissed set.
|
|
401
|
+
* @property key - Its row's key
|
|
402
|
+
* @property day - The day it suggests, a UTC midnight
|
|
403
|
+
* @property group - The group it suggests
|
|
404
|
+
* @property shift - The shift it suggests
|
|
447
405
|
* @property person - Original staff key
|
|
448
406
|
* @property reason - Explanation presented to the planner
|
|
449
407
|
*/
|
|
450
408
|
export declare const RosterProposalType: StructType<{
|
|
451
409
|
readonly key: StringType;
|
|
452
|
-
readonly
|
|
453
|
-
readonly
|
|
454
|
-
|
|
455
|
-
readonly group: StringType;
|
|
456
|
-
readonly shift: StringType;
|
|
457
|
-
}>;
|
|
410
|
+
readonly day: DateTimeType;
|
|
411
|
+
readonly group: StringType;
|
|
412
|
+
readonly shift: StringType;
|
|
458
413
|
readonly person: StringType;
|
|
459
414
|
readonly reason: StringType;
|
|
460
415
|
}>;
|
|
461
416
|
export type RosterProposalType = typeof RosterProposalType;
|
|
417
|
+
/**
|
|
418
|
+
* What a Find fix looks for (#1334): what the app's fit is asked who fits.
|
|
419
|
+
* @property leads - Someone in a lead position
|
|
420
|
+
* @property trainers - Someone who trains others
|
|
421
|
+
* @property skill - Someone who holds this skill, by its activity key
|
|
422
|
+
*/
|
|
423
|
+
export declare const RosterNeedType: VariantType<{
|
|
424
|
+
readonly leads: NullType;
|
|
425
|
+
readonly trainers: NullType;
|
|
426
|
+
readonly skill: StringType;
|
|
427
|
+
}>;
|
|
428
|
+
export type RosterNeedType = typeof RosterNeedType;
|
|
462
429
|
/**
|
|
463
430
|
* A corrective action offered for an issue.
|
|
464
|
-
* @remarks Every data-changing action is one gesture of the shared edit
|
|
431
|
+
* @remarks Every data-changing action is one gesture of the shared edit history. A find edits nothing: it asks the app's fit who fits its need on the issue's slot, and is offered only when the Roster has a `fit` (#1334).
|
|
465
432
|
* @property request - Request someone from this agency
|
|
466
|
-
* @property agree - Mark the assignment agreed
|
|
467
433
|
* @property accept - Accept this proposal key
|
|
468
|
-
* @property move - Move the
|
|
469
|
-
* @property start -
|
|
470
|
-
* @property find -
|
|
434
|
+
* @property move - Move the duty to this shift
|
|
435
|
+
* @property start - Move the duty to start at this later time, its length kept
|
|
436
|
+
* @property find - Find who fits this need on the issue's slot: the app's fit's answer, in the People tab
|
|
471
437
|
*/
|
|
472
438
|
export declare const RosterFixType: VariantType<{
|
|
473
439
|
readonly request: StringType;
|
|
474
|
-
readonly agree: NullType;
|
|
475
440
|
readonly accept: StringType;
|
|
476
441
|
readonly move: StringType;
|
|
477
|
-
readonly start:
|
|
442
|
+
readonly start: DateTimeType;
|
|
478
443
|
readonly find: VariantType<{
|
|
479
444
|
readonly leads: NullType;
|
|
480
445
|
readonly trainers: NullType;
|
|
@@ -485,12 +450,12 @@ export type RosterFixType = typeof RosterFixType;
|
|
|
485
450
|
/**
|
|
486
451
|
* One explanation or warning about the drafted roster.
|
|
487
452
|
* @remarks Warnings do not introduce a separate validation barrier to Save or Publish.
|
|
488
|
-
* @property kind - Breach, gap
|
|
453
|
+
* @property kind - Breach, gap or proposal
|
|
489
454
|
* @property tone - Shared semantic tone
|
|
490
455
|
* @property title - Short explanation
|
|
491
456
|
* @property detail - Supporting explanation
|
|
492
457
|
* @property slot - Affected slot, or none
|
|
493
|
-
* @property assignment - Affected
|
|
458
|
+
* @property assignment - Affected duty key, or none
|
|
494
459
|
* @property flag - Short text on a chip, or none
|
|
495
460
|
* @property fix - Offered action, or none
|
|
496
461
|
*/
|
|
@@ -498,7 +463,6 @@ export declare const RosterIssueType: StructType<{
|
|
|
498
463
|
readonly kind: VariantType<{
|
|
499
464
|
readonly breach: NullType;
|
|
500
465
|
readonly gap: NullType;
|
|
501
|
-
readonly agree: NullType;
|
|
502
466
|
readonly proposal: NullType;
|
|
503
467
|
}>;
|
|
504
468
|
readonly tone: VariantType<{
|
|
@@ -519,10 +483,9 @@ export declare const RosterIssueType: StructType<{
|
|
|
519
483
|
readonly flag: OptionType<StringType>;
|
|
520
484
|
readonly fix: OptionType<VariantType<{
|
|
521
485
|
readonly request: StringType;
|
|
522
|
-
readonly agree: NullType;
|
|
523
486
|
readonly accept: StringType;
|
|
524
487
|
readonly move: StringType;
|
|
525
|
-
readonly start:
|
|
488
|
+
readonly start: DateTimeType;
|
|
526
489
|
readonly find: VariantType<{
|
|
527
490
|
readonly leads: NullType;
|
|
528
491
|
readonly trainers: NullType;
|
|
@@ -531,22 +494,115 @@ export declare const RosterIssueType: StructType<{
|
|
|
531
494
|
}>>;
|
|
532
495
|
}>;
|
|
533
496
|
export type RosterIssueType = typeof RosterIssueType;
|
|
497
|
+
/**
|
|
498
|
+
* The app's pay's answer (§5.6): each duty's cost, by its key, in the app's
|
|
499
|
+
* own pay codes.
|
|
500
|
+
* @remarks The Roster knows no pay code in advance: it totals what the app gives, by code and in all.
|
|
501
|
+
*/
|
|
502
|
+
export declare const RosterPayType: DictType<StringType, DictType<StringType, FloatType>>;
|
|
503
|
+
export type RosterPayType = typeof RosterPayType;
|
|
504
|
+
/**
|
|
505
|
+
* One question to the app's pay (§5.6): one person's duties for the week, or
|
|
506
|
+
* one agency's requests.
|
|
507
|
+
*
|
|
508
|
+
* @typeParam R - The app's duty row type
|
|
509
|
+
* @param row - The app's duty row type
|
|
510
|
+
* @returns The request type over it
|
|
511
|
+
* @remarks `who` is the person or the agency; `duties` its duties, by key; `context` the complete staff and configuration.
|
|
512
|
+
*/
|
|
513
|
+
export declare function RosterPayRequestTypeFor<R extends EastType>(row: R): StructType<{
|
|
514
|
+
readonly who: VariantType<{
|
|
515
|
+
readonly person: StringType;
|
|
516
|
+
readonly request: StringType;
|
|
517
|
+
}>;
|
|
518
|
+
readonly start: DateTimeType;
|
|
519
|
+
readonly duties: DictType<StringType, StructType<{
|
|
520
|
+
readonly slot: StructType<{
|
|
521
|
+
readonly day: IntegerType;
|
|
522
|
+
readonly group: StringType;
|
|
523
|
+
readonly shift: StringType;
|
|
524
|
+
}>;
|
|
525
|
+
readonly who: VariantType<{
|
|
526
|
+
readonly person: StringType;
|
|
527
|
+
readonly request: StringType;
|
|
528
|
+
}>;
|
|
529
|
+
readonly position: StringType;
|
|
530
|
+
readonly activity: OptionType<StringType>;
|
|
531
|
+
readonly start: DateTimeType;
|
|
532
|
+
readonly end: DateTimeType;
|
|
533
|
+
readonly hours: FloatType;
|
|
534
|
+
readonly row: R;
|
|
535
|
+
}>>;
|
|
536
|
+
readonly context: StructType<{
|
|
537
|
+
readonly people: DictType<StringType, StructType<{
|
|
538
|
+
readonly key: StringType;
|
|
539
|
+
readonly name: StringType;
|
|
540
|
+
readonly group: StringType;
|
|
541
|
+
readonly position: StringType;
|
|
542
|
+
readonly skills: SetType<StringType>;
|
|
543
|
+
readonly contract: FloatType;
|
|
544
|
+
readonly agency: BooleanType;
|
|
545
|
+
readonly trainer: BooleanType;
|
|
546
|
+
readonly trainee: BooleanType;
|
|
547
|
+
readonly usual: OptionType<StringType>;
|
|
548
|
+
}>>;
|
|
549
|
+
readonly groups: ArrayType<StructType<{
|
|
550
|
+
readonly key: StringType;
|
|
551
|
+
readonly label: StringType;
|
|
552
|
+
}>>;
|
|
553
|
+
readonly activities: ArrayType<StructType<{
|
|
554
|
+
readonly key: StringType;
|
|
555
|
+
readonly label: StringType;
|
|
556
|
+
readonly code: StringType;
|
|
557
|
+
readonly group: OptionType<StringType>;
|
|
558
|
+
}>>;
|
|
559
|
+
readonly shifts: ArrayType<StructType<{
|
|
560
|
+
readonly key: StringType;
|
|
561
|
+
readonly label: StringType;
|
|
562
|
+
readonly code: StringType;
|
|
563
|
+
readonly start: StructType<{
|
|
564
|
+
readonly hour: IntegerType;
|
|
565
|
+
readonly minute: IntegerType;
|
|
566
|
+
}>;
|
|
567
|
+
readonly hours: FloatType;
|
|
568
|
+
}>>;
|
|
569
|
+
readonly positions: ArrayType<StructType<{
|
|
570
|
+
readonly key: StringType;
|
|
571
|
+
readonly label: StringType;
|
|
572
|
+
readonly code: StringType;
|
|
573
|
+
readonly lead: BooleanType;
|
|
574
|
+
}>>;
|
|
575
|
+
readonly agencies: ArrayType<StructType<{
|
|
576
|
+
readonly key: StringType;
|
|
577
|
+
readonly name: StringType;
|
|
578
|
+
}>>;
|
|
579
|
+
readonly rules: StructType<{
|
|
580
|
+
readonly rest: FloatType;
|
|
581
|
+
readonly lead: BooleanType;
|
|
582
|
+
readonly trainer: BooleanType;
|
|
583
|
+
readonly skill: BooleanType;
|
|
584
|
+
}>;
|
|
585
|
+
}>;
|
|
586
|
+
}>;
|
|
587
|
+
/** Type representing {@link RosterPayRequestTypeFor}. */
|
|
588
|
+
export type RosterPayRequestTypeFor<R extends EastType> = ReturnType<typeof RosterPayRequestTypeFor<R>>;
|
|
534
589
|
/**
|
|
535
590
|
* Input to an application's additional roster checks.
|
|
536
|
-
*
|
|
537
|
-
* @
|
|
538
|
-
* @
|
|
539
|
-
* @
|
|
540
|
-
* @
|
|
591
|
+
*
|
|
592
|
+
* @typeParam R - The app's duty row type
|
|
593
|
+
* @param row - The app's duty row type
|
|
594
|
+
* @returns The check's context over it
|
|
595
|
+
* @remarks The built-in coverage has already been calculated for the same draft, and so have the pay's costs: `start` the week's first day, `week` the drafted week, `context` the complete reference data, `coverage` every configured slot's, `pay` each duty's costs by code.
|
|
541
596
|
*/
|
|
542
|
-
export declare
|
|
597
|
+
export declare function RosterCheckContextTypeFor<R extends EastType>(row: R): StructType<{
|
|
543
598
|
readonly start: DateTimeType;
|
|
544
599
|
readonly week: StructType<{
|
|
545
600
|
readonly status: VariantType<{
|
|
546
601
|
readonly draft: NullType;
|
|
547
602
|
readonly published: StructType<{
|
|
548
|
-
readonly at: DateTimeType
|
|
603
|
+
readonly at: OptionType<DateTimeType>;
|
|
549
604
|
}>;
|
|
605
|
+
readonly other: StringType;
|
|
550
606
|
}>;
|
|
551
607
|
readonly assignments: DictType<StringType, StructType<{
|
|
552
608
|
readonly slot: StructType<{
|
|
@@ -560,9 +616,10 @@ export declare const RosterCheckContextType: StructType<{
|
|
|
560
616
|
}>;
|
|
561
617
|
readonly position: StringType;
|
|
562
618
|
readonly activity: OptionType<StringType>;
|
|
563
|
-
readonly
|
|
564
|
-
readonly
|
|
565
|
-
readonly
|
|
619
|
+
readonly start: DateTimeType;
|
|
620
|
+
readonly end: DateTimeType;
|
|
621
|
+
readonly hours: FloatType;
|
|
622
|
+
readonly row: R;
|
|
566
623
|
}>>;
|
|
567
624
|
readonly requirements: DictType<StructType<{
|
|
568
625
|
readonly day: IntegerType;
|
|
@@ -590,16 +647,12 @@ export declare const RosterCheckContextType: StructType<{
|
|
|
590
647
|
readonly groups: ArrayType<StructType<{
|
|
591
648
|
readonly key: StringType;
|
|
592
649
|
readonly label: StringType;
|
|
593
|
-
readonly skills: ArrayType<StructType<{
|
|
594
|
-
readonly key: StringType;
|
|
595
|
-
readonly label: StringType;
|
|
596
|
-
readonly code: StringType;
|
|
597
|
-
}>>;
|
|
598
650
|
}>>;
|
|
599
|
-
readonly
|
|
651
|
+
readonly activities: ArrayType<StructType<{
|
|
600
652
|
readonly key: StringType;
|
|
601
653
|
readonly label: StringType;
|
|
602
654
|
readonly code: StringType;
|
|
655
|
+
readonly group: OptionType<StringType>;
|
|
603
656
|
}>>;
|
|
604
657
|
readonly shifts: ArrayType<StructType<{
|
|
605
658
|
readonly key: StringType;
|
|
@@ -626,17 +679,186 @@ export declare const RosterCheckContextType: StructType<{
|
|
|
626
679
|
readonly lead: BooleanType;
|
|
627
680
|
readonly trainer: BooleanType;
|
|
628
681
|
readonly skill: BooleanType;
|
|
629
|
-
readonly agree: BooleanType;
|
|
630
682
|
}>;
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
683
|
+
}>;
|
|
684
|
+
readonly coverage: DictType<StructType<{
|
|
685
|
+
readonly day: IntegerType;
|
|
686
|
+
readonly group: StringType;
|
|
687
|
+
readonly shift: StringType;
|
|
688
|
+
}>, StructType<{
|
|
689
|
+
readonly positions: IntegerType;
|
|
690
|
+
readonly filled: IntegerType;
|
|
691
|
+
readonly open: IntegerType;
|
|
692
|
+
readonly people: IntegerType;
|
|
693
|
+
readonly hours: StructType<{
|
|
694
|
+
readonly permanent: FloatType;
|
|
695
|
+
readonly agency: FloatType;
|
|
696
|
+
readonly requested: FloatType;
|
|
697
|
+
readonly needed: FloatType;
|
|
698
|
+
readonly rostered: FloatType;
|
|
699
|
+
}>;
|
|
700
|
+
readonly lines: ArrayType<StructType<{
|
|
701
|
+
readonly skill: StringType;
|
|
702
|
+
readonly needed: FloatType;
|
|
703
|
+
readonly holders: OptionType<IntegerType>;
|
|
704
|
+
readonly capacity: OptionType<FloatType>;
|
|
705
|
+
readonly gap: FloatType;
|
|
706
|
+
readonly assigned: FloatType;
|
|
707
|
+
}>>;
|
|
708
|
+
readonly cost: FloatType;
|
|
709
|
+
readonly lead: BooleanType;
|
|
710
|
+
readonly trainer: BooleanType;
|
|
711
|
+
}>>;
|
|
712
|
+
readonly pay: DictType<StringType, DictType<StringType, FloatType>>;
|
|
713
|
+
}>;
|
|
714
|
+
/** Type representing {@link RosterCheckContextTypeFor}. */
|
|
715
|
+
export type RosterCheckContextTypeFor<R extends EastType> = ReturnType<typeof RosterCheckContextTypeFor<R>>;
|
|
716
|
+
/** Why someone does not fit a need: Schedule's, shared with the Allocation (#1334). */
|
|
717
|
+
export declare const RosterRefusalType: StructType<{
|
|
718
|
+
readonly group: StringType;
|
|
719
|
+
readonly reason: StringType;
|
|
720
|
+
readonly measure: VariantType<{
|
|
721
|
+
readonly none: NullType;
|
|
722
|
+
readonly amount: StructType<{
|
|
723
|
+
readonly lead: StringType;
|
|
724
|
+
readonly value: FloatType;
|
|
725
|
+
}>;
|
|
726
|
+
readonly day: StructType<{
|
|
727
|
+
readonly lead: StringType;
|
|
728
|
+
readonly at: DateTimeType;
|
|
729
|
+
}>;
|
|
730
|
+
}>;
|
|
731
|
+
}>;
|
|
732
|
+
export type RosterRefusalType = typeof RosterRefusalType;
|
|
733
|
+
/** One verdict of the app's fit: Schedule's, shared with the Allocation — it fits with a score, a reason and a warning, or it is refused (#1334). */
|
|
734
|
+
export declare const RosterFitType: VariantType<{
|
|
735
|
+
readonly fits: StructType<{
|
|
736
|
+
readonly score: FloatType;
|
|
737
|
+
readonly why: StringType;
|
|
738
|
+
readonly warn: OptionType<StringType>;
|
|
739
|
+
}>;
|
|
740
|
+
readonly refused: StructType<{
|
|
741
|
+
readonly group: StringType;
|
|
742
|
+
readonly reason: StringType;
|
|
743
|
+
readonly measure: VariantType<{
|
|
744
|
+
readonly none: NullType;
|
|
745
|
+
readonly amount: StructType<{
|
|
746
|
+
readonly lead: StringType;
|
|
747
|
+
readonly value: FloatType;
|
|
748
|
+
}>;
|
|
749
|
+
readonly day: StructType<{
|
|
750
|
+
readonly lead: StringType;
|
|
751
|
+
readonly at: DateTimeType;
|
|
637
752
|
}>;
|
|
638
|
-
|
|
753
|
+
}>;
|
|
754
|
+
}>;
|
|
755
|
+
}>;
|
|
756
|
+
export type RosterFitType = typeof RosterFitType;
|
|
757
|
+
/**
|
|
758
|
+
* One question to the app's fit (#1334): who fits a Find fix's need on its
|
|
759
|
+
* issue's slot, over the drafted week.
|
|
760
|
+
*
|
|
761
|
+
* @typeParam R - The app's duty row type
|
|
762
|
+
* @param row - The app's duty row type
|
|
763
|
+
* @returns The request type over it
|
|
764
|
+
* @remarks `need` what is looked for, `slot` the issue's, `start` the week's first day, `week` the drafted week, `context` the complete staff and configuration — every person, whatever the rail shows — and `coverage` the drafted week's.
|
|
765
|
+
*/
|
|
766
|
+
export declare function RosterFitRequestTypeFor<R extends EastType>(row: R): StructType<{
|
|
767
|
+
readonly need: VariantType<{
|
|
768
|
+
readonly leads: NullType;
|
|
769
|
+
readonly trainers: NullType;
|
|
770
|
+
readonly skill: StringType;
|
|
771
|
+
}>;
|
|
772
|
+
readonly slot: StructType<{
|
|
773
|
+
readonly day: IntegerType;
|
|
774
|
+
readonly group: StringType;
|
|
775
|
+
readonly shift: StringType;
|
|
776
|
+
}>;
|
|
777
|
+
readonly start: DateTimeType;
|
|
778
|
+
readonly week: StructType<{
|
|
779
|
+
readonly status: VariantType<{
|
|
780
|
+
readonly draft: NullType;
|
|
781
|
+
readonly published: StructType<{
|
|
782
|
+
readonly at: OptionType<DateTimeType>;
|
|
783
|
+
}>;
|
|
784
|
+
readonly other: StringType;
|
|
785
|
+
}>;
|
|
786
|
+
readonly assignments: DictType<StringType, StructType<{
|
|
787
|
+
readonly slot: StructType<{
|
|
788
|
+
readonly day: IntegerType;
|
|
789
|
+
readonly group: StringType;
|
|
790
|
+
readonly shift: StringType;
|
|
791
|
+
}>;
|
|
792
|
+
readonly who: VariantType<{
|
|
793
|
+
readonly person: StringType;
|
|
794
|
+
readonly request: StringType;
|
|
795
|
+
}>;
|
|
796
|
+
readonly position: StringType;
|
|
797
|
+
readonly activity: OptionType<StringType>;
|
|
798
|
+
readonly start: DateTimeType;
|
|
799
|
+
readonly end: DateTimeType;
|
|
800
|
+
readonly hours: FloatType;
|
|
801
|
+
readonly row: R;
|
|
802
|
+
}>>;
|
|
803
|
+
readonly requirements: DictType<StructType<{
|
|
804
|
+
readonly day: IntegerType;
|
|
805
|
+
readonly group: StringType;
|
|
806
|
+
readonly shift: StringType;
|
|
807
|
+
}>, StructType<{
|
|
808
|
+
readonly positions: IntegerType;
|
|
809
|
+
readonly hours: DictType<StringType, FloatType>;
|
|
810
|
+
}>>;
|
|
811
|
+
readonly dismissed: SetType<StringType>;
|
|
812
|
+
}>;
|
|
813
|
+
readonly context: StructType<{
|
|
814
|
+
readonly people: DictType<StringType, StructType<{
|
|
815
|
+
readonly key: StringType;
|
|
816
|
+
readonly name: StringType;
|
|
817
|
+
readonly group: StringType;
|
|
818
|
+
readonly position: StringType;
|
|
819
|
+
readonly skills: SetType<StringType>;
|
|
820
|
+
readonly contract: FloatType;
|
|
821
|
+
readonly agency: BooleanType;
|
|
822
|
+
readonly trainer: BooleanType;
|
|
823
|
+
readonly trainee: BooleanType;
|
|
824
|
+
readonly usual: OptionType<StringType>;
|
|
825
|
+
}>>;
|
|
826
|
+
readonly groups: ArrayType<StructType<{
|
|
827
|
+
readonly key: StringType;
|
|
828
|
+
readonly label: StringType;
|
|
829
|
+
}>>;
|
|
830
|
+
readonly activities: ArrayType<StructType<{
|
|
831
|
+
readonly key: StringType;
|
|
832
|
+
readonly label: StringType;
|
|
833
|
+
readonly code: StringType;
|
|
834
|
+
readonly group: OptionType<StringType>;
|
|
835
|
+
}>>;
|
|
836
|
+
readonly shifts: ArrayType<StructType<{
|
|
837
|
+
readonly key: StringType;
|
|
838
|
+
readonly label: StringType;
|
|
839
|
+
readonly code: StringType;
|
|
840
|
+
readonly start: StructType<{
|
|
841
|
+
readonly hour: IntegerType;
|
|
842
|
+
readonly minute: IntegerType;
|
|
843
|
+
}>;
|
|
844
|
+
readonly hours: FloatType;
|
|
845
|
+
}>>;
|
|
846
|
+
readonly positions: ArrayType<StructType<{
|
|
847
|
+
readonly key: StringType;
|
|
848
|
+
readonly label: StringType;
|
|
849
|
+
readonly code: StringType;
|
|
850
|
+
readonly lead: BooleanType;
|
|
851
|
+
}>>;
|
|
852
|
+
readonly agencies: ArrayType<StructType<{
|
|
853
|
+
readonly key: StringType;
|
|
854
|
+
readonly name: StringType;
|
|
639
855
|
}>>;
|
|
856
|
+
readonly rules: StructType<{
|
|
857
|
+
readonly rest: FloatType;
|
|
858
|
+
readonly lead: BooleanType;
|
|
859
|
+
readonly trainer: BooleanType;
|
|
860
|
+
readonly skill: BooleanType;
|
|
861
|
+
}>;
|
|
640
862
|
}>;
|
|
641
863
|
readonly coverage: DictType<StructType<{
|
|
642
864
|
readonly day: IntegerType;
|
|
@@ -650,7 +872,6 @@ export declare const RosterCheckContextType: StructType<{
|
|
|
650
872
|
readonly hours: StructType<{
|
|
651
873
|
readonly permanent: FloatType;
|
|
652
874
|
readonly agency: FloatType;
|
|
653
|
-
readonly overtime: FloatType;
|
|
654
875
|
readonly requested: FloatType;
|
|
655
876
|
readonly needed: FloatType;
|
|
656
877
|
readonly rostered: FloatType;
|
|
@@ -668,5 +889,429 @@ export declare const RosterCheckContextType: StructType<{
|
|
|
668
889
|
readonly trainer: BooleanType;
|
|
669
890
|
}>>;
|
|
670
891
|
}>;
|
|
671
|
-
|
|
892
|
+
/** Type representing {@link RosterFitRequestTypeFor}. */
|
|
893
|
+
export type RosterFitRequestTypeFor<R extends EastType> = ReturnType<typeof RosterFitRequestTypeFor<R>>;
|
|
894
|
+
/**
|
|
895
|
+
* Where a duty sits, as the Roster reads it from its roles (§5.5, rules 1 and
|
|
896
|
+
* 8): placed in the week, another week's, or a duty the Roster cannot place —
|
|
897
|
+
* one whose shift or group isn't configured, or that names no one — which it
|
|
898
|
+
* lists in Issues and keeps as stored.
|
|
899
|
+
*
|
|
900
|
+
* @typeParam R - The app's duty row type
|
|
901
|
+
* @param row - The app's duty row type
|
|
902
|
+
* @returns The placement type over it
|
|
903
|
+
* @remarks `placed` the duty as the week holds it; `elsewhere` a duty of another week; `unplaced` the issue that lists it.
|
|
904
|
+
*/
|
|
905
|
+
export declare function RosterPlacementTypeFor<R extends EastType>(row: R): VariantType<{
|
|
906
|
+
readonly placed: StructType<{
|
|
907
|
+
readonly slot: StructType<{
|
|
908
|
+
readonly day: IntegerType;
|
|
909
|
+
readonly group: StringType;
|
|
910
|
+
readonly shift: StringType;
|
|
911
|
+
}>;
|
|
912
|
+
readonly who: VariantType<{
|
|
913
|
+
readonly person: StringType;
|
|
914
|
+
readonly request: StringType;
|
|
915
|
+
}>;
|
|
916
|
+
readonly position: StringType;
|
|
917
|
+
readonly activity: OptionType<StringType>;
|
|
918
|
+
readonly start: DateTimeType;
|
|
919
|
+
readonly end: DateTimeType;
|
|
920
|
+
readonly hours: FloatType;
|
|
921
|
+
readonly row: R;
|
|
922
|
+
}>;
|
|
923
|
+
readonly elsewhere: NullType;
|
|
924
|
+
readonly unplaced: StructType<{
|
|
925
|
+
readonly kind: VariantType<{
|
|
926
|
+
readonly breach: NullType;
|
|
927
|
+
readonly gap: NullType;
|
|
928
|
+
readonly proposal: NullType;
|
|
929
|
+
}>;
|
|
930
|
+
readonly tone: VariantType<{
|
|
931
|
+
readonly success: NullType;
|
|
932
|
+
readonly warning: NullType;
|
|
933
|
+
readonly danger: NullType;
|
|
934
|
+
readonly info: NullType;
|
|
935
|
+
readonly neutral: NullType;
|
|
936
|
+
}>;
|
|
937
|
+
readonly title: StringType;
|
|
938
|
+
readonly detail: StringType;
|
|
939
|
+
readonly slot: OptionType<StructType<{
|
|
940
|
+
readonly day: IntegerType;
|
|
941
|
+
readonly group: StringType;
|
|
942
|
+
readonly shift: StringType;
|
|
943
|
+
}>>;
|
|
944
|
+
readonly assignment: OptionType<StringType>;
|
|
945
|
+
readonly flag: OptionType<StringType>;
|
|
946
|
+
readonly fix: OptionType<VariantType<{
|
|
947
|
+
readonly request: StringType;
|
|
948
|
+
readonly accept: StringType;
|
|
949
|
+
readonly move: StringType;
|
|
950
|
+
readonly start: DateTimeType;
|
|
951
|
+
readonly find: VariantType<{
|
|
952
|
+
readonly leads: NullType;
|
|
953
|
+
readonly trainers: NullType;
|
|
954
|
+
readonly skill: StringType;
|
|
955
|
+
}>;
|
|
956
|
+
}>>;
|
|
957
|
+
}>;
|
|
958
|
+
}>;
|
|
959
|
+
/** Type representing {@link RosterPlacementTypeFor}. */
|
|
960
|
+
export type RosterPlacementTypeFor<R extends EastType> = ReturnType<typeof RosterPlacementTypeFor<R>>;
|
|
961
|
+
/**
|
|
962
|
+
* A target's roles, as the Roster reads them from the app's row
|
|
963
|
+
* (`Roster.targets`): the slot it is for, and what it asks of it.
|
|
964
|
+
* @property day - The day, a UTC midnight
|
|
965
|
+
* @property group - The group's key
|
|
966
|
+
* @property shift - The shift's key
|
|
967
|
+
* @property positions - Positions to fill
|
|
968
|
+
* @property hours - Hours required, by activity key
|
|
969
|
+
*/
|
|
970
|
+
export declare const RosterTargetRolesType: StructType<{
|
|
971
|
+
readonly day: DateTimeType;
|
|
972
|
+
readonly group: StringType;
|
|
973
|
+
readonly shift: StringType;
|
|
974
|
+
readonly positions: IntegerType;
|
|
975
|
+
readonly hours: DictType<StringType, FloatType>;
|
|
976
|
+
}>;
|
|
977
|
+
export type RosterTargetRolesType = typeof RosterTargetRolesType;
|
|
978
|
+
/**
|
|
979
|
+
* One stored target, as the targets' `rows` gives it: its roles, read in the
|
|
980
|
+
* pass that reads the row, and the row as bytes at the row type.
|
|
981
|
+
* @property roles - Its roles
|
|
982
|
+
* @property row - Its row, as bytes at the row type
|
|
983
|
+
*/
|
|
984
|
+
export declare const RosterTargetEntryType: StructType<{
|
|
985
|
+
readonly roles: StructType<{
|
|
986
|
+
readonly day: DateTimeType;
|
|
987
|
+
readonly group: StringType;
|
|
988
|
+
readonly shift: StringType;
|
|
989
|
+
readonly positions: IntegerType;
|
|
990
|
+
readonly hours: DictType<StringType, FloatType>;
|
|
991
|
+
}>;
|
|
992
|
+
readonly row: BlobType;
|
|
993
|
+
}>;
|
|
994
|
+
export type RosterTargetEntryType = typeof RosterTargetEntryType;
|
|
995
|
+
/**
|
|
996
|
+
* The app's targets, closed (`Roster.targets`): its record of targets, a row
|
|
997
|
+
* per slot, read and written through its roles over bytes, so the Roster's
|
|
998
|
+
* payload is one type whatever the record holds.
|
|
999
|
+
* @property editing - The shared session over the record: whole rows by their key, its patch door
|
|
1000
|
+
* @property entries - The record read by key, when it is given `entries`; `none` for a record read whole
|
|
1001
|
+
* @property rows - The targets whose day falls in `[from, to)`, by key, each its roles and its row; `none` while a read is in flight
|
|
1002
|
+
* @property read - A drafted row's roles, from its bytes
|
|
1003
|
+
* @property write - The row with its roles written, and every other field as it was
|
|
1004
|
+
* @property create - A new row from the roles, every other field its type's default
|
|
1005
|
+
* @property history - The record's commits, newest first
|
|
1006
|
+
* @property inspector - The app's own form for one target, over its row as bytes; `none`, the Roster's
|
|
1007
|
+
* @property rowType - The row type
|
|
1008
|
+
*/
|
|
1009
|
+
export declare const RosterTargetsKindType: StructType<{
|
|
1010
|
+
readonly editing: StructType<{
|
|
1011
|
+
sourceId: StringType;
|
|
1012
|
+
entryType: import("@elaraai/east").RecursiveType<VariantType<{
|
|
1013
|
+
readonly Never: NullType;
|
|
1014
|
+
readonly Null: NullType;
|
|
1015
|
+
readonly Boolean: NullType;
|
|
1016
|
+
readonly Integer: NullType;
|
|
1017
|
+
readonly Float: NullType;
|
|
1018
|
+
readonly String: NullType;
|
|
1019
|
+
readonly DateTime: NullType;
|
|
1020
|
+
readonly Blob: NullType;
|
|
1021
|
+
readonly Ref: import("@elaraai/east").RecursiveTypeMarker;
|
|
1022
|
+
readonly Array: import("@elaraai/east").RecursiveTypeMarker;
|
|
1023
|
+
readonly Set: import("@elaraai/east").RecursiveTypeMarker;
|
|
1024
|
+
readonly Dict: StructType<{
|
|
1025
|
+
readonly key: import("@elaraai/east").RecursiveTypeMarker;
|
|
1026
|
+
readonly value: import("@elaraai/east").RecursiveTypeMarker;
|
|
1027
|
+
}>;
|
|
1028
|
+
readonly Struct: ArrayType<StructType<{
|
|
1029
|
+
readonly name: StringType;
|
|
1030
|
+
readonly type: import("@elaraai/east").RecursiveTypeMarker;
|
|
1031
|
+
}>>;
|
|
1032
|
+
readonly Variant: ArrayType<StructType<{
|
|
1033
|
+
readonly name: StringType;
|
|
1034
|
+
readonly type: import("@elaraai/east").RecursiveTypeMarker;
|
|
1035
|
+
}>>;
|
|
1036
|
+
readonly Recursive: VariantType<{
|
|
1037
|
+
readonly ref: IntegerType;
|
|
1038
|
+
readonly wrapper: StructType<{
|
|
1039
|
+
readonly id: IntegerType;
|
|
1040
|
+
readonly inner: import("@elaraai/east").RecursiveTypeMarker;
|
|
1041
|
+
}>;
|
|
1042
|
+
}>;
|
|
1043
|
+
readonly Function: StructType<{
|
|
1044
|
+
readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
|
|
1045
|
+
readonly output: import("@elaraai/east").RecursiveTypeMarker;
|
|
1046
|
+
}>;
|
|
1047
|
+
readonly AsyncFunction: StructType<{
|
|
1048
|
+
readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
|
|
1049
|
+
readonly output: import("@elaraai/east").RecursiveTypeMarker;
|
|
1050
|
+
}>;
|
|
1051
|
+
readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
|
|
1052
|
+
readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
|
|
1053
|
+
}>>;
|
|
1054
|
+
idField: OptionType<StringType>;
|
|
1055
|
+
draftType: import("@elaraai/east").RecursiveType<VariantType<{
|
|
1056
|
+
readonly Never: NullType;
|
|
1057
|
+
readonly Null: NullType;
|
|
1058
|
+
readonly Boolean: NullType;
|
|
1059
|
+
readonly Integer: NullType;
|
|
1060
|
+
readonly Float: NullType;
|
|
1061
|
+
readonly String: NullType;
|
|
1062
|
+
readonly DateTime: NullType;
|
|
1063
|
+
readonly Blob: NullType;
|
|
1064
|
+
readonly Ref: import("@elaraai/east").RecursiveTypeMarker;
|
|
1065
|
+
readonly Array: import("@elaraai/east").RecursiveTypeMarker;
|
|
1066
|
+
readonly Set: import("@elaraai/east").RecursiveTypeMarker;
|
|
1067
|
+
readonly Dict: StructType<{
|
|
1068
|
+
readonly key: import("@elaraai/east").RecursiveTypeMarker;
|
|
1069
|
+
readonly value: import("@elaraai/east").RecursiveTypeMarker;
|
|
1070
|
+
}>;
|
|
1071
|
+
readonly Struct: ArrayType<StructType<{
|
|
1072
|
+
readonly name: StringType;
|
|
1073
|
+
readonly type: import("@elaraai/east").RecursiveTypeMarker;
|
|
1074
|
+
}>>;
|
|
1075
|
+
readonly Variant: ArrayType<StructType<{
|
|
1076
|
+
readonly name: StringType;
|
|
1077
|
+
readonly type: import("@elaraai/east").RecursiveTypeMarker;
|
|
1078
|
+
}>>;
|
|
1079
|
+
readonly Recursive: VariantType<{
|
|
1080
|
+
readonly ref: IntegerType;
|
|
1081
|
+
readonly wrapper: StructType<{
|
|
1082
|
+
readonly id: IntegerType;
|
|
1083
|
+
readonly inner: import("@elaraai/east").RecursiveTypeMarker;
|
|
1084
|
+
}>;
|
|
1085
|
+
}>;
|
|
1086
|
+
readonly Function: StructType<{
|
|
1087
|
+
readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
|
|
1088
|
+
readonly output: import("@elaraai/east").RecursiveTypeMarker;
|
|
1089
|
+
}>;
|
|
1090
|
+
readonly AsyncFunction: StructType<{
|
|
1091
|
+
readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
|
|
1092
|
+
readonly output: import("@elaraai/east").RecursiveTypeMarker;
|
|
1093
|
+
}>;
|
|
1094
|
+
readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
|
|
1095
|
+
readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
|
|
1096
|
+
}>>;
|
|
1097
|
+
children: OptionType<StringType>;
|
|
1098
|
+
keyType: OptionType<import("@elaraai/east").RecursiveType<VariantType<{
|
|
1099
|
+
readonly Never: NullType;
|
|
1100
|
+
readonly Null: NullType;
|
|
1101
|
+
readonly Boolean: NullType;
|
|
1102
|
+
readonly Integer: NullType;
|
|
1103
|
+
readonly Float: NullType;
|
|
1104
|
+
readonly String: NullType;
|
|
1105
|
+
readonly DateTime: NullType;
|
|
1106
|
+
readonly Blob: NullType;
|
|
1107
|
+
readonly Ref: import("@elaraai/east").RecursiveTypeMarker;
|
|
1108
|
+
readonly Array: import("@elaraai/east").RecursiveTypeMarker;
|
|
1109
|
+
readonly Set: import("@elaraai/east").RecursiveTypeMarker;
|
|
1110
|
+
readonly Dict: StructType<{
|
|
1111
|
+
readonly key: import("@elaraai/east").RecursiveTypeMarker;
|
|
1112
|
+
readonly value: import("@elaraai/east").RecursiveTypeMarker;
|
|
1113
|
+
}>;
|
|
1114
|
+
readonly Struct: ArrayType<StructType<{
|
|
1115
|
+
readonly name: StringType;
|
|
1116
|
+
readonly type: import("@elaraai/east").RecursiveTypeMarker;
|
|
1117
|
+
}>>;
|
|
1118
|
+
readonly Variant: ArrayType<StructType<{
|
|
1119
|
+
readonly name: StringType;
|
|
1120
|
+
readonly type: import("@elaraai/east").RecursiveTypeMarker;
|
|
1121
|
+
}>>;
|
|
1122
|
+
readonly Recursive: VariantType<{
|
|
1123
|
+
readonly ref: IntegerType;
|
|
1124
|
+
readonly wrapper: StructType<{
|
|
1125
|
+
readonly id: IntegerType;
|
|
1126
|
+
readonly inner: import("@elaraai/east").RecursiveTypeMarker;
|
|
1127
|
+
}>;
|
|
1128
|
+
}>;
|
|
1129
|
+
readonly Function: StructType<{
|
|
1130
|
+
readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
|
|
1131
|
+
readonly output: import("@elaraai/east").RecursiveTypeMarker;
|
|
1132
|
+
}>;
|
|
1133
|
+
readonly AsyncFunction: StructType<{
|
|
1134
|
+
readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
|
|
1135
|
+
readonly output: import("@elaraai/east").RecursiveTypeMarker;
|
|
1136
|
+
}>;
|
|
1137
|
+
readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
|
|
1138
|
+
readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
|
|
1139
|
+
}>>>;
|
|
1140
|
+
snapshot: OptionType<BlobType>;
|
|
1141
|
+
readEntry: FunctionType<[StringType, IntegerType], OptionType<BlobType>>;
|
|
1142
|
+
onPatch: OptionType<FunctionType<[BlobType], NullType>>;
|
|
1143
|
+
onApply: OptionType<VariantType<{
|
|
1144
|
+
readonly sync: FunctionType<[BlobType], VariantType<{
|
|
1145
|
+
readonly applied: StructType<{
|
|
1146
|
+
readonly revision: OptionType<StringType>;
|
|
1147
|
+
}>;
|
|
1148
|
+
readonly rejected: ArrayType<StructType<{
|
|
1149
|
+
readonly entry: StringType;
|
|
1150
|
+
readonly row: OptionType<IntegerType>;
|
|
1151
|
+
readonly field: OptionType<StringType>;
|
|
1152
|
+
readonly message: StringType;
|
|
1153
|
+
}>>;
|
|
1154
|
+
readonly conflict: ArrayType<StructType<{
|
|
1155
|
+
readonly entry: StringType;
|
|
1156
|
+
readonly row: OptionType<IntegerType>;
|
|
1157
|
+
readonly field: OptionType<StringType>;
|
|
1158
|
+
readonly message: StringType;
|
|
1159
|
+
}>>;
|
|
1160
|
+
}>>;
|
|
1161
|
+
readonly async: import("@elaraai/east").AsyncFunctionType<[BlobType], VariantType<{
|
|
1162
|
+
readonly applied: StructType<{
|
|
1163
|
+
readonly revision: OptionType<StringType>;
|
|
1164
|
+
}>;
|
|
1165
|
+
readonly rejected: ArrayType<StructType<{
|
|
1166
|
+
readonly entry: StringType;
|
|
1167
|
+
readonly row: OptionType<IntegerType>;
|
|
1168
|
+
readonly field: OptionType<StringType>;
|
|
1169
|
+
readonly message: StringType;
|
|
1170
|
+
}>>;
|
|
1171
|
+
readonly conflict: ArrayType<StructType<{
|
|
1172
|
+
readonly entry: StringType;
|
|
1173
|
+
readonly row: OptionType<IntegerType>;
|
|
1174
|
+
readonly field: OptionType<StringType>;
|
|
1175
|
+
readonly message: StringType;
|
|
1176
|
+
}>>;
|
|
1177
|
+
}>>;
|
|
1178
|
+
}>>;
|
|
1179
|
+
mode: VariantType<{
|
|
1180
|
+
readonly batch: NullType;
|
|
1181
|
+
readonly auto: NullType;
|
|
1182
|
+
}>;
|
|
1183
|
+
}>;
|
|
1184
|
+
readonly entries: OptionType<StructType<{
|
|
1185
|
+
readonly revision: FunctionType<[], OptionType<StringType>>;
|
|
1186
|
+
readonly refresh: FunctionType<[OptionType<StringType>], NullType>;
|
|
1187
|
+
readonly entry: FunctionType<[StringType], OptionType<OptionType<BlobType>>>;
|
|
1188
|
+
readonly last: FunctionType<[], OptionType<OptionType<StringType>>>;
|
|
1189
|
+
}>>;
|
|
1190
|
+
readonly rows: FunctionType<[DateTimeType, DateTimeType], OptionType<DictType<StringType, StructType<{
|
|
1191
|
+
readonly roles: StructType<{
|
|
1192
|
+
readonly day: DateTimeType;
|
|
1193
|
+
readonly group: StringType;
|
|
1194
|
+
readonly shift: StringType;
|
|
1195
|
+
readonly positions: IntegerType;
|
|
1196
|
+
readonly hours: DictType<StringType, FloatType>;
|
|
1197
|
+
}>;
|
|
1198
|
+
readonly row: BlobType;
|
|
1199
|
+
}>>>>;
|
|
1200
|
+
readonly read: FunctionType<[BlobType], StructType<{
|
|
1201
|
+
readonly day: DateTimeType;
|
|
1202
|
+
readonly group: StringType;
|
|
1203
|
+
readonly shift: StringType;
|
|
1204
|
+
readonly positions: IntegerType;
|
|
1205
|
+
readonly hours: DictType<StringType, FloatType>;
|
|
1206
|
+
}>>;
|
|
1207
|
+
readonly write: FunctionType<[BlobType, StructType<{
|
|
1208
|
+
readonly day: DateTimeType;
|
|
1209
|
+
readonly group: StringType;
|
|
1210
|
+
readonly shift: StringType;
|
|
1211
|
+
readonly positions: IntegerType;
|
|
1212
|
+
readonly hours: DictType<StringType, FloatType>;
|
|
1213
|
+
}>], BlobType>;
|
|
1214
|
+
readonly create: FunctionType<[StructType<{
|
|
1215
|
+
readonly day: DateTimeType;
|
|
1216
|
+
readonly group: StringType;
|
|
1217
|
+
readonly shift: StringType;
|
|
1218
|
+
readonly positions: IntegerType;
|
|
1219
|
+
readonly hours: DictType<StringType, FloatType>;
|
|
1220
|
+
}>], BlobType>;
|
|
1221
|
+
readonly history: FunctionType<[], OptionType<ArrayType<StructType<{
|
|
1222
|
+
readonly hash: StringType;
|
|
1223
|
+
readonly parent: OptionType<StringType>;
|
|
1224
|
+
readonly state: StringType;
|
|
1225
|
+
readonly mutation: StringType;
|
|
1226
|
+
readonly actor: StringType;
|
|
1227
|
+
readonly at: DateTimeType;
|
|
1228
|
+
readonly delta: OptionType<StringType>;
|
|
1229
|
+
}>>>>;
|
|
1230
|
+
readonly inspector: OptionType<FunctionType<[BlobType, FunctionType<[BlobType], NullType>], import("@elaraai/east").RecursiveType<import("@elaraai/east-ui").UIComponentNode>>>;
|
|
1231
|
+
readonly rowType: import("@elaraai/east").RecursiveType<VariantType<{
|
|
1232
|
+
readonly Never: NullType;
|
|
1233
|
+
readonly Null: NullType;
|
|
1234
|
+
readonly Boolean: NullType;
|
|
1235
|
+
readonly Integer: NullType;
|
|
1236
|
+
readonly Float: NullType;
|
|
1237
|
+
readonly String: NullType;
|
|
1238
|
+
readonly DateTime: NullType;
|
|
1239
|
+
readonly Blob: NullType;
|
|
1240
|
+
readonly Ref: import("@elaraai/east").RecursiveTypeMarker;
|
|
1241
|
+
readonly Array: import("@elaraai/east").RecursiveTypeMarker;
|
|
1242
|
+
readonly Set: import("@elaraai/east").RecursiveTypeMarker;
|
|
1243
|
+
readonly Dict: StructType<{
|
|
1244
|
+
readonly key: import("@elaraai/east").RecursiveTypeMarker;
|
|
1245
|
+
readonly value: import("@elaraai/east").RecursiveTypeMarker;
|
|
1246
|
+
}>;
|
|
1247
|
+
readonly Struct: ArrayType<StructType<{
|
|
1248
|
+
readonly name: StringType;
|
|
1249
|
+
readonly type: import("@elaraai/east").RecursiveTypeMarker;
|
|
1250
|
+
}>>;
|
|
1251
|
+
readonly Variant: ArrayType<StructType<{
|
|
1252
|
+
readonly name: StringType;
|
|
1253
|
+
readonly type: import("@elaraai/east").RecursiveTypeMarker;
|
|
1254
|
+
}>>;
|
|
1255
|
+
readonly Recursive: VariantType<{
|
|
1256
|
+
readonly ref: IntegerType;
|
|
1257
|
+
readonly wrapper: StructType<{
|
|
1258
|
+
readonly id: IntegerType;
|
|
1259
|
+
readonly inner: import("@elaraai/east").RecursiveTypeMarker;
|
|
1260
|
+
}>;
|
|
1261
|
+
}>;
|
|
1262
|
+
readonly Function: StructType<{
|
|
1263
|
+
readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
|
|
1264
|
+
readonly output: import("@elaraai/east").RecursiveTypeMarker;
|
|
1265
|
+
}>;
|
|
1266
|
+
readonly AsyncFunction: StructType<{
|
|
1267
|
+
readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
|
|
1268
|
+
readonly output: import("@elaraai/east").RecursiveTypeMarker;
|
|
1269
|
+
}>;
|
|
1270
|
+
readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
|
|
1271
|
+
readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
|
|
1272
|
+
}>>;
|
|
1273
|
+
}>;
|
|
1274
|
+
export type RosterTargetsKindType = typeof RosterTargetsKindType;
|
|
1275
|
+
/**
|
|
1276
|
+
* The app's fit's answer (#1334). It echoes its question, so the Roster
|
|
1277
|
+
* matches each answer to the question it asked.
|
|
1278
|
+
* @property need - The need answered
|
|
1279
|
+
* @property slot - The slot answered
|
|
1280
|
+
* @property people - A verdict for every person, by staff key; the People tab shows the fits, best first
|
|
1281
|
+
*/
|
|
1282
|
+
export declare const RosterFitResultType: StructType<{
|
|
1283
|
+
readonly need: VariantType<{
|
|
1284
|
+
readonly leads: NullType;
|
|
1285
|
+
readonly trainers: NullType;
|
|
1286
|
+
readonly skill: StringType;
|
|
1287
|
+
}>;
|
|
1288
|
+
readonly slot: StructType<{
|
|
1289
|
+
readonly day: IntegerType;
|
|
1290
|
+
readonly group: StringType;
|
|
1291
|
+
readonly shift: StringType;
|
|
1292
|
+
}>;
|
|
1293
|
+
readonly people: DictType<StringType, VariantType<{
|
|
1294
|
+
readonly fits: StructType<{
|
|
1295
|
+
readonly score: FloatType;
|
|
1296
|
+
readonly why: StringType;
|
|
1297
|
+
readonly warn: OptionType<StringType>;
|
|
1298
|
+
}>;
|
|
1299
|
+
readonly refused: StructType<{
|
|
1300
|
+
readonly group: StringType;
|
|
1301
|
+
readonly reason: StringType;
|
|
1302
|
+
readonly measure: VariantType<{
|
|
1303
|
+
readonly none: NullType;
|
|
1304
|
+
readonly amount: StructType<{
|
|
1305
|
+
readonly lead: StringType;
|
|
1306
|
+
readonly value: FloatType;
|
|
1307
|
+
}>;
|
|
1308
|
+
readonly day: StructType<{
|
|
1309
|
+
readonly lead: StringType;
|
|
1310
|
+
readonly at: DateTimeType;
|
|
1311
|
+
}>;
|
|
1312
|
+
}>;
|
|
1313
|
+
}>;
|
|
1314
|
+
}>>;
|
|
1315
|
+
}>;
|
|
1316
|
+
export type RosterFitResultType = typeof RosterFitResultType;
|
|
672
1317
|
//# sourceMappingURL=types.d.ts.map
|