dabke 0.83.0 → 0.84.0
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/CHANGELOG.md +21 -0
- package/README.md +22 -27
- package/dist/client.d.ts +39 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js.map +1 -1
- package/dist/client.schemas.d.ts +118 -18
- package/dist/client.schemas.d.ts.map +1 -1
- package/dist/client.schemas.js +110 -6
- package/dist/client.schemas.js.map +1 -1
- package/dist/client.types.d.ts +63 -7
- package/dist/client.types.d.ts.map +1 -1
- package/dist/client.types.js.map +1 -1
- package/dist/cpsat/cost.d.ts +5 -2
- package/dist/cpsat/cost.d.ts.map +1 -1
- package/dist/cpsat/cost.js +13 -6
- package/dist/cpsat/cost.js.map +1 -1
- package/dist/cpsat/model-builder.d.ts +42 -61
- package/dist/cpsat/model-builder.d.ts.map +1 -1
- package/dist/cpsat/model-builder.js +451 -56
- package/dist/cpsat/model-builder.js.map +1 -1
- package/dist/cpsat/response.d.ts +19 -7
- package/dist/cpsat/response.d.ts.map +1 -1
- package/dist/cpsat/response.js +48 -9
- package/dist/cpsat/response.js.map +1 -1
- package/dist/cpsat/rule-descriptor.d.ts +250 -0
- package/dist/cpsat/rule-descriptor.d.ts.map +1 -0
- package/dist/cpsat/rule-descriptor.js +51 -0
- package/dist/cpsat/rule-descriptor.js.map +1 -0
- package/dist/cpsat/rules/artifacts.d.ts +9 -0
- package/dist/cpsat/rules/artifacts.d.ts.map +1 -0
- package/dist/cpsat/rules/artifacts.js +31 -0
- package/dist/cpsat/rules/artifacts.js.map +1 -0
- package/dist/cpsat/rules/assign-together.d.ts +18 -20
- package/dist/cpsat/rules/assign-together.d.ts.map +1 -1
- package/dist/cpsat/rules/assign-together.js +90 -54
- package/dist/cpsat/rules/assign-together.js.map +1 -1
- package/dist/cpsat/rules/assigned-day.d.ts +12 -0
- package/dist/cpsat/rules/assigned-day.d.ts.map +1 -0
- package/dist/cpsat/rules/assigned-day.js +43 -0
- package/dist/cpsat/rules/assigned-day.js.map +1 -0
- package/dist/cpsat/rules/assignment-priority.d.ts +15 -29
- package/dist/cpsat/rules/assignment-priority.d.ts.map +1 -1
- package/dist/cpsat/rules/assignment-priority.js +47 -50
- package/dist/cpsat/rules/assignment-priority.js.map +1 -1
- package/dist/cpsat/rules/assignment-terms.d.ts +6 -0
- package/dist/cpsat/rules/assignment-terms.d.ts.map +1 -0
- package/dist/cpsat/rules/assignment-terms.js +19 -0
- package/dist/cpsat/rules/assignment-terms.js.map +1 -0
- package/dist/cpsat/rules/concurrent-intervals.d.ts +19 -0
- package/dist/cpsat/rules/concurrent-intervals.d.ts.map +1 -0
- package/dist/cpsat/rules/concurrent-intervals.js +57 -0
- package/dist/cpsat/rules/concurrent-intervals.js.map +1 -0
- package/dist/cpsat/rules/cost-utils.d.ts +1 -3
- package/dist/cpsat/rules/cost-utils.d.ts.map +1 -1
- package/dist/cpsat/rules/cost-utils.js +0 -7
- package/dist/cpsat/rules/cost-utils.js.map +1 -1
- package/dist/cpsat/rules/day-cost-multiplier.d.ts +10 -10
- package/dist/cpsat/rules/day-cost-multiplier.d.ts.map +1 -1
- package/dist/cpsat/rules/day-cost-multiplier.js +88 -77
- package/dist/cpsat/rules/day-cost-multiplier.js.map +1 -1
- package/dist/cpsat/rules/day-cost-surcharge.d.ts +10 -10
- package/dist/cpsat/rules/day-cost-surcharge.d.ts.map +1 -1
- package/dist/cpsat/rules/day-cost-surcharge.js +76 -65
- package/dist/cpsat/rules/day-cost-surcharge.js.map +1 -1
- package/dist/cpsat/rules/index.d.ts +30 -24
- package/dist/cpsat/rules/index.d.ts.map +1 -1
- package/dist/cpsat/rules/index.js +30 -24
- package/dist/cpsat/rules/index.js.map +1 -1
- package/dist/cpsat/rules/location-preference.d.ts +14 -21
- package/dist/cpsat/rules/location-preference.d.ts.map +1 -1
- package/dist/cpsat/rules/location-preference.js +45 -45
- package/dist/cpsat/rules/location-preference.js.map +1 -1
- package/dist/cpsat/rules/max-concurrent-assignments.d.ts +46 -0
- package/dist/cpsat/rules/max-concurrent-assignments.d.ts.map +1 -0
- package/dist/cpsat/rules/max-concurrent-assignments.js +121 -0
- package/dist/cpsat/rules/max-concurrent-assignments.js.map +1 -0
- package/dist/cpsat/rules/max-consecutive-days.d.ts +18 -17
- package/dist/cpsat/rules/max-consecutive-days.d.ts.map +1 -1
- package/dist/cpsat/rules/max-consecutive-days.js +67 -66
- package/dist/cpsat/rules/max-consecutive-days.js.map +1 -1
- package/dist/cpsat/rules/max-days-of-week-per-period.d.ts +45 -0
- package/dist/cpsat/rules/max-days-of-week-per-period.d.ts.map +1 -0
- package/dist/cpsat/rules/max-days-of-week-per-period.js +95 -0
- package/dist/cpsat/rules/max-days-of-week-per-period.js.map +1 -0
- package/dist/cpsat/rules/max-days-week.d.ts +17 -31
- package/dist/cpsat/rules/max-days-week.d.ts.map +1 -1
- package/dist/cpsat/rules/max-days-week.js +69 -81
- package/dist/cpsat/rules/max-days-week.js.map +1 -1
- package/dist/cpsat/rules/max-hours-day.d.ts +14 -31
- package/dist/cpsat/rules/max-hours-day.d.ts.map +1 -1
- package/dist/cpsat/rules/max-hours-day.js +56 -72
- package/dist/cpsat/rules/max-hours-day.js.map +1 -1
- package/dist/cpsat/rules/max-hours-week.d.ts +15 -31
- package/dist/cpsat/rules/max-hours-week.d.ts.map +1 -1
- package/dist/cpsat/rules/max-hours-week.js +60 -75
- package/dist/cpsat/rules/max-hours-week.js.map +1 -1
- package/dist/cpsat/rules/max-shifts-day.d.ts +17 -33
- package/dist/cpsat/rules/max-shifts-day.d.ts.map +1 -1
- package/dist/cpsat/rules/max-shifts-day.js +57 -73
- package/dist/cpsat/rules/max-shifts-day.js.map +1 -1
- package/dist/cpsat/rules/min-consecutive-days.d.ts +18 -18
- package/dist/cpsat/rules/min-consecutive-days.d.ts.map +1 -1
- package/dist/cpsat/rules/min-consecutive-days.js +123 -94
- package/dist/cpsat/rules/min-consecutive-days.js.map +1 -1
- package/dist/cpsat/rules/min-days-of-week-per-period.d.ts +35 -0
- package/dist/cpsat/rules/min-days-of-week-per-period.d.ts.map +1 -0
- package/dist/cpsat/rules/min-days-of-week-per-period.js +108 -0
- package/dist/cpsat/rules/min-days-of-week-per-period.js.map +1 -0
- package/dist/cpsat/rules/min-days-week.d.ts +13 -26
- package/dist/cpsat/rules/min-days-week.d.ts.map +1 -1
- package/dist/cpsat/rules/min-days-week.js +85 -74
- package/dist/cpsat/rules/min-days-week.js.map +1 -1
- package/dist/cpsat/rules/min-hours-day.d.ts +14 -17
- package/dist/cpsat/rules/min-hours-day.d.ts.map +1 -1
- package/dist/cpsat/rules/min-hours-day.js +72 -54
- package/dist/cpsat/rules/min-hours-day.js.map +1 -1
- package/dist/cpsat/rules/min-hours-week.d.ts +15 -18
- package/dist/cpsat/rules/min-hours-week.d.ts.map +1 -1
- package/dist/cpsat/rules/min-hours-week.js +75 -57
- package/dist/cpsat/rules/min-hours-week.js.map +1 -1
- package/dist/cpsat/rules/min-rest-between-shifts.d.ts +14 -17
- package/dist/cpsat/rules/min-rest-between-shifts.d.ts.map +1 -1
- package/dist/cpsat/rules/min-rest-between-shifts.js +148 -138
- package/dist/cpsat/rules/min-rest-between-shifts.js.map +1 -1
- package/dist/cpsat/rules/minimize-cost.d.ts +2 -18
- package/dist/cpsat/rules/minimize-cost.d.ts.map +1 -1
- package/dist/cpsat/rules/minimize-cost.js +151 -163
- package/dist/cpsat/rules/minimize-cost.js.map +1 -1
- package/dist/cpsat/rules/must-assign.d.ts +5 -42
- package/dist/cpsat/rules/must-assign.d.ts.map +1 -1
- package/dist/cpsat/rules/must-assign.js +43 -75
- package/dist/cpsat/rules/must-assign.js.map +1 -1
- package/dist/cpsat/rules/overtime-daily-multiplier.d.ts +6 -10
- package/dist/cpsat/rules/overtime-daily-multiplier.d.ts.map +1 -1
- package/dist/cpsat/rules/overtime-daily-multiplier.js +118 -112
- package/dist/cpsat/rules/overtime-daily-multiplier.js.map +1 -1
- package/dist/cpsat/rules/overtime-daily-surcharge.d.ts +6 -11
- package/dist/cpsat/rules/overtime-daily-surcharge.d.ts.map +1 -1
- package/dist/cpsat/rules/overtime-daily-surcharge.js +104 -99
- package/dist/cpsat/rules/overtime-daily-surcharge.js.map +1 -1
- package/dist/cpsat/rules/overtime-tiered-multiplier.d.ts +9 -21
- package/dist/cpsat/rules/overtime-tiered-multiplier.d.ts.map +1 -1
- package/dist/cpsat/rules/overtime-tiered-multiplier.js +181 -199
- package/dist/cpsat/rules/overtime-tiered-multiplier.js.map +1 -1
- package/dist/cpsat/rules/overtime-weekly-multiplier.d.ts +13 -12
- package/dist/cpsat/rules/overtime-weekly-multiplier.d.ts.map +1 -1
- package/dist/cpsat/rules/overtime-weekly-multiplier.js +143 -143
- package/dist/cpsat/rules/overtime-weekly-multiplier.js.map +1 -1
- package/dist/cpsat/rules/overtime-weekly-surcharge.d.ts +7 -11
- package/dist/cpsat/rules/overtime-weekly-surcharge.d.ts.map +1 -1
- package/dist/cpsat/rules/overtime-weekly-surcharge.js +124 -119
- package/dist/cpsat/rules/overtime-weekly-surcharge.js.map +1 -1
- package/dist/cpsat/rules/pattern-eligibility.d.ts +6 -0
- package/dist/cpsat/rules/pattern-eligibility.d.ts.map +1 -0
- package/dist/cpsat/rules/pattern-eligibility.js +16 -0
- package/dist/cpsat/rules/pattern-eligibility.js.map +1 -0
- package/dist/cpsat/rules/pattern-time.d.ts +5 -0
- package/dist/cpsat/rules/pattern-time.d.ts.map +1 -0
- package/dist/cpsat/rules/pattern-time.js +20 -0
- package/dist/cpsat/rules/pattern-time.js.map +1 -0
- package/dist/cpsat/rules/registry.d.ts +217 -30
- package/dist/cpsat/rules/registry.d.ts.map +1 -1
- package/dist/cpsat/rules/registry.js +98 -34
- package/dist/cpsat/rules/registry.js.map +1 -1
- package/dist/cpsat/rules/resolver.d.ts +9 -7
- package/dist/cpsat/rules/resolver.d.ts.map +1 -1
- package/dist/cpsat/rules/resolver.js +19 -18
- package/dist/cpsat/rules/resolver.js.map +1 -1
- package/dist/cpsat/rules/role-preference.d.ts +24 -0
- package/dist/cpsat/rules/role-preference.d.ts.map +1 -0
- package/dist/cpsat/rules/role-preference.js +72 -0
- package/dist/cpsat/rules/role-preference.js.map +1 -0
- package/dist/cpsat/rules/rules.types.d.ts +90 -17
- package/dist/cpsat/rules/rules.types.d.ts.map +1 -1
- package/dist/cpsat/rules/scope.types.d.ts +24 -11
- package/dist/cpsat/rules/scope.types.d.ts.map +1 -1
- package/dist/cpsat/rules/scope.types.js +14 -19
- package/dist/cpsat/rules/scope.types.js.map +1 -1
- package/dist/cpsat/rules/target-days-week.d.ts +31 -0
- package/dist/cpsat/rules/target-days-week.d.ts.map +1 -0
- package/dist/cpsat/rules/target-days-week.js +80 -0
- package/dist/cpsat/rules/target-days-week.js.map +1 -0
- package/dist/cpsat/rules/target-peak-concurrent-assignments.d.ts +33 -0
- package/dist/cpsat/rules/target-peak-concurrent-assignments.d.ts.map +1 -0
- package/dist/cpsat/rules/target-peak-concurrent-assignments.js +146 -0
- package/dist/cpsat/rules/target-peak-concurrent-assignments.js.map +1 -0
- package/dist/cpsat/rules/time-cost-surcharge.d.ts +15 -14
- package/dist/cpsat/rules/time-cost-surcharge.d.ts.map +1 -1
- package/dist/cpsat/rules/time-cost-surcharge.js +82 -96
- package/dist/cpsat/rules/time-cost-surcharge.js.map +1 -1
- package/dist/cpsat/rules/time-off.d.ts +21 -57
- package/dist/cpsat/rules/time-off.d.ts.map +1 -1
- package/dist/cpsat/rules/time-off.js +114 -127
- package/dist/cpsat/rules/time-off.js.map +1 -1
- package/dist/cpsat/rules/variables.d.ts +4 -0
- package/dist/cpsat/rules/variables.d.ts.map +1 -0
- package/dist/cpsat/rules/variables.js +10 -0
- package/dist/cpsat/rules/variables.js.map +1 -0
- package/dist/cpsat/rules.d.ts +20 -3
- package/dist/cpsat/rules.d.ts.map +1 -1
- package/dist/cpsat/rules.js +19 -2
- package/dist/cpsat/rules.js.map +1 -1
- package/dist/cpsat/semantic-time.d.ts +7 -6
- package/dist/cpsat/semantic-time.d.ts.map +1 -1
- package/dist/cpsat/semantic-time.js +15 -28
- package/dist/cpsat/semantic-time.js.map +1 -1
- package/dist/cpsat/types.d.ts +47 -4
- package/dist/cpsat/types.d.ts.map +1 -1
- package/dist/cpsat/types.js +24 -1
- package/dist/cpsat/types.js.map +1 -1
- package/dist/cpsat/utils.d.ts +23 -6
- package/dist/cpsat/utils.d.ts.map +1 -1
- package/dist/cpsat/utils.js +76 -15
- package/dist/cpsat/utils.js.map +1 -1
- package/dist/cpsat/validation-reporter.d.ts +6 -2
- package/dist/cpsat/validation-reporter.d.ts.map +1 -1
- package/dist/cpsat/validation-reporter.js +122 -10
- package/dist/cpsat/validation-reporter.js.map +1 -1
- package/dist/cpsat/validation.types.d.ts +21 -10
- package/dist/cpsat/validation.types.d.ts.map +1 -1
- package/dist/datetime.utils.d.ts +7 -13
- package/dist/datetime.utils.d.ts.map +1 -1
- package/dist/datetime.utils.js +29 -36
- package/dist/datetime.utils.js.map +1 -1
- package/dist/index.d.ts +12 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/schedule/cost.d.ts +48 -60
- package/dist/schedule/cost.d.ts.map +1 -1
- package/dist/schedule/cost.js +15 -51
- package/dist/schedule/cost.js.map +1 -1
- package/dist/schedule/coverage.d.ts +57 -28
- package/dist/schedule/coverage.d.ts.map +1 -1
- package/dist/schedule/coverage.js +24 -1
- package/dist/schedule/coverage.js.map +1 -1
- package/dist/schedule/definition.d.ts +138 -19
- package/dist/schedule/definition.d.ts.map +1 -1
- package/dist/schedule/definition.js +99 -90
- package/dist/schedule/definition.js.map +1 -1
- package/dist/schedule/index.d.ts +4 -4
- package/dist/schedule/index.d.ts.map +1 -1
- package/dist/schedule/index.js +2 -2
- package/dist/schedule/index.js.map +1 -1
- package/dist/schedule/rules.d.ts +438 -113
- package/dist/schedule/rules.d.ts.map +1 -1
- package/dist/schedule/rules.js +310 -108
- package/dist/schedule/rules.js.map +1 -1
- package/dist/schedule/shift-patterns.d.ts +0 -17
- package/dist/schedule/shift-patterns.d.ts.map +1 -1
- package/dist/schedule/shift-patterns.js +0 -17
- package/dist/schedule/shift-patterns.js.map +1 -1
- package/dist/schedule/time-periods.d.ts +37 -27
- package/dist/schedule/time-periods.d.ts.map +1 -1
- package/dist/schedule/time-periods.js +37 -27
- package/dist/schedule/time-periods.js.map +1 -1
- package/dist/types.d.ts +67 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +64 -0
- package/dist/types.js.map +1 -1
- package/package.json +8 -9
- package/solver/src/solver/models.py +41 -4
- package/solver/src/solver/solver.py +546 -157
- package/solver/tests/test_solver.py +363 -7
- package/src/client.schemas.ts +127 -10
- package/src/client.ts +3 -0
- package/src/client.types.ts +73 -7
- package/src/cpsat/cost.ts +17 -7
- package/src/cpsat/model-builder.ts +614 -129
- package/src/cpsat/response.ts +57 -13
- package/src/cpsat/rule-descriptor.ts +311 -0
- package/src/cpsat/rules/artifacts.ts +56 -0
- package/src/cpsat/rules/assign-together.ts +104 -69
- package/src/cpsat/rules/assigned-day.ts +70 -0
- package/src/cpsat/rules/assignment-priority.ts +54 -58
- package/src/cpsat/rules/assignment-terms.ts +43 -0
- package/src/cpsat/rules/concurrent-intervals.ts +93 -0
- package/src/cpsat/rules/cost-utils.ts +1 -9
- package/src/cpsat/rules/day-cost-multiplier.ts +101 -81
- package/src/cpsat/rules/day-cost-surcharge.ts +91 -70
- package/src/cpsat/rules/index.ts +30 -24
- package/src/cpsat/rules/location-preference.ts +47 -52
- package/src/cpsat/rules/max-concurrent-assignments.ts +170 -0
- package/src/cpsat/rules/max-consecutive-days.ts +74 -91
- package/src/cpsat/rules/max-days-of-week-per-period.ts +127 -0
- package/src/cpsat/rules/max-days-week.ts +89 -115
- package/src/cpsat/rules/max-hours-day.ts +64 -84
- package/src/cpsat/rules/max-hours-week.ts +74 -90
- package/src/cpsat/rules/max-shifts-day.ts +65 -85
- package/src/cpsat/rules/min-consecutive-days.ts +161 -127
- package/src/cpsat/rules/min-days-of-week-per-period.ts +144 -0
- package/src/cpsat/rules/min-days-week.ts +93 -91
- package/src/cpsat/rules/min-hours-day.ts +79 -58
- package/src/cpsat/rules/min-hours-week.ts +87 -62
- package/src/cpsat/rules/min-rest-between-shifts.ts +191 -178
- package/src/cpsat/rules/minimize-cost.ts +175 -188
- package/src/cpsat/rules/must-assign.ts +44 -81
- package/src/cpsat/rules/overtime-daily-multiplier.ts +158 -140
- package/src/cpsat/rules/overtime-daily-surcharge.ts +141 -126
- package/src/cpsat/rules/overtime-tiered-multiplier.ts +234 -253
- package/src/cpsat/rules/overtime-weekly-multiplier.ts +183 -175
- package/src/cpsat/rules/overtime-weekly-surcharge.ts +161 -150
- package/src/cpsat/rules/pattern-eligibility.ts +26 -0
- package/src/cpsat/rules/pattern-time.ts +30 -0
- package/src/cpsat/rules/registry.ts +140 -62
- package/src/cpsat/rules/resolver.ts +58 -30
- package/src/cpsat/rules/role-preference.ts +92 -0
- package/src/cpsat/rules/rules.types.ts +89 -17
- package/src/cpsat/rules/scope.types.ts +31 -26
- package/src/cpsat/rules/target-days-week.ts +105 -0
- package/src/cpsat/rules/target-peak-concurrent-assignments.ts +212 -0
- package/src/cpsat/rules/time-cost-surcharge.ts +116 -122
- package/src/cpsat/rules/time-off.ts +154 -163
- package/src/cpsat/rules/variables.ts +11 -0
- package/src/cpsat/rules.ts +43 -17
- package/src/cpsat/semantic-time.ts +29 -43
- package/src/cpsat/types.ts +53 -4
- package/src/cpsat/utils.ts +92 -20
- package/src/cpsat/validation-reporter.ts +170 -19
- package/src/cpsat/validation.types.ts +22 -11
- package/src/datetime.utils.ts +45 -44
- package/src/index.ts +64 -12
- package/src/schedule/cost.ts +40 -61
- package/src/schedule/coverage.ts +57 -28
- package/src/schedule/definition.ts +565 -76
- package/src/schedule/index.ts +23 -3
- package/src/schedule/rules.ts +631 -132
- package/src/schedule/shift-patterns.ts +0 -17
- package/src/schedule/time-periods.ts +37 -27
- package/src/types.ts +114 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-reporter.js","sourceRoot":"","sources":["../../src/cpsat/validation-reporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation-reporter.js","sourceRoot":"","sources":["../../src/cpsat/validation-reporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { TimeOfDay } from "../types.js";
|
|
1
|
+
import type { DateString, TimeOfDay } from "../types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Context shared across validation results for grouping/display.
|
|
4
4
|
*/
|
|
5
5
|
export interface ValidationContext {
|
|
6
|
-
days?:
|
|
6
|
+
days?: DateString[];
|
|
7
7
|
timeSlots?: string[];
|
|
8
8
|
memberIds?: string[];
|
|
9
9
|
}
|
|
@@ -33,7 +33,7 @@ export declare function assertSafeKeySegments(values: readonly string[], label:
|
|
|
33
33
|
export interface CoverageError {
|
|
34
34
|
readonly id: string;
|
|
35
35
|
readonly type: "coverage";
|
|
36
|
-
readonly day:
|
|
36
|
+
readonly day: DateString;
|
|
37
37
|
readonly timeSlots: readonly string[];
|
|
38
38
|
readonly roleIds?: string[];
|
|
39
39
|
readonly skillIds?: readonly string[];
|
|
@@ -59,7 +59,7 @@ export type ScheduleError = CoverageError | RuleError | SolverError;
|
|
|
59
59
|
export interface CoverageViolation {
|
|
60
60
|
readonly id: string;
|
|
61
61
|
readonly type: "coverage";
|
|
62
|
-
readonly day:
|
|
62
|
+
readonly day: DateString;
|
|
63
63
|
readonly timeSlots: readonly string[];
|
|
64
64
|
readonly roleIds?: string[];
|
|
65
65
|
readonly skillIds?: readonly string[];
|
|
@@ -83,7 +83,7 @@ export type ScheduleViolation = CoverageViolation | RuleViolation;
|
|
|
83
83
|
export interface CoveragePassed {
|
|
84
84
|
readonly id: string;
|
|
85
85
|
readonly type: "coverage";
|
|
86
|
-
readonly day:
|
|
86
|
+
readonly day: DateString;
|
|
87
87
|
readonly timeSlots: readonly string[];
|
|
88
88
|
readonly roleIds?: string[];
|
|
89
89
|
readonly skillIds?: readonly string[];
|
|
@@ -99,7 +99,17 @@ export interface RulePassed {
|
|
|
99
99
|
readonly group?: ValidationGroup;
|
|
100
100
|
}
|
|
101
101
|
export type SchedulePassed = CoveragePassed | RulePassed;
|
|
102
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Public validation feedback collected across pre-solve, solver-stage, and
|
|
104
|
+
* post-solve analysis.
|
|
105
|
+
*
|
|
106
|
+
* @remarks
|
|
107
|
+
* This is not a direct mirror of the raw solver response. Solver transport
|
|
108
|
+
* fields such as `softConstraintViolations` are translated into these
|
|
109
|
+
* phase-agnostic `errors`, `violations`, and `passed` items.
|
|
110
|
+
*
|
|
111
|
+
* @category Validation
|
|
112
|
+
*/
|
|
103
113
|
export interface ScheduleValidation {
|
|
104
114
|
readonly errors: readonly ScheduleError[];
|
|
105
115
|
readonly violations: readonly ScheduleViolation[];
|
|
@@ -117,7 +127,7 @@ export interface ValidationSummary {
|
|
|
117
127
|
readonly type: "coverage" | "rule";
|
|
118
128
|
/** Human-readable title for this group (e.g., "3x nurse during day_ward"). */
|
|
119
129
|
readonly title: string;
|
|
120
|
-
readonly days: readonly
|
|
130
|
+
readonly days: readonly DateString[];
|
|
121
131
|
readonly status: "passed" | "partial" | "failed";
|
|
122
132
|
readonly passedCount: number;
|
|
123
133
|
readonly violatedCount: number;
|
|
@@ -126,12 +136,13 @@ export interface ValidationSummary {
|
|
|
126
136
|
export interface TrackedConstraint {
|
|
127
137
|
readonly id: string;
|
|
128
138
|
readonly type: "coverage" | "rule";
|
|
139
|
+
readonly source?: "hard" | "soft";
|
|
129
140
|
readonly rule?: string;
|
|
130
141
|
/** Per-constraint description used to generate violation messages. */
|
|
131
142
|
readonly description: string;
|
|
132
143
|
readonly targetValue: number;
|
|
133
|
-
readonly comparator: "<=" | ">=";
|
|
134
|
-
readonly day?:
|
|
144
|
+
readonly comparator: "<=" | ">=" | "==";
|
|
145
|
+
readonly day?: DateString;
|
|
135
146
|
readonly timeSlot?: string;
|
|
136
147
|
readonly roleIds?: string[];
|
|
137
148
|
readonly skillIds?: readonly string[];
|
|
@@ -144,7 +155,7 @@ export interface TrackedConstraint {
|
|
|
144
155
|
*/
|
|
145
156
|
export interface CoverageExclusion {
|
|
146
157
|
memberId: string;
|
|
147
|
-
day:
|
|
158
|
+
day: DateString;
|
|
148
159
|
startTime?: TimeOfDay;
|
|
149
160
|
endTime?: TimeOfDay;
|
|
150
161
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.types.d.ts","sourceRoot":"","sources":["../../src/cpsat/validation.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.types.d.ts","sourceRoot":"","sources":["../../src/cpsat/validation.types.ts"],"names":[],"mappings":"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"}
|
package/dist/datetime.utils.d.ts
CHANGED
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare const DAY_OF_WEEK_MAP: Record<DayOfWeek, number>;
|
|
1
|
+
import { type SchedulingDay, type SchedulingPeriod } from "./types.js";
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
5
|
-
* Use this when working with date strings like "2026-01-10" that are timezone-agnostic.
|
|
6
|
-
*/
|
|
7
|
-
export declare function toDayOfWeekUTC(date: Date): DayOfWeek;
|
|
8
|
-
/**
|
|
9
|
-
* Computes the list of day strings (YYYY-MM-DD) from a SchedulingPeriod.
|
|
3
|
+
* Computes the list of {@link SchedulingDay} values from a {@link SchedulingPeriod}.
|
|
10
4
|
*
|
|
11
5
|
* Generates all days between start and end (inclusive), applying optional
|
|
12
6
|
* dayOfWeek and dates filters. Filters compose: a day must pass all
|
|
13
7
|
* specified filters to be included.
|
|
14
8
|
*
|
|
15
9
|
* @param period - The scheduling period specification
|
|
16
|
-
* @returns Array of
|
|
10
|
+
* @returns Array of scheduling days, sorted chronologically
|
|
17
11
|
*
|
|
18
12
|
* @example All days in range
|
|
19
13
|
* ```typescript
|
|
20
14
|
* const days = resolveDaysFromPeriod({
|
|
21
15
|
* dateRange: { start: '2025-02-03', end: '2025-02-05' },
|
|
22
16
|
* });
|
|
23
|
-
* // Returns
|
|
17
|
+
* // Returns days for 2025-02-03, 2025-02-04, 2025-02-05
|
|
24
18
|
* ```
|
|
25
19
|
*
|
|
26
20
|
* @example Day-of-week filter
|
|
@@ -29,7 +23,7 @@ export declare function toDayOfWeekUTC(date: Date): DayOfWeek;
|
|
|
29
23
|
* dateRange: { start: '2025-02-03', end: '2025-02-09' },
|
|
30
24
|
* dayOfWeek: ['wednesday', 'friday'],
|
|
31
25
|
* });
|
|
32
|
-
* // Returns
|
|
26
|
+
* // Returns days for 2025-02-05, 2025-02-07
|
|
33
27
|
* ```
|
|
34
28
|
*
|
|
35
29
|
* @example Specific dates filter
|
|
@@ -38,8 +32,8 @@ export declare function toDayOfWeekUTC(date: Date): DayOfWeek;
|
|
|
38
32
|
* dateRange: { start: '2025-02-03', end: '2025-02-10' },
|
|
39
33
|
* dates: ['2025-02-05', '2025-02-07'],
|
|
40
34
|
* });
|
|
41
|
-
* // Returns
|
|
35
|
+
* // Returns days for 2025-02-05, 2025-02-07
|
|
42
36
|
* ```
|
|
43
37
|
*/
|
|
44
|
-
export declare function resolveDaysFromPeriod(period: SchedulingPeriod):
|
|
38
|
+
export declare function resolveDaysFromPeriod(period: SchedulingPeriod): SchedulingDay[];
|
|
45
39
|
//# sourceMappingURL=datetime.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datetime.utils.d.ts","sourceRoot":"","sources":["../src/datetime.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"datetime.utils.d.ts","sourceRoot":"","sources":["../src/datetime.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAqBpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,EAAE,CA8B/E"}
|
package/dist/datetime.utils.js
CHANGED
|
@@ -1,45 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
sunday: 0, // JavaScript Date week starts on Sunday
|
|
3
|
-
monday: 1,
|
|
4
|
-
tuesday: 2,
|
|
5
|
-
wednesday: 3,
|
|
6
|
-
thursday: 4,
|
|
7
|
-
friday: 5,
|
|
8
|
-
saturday: 6,
|
|
9
|
-
};
|
|
10
|
-
const DAY_NAMES = [
|
|
11
|
-
"sunday",
|
|
12
|
-
"monday",
|
|
13
|
-
"tuesday",
|
|
14
|
-
"wednesday",
|
|
15
|
-
"thursday",
|
|
16
|
-
"friday",
|
|
17
|
-
"saturday",
|
|
18
|
-
];
|
|
1
|
+
import { DAY_NAMES, } from "./types.js";
|
|
19
2
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
3
|
+
* Builds a {@link SchedulingDay} from an existing UTC `Date`, avoiding a
|
|
4
|
+
* redundant `new Date()` call. Used internally by {@link resolveDaysFromPeriod}
|
|
5
|
+
* where the loop already maintains a `Date` cursor.
|
|
22
6
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
7
|
+
function schedulingDayFromDate(date, iso) {
|
|
8
|
+
const dayOfWeek = DAY_NAMES[date.getUTCDay()];
|
|
9
|
+
const month = date.getUTCMonth() + 1;
|
|
10
|
+
const dayOfMonth = date.getUTCDate();
|
|
11
|
+
return {
|
|
12
|
+
iso,
|
|
13
|
+
dayOfWeek,
|
|
14
|
+
month,
|
|
15
|
+
dayOfMonth,
|
|
16
|
+
yearMonth: iso.slice(0, 7),
|
|
17
|
+
epochDay: Math.floor(date.getTime() / 86_400_000),
|
|
18
|
+
};
|
|
26
19
|
}
|
|
27
20
|
/**
|
|
28
|
-
* Computes the list of
|
|
21
|
+
* Computes the list of {@link SchedulingDay} values from a {@link SchedulingPeriod}.
|
|
29
22
|
*
|
|
30
23
|
* Generates all days between start and end (inclusive), applying optional
|
|
31
24
|
* dayOfWeek and dates filters. Filters compose: a day must pass all
|
|
32
25
|
* specified filters to be included.
|
|
33
26
|
*
|
|
34
27
|
* @param period - The scheduling period specification
|
|
35
|
-
* @returns Array of
|
|
28
|
+
* @returns Array of scheduling days, sorted chronologically
|
|
36
29
|
*
|
|
37
30
|
* @example All days in range
|
|
38
31
|
* ```typescript
|
|
39
32
|
* const days = resolveDaysFromPeriod({
|
|
40
33
|
* dateRange: { start: '2025-02-03', end: '2025-02-05' },
|
|
41
34
|
* });
|
|
42
|
-
* // Returns
|
|
35
|
+
* // Returns days for 2025-02-03, 2025-02-04, 2025-02-05
|
|
43
36
|
* ```
|
|
44
37
|
*
|
|
45
38
|
* @example Day-of-week filter
|
|
@@ -48,7 +41,7 @@ export function toDayOfWeekUTC(date) {
|
|
|
48
41
|
* dateRange: { start: '2025-02-03', end: '2025-02-09' },
|
|
49
42
|
* dayOfWeek: ['wednesday', 'friday'],
|
|
50
43
|
* });
|
|
51
|
-
* // Returns
|
|
44
|
+
* // Returns days for 2025-02-05, 2025-02-07
|
|
52
45
|
* ```
|
|
53
46
|
*
|
|
54
47
|
* @example Specific dates filter
|
|
@@ -57,7 +50,7 @@ export function toDayOfWeekUTC(date) {
|
|
|
57
50
|
* dateRange: { start: '2025-02-03', end: '2025-02-10' },
|
|
58
51
|
* dates: ['2025-02-05', '2025-02-07'],
|
|
59
52
|
* });
|
|
60
|
-
* // Returns
|
|
53
|
+
* // Returns days for 2025-02-05, 2025-02-07
|
|
61
54
|
* ```
|
|
62
55
|
*/
|
|
63
56
|
export function resolveDaysFromPeriod(period) {
|
|
@@ -67,17 +60,17 @@ export function resolveDaysFromPeriod(period) {
|
|
|
67
60
|
const startDate = new Date(`${dateRange.start}T00:00:00Z`);
|
|
68
61
|
const endDate = new Date(`${dateRange.end}T00:00:00Z`);
|
|
69
62
|
const result = [];
|
|
70
|
-
|
|
71
|
-
|
|
63
|
+
for (let currentTime = startDate.getTime(), endTime = endDate.getTime(); currentTime <= endTime; currentTime += 24 * 60 * 60 * 1000) {
|
|
64
|
+
const current = new Date(currentTime);
|
|
72
65
|
const year = current.getUTCFullYear();
|
|
73
66
|
const month = (current.getUTCMonth() + 1).toString().padStart(2, "0");
|
|
74
|
-
const
|
|
75
|
-
const iso = `${year}-${month}-${
|
|
76
|
-
const
|
|
77
|
-
if ((!allowedDays || allowedDays.has(
|
|
78
|
-
|
|
67
|
+
const d = current.getUTCDate().toString().padStart(2, "0");
|
|
68
|
+
const iso = `${year}-${month}-${d}`;
|
|
69
|
+
const day = schedulingDayFromDate(current, iso);
|
|
70
|
+
if ((!allowedDays || allowedDays.has(day.dayOfWeek)) &&
|
|
71
|
+
(!allowedDates || allowedDates.has(iso))) {
|
|
72
|
+
result.push(day);
|
|
79
73
|
}
|
|
80
|
-
current.setUTCDate(current.getUTCDate() + 1);
|
|
81
74
|
}
|
|
82
75
|
return result;
|
|
83
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datetime.utils.js","sourceRoot":"","sources":["../src/datetime.utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"datetime.utils.js","sourceRoot":"","sources":["../src/datetime.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAKV,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,IAAU,EAAE,GAAe;IACxD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACrC,OAAO;QACL,GAAG;QACH,SAAS;QACT,KAAK;QACL,UAAU;QACV,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC;KAClD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAwB;IAC5D,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC/C,MAAM,WAAW,GAA0B,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,MAAM,YAAY,GAAuB,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,YAAY,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,YAAY,CAAC,CAAC;IACvD,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,KACE,IAAI,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,EAClE,WAAW,IAAI,OAAO,EACtB,WAAW,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAClC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtE,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,EAAgB,CAAC;QAClD,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEhD,IACE,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EACxC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,25 +31,29 @@
|
|
|
31
31
|
*
|
|
32
32
|
* @packageDocumentation
|
|
33
33
|
*/
|
|
34
|
-
export type { TimeOfDay, DayOfWeek, SchedulingPeriod } from "./types.js";
|
|
35
|
-
export { DayOfWeekSchema } from "./types.js";
|
|
34
|
+
export type { DateString, TimeOfDay, DayOfWeek, SchedulingDay, SchedulingPeriod } from "./types.js";
|
|
35
|
+
export { schedulingDay, DAY_OF_WEEK_INDEX, DayOfWeekSchema } from "./types.js";
|
|
36
36
|
export { HttpSolverClient } from "./client.js";
|
|
37
|
-
export type { SolverClient, SolverRequest, SolverResponse, SolverStatus,
|
|
37
|
+
export type { SolverClient, SolverRequest, SolverResponse, SolverStatus, SolverMode, SolverDiagnosticMode, SolverObjectiveStage, SolverStageResult, SolverSoftConstraintViolation, SolverHardConstraintConflict, FetcherLike, } from "./client.types.js";
|
|
38
38
|
export { SOLVER_STATUS } from "./client.types.js";
|
|
39
|
-
export { SolverRequestSchema, SolverResponseSchema, SolverStatusSchema } from "./client.schemas.js";
|
|
39
|
+
export { SolverModeSchema, SolverDiagnosticModeSchema, SolverObjectiveStageSchema, SolverRequestSchema, SolverResponseSchema, SolverStageResultSchema, SolverStatusSchema, SolverHardConstraintConflictSchema, } from "./client.schemas.js";
|
|
40
40
|
export { ModelBuilder } from "./cpsat/model-builder.js";
|
|
41
|
-
export type { ModelBuilderConfig, CompilationResult
|
|
41
|
+
export type { ModelBuilderConfig, CompilationResult } from "./cpsat/model-builder.js";
|
|
42
|
+
export type { ModelSolveStrategy } from "./cpsat/types.js";
|
|
43
|
+
export { compileRuleDescriptor, defineRuleDescriptor } from "./cpsat/rule-descriptor.js";
|
|
44
|
+
export type { CostValidationStrategy, HardConstraintValidationStrategy, ObjectiveValidationStrategy, ReportHardConstraintValidationStrategy, ReportSoftConstraintValidationStrategy, RuleDescriptor, RuleCompileContext, RuleArtifact, SkipValidationStrategy, SoftConstraintValidationStrategy, CompiledRule, ValidationSkipCategory, CostEntry, CostContribution, } from "./cpsat/rule-descriptor.js";
|
|
42
45
|
export { parseSolverResponse, resolveAssignments } from "./cpsat/response.js";
|
|
43
46
|
export type { ShiftAssignment, ResolvedShiftAssignment, SolverResult } from "./cpsat/response.js";
|
|
44
47
|
export { calculateScheduleCost, COST_CATEGORY } from "./cpsat/cost.js";
|
|
45
48
|
export type { CostBreakdown, MemberCostDetail, CostCalculationConfig } from "./cpsat/cost.js";
|
|
46
|
-
export
|
|
49
|
+
export { assertValidCpsatRuleRegistry, builtInCpsatRuleRegistry, createCpsatRuleRegistry, } from "./cpsat/rules/registry.js";
|
|
50
|
+
export type { BuiltInCpsatRuleConfigRegistry, BuiltInCpsatRuleRegistry, CpsatRuleConfigByName, CpsatRuleConfigEntry, CpsatRuleConfigEntryFor, CpsatRuleRegistry, } from "./cpsat/rules/rules.types.js";
|
|
47
51
|
export type { RecurringPeriod } from "./cpsat/rules/scope.types.js";
|
|
48
52
|
export type { OvertimeTier } from "./cpsat/rules/overtime-tiered-multiplier.js";
|
|
49
53
|
export type { HourlyPay, SalariedPay, SchedulingMember, ShiftPattern, Priority, } from "./cpsat/types.js";
|
|
50
54
|
export { OBJECTIVE_WEIGHTS } from "./cpsat/utils.js";
|
|
51
55
|
export type { ValidationGroup, ScheduleValidation, ScheduleError, CoverageError, RuleError, SolverError, ScheduleViolation, CoverageViolation, RuleViolation, SchedulePassed, CoveragePassed, RulePassed, ValidationSummary, } from "./cpsat/validation.types.js";
|
|
52
56
|
export { summarizeValidation } from "./cpsat/validation-reporter.js";
|
|
53
|
-
export { schedule, partialSchedule, Schedule, t, time, cover, shift, maxHoursPerDay, maxHoursPerWeek, minHoursPerDay, minHoursPerWeek, maxDaysPerWeek, minDaysPerWeek, maxShiftsPerDay, maxConsecutiveDays, minConsecutiveDays, minRestBetweenShifts, mustAssign,
|
|
54
|
-
export type { CoverageEntry, CoverageOptions, CoverageVariant, RuleEntry, RuleResolveContext, RuleOptions, EntityOnlyRuleOptions, TimeOffOptions, AssignTogetherOptions, CostRuleOptions, ScheduleConfig, SolveResult, SolveStatus, SolveOptions, } from "./schedule/index.js";
|
|
57
|
+
export { schedule, scheduleWithRuleRegistry, partialSchedule, Schedule, t, time, cover, shift, maxHoursPerDay, maxHoursPerWeek, minHoursPerDay, minHoursPerWeek, maxDaysPerWeek, minDaysPerWeek, targetDaysPerWeek, maxShiftsPerDay, maxConcurrentAssignments, targetPeakConcurrentAssignments, maxConsecutiveDays, minConsecutiveDays, minRestBetweenShifts, mustAssign, preferAssignment, avoidAssignment, preferRole, preferLocation, timeOff, assignTogether, maxDaysOfWeekPerPeriod, minDaysOfWeekPerPeriod, defineRule, defineRuleFor, minimizeCost, dayMultiplier, daySurcharge, timeSurcharge, overtimeMultiplier, overtimeSurcharge, dailyOvertimeMultiplier, dailyOvertimeSurcharge, tieredOvertimeMultiplier, weekdays, weekend, } from "./schedule/index.js";
|
|
58
|
+
export type { CoverageEntry, CoverageOptions, CoverageVariant, RuleEntry, RuleResolveContext, RuleOptions, ScheduleRuleEntry, EntityOnlyRuleOptions, TargetDaysPerWeekOptions, TimeOffOptions, AssignTogetherOptions, MaxConcurrentAssignmentsOptions, TargetPeakConcurrentAssignmentsOptions, DaysOfWeekPerPeriodOptions, CostRuleOptions, ScheduleConfig, ScheduleWithRuleRegistryConfig, SolveResult, SolveStatus, SolveStrategy, SolveOptions, } from "./schedule/index.js";
|
|
55
59
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpG,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,6BAA6B,EAC7B,4BAA4B,EAC5B,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,kCAAkC,GACnC,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACtF,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEzF,YAAY,EACV,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,sCAAsC,EACtC,sCAAsC,EACtC,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,gCAAgC,EAChC,YAAY,EACZ,sBAAsB,EACtB,SAAS,EACT,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMlG,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEvE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAM9F,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,YAAY,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAMhF,YAAY,EACV,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMrD,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAMrE,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,eAAe,EACf,QAAQ,EACR,CAAC,EACD,IAAI,EACJ,KAAK,EACL,KAAK,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,cAAc,EACd,OAAO,EACP,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,QAAQ,EACR,OAAO,GACR,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,+BAA+B,EAC/B,sCAAsC,EACtC,0BAA0B,EAC1B,eAAe,EACf,cAAc,EACd,8BAA8B,EAC9B,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -31,17 +31,18 @@
|
|
|
31
31
|
*
|
|
32
32
|
* @packageDocumentation
|
|
33
33
|
*/
|
|
34
|
-
export { DayOfWeekSchema } from "./types.js";
|
|
34
|
+
export { schedulingDay, DAY_OF_WEEK_INDEX, DayOfWeekSchema } from "./types.js";
|
|
35
35
|
// ============================================================================
|
|
36
36
|
// Solver client
|
|
37
37
|
// ============================================================================
|
|
38
38
|
export { HttpSolverClient } from "./client.js";
|
|
39
39
|
export { SOLVER_STATUS } from "./client.types.js";
|
|
40
|
-
export { SolverRequestSchema, SolverResponseSchema, SolverStatusSchema } from "./client.schemas.js";
|
|
40
|
+
export { SolverModeSchema, SolverDiagnosticModeSchema, SolverObjectiveStageSchema, SolverRequestSchema, SolverResponseSchema, SolverStageResultSchema, SolverStatusSchema, SolverHardConstraintConflictSchema, } from "./client.schemas.js";
|
|
41
41
|
// ============================================================================
|
|
42
42
|
// Model builder
|
|
43
43
|
// ============================================================================
|
|
44
44
|
export { ModelBuilder } from "./cpsat/model-builder.js";
|
|
45
|
+
export { compileRuleDescriptor, defineRuleDescriptor } from "./cpsat/rule-descriptor.js";
|
|
45
46
|
// ============================================================================
|
|
46
47
|
// Solver response parsing
|
|
47
48
|
// ============================================================================
|
|
@@ -51,6 +52,10 @@ export { parseSolverResponse, resolveAssignments } from "./cpsat/response.js";
|
|
|
51
52
|
// ============================================================================
|
|
52
53
|
export { calculateScheduleCost, COST_CATEGORY } from "./cpsat/cost.js";
|
|
53
54
|
// ============================================================================
|
|
55
|
+
// Rules (registry types)
|
|
56
|
+
// ============================================================================
|
|
57
|
+
export { assertValidCpsatRuleRegistry, builtInCpsatRuleRegistry, createCpsatRuleRegistry, } from "./cpsat/rules/registry.js";
|
|
58
|
+
// ============================================================================
|
|
54
59
|
// Constants
|
|
55
60
|
// ============================================================================
|
|
56
61
|
export { OBJECTIVE_WEIGHTS } from "./cpsat/utils.js";
|
|
@@ -58,5 +63,5 @@ export { summarizeValidation } from "./cpsat/validation-reporter.js";
|
|
|
58
63
|
// ============================================================================
|
|
59
64
|
// Schedule API
|
|
60
65
|
// ============================================================================
|
|
61
|
-
export { schedule, partialSchedule, Schedule, t, time, cover, shift, maxHoursPerDay, maxHoursPerWeek, minHoursPerDay, minHoursPerWeek, maxDaysPerWeek, minDaysPerWeek, maxShiftsPerDay, maxConsecutiveDays, minConsecutiveDays, minRestBetweenShifts, mustAssign,
|
|
66
|
+
export { schedule, scheduleWithRuleRegistry, partialSchedule, Schedule, t, time, cover, shift, maxHoursPerDay, maxHoursPerWeek, minHoursPerDay, minHoursPerWeek, maxDaysPerWeek, minDaysPerWeek, targetDaysPerWeek, maxShiftsPerDay, maxConcurrentAssignments, targetPeakConcurrentAssignments, maxConsecutiveDays, minConsecutiveDays, minRestBetweenShifts, mustAssign, preferAssignment, avoidAssignment, preferRole, preferLocation, timeOff, assignTogether, maxDaysOfWeekPerPeriod, minDaysOfWeekPerPeriod, defineRule, defineRuleFor, minimizeCost, dayMultiplier, daySurcharge, timeSurcharge, overtimeMultiplier, overtimeSurcharge, dailyOvertimeMultiplier, dailyOvertimeSurcharge, tieredOvertimeMultiplier, weekdays, weekend, } from "./schedule/index.js";
|
|
62
67
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAQH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAQH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE/E,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAgB/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,kCAAkC,GACnC,MAAM,qBAAqB,CAAC;AAE7B,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAmBzF,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAI9E,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIvE,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AA2BnC,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAsBrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,eAAe,EACf,QAAQ,EACR,CAAC,EACD,IAAI,EACJ,KAAK,EACL,KAAK,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,cAAc,EACd,OAAO,EACP,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,QAAQ,EACR,OAAO,GACR,MAAM,qBAAqB,CAAC"}
|