@jetta/cargo-stabilizer 0.1.0-15 → 0.1.0-5
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 +2 -16
- package/README.md +12 -18
- package/build/core/adapters/axle_adapter.d.ts +0 -1
- package/build/core/adapters/axle_adapter.d.ts.map +1 -1
- package/build/core/adapters/axle_adapter.js +22 -3
- package/build/core/adapters/coordinate_mapper.d.ts +1 -1
- package/build/core/adapters/coordinate_mapper.js +3 -3
- package/build/core/candidates/candidate_generator.d.ts +1 -1
- package/build/core/candidates/candidate_generator.js +7 -21
- package/build/core/candidates/candidate_validation.d.ts.map +1 -1
- package/build/core/candidates/candidate_validation.js +0 -8
- package/build/core/evaluation/state_evaluator.d.ts +10 -2
- package/build/core/evaluation/state_evaluator.d.ts.map +1 -1
- package/build/core/evaluation/state_evaluator.js +26 -7
- package/build/core/factory/read_stabilizer_config.d.ts +2 -3
- package/build/core/factory/read_stabilizer_config.d.ts.map +1 -1
- package/build/core/factory/read_stabilizer_config_helpers.d.ts +5 -9
- package/build/core/factory/read_stabilizer_config_helpers.d.ts.map +1 -1
- package/build/core/factory/read_stabilizer_config_helpers.js +1 -12
- package/build/core/move/apply_move.d.ts +0 -2
- package/build/core/move/apply_move.d.ts.map +1 -1
- package/build/core/orchestration/StabilizerFlow.d.ts.map +1 -1
- package/build/core/orchestration/StabilizerFlow.js +1 -1
- package/build/core/orchestration/build_reorder_context.d.ts.map +1 -1
- package/build/core/orchestration/build_reorder_context.js +5 -3
- package/build/core/strategies/reorder/BeamSearchReorder.d.ts.map +1 -1
- package/build/core/strategies/reorder/BeamSearchReorder.js +13 -12
- package/build/core/strategies/reorder/GeneticReorder.d.ts.map +1 -1
- package/build/core/strategies/reorder/GeneticReorder.js +1 -2
- package/build/core/strategies/reorder/SimulatedAnnealingReorder.d.ts.map +1 -1
- package/build/core/strategies/reorder/SimulatedAnnealingReorder.js +5 -14
- package/build/core/strategies/reorder/beam_context.d.ts +0 -1
- package/build/core/strategies/reorder/beam_context.d.ts.map +1 -1
- package/build/core/strategies/reorder/greedy_improvement.d.ts.map +1 -1
- package/build/core/strategies/reorder/greedy_improvement.js +2 -3
- package/build/core/validation/contract/cargo_movement_wire_field_map.d.ts +1 -51
- package/build/core/validation/contract/cargo_movement_wire_field_map.d.ts.map +1 -1
- package/build/core/validation/contract/cargo_movement_wire_field_map.js +3 -53
- package/build/core/validation/contract/cargo_movement_wire_mapper.d.ts.map +1 -1
- package/build/core/validation/contract/cargo_movement_wire_mapper.js +1 -10
- package/build/core/validation/contract/map_contract_to_wire_shape.d.ts.map +1 -1
- package/build/core/validation/contract/map_contract_to_wire_shape.js +13 -18
- package/build/core/validation/contract/map_wire_input_to_contract_shape.d.ts.map +1 -1
- package/build/core/validation/contract/map_wire_input_to_contract_shape.js +22 -26
- package/build/core/validation/contract/parse_stabilizer_input.d.ts +4 -49
- package/build/core/validation/contract/parse_stabilizer_input.d.ts.map +1 -1
- package/build/core/validation/contract/parse_stabilizer_input.js +0 -2
- package/build/core/validation/contract/parse_stabilizer_output.d.ts +2 -34
- package/build/core/validation/contract/parse_stabilizer_output.d.ts.map +1 -1
- package/build/core/validation/contract/stabilizer_domain_schema.d.ts +56 -36
- package/build/core/validation/contract/stabilizer_domain_schema.d.ts.map +1 -1
- package/build/core/validation/contract/stabilizer_domain_schema.js +35 -16
- package/build/core/validation/contract/stabilizer_input_schema.d.ts +4 -51
- package/build/core/validation/contract/stabilizer_input_schema.d.ts.map +1 -1
- package/build/core/validation/contract/stabilizer_input_schema.js +2 -2
- package/build/core/validation/contract/stabilizer_output_schema.d.ts +4 -68
- package/build/core/validation/contract/stabilizer_output_schema.d.ts.map +1 -1
- package/build/core/validation/contract/wire_mapper_record_utils.d.ts +0 -14
- package/build/core/validation/contract/wire_mapper_record_utils.d.ts.map +1 -1
- package/build/core/validation/contract/wire_mapper_record_utils.js +0 -30
- package/build/core/validation/schemas/stabilizer_config_schema.d.ts +1 -2
- package/build/core/validation/schemas/stabilizer_config_schema.d.ts.map +1 -1
- package/build/core/validation/schemas/stabilizer_config_schema.js +1 -2
- package/build/index.d.ts +12 -11
- package/build/index.d.ts.map +1 -1
- package/build/index.js +21 -29
- package/package.json +10 -12
- package/build/core/adapters/axle_load_evaluation.d.ts +0 -8
- package/build/core/adapters/axle_load_evaluation.d.ts.map +0 -1
- package/build/core/adapters/axle_load_evaluation.js +0 -1
- package/build/core/adapters/build_axle_request.d.ts +0 -8
- package/build/core/adapters/build_axle_request.d.ts.map +0 -1
- package/build/core/adapters/build_axle_request.js +0 -67
- package/build/core/adapters/compute_axle_excess_kg.d.ts +0 -8
- package/build/core/adapters/compute_axle_excess_kg.d.ts.map +0 -1
- package/build/core/adapters/compute_axle_excess_kg.js +0 -19
- package/build/core/adapters/evaluate_axle_load.d.ts +0 -10
- package/build/core/adapters/evaluate_axle_load.d.ts.map +0 -1
- package/build/core/adapters/evaluate_axle_load.js +0 -32
- package/build/core/adapters/map_item_to_stacking_item.d.ts +0 -14
- package/build/core/adapters/map_item_to_stacking_item.d.ts.map +0 -1
- package/build/core/adapters/map_item_to_stacking_item.js +0 -40
- package/build/core/adapters/run_axle_calculator.d.ts +0 -16
- package/build/core/adapters/run_axle_calculator.d.ts.map +0 -1
- package/build/core/adapters/run_axle_calculator.js +0 -37
- package/build/core/candidates/collect_container_slots.d.ts +0 -16
- package/build/core/candidates/collect_container_slots.d.ts.map +0 -1
- package/build/core/candidates/collect_container_slots.js +0 -20
- package/build/core/candidates/enumerate_supporter_top_slots.d.ts +0 -11
- package/build/core/candidates/enumerate_supporter_top_slots.d.ts.map +0 -1
- package/build/core/candidates/enumerate_supporter_top_slots.js +0 -36
- package/build/core/candidates/is_candidate_stacking_valid.d.ts +0 -14
- package/build/core/candidates/is_candidate_stacking_valid.d.ts.map +0 -1
- package/build/core/candidates/is_candidate_stacking_valid.js +0 -43
- package/build/core/candidates/is_elevated_on_supporter_origin.d.ts +0 -14
- package/build/core/candidates/is_elevated_on_supporter_origin.d.ts.map +0 -1
- package/build/core/candidates/is_elevated_on_supporter_origin.js +0 -28
- package/build/core/constants/TieRatioOrientation.d.ts +0 -6
- package/build/core/constants/TieRatioOrientation.d.ts.map +0 -1
- package/build/core/constants/TieRatioOrientation.js +0 -5
- package/build/core/evaluation/compare_search_states.d.ts +0 -12
- package/build/core/evaluation/compare_search_states.d.ts.map +0 -1
- package/build/core/evaluation/compare_search_states.js +0 -12
- package/build/core/evaluation/compute_reorder_objective.d.ts +0 -13
- package/build/core/evaluation/compute_reorder_objective.d.ts.map +0 -1
- package/build/core/evaluation/compute_reorder_objective.js +0 -13
- package/build/core/evaluation/evaluate_search_gates.d.ts +0 -18
- package/build/core/evaluation/evaluate_search_gates.d.ts.map +0 -1
- package/build/core/evaluation/evaluate_search_gates.js +0 -30
- package/build/core/evaluation/evaluation_result.d.ts +0 -15
- package/build/core/evaluation/evaluation_result.d.ts.map +0 -1
- package/build/core/evaluation/evaluation_result.js +0 -1
- package/build/core/evaluation/genetic_fitness.d.ts +0 -9
- package/build/core/evaluation/genetic_fitness.d.ts.map +0 -1
- package/build/core/evaluation/genetic_fitness.js +0 -16
- package/build/core/evaluation/is_non_axle_gates_pass.d.ts +0 -8
- package/build/core/evaluation/is_non_axle_gates_pass.d.ts.map +0 -1
- package/build/core/evaluation/is_non_axle_gates_pass.js +0 -8
- package/build/core/evaluation/is_search_trial_admissible.d.ts +0 -10
- package/build/core/evaluation/is_search_trial_admissible.d.ts.map +0 -1
- package/build/core/evaluation/is_search_trial_admissible.js +0 -17
- package/build/core/evaluation/is_waypoint_order_valid.d.ts +0 -10
- package/build/core/evaluation/is_waypoint_order_valid.d.ts.map +0 -1
- package/build/core/evaluation/is_waypoint_order_valid.js +0 -14
- package/build/core/exceptions/AxleCalculationError.d.ts +0 -4
- package/build/core/exceptions/AxleCalculationError.d.ts.map +0 -1
- package/build/core/exceptions/AxleCalculationError.js +0 -6
- package/build/core/filters/collect_movable_items.d.ts +0 -18
- package/build/core/filters/collect_movable_items.d.ts.map +0 -1
- package/build/core/filters/collect_movable_items.js +0 -53
- package/build/core/filters/collect_pinned_floor_tie_ratio_group_ids.d.ts +0 -8
- package/build/core/filters/collect_pinned_floor_tie_ratio_group_ids.d.ts.map +0 -1
- package/build/core/filters/collect_pinned_floor_tie_ratio_group_ids.js +0 -41
- package/build/core/filters/is_item_on_cm_floor.d.ts +0 -8
- package/build/core/filters/is_item_on_cm_floor.d.ts.map +0 -1
- package/build/core/filters/is_item_on_cm_floor.js +0 -9
- package/build/core/geometry/has_penetrating_overlap.d.ts +0 -9
- package/build/core/geometry/has_penetrating_overlap.d.ts.map +0 -1
- package/build/core/geometry/has_penetrating_overlap.js +0 -27
- package/build/core/strategies/reorder/append_admitted_trial.d.ts +0 -11
- package/build/core/strategies/reorder/append_admitted_trial.d.ts.map +0 -1
- package/build/core/strategies/reorder/append_admitted_trial.js +0 -22
- package/build/core/strategies/reorder/is_improving_greedy_trial.d.ts +0 -10
- package/build/core/strategies/reorder/is_improving_greedy_trial.d.ts.map +0 -1
- package/build/core/strategies/reorder/is_improving_greedy_trial.js +0 -17
- package/build/core/strategies/reorder/select_beam_expansion_candidates.d.ts +0 -9
- package/build/core/strategies/reorder/select_beam_expansion_candidates.d.ts.map +0 -1
- package/build/core/strategies/reorder/select_beam_expansion_candidates.js +0 -28
- package/build/core/strategies/reorder/select_surviving_beam.d.ts +0 -11
- package/build/core/strategies/reorder/select_surviving_beam.d.ts.map +0 -1
- package/build/core/strategies/reorder/select_surviving_beam.js +0 -13
- package/build/core/validation/contract/map_input_config.d.ts +0 -9
- package/build/core/validation/contract/map_input_config.d.ts.map +0 -1
- package/build/core/validation/contract/map_input_config.js +0 -40
- package/build/core/validation/contract/map_wire_item_stacking.d.ts +0 -7
- package/build/core/validation/contract/map_wire_item_stacking.d.ts.map +0 -1
- package/build/core/validation/contract/map_wire_item_stacking.js +0 -40
- package/build/core/validation/contract/map_wire_item_to_contract.d.ts +0 -8
- package/build/core/validation/contract/map_wire_item_to_contract.d.ts.map +0 -1
- package/build/core/validation/contract/map_wire_item_to_contract.js +0 -51
- package/build/core/validation/contract/reject_forbidden_input_fields.d.ts +0 -6
- package/build/core/validation/contract/reject_forbidden_input_fields.d.ts.map +0 -1
- package/build/core/validation/contract/reject_forbidden_input_fields.js +0 -53
- package/build/core/validation/contract/stabilizer_env_schema.d.ts +0 -112
- package/build/core/validation/contract/stabilizer_env_schema.d.ts.map +0 -1
- package/build/core/validation/contract/stabilizer_env_schema.js +0 -38
- package/build/core/validation/contract/stabilizer_item_schema.d.ts +0 -25
- package/build/core/validation/contract/stabilizer_item_schema.d.ts.map +0 -1
- package/build/core/validation/contract/stabilizer_item_schema.js +0 -23
- package/build/core/validation/contract/uniquify_contract_item_ids.d.ts +0 -14
- package/build/core/validation/contract/uniquify_contract_item_ids.d.ts.map +0 -1
- package/build/core/validation/contract/uniquify_contract_item_ids.js +0 -54
|
@@ -1,6 +1,55 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export
|
|
3
|
-
|
|
2
|
+
export declare const stabilizer_item_schema: z.ZodObject<{
|
|
3
|
+
item_id: z.ZodString;
|
|
4
|
+
group_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
|
|
5
|
+
waypoint_id: z.ZodOptional<z.ZodString>;
|
|
6
|
+
x: z.ZodNumber;
|
|
7
|
+
y: z.ZodNumber;
|
|
8
|
+
z: z.ZodNumber;
|
|
9
|
+
width: z.ZodNumber;
|
|
10
|
+
height: z.ZodNumber;
|
|
11
|
+
depth: z.ZodNumber;
|
|
12
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
}, z.core.$strict>;
|
|
14
|
+
export declare const stabilizer_container_schema: z.ZodObject<{
|
|
15
|
+
sequence: z.ZodOptional<z.ZodNumber>;
|
|
16
|
+
width: z.ZodNumber;
|
|
17
|
+
height: z.ZodNumber;
|
|
18
|
+
length: z.ZodNumber;
|
|
19
|
+
items: z.ZodArray<z.ZodObject<{
|
|
20
|
+
item_id: z.ZodString;
|
|
21
|
+
group_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
|
|
22
|
+
waypoint_id: z.ZodOptional<z.ZodString>;
|
|
23
|
+
x: z.ZodNumber;
|
|
24
|
+
y: z.ZodNumber;
|
|
25
|
+
z: z.ZodNumber;
|
|
26
|
+
width: z.ZodNumber;
|
|
27
|
+
height: z.ZodNumber;
|
|
28
|
+
depth: z.ZodNumber;
|
|
29
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
}, z.core.$strict>>;
|
|
31
|
+
}, z.core.$strict>;
|
|
32
|
+
export declare const stabilizer_env_schema: z.ZodObject<{
|
|
33
|
+
containers: z.ZodArray<z.ZodObject<{
|
|
34
|
+
sequence: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
width: z.ZodNumber;
|
|
36
|
+
height: z.ZodNumber;
|
|
37
|
+
length: z.ZodNumber;
|
|
38
|
+
items: z.ZodArray<z.ZodObject<{
|
|
39
|
+
item_id: z.ZodString;
|
|
40
|
+
group_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
|
|
41
|
+
waypoint_id: z.ZodOptional<z.ZodString>;
|
|
42
|
+
x: z.ZodNumber;
|
|
43
|
+
y: z.ZodNumber;
|
|
44
|
+
z: z.ZodNumber;
|
|
45
|
+
width: z.ZodNumber;
|
|
46
|
+
height: z.ZodNumber;
|
|
47
|
+
depth: z.ZodNumber;
|
|
48
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
}, z.core.$strict>>;
|
|
50
|
+
}, z.core.$strict>>;
|
|
51
|
+
axles: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
52
|
+
}, z.core.$strict>;
|
|
4
53
|
export declare const stabilizer_cargo_state_schema: z.ZodObject<{
|
|
5
54
|
envs: z.ZodArray<z.ZodObject<{
|
|
6
55
|
containers: z.ZodArray<z.ZodObject<{
|
|
@@ -19,44 +68,15 @@ export declare const stabilizer_cargo_state_schema: z.ZodObject<{
|
|
|
19
68
|
height: z.ZodNumber;
|
|
20
69
|
depth: z.ZodNumber;
|
|
21
70
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
22
|
-
tie_ratio_orientation: z.ZodOptional<z.ZodString>;
|
|
23
|
-
family: z.ZodOptional<z.ZodString>;
|
|
24
|
-
supported_families: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
25
|
-
constraint: z.ZodOptional<z.ZodString>;
|
|
26
|
-
stack_families: z.ZodOptional<z.ZodBoolean>;
|
|
27
|
-
stack_same_item: z.ZodOptional<z.ZodBoolean>;
|
|
28
|
-
stack_same_area: z.ZodOptional<z.ZodBoolean>;
|
|
29
|
-
stacking_unit: z.ZodOptional<z.ZodString>;
|
|
30
|
-
supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
31
|
-
priority: z.ZodOptional<z.ZodNumber>;
|
|
32
71
|
}, z.core.$strict>>;
|
|
33
|
-
kingpin_distance: z.ZodOptional<z.ZodNumber>;
|
|
34
|
-
container_distance_ahead: z.ZodOptional<z.ZodNumber>;
|
|
35
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
36
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
37
|
-
cargo_weight: z.ZodOptional<z.ZodNumber>;
|
|
38
|
-
grouper: z.ZodOptional<z.ZodNumber>;
|
|
39
|
-
}, z.core.$strict>>;
|
|
40
|
-
axles: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
41
|
-
distance_from_origin: z.ZodOptional<z.ZodNumber>;
|
|
42
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
43
|
-
dnit_weight: z.ZodOptional<z.ZodNumber>;
|
|
44
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
45
|
-
container_sequence: z.ZodOptional<z.ZodNumber>;
|
|
46
|
-
sequence: z.ZodOptional<z.ZodNumber>;
|
|
47
|
-
}, z.core.$strict>>>;
|
|
48
|
-
vehicle: z.ZodOptional<z.ZodObject<{
|
|
49
|
-
vehicle_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
50
|
-
vehicle_type: z.ZodOptional<z.ZodNumber>;
|
|
51
|
-
version_type: z.ZodOptional<z.ZodNumber>;
|
|
52
|
-
suspension_type: z.ZodOptional<z.ZodString>;
|
|
53
|
-
first_axle: z.ZodOptional<z.ZodNumber>;
|
|
54
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
55
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
56
|
-
quantity: z.ZodOptional<z.ZodNumber>;
|
|
57
72
|
}, z.core.$strict>>;
|
|
73
|
+
axles: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
58
74
|
}, z.core.$strict>>;
|
|
75
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
59
76
|
}, z.core.$strict>;
|
|
77
|
+
export type StabilizerItem = z.infer<typeof stabilizer_item_schema>;
|
|
78
|
+
export type StabilizerContainer = z.infer<typeof stabilizer_container_schema>;
|
|
79
|
+
export type StabilizerEnv = z.infer<typeof stabilizer_env_schema>;
|
|
60
80
|
export type StabilizerCargoState = z.infer<typeof stabilizer_cargo_state_schema>;
|
|
61
81
|
/**
|
|
62
82
|
* Validates waypoint consistency across all items in the primary env.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stabilizer_domain_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/stabilizer_domain_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"stabilizer_domain_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/stabilizer_domain_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,sBAAsB;;;;;;;;;;;kBAWxB,CAAA;AAEX,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;kBAM7B,CAAA;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;kBAGvB,CAAA;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;kBAG/B,CAAA;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACnE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC7E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACjE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEhF;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAKtF;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC1C,WAAW,EAAE,oBAAoB,EACjC,OAAO,EAAE,CAAC,CAAC,aAAa,GACzB,IAAI,CAqBN"}
|
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { MixedWaypointIdError } from '../../exceptions/MixedWaypointIdError.js';
|
|
3
3
|
import { validate_waypoint_ids } from '../../waypoint/validate_waypoint_ids.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
export const stabilizer_item_schema = z.object({
|
|
5
|
+
item_id: z.string().min(1),
|
|
6
|
+
group_id: z.union([z.string(), z.null()]).optional(),
|
|
7
|
+
waypoint_id: z.string().optional(),
|
|
8
|
+
x: z.number(),
|
|
9
|
+
y: z.number(),
|
|
10
|
+
z: z.number(),
|
|
11
|
+
width: z.number().positive(),
|
|
12
|
+
height: z.number().positive(),
|
|
13
|
+
depth: z.number().positive(),
|
|
14
|
+
weight: z.number().optional()
|
|
15
|
+
}).strict();
|
|
16
|
+
export const stabilizer_container_schema = z.object({
|
|
17
|
+
sequence: z.number().optional(),
|
|
18
|
+
width: z.number().positive(),
|
|
19
|
+
height: z.number().positive(),
|
|
20
|
+
length: z.number().positive(),
|
|
21
|
+
items: z.array(stabilizer_item_schema)
|
|
22
|
+
}).strict();
|
|
23
|
+
export const stabilizer_env_schema = z.object({
|
|
24
|
+
containers: z.array(stabilizer_container_schema).min(1),
|
|
25
|
+
axles: z.array(z.record(z.string(), z.unknown())).optional()
|
|
26
|
+
}).strict();
|
|
7
27
|
export const stabilizer_cargo_state_schema = z.object({
|
|
8
|
-
envs: z.array(stabilizer_env_schema).min(1)
|
|
28
|
+
envs: z.array(stabilizer_env_schema).min(1),
|
|
29
|
+
config: z.record(z.string(), z.unknown()).optional()
|
|
9
30
|
}).strict();
|
|
10
31
|
/**
|
|
11
32
|
* Validates waypoint consistency across all items in the primary env.
|
|
@@ -26,17 +47,15 @@ export function add_waypoint_validation_issues(cargo_state, context) {
|
|
|
26
47
|
validate_primary_env_waypoints(cargo_state);
|
|
27
48
|
}
|
|
28
49
|
catch (error) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
return;
|
|
50
|
+
if (error instanceof MixedWaypointIdError) {
|
|
51
|
+
context.addIssue({
|
|
52
|
+
code: 'custom',
|
|
53
|
+
message: error.message,
|
|
54
|
+
path: ['cargo_state', 'envs', 0]
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
40
60
|
}
|
|
41
|
-
throw error;
|
|
42
61
|
}
|
|
@@ -20,61 +20,14 @@ export declare const stabilizer_input_schema: z.ZodObject<{
|
|
|
20
20
|
height: z.ZodNumber;
|
|
21
21
|
depth: z.ZodNumber;
|
|
22
22
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
23
|
-
tie_ratio_orientation: z.ZodOptional<z.ZodString>;
|
|
24
|
-
family: z.ZodOptional<z.ZodString>;
|
|
25
|
-
supported_families: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
26
|
-
constraint: z.ZodOptional<z.ZodString>;
|
|
27
|
-
stack_families: z.ZodOptional<z.ZodBoolean>;
|
|
28
|
-
stack_same_item: z.ZodOptional<z.ZodBoolean>;
|
|
29
|
-
stack_same_area: z.ZodOptional<z.ZodBoolean>;
|
|
30
|
-
stacking_unit: z.ZodOptional<z.ZodString>;
|
|
31
|
-
supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
32
|
-
priority: z.ZodOptional<z.ZodNumber>;
|
|
33
23
|
}, z.core.$strict>>;
|
|
34
|
-
kingpin_distance: z.ZodOptional<z.ZodNumber>;
|
|
35
|
-
container_distance_ahead: z.ZodOptional<z.ZodNumber>;
|
|
36
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
37
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
38
|
-
cargo_weight: z.ZodOptional<z.ZodNumber>;
|
|
39
|
-
grouper: z.ZodOptional<z.ZodNumber>;
|
|
40
|
-
}, z.core.$strict>>;
|
|
41
|
-
axles: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
42
|
-
distance_from_origin: z.ZodOptional<z.ZodNumber>;
|
|
43
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
44
|
-
dnit_weight: z.ZodOptional<z.ZodNumber>;
|
|
45
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
46
|
-
container_sequence: z.ZodOptional<z.ZodNumber>;
|
|
47
|
-
sequence: z.ZodOptional<z.ZodNumber>;
|
|
48
|
-
}, z.core.$strict>>>;
|
|
49
|
-
vehicle: z.ZodOptional<z.ZodObject<{
|
|
50
|
-
vehicle_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
51
|
-
vehicle_type: z.ZodOptional<z.ZodNumber>;
|
|
52
|
-
version_type: z.ZodOptional<z.ZodNumber>;
|
|
53
|
-
suspension_type: z.ZodOptional<z.ZodString>;
|
|
54
|
-
first_axle: z.ZodOptional<z.ZodNumber>;
|
|
55
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
56
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
57
|
-
quantity: z.ZodOptional<z.ZodNumber>;
|
|
58
24
|
}, z.core.$strict>>;
|
|
25
|
+
axles: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
59
26
|
}, z.core.$strict>>;
|
|
27
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
60
28
|
}, z.core.$strict>;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
[x: string]: string;
|
|
64
|
-
}>>;
|
|
65
|
-
transport_stability_floor: z.ZodDefault<z.ZodNumber>;
|
|
66
|
-
max_iteration: z.ZodDefault<z.ZodNumber>;
|
|
67
|
-
genetic_population: z.ZodDefault<z.ZodNumber>;
|
|
68
|
-
genetic_generations: z.ZodDefault<z.ZodNumber>;
|
|
69
|
-
genetic_mutation_rate: z.ZodDefault<z.ZodNumber>;
|
|
70
|
-
beam_width: z.ZodDefault<z.ZodNumber>;
|
|
71
|
-
beam_top_k: z.ZodDefault<z.ZodNumber>;
|
|
72
|
-
axle_load_margin_percent: z.ZodDefault<z.ZodNumber>;
|
|
73
|
-
preserve_tie_block_organization: z.ZodDefault<z.ZodBoolean>;
|
|
74
|
-
pin_tie_ratio_blocks: z.ZodDefault<z.ZodBoolean>;
|
|
75
|
-
enforce_milkrun_wall_reservation: z.ZodDefault<z.ZodBoolean>;
|
|
76
|
-
number_of_wall_to_allocate_from_last_waypoints: z.ZodDefault<z.ZodNumber>;
|
|
77
|
-
}, z.core.$strict>>;
|
|
29
|
+
original_input: z.ZodOptional<z.ZodUnknown>;
|
|
30
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
78
31
|
}, z.core.$strict>;
|
|
79
32
|
export type StabilizerInput = z.infer<typeof stabilizer_input_schema>;
|
|
80
33
|
//# sourceMappingURL=stabilizer_input_schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stabilizer_input_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/stabilizer_input_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"stabilizer_input_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/stabilizer_input_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBASlC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { stabilizer_config_schema } from '../schemas/stabilizer_config_schema.js';
|
|
3
2
|
import { add_waypoint_validation_issues, stabilizer_cargo_state_schema } from './stabilizer_domain_schema.js';
|
|
4
3
|
export const stabilizer_input_schema = z.object({
|
|
5
4
|
id: z.union([z.string(), z.number()]).optional(),
|
|
6
5
|
company: z.union([z.string(), z.number()]).optional(),
|
|
7
6
|
cargo_state: stabilizer_cargo_state_schema,
|
|
8
|
-
|
|
7
|
+
original_input: z.unknown().optional(),
|
|
8
|
+
config: z.record(z.string(), z.unknown()).optional()
|
|
9
9
|
}).strict().superRefine((input_data, context) => {
|
|
10
10
|
add_waypoint_validation_issues(input_data.cargo_state, context);
|
|
11
11
|
});
|
|
@@ -19,43 +19,11 @@ export declare const stabilizer_success_response_schema: z.ZodObject<{
|
|
|
19
19
|
height: z.ZodNumber;
|
|
20
20
|
depth: z.ZodNumber;
|
|
21
21
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
22
|
-
tie_ratio_orientation: z.ZodOptional<z.ZodString>;
|
|
23
|
-
family: z.ZodOptional<z.ZodString>;
|
|
24
|
-
supported_families: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
25
|
-
constraint: z.ZodOptional<z.ZodString>;
|
|
26
|
-
stack_families: z.ZodOptional<z.ZodBoolean>;
|
|
27
|
-
stack_same_item: z.ZodOptional<z.ZodBoolean>;
|
|
28
|
-
stack_same_area: z.ZodOptional<z.ZodBoolean>;
|
|
29
|
-
stacking_unit: z.ZodOptional<z.ZodString>;
|
|
30
|
-
supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
31
|
-
priority: z.ZodOptional<z.ZodNumber>;
|
|
32
22
|
}, z.core.$strict>>;
|
|
33
|
-
kingpin_distance: z.ZodOptional<z.ZodNumber>;
|
|
34
|
-
container_distance_ahead: z.ZodOptional<z.ZodNumber>;
|
|
35
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
36
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
37
|
-
cargo_weight: z.ZodOptional<z.ZodNumber>;
|
|
38
|
-
grouper: z.ZodOptional<z.ZodNumber>;
|
|
39
|
-
}, z.core.$strict>>;
|
|
40
|
-
axles: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
41
|
-
distance_from_origin: z.ZodOptional<z.ZodNumber>;
|
|
42
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
43
|
-
dnit_weight: z.ZodOptional<z.ZodNumber>;
|
|
44
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
45
|
-
container_sequence: z.ZodOptional<z.ZodNumber>;
|
|
46
|
-
sequence: z.ZodOptional<z.ZodNumber>;
|
|
47
|
-
}, z.core.$strict>>>;
|
|
48
|
-
vehicle: z.ZodOptional<z.ZodObject<{
|
|
49
|
-
vehicle_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
50
|
-
vehicle_type: z.ZodOptional<z.ZodNumber>;
|
|
51
|
-
version_type: z.ZodOptional<z.ZodNumber>;
|
|
52
|
-
suspension_type: z.ZodOptional<z.ZodString>;
|
|
53
|
-
first_axle: z.ZodOptional<z.ZodNumber>;
|
|
54
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
55
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
56
|
-
quantity: z.ZodOptional<z.ZodNumber>;
|
|
57
23
|
}, z.core.$strict>>;
|
|
24
|
+
axles: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
58
25
|
}, z.core.$strict>>;
|
|
26
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
59
27
|
}, z.core.$strict>;
|
|
60
28
|
messages: z.ZodArray<z.ZodString>;
|
|
61
29
|
}, z.core.$strict>;
|
|
@@ -84,43 +52,11 @@ export declare const stabilizer_response_schema: z.ZodDiscriminatedUnion<[z.ZodO
|
|
|
84
52
|
height: z.ZodNumber;
|
|
85
53
|
depth: z.ZodNumber;
|
|
86
54
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
87
|
-
tie_ratio_orientation: z.ZodOptional<z.ZodString>;
|
|
88
|
-
family: z.ZodOptional<z.ZodString>;
|
|
89
|
-
supported_families: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
90
|
-
constraint: z.ZodOptional<z.ZodString>;
|
|
91
|
-
stack_families: z.ZodOptional<z.ZodBoolean>;
|
|
92
|
-
stack_same_item: z.ZodOptional<z.ZodBoolean>;
|
|
93
|
-
stack_same_area: z.ZodOptional<z.ZodBoolean>;
|
|
94
|
-
stacking_unit: z.ZodOptional<z.ZodString>;
|
|
95
|
-
supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
96
|
-
priority: z.ZodOptional<z.ZodNumber>;
|
|
97
55
|
}, z.core.$strict>>;
|
|
98
|
-
kingpin_distance: z.ZodOptional<z.ZodNumber>;
|
|
99
|
-
container_distance_ahead: z.ZodOptional<z.ZodNumber>;
|
|
100
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
101
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
102
|
-
cargo_weight: z.ZodOptional<z.ZodNumber>;
|
|
103
|
-
grouper: z.ZodOptional<z.ZodNumber>;
|
|
104
|
-
}, z.core.$strict>>;
|
|
105
|
-
axles: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
106
|
-
distance_from_origin: z.ZodOptional<z.ZodNumber>;
|
|
107
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
108
|
-
dnit_weight: z.ZodOptional<z.ZodNumber>;
|
|
109
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
110
|
-
container_sequence: z.ZodOptional<z.ZodNumber>;
|
|
111
|
-
sequence: z.ZodOptional<z.ZodNumber>;
|
|
112
|
-
}, z.core.$strict>>>;
|
|
113
|
-
vehicle: z.ZodOptional<z.ZodObject<{
|
|
114
|
-
vehicle_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
115
|
-
vehicle_type: z.ZodOptional<z.ZodNumber>;
|
|
116
|
-
version_type: z.ZodOptional<z.ZodNumber>;
|
|
117
|
-
suspension_type: z.ZodOptional<z.ZodString>;
|
|
118
|
-
first_axle: z.ZodOptional<z.ZodNumber>;
|
|
119
|
-
tare: z.ZodOptional<z.ZodNumber>;
|
|
120
|
-
max_supported_weight: z.ZodOptional<z.ZodNumber>;
|
|
121
|
-
quantity: z.ZodOptional<z.ZodNumber>;
|
|
122
56
|
}, z.core.$strict>>;
|
|
57
|
+
axles: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
123
58
|
}, z.core.$strict>>;
|
|
59
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
124
60
|
}, z.core.$strict>;
|
|
125
61
|
messages: z.ZodArray<z.ZodString>;
|
|
126
62
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stabilizer_output_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/stabilizer_output_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,kCAAkC
|
|
1
|
+
{"version":3,"file":"stabilizer_output_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/stabilizer_output_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAIpC,CAAA;AAEX,eAAO,MAAM,gCAAgC;;;;kBAIlC,CAAA;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAGrC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAC1F,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACtF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA"}
|
|
@@ -17,18 +17,4 @@ export declare function rename_keys(source: Record<string, unknown>, key_map: Re
|
|
|
17
17
|
* @returns Filtered record.
|
|
18
18
|
*/
|
|
19
19
|
export declare function pick_keys(source: Record<string, unknown>, allowed_keys: string[]): Record<string, unknown>;
|
|
20
|
-
/**
|
|
21
|
-
* Reads the value of the first candidate key present on the record.
|
|
22
|
-
* @param source - Source record.
|
|
23
|
-
* @param candidate_keys - Candidate keys in precedence order.
|
|
24
|
-
* @returns Value of the first present key, or undefined when none is present.
|
|
25
|
-
*/
|
|
26
|
-
export declare function read_first_present(source: Record<string, unknown>, candidate_keys: readonly string[]): unknown;
|
|
27
|
-
/**
|
|
28
|
-
* Keeps every defined key except the excluded ones.
|
|
29
|
-
* @param source - Source record.
|
|
30
|
-
* @param excluded_keys - Keys to drop.
|
|
31
|
-
* @returns Filtered record.
|
|
32
|
-
*/
|
|
33
|
-
export declare function omit_keys(source: Record<string, unknown>, excluded_keys: string[]): Record<string, unknown>;
|
|
34
20
|
//# sourceMappingURL=wire_mapper_record_utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire_mapper_record_utils.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/wire_mapper_record_utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG1E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,YAAY,EAAE,MAAM,EAAE,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB
|
|
1
|
+
{"version":3,"file":"wire_mapper_record_utils.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/wire_mapper_record_utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG1E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,YAAY,EAAE,MAAM,EAAE,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB"}
|
|
@@ -34,33 +34,3 @@ export function pick_keys(source, allowed_keys) {
|
|
|
34
34
|
}
|
|
35
35
|
return picked;
|
|
36
36
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Reads the value of the first candidate key present on the record.
|
|
39
|
-
* @param source - Source record.
|
|
40
|
-
* @param candidate_keys - Candidate keys in precedence order.
|
|
41
|
-
* @returns Value of the first present key, or undefined when none is present.
|
|
42
|
-
*/
|
|
43
|
-
export function read_first_present(source, candidate_keys) {
|
|
44
|
-
for (const key of candidate_keys) {
|
|
45
|
-
if (Object.hasOwn(source, key)) {
|
|
46
|
-
return source[key];
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return undefined;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Keeps every defined key except the excluded ones.
|
|
53
|
-
* @param source - Source record.
|
|
54
|
-
* @param excluded_keys - Keys to drop.
|
|
55
|
-
* @returns Filtered record.
|
|
56
|
-
*/
|
|
57
|
-
export function omit_keys(source, excluded_keys) {
|
|
58
|
-
const kept = {};
|
|
59
|
-
for (const [key, value] of Object.entries(source)) {
|
|
60
|
-
if (excluded_keys.includes(key) || value === undefined) {
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
kept[key] = value;
|
|
64
|
-
}
|
|
65
|
-
return kept;
|
|
66
|
-
}
|
|
@@ -12,9 +12,8 @@ export declare const stabilizer_config_schema: z.ZodObject<{
|
|
|
12
12
|
beam_top_k: z.ZodDefault<z.ZodNumber>;
|
|
13
13
|
axle_load_margin_percent: z.ZodDefault<z.ZodNumber>;
|
|
14
14
|
preserve_tie_block_organization: z.ZodDefault<z.ZodBoolean>;
|
|
15
|
-
pin_tie_ratio_blocks: z.ZodDefault<z.ZodBoolean>;
|
|
16
15
|
enforce_milkrun_wall_reservation: z.ZodDefault<z.ZodBoolean>;
|
|
17
16
|
number_of_wall_to_allocate_from_last_waypoints: z.ZodDefault<z.ZodNumber>;
|
|
18
|
-
}, z.core.$
|
|
17
|
+
}, z.core.$strip>;
|
|
19
18
|
export type StabilizerConfig = z.infer<typeof stabilizer_config_schema>;
|
|
20
19
|
//# sourceMappingURL=stabilizer_config_schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stabilizer_config_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/schemas/stabilizer_config_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"stabilizer_config_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/schemas/stabilizer_config_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;iBAanC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
|
|
@@ -11,7 +11,6 @@ export const stabilizer_config_schema = z.object({
|
|
|
11
11
|
beam_top_k: z.number().int().positive().default(3),
|
|
12
12
|
axle_load_margin_percent: z.number().min(0).default(0),
|
|
13
13
|
preserve_tie_block_organization: z.boolean().default(true),
|
|
14
|
-
pin_tie_ratio_blocks: z.boolean().default(false),
|
|
15
14
|
enforce_milkrun_wall_reservation: z.boolean().default(false),
|
|
16
15
|
number_of_wall_to_allocate_from_last_waypoints: z.number().int().min(0).default(0)
|
|
17
|
-
})
|
|
16
|
+
});
|
package/build/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type StabilizerInput, type StabilizerResponse } from './core/validation/contract/index.js';
|
|
2
1
|
export { REORDER_STRATEGY, REORDER_STRATEGY_VALUES } from './core/constants/ReorderStrategy.js';
|
|
3
2
|
export type { ReorderStrategyValue } from './core/constants/ReorderStrategy.js';
|
|
4
3
|
export { MixedWaypointIdError } from './core/exceptions/MixedWaypointIdError.js';
|
|
@@ -7,19 +6,21 @@ export { InvalidStabilizerInputError } from './core/exceptions/InvalidStabilizer
|
|
|
7
6
|
export { InvalidStabilizerOutputError } from './core/exceptions/InvalidStabilizerOutputError.js';
|
|
8
7
|
export type { StabilizerInput, StabilizerResponse, StabilizerSuccessResponse, StabilizerErrorResponse, StabilizerItem, StabilizerContainer, StabilizerEnv, StabilizerCargoState } from './core/validation/contract/index.js';
|
|
9
8
|
export { parse_stabilizer_input, safe_parse_stabilizer_input, parse_stabilizer_output, safe_parse_stabilizer_output, map_wire_input_to_contract, map_contract_to_wire_output } from './core/validation/contract/index.js';
|
|
10
|
-
export type StabilizerWireResponse =
|
|
9
|
+
export type StabilizerWireResponse = {
|
|
10
|
+
status: 'success';
|
|
11
|
+
data: unknown;
|
|
12
|
+
messages: string[];
|
|
13
|
+
} | {
|
|
14
|
+
status: 'error';
|
|
15
|
+
data: string;
|
|
16
|
+
messages: string[];
|
|
17
|
+
};
|
|
11
18
|
/**
|
|
12
|
-
*
|
|
19
|
+
* Stabilizes cargo by reordering loose items (legacy CM-compatible response).
|
|
13
20
|
* @param input - Cargo-movement wire payload or English contract input.
|
|
14
|
-
* @returns Success or error response with
|
|
21
|
+
* @returns Success or error response with CM wire cargo_state on success.
|
|
15
22
|
*/
|
|
16
|
-
export declare function stabilize(input: unknown): Promise<
|
|
17
|
-
/**
|
|
18
|
-
* Runs stabilizer on a parsed contract input. `unknown` is not accepted.
|
|
19
|
-
* @param input - Validated stabilizer input.
|
|
20
|
-
* @returns Success or error response.
|
|
21
|
-
*/
|
|
22
|
-
export declare function run_stabilize(input: StabilizerInput): StabilizerResponse;
|
|
23
|
+
export declare function stabilize(input: unknown): Promise<StabilizerWireResponse>;
|
|
23
24
|
export { run_stabilizer_flow_from_unknown } from './core/orchestration/StabilizerFlow.js';
|
|
24
25
|
export { create_reorder_strategy } from './core/factory/strategy_factory.js';
|
|
25
26
|
export { validate_waypoint_ids } from './core/waypoint/validate_waypoint_ids.js';
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC/F,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAA;AAC9F,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAA;AAC9F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAA;AAChG,YAAY,EACR,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACvB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACH,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC9B,MAAM,qCAAqC,CAAA;AAK5C,MAAM,MAAM,sBAAsB,GAC5B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACxD;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAE3D;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAI/E;AAsED,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA"}
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Logger } from '@jetta/logger';
|
|
2
|
-
import {
|
|
2
|
+
import { run_stabilizer_flow_from_unknown } from './core/orchestration/StabilizerFlow.js';
|
|
3
3
|
import { stabilizer_logger } from './core/logging/stabilizer_logger.js';
|
|
4
|
-
import {
|
|
4
|
+
import { map_contract_to_wire_output, parse_stabilizer_output } from './core/validation/contract/index.js';
|
|
5
5
|
export { REORDER_STRATEGY, REORDER_STRATEGY_VALUES } from './core/constants/ReorderStrategy.js';
|
|
6
6
|
export { MixedWaypointIdError } from './core/exceptions/MixedWaypointIdError.js';
|
|
7
7
|
export { UnknownReorderStrategyError } from './core/exceptions/UnknownReorderStrategyError.js';
|
|
@@ -11,36 +11,13 @@ export { parse_stabilizer_input, safe_parse_stabilizer_input, parse_stabilizer_o
|
|
|
11
11
|
const messages = [];
|
|
12
12
|
const UNKNOWN_IDENTITY = 'UNKNOWN';
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Stabilizes cargo by reordering loose items (legacy CM-compatible response).
|
|
15
15
|
* @param input - Cargo-movement wire payload or English contract input.
|
|
16
|
-
* @returns Success or error response with
|
|
16
|
+
* @returns Success or error response with CM wire cargo_state on success.
|
|
17
17
|
*/
|
|
18
18
|
export async function stabilize(input) {
|
|
19
19
|
const identity = read_stabilizer_identity(input);
|
|
20
|
-
return Logger.run_with_cargo_info(identity.company, identity.cargo_id, () =>
|
|
21
|
-
try {
|
|
22
|
-
return run_stabilize(parse_stabilizer_input(input));
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
25
|
-
return build_error_response(error);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Runs stabilizer on a parsed contract input. `unknown` is not accepted.
|
|
31
|
-
* @param input - Validated stabilizer input.
|
|
32
|
-
* @returns Success or error response.
|
|
33
|
-
*/
|
|
34
|
-
export function run_stabilize(input) {
|
|
35
|
-
stabilizer_logger.log('cargo-stabilizer started');
|
|
36
|
-
try {
|
|
37
|
-
const cargo_state = run_stabilizer_flow(input);
|
|
38
|
-
stabilizer_logger.log('cargo-stabilizer finished successfully');
|
|
39
|
-
return build_success_response(cargo_state);
|
|
40
|
-
}
|
|
41
|
-
catch (error) {
|
|
42
|
-
return build_error_response(error);
|
|
43
|
-
}
|
|
20
|
+
return Logger.run_with_cargo_info(identity.company, identity.cargo_id, () => run_stabilize(input));
|
|
44
21
|
}
|
|
45
22
|
function read_stabilizer_identity(input) {
|
|
46
23
|
if (typeof input !== 'object' || input === null) {
|
|
@@ -52,6 +29,17 @@ function read_stabilizer_identity(input) {
|
|
|
52
29
|
cargo_id: record.id !== undefined ? String(record.id) : UNKNOWN_IDENTITY
|
|
53
30
|
};
|
|
54
31
|
}
|
|
32
|
+
function run_stabilize(input) {
|
|
33
|
+
stabilizer_logger.log('cargo-stabilizer started');
|
|
34
|
+
try {
|
|
35
|
+
const cargo_state = run_stabilizer_flow_from_unknown(input);
|
|
36
|
+
stabilizer_logger.log('cargo-stabilizer finished successfully');
|
|
37
|
+
return build_success_response(cargo_state);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
return build_error_response(error);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
55
43
|
function build_success_response(cargo_state) {
|
|
56
44
|
const english_response = {
|
|
57
45
|
status: 'success',
|
|
@@ -62,7 +50,11 @@ function build_success_response(cargo_state) {
|
|
|
62
50
|
if (validated.status !== 'success') {
|
|
63
51
|
throw new Error('Expected success response after stabilizer flow');
|
|
64
52
|
}
|
|
65
|
-
return
|
|
53
|
+
return {
|
|
54
|
+
status: 'success',
|
|
55
|
+
data: map_contract_to_wire_output(validated.data),
|
|
56
|
+
messages: validated.messages
|
|
57
|
+
};
|
|
66
58
|
}
|
|
67
59
|
function build_error_response(err) {
|
|
68
60
|
stabilizer_logger.warn('cargo-stabilizer finished with error');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jetta/cargo-stabilizer",
|
|
3
|
-
"version": "0.1.0-
|
|
3
|
+
"version": "0.1.0-5",
|
|
4
4
|
"description": "Stable loose-item reorder library for cargo-movement (JET-2262)",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -29,25 +29,23 @@
|
|
|
29
29
|
"coverage:ci": "c8 --reporter=text --reporter=text-summary --check-coverage --lines 75 --functions 75 --branches 75 --statements 75 npm run test"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@jetta/axle-load-calculator": "^0.
|
|
32
|
+
"@jetta/axle-load-calculator": "^0.1.3",
|
|
33
33
|
"@jetta/cargo-stability": "^2.0.1-3",
|
|
34
34
|
"@jetta/empty-spaces-manager": "^0.1.1-0",
|
|
35
|
-
"@jetta/number-compare": "^3.0.3",
|
|
36
|
-
"@jetta/stacking-constraints": "^1.1.0",
|
|
37
35
|
"zod": "^4.4.3"
|
|
38
36
|
},
|
|
39
37
|
"devDependencies": {
|
|
40
38
|
"@types/chai": "^5.2.3",
|
|
41
39
|
"@types/mocha": "^10.0.10",
|
|
42
|
-
"@types/node": "^
|
|
43
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
44
|
-
"@typescript-eslint/parser": "^8.
|
|
45
|
-
"c8": "^
|
|
40
|
+
"@types/node": "^25.9.1",
|
|
41
|
+
"@typescript-eslint/eslint-plugin": "^8.59.4",
|
|
42
|
+
"@typescript-eslint/parser": "^8.59.4",
|
|
43
|
+
"c8": "^11.0.0",
|
|
46
44
|
"chai": "^6.2.2",
|
|
47
|
-
"eslint": "^
|
|
48
|
-
"mocha": "^11.
|
|
49
|
-
"publint": "^0.3.
|
|
50
|
-
"tsx": "^4.
|
|
45
|
+
"eslint": "^9.39.4",
|
|
46
|
+
"mocha": "^11.7.6",
|
|
47
|
+
"publint": "^0.3.23",
|
|
48
|
+
"tsx": "^4.22.3",
|
|
51
49
|
"typescript": "^6.0.3"
|
|
52
50
|
}
|
|
53
51
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"axle_load_evaluation.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/axle_load_evaluation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAE/B,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CACpB"}
|