@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.
Files changed (172) hide show
  1. package/CHANGELOG.md +2 -16
  2. package/README.md +12 -18
  3. package/build/core/adapters/axle_adapter.d.ts +0 -1
  4. package/build/core/adapters/axle_adapter.d.ts.map +1 -1
  5. package/build/core/adapters/axle_adapter.js +22 -3
  6. package/build/core/adapters/coordinate_mapper.d.ts +1 -1
  7. package/build/core/adapters/coordinate_mapper.js +3 -3
  8. package/build/core/candidates/candidate_generator.d.ts +1 -1
  9. package/build/core/candidates/candidate_generator.js +7 -21
  10. package/build/core/candidates/candidate_validation.d.ts.map +1 -1
  11. package/build/core/candidates/candidate_validation.js +0 -8
  12. package/build/core/evaluation/state_evaluator.d.ts +10 -2
  13. package/build/core/evaluation/state_evaluator.d.ts.map +1 -1
  14. package/build/core/evaluation/state_evaluator.js +26 -7
  15. package/build/core/factory/read_stabilizer_config.d.ts +2 -3
  16. package/build/core/factory/read_stabilizer_config.d.ts.map +1 -1
  17. package/build/core/factory/read_stabilizer_config_helpers.d.ts +5 -9
  18. package/build/core/factory/read_stabilizer_config_helpers.d.ts.map +1 -1
  19. package/build/core/factory/read_stabilizer_config_helpers.js +1 -12
  20. package/build/core/move/apply_move.d.ts +0 -2
  21. package/build/core/move/apply_move.d.ts.map +1 -1
  22. package/build/core/orchestration/StabilizerFlow.d.ts.map +1 -1
  23. package/build/core/orchestration/StabilizerFlow.js +1 -1
  24. package/build/core/orchestration/build_reorder_context.d.ts.map +1 -1
  25. package/build/core/orchestration/build_reorder_context.js +5 -3
  26. package/build/core/strategies/reorder/BeamSearchReorder.d.ts.map +1 -1
  27. package/build/core/strategies/reorder/BeamSearchReorder.js +13 -12
  28. package/build/core/strategies/reorder/GeneticReorder.d.ts.map +1 -1
  29. package/build/core/strategies/reorder/GeneticReorder.js +1 -2
  30. package/build/core/strategies/reorder/SimulatedAnnealingReorder.d.ts.map +1 -1
  31. package/build/core/strategies/reorder/SimulatedAnnealingReorder.js +5 -14
  32. package/build/core/strategies/reorder/beam_context.d.ts +0 -1
  33. package/build/core/strategies/reorder/beam_context.d.ts.map +1 -1
  34. package/build/core/strategies/reorder/greedy_improvement.d.ts.map +1 -1
  35. package/build/core/strategies/reorder/greedy_improvement.js +2 -3
  36. package/build/core/validation/contract/cargo_movement_wire_field_map.d.ts +1 -51
  37. package/build/core/validation/contract/cargo_movement_wire_field_map.d.ts.map +1 -1
  38. package/build/core/validation/contract/cargo_movement_wire_field_map.js +3 -53
  39. package/build/core/validation/contract/cargo_movement_wire_mapper.d.ts.map +1 -1
  40. package/build/core/validation/contract/cargo_movement_wire_mapper.js +1 -10
  41. package/build/core/validation/contract/map_contract_to_wire_shape.d.ts.map +1 -1
  42. package/build/core/validation/contract/map_contract_to_wire_shape.js +13 -18
  43. package/build/core/validation/contract/map_wire_input_to_contract_shape.d.ts.map +1 -1
  44. package/build/core/validation/contract/map_wire_input_to_contract_shape.js +22 -26
  45. package/build/core/validation/contract/parse_stabilizer_input.d.ts +4 -49
  46. package/build/core/validation/contract/parse_stabilizer_input.d.ts.map +1 -1
  47. package/build/core/validation/contract/parse_stabilizer_input.js +0 -2
  48. package/build/core/validation/contract/parse_stabilizer_output.d.ts +2 -34
  49. package/build/core/validation/contract/parse_stabilizer_output.d.ts.map +1 -1
  50. package/build/core/validation/contract/stabilizer_domain_schema.d.ts +56 -36
  51. package/build/core/validation/contract/stabilizer_domain_schema.d.ts.map +1 -1
  52. package/build/core/validation/contract/stabilizer_domain_schema.js +35 -16
  53. package/build/core/validation/contract/stabilizer_input_schema.d.ts +4 -51
  54. package/build/core/validation/contract/stabilizer_input_schema.d.ts.map +1 -1
  55. package/build/core/validation/contract/stabilizer_input_schema.js +2 -2
  56. package/build/core/validation/contract/stabilizer_output_schema.d.ts +4 -68
  57. package/build/core/validation/contract/stabilizer_output_schema.d.ts.map +1 -1
  58. package/build/core/validation/contract/wire_mapper_record_utils.d.ts +0 -14
  59. package/build/core/validation/contract/wire_mapper_record_utils.d.ts.map +1 -1
  60. package/build/core/validation/contract/wire_mapper_record_utils.js +0 -30
  61. package/build/core/validation/schemas/stabilizer_config_schema.d.ts +1 -2
  62. package/build/core/validation/schemas/stabilizer_config_schema.d.ts.map +1 -1
  63. package/build/core/validation/schemas/stabilizer_config_schema.js +1 -2
  64. package/build/index.d.ts +12 -11
  65. package/build/index.d.ts.map +1 -1
  66. package/build/index.js +21 -29
  67. package/package.json +10 -12
  68. package/build/core/adapters/axle_load_evaluation.d.ts +0 -8
  69. package/build/core/adapters/axle_load_evaluation.d.ts.map +0 -1
  70. package/build/core/adapters/axle_load_evaluation.js +0 -1
  71. package/build/core/adapters/build_axle_request.d.ts +0 -8
  72. package/build/core/adapters/build_axle_request.d.ts.map +0 -1
  73. package/build/core/adapters/build_axle_request.js +0 -67
  74. package/build/core/adapters/compute_axle_excess_kg.d.ts +0 -8
  75. package/build/core/adapters/compute_axle_excess_kg.d.ts.map +0 -1
  76. package/build/core/adapters/compute_axle_excess_kg.js +0 -19
  77. package/build/core/adapters/evaluate_axle_load.d.ts +0 -10
  78. package/build/core/adapters/evaluate_axle_load.d.ts.map +0 -1
  79. package/build/core/adapters/evaluate_axle_load.js +0 -32
  80. package/build/core/adapters/map_item_to_stacking_item.d.ts +0 -14
  81. package/build/core/adapters/map_item_to_stacking_item.d.ts.map +0 -1
  82. package/build/core/adapters/map_item_to_stacking_item.js +0 -40
  83. package/build/core/adapters/run_axle_calculator.d.ts +0 -16
  84. package/build/core/adapters/run_axle_calculator.d.ts.map +0 -1
  85. package/build/core/adapters/run_axle_calculator.js +0 -37
  86. package/build/core/candidates/collect_container_slots.d.ts +0 -16
  87. package/build/core/candidates/collect_container_slots.d.ts.map +0 -1
  88. package/build/core/candidates/collect_container_slots.js +0 -20
  89. package/build/core/candidates/enumerate_supporter_top_slots.d.ts +0 -11
  90. package/build/core/candidates/enumerate_supporter_top_slots.d.ts.map +0 -1
  91. package/build/core/candidates/enumerate_supporter_top_slots.js +0 -36
  92. package/build/core/candidates/is_candidate_stacking_valid.d.ts +0 -14
  93. package/build/core/candidates/is_candidate_stacking_valid.d.ts.map +0 -1
  94. package/build/core/candidates/is_candidate_stacking_valid.js +0 -43
  95. package/build/core/candidates/is_elevated_on_supporter_origin.d.ts +0 -14
  96. package/build/core/candidates/is_elevated_on_supporter_origin.d.ts.map +0 -1
  97. package/build/core/candidates/is_elevated_on_supporter_origin.js +0 -28
  98. package/build/core/constants/TieRatioOrientation.d.ts +0 -6
  99. package/build/core/constants/TieRatioOrientation.d.ts.map +0 -1
  100. package/build/core/constants/TieRatioOrientation.js +0 -5
  101. package/build/core/evaluation/compare_search_states.d.ts +0 -12
  102. package/build/core/evaluation/compare_search_states.d.ts.map +0 -1
  103. package/build/core/evaluation/compare_search_states.js +0 -12
  104. package/build/core/evaluation/compute_reorder_objective.d.ts +0 -13
  105. package/build/core/evaluation/compute_reorder_objective.d.ts.map +0 -1
  106. package/build/core/evaluation/compute_reorder_objective.js +0 -13
  107. package/build/core/evaluation/evaluate_search_gates.d.ts +0 -18
  108. package/build/core/evaluation/evaluate_search_gates.d.ts.map +0 -1
  109. package/build/core/evaluation/evaluate_search_gates.js +0 -30
  110. package/build/core/evaluation/evaluation_result.d.ts +0 -15
  111. package/build/core/evaluation/evaluation_result.d.ts.map +0 -1
  112. package/build/core/evaluation/evaluation_result.js +0 -1
  113. package/build/core/evaluation/genetic_fitness.d.ts +0 -9
  114. package/build/core/evaluation/genetic_fitness.d.ts.map +0 -1
  115. package/build/core/evaluation/genetic_fitness.js +0 -16
  116. package/build/core/evaluation/is_non_axle_gates_pass.d.ts +0 -8
  117. package/build/core/evaluation/is_non_axle_gates_pass.d.ts.map +0 -1
  118. package/build/core/evaluation/is_non_axle_gates_pass.js +0 -8
  119. package/build/core/evaluation/is_search_trial_admissible.d.ts +0 -10
  120. package/build/core/evaluation/is_search_trial_admissible.d.ts.map +0 -1
  121. package/build/core/evaluation/is_search_trial_admissible.js +0 -17
  122. package/build/core/evaluation/is_waypoint_order_valid.d.ts +0 -10
  123. package/build/core/evaluation/is_waypoint_order_valid.d.ts.map +0 -1
  124. package/build/core/evaluation/is_waypoint_order_valid.js +0 -14
  125. package/build/core/exceptions/AxleCalculationError.d.ts +0 -4
  126. package/build/core/exceptions/AxleCalculationError.d.ts.map +0 -1
  127. package/build/core/exceptions/AxleCalculationError.js +0 -6
  128. package/build/core/filters/collect_movable_items.d.ts +0 -18
  129. package/build/core/filters/collect_movable_items.d.ts.map +0 -1
  130. package/build/core/filters/collect_movable_items.js +0 -53
  131. package/build/core/filters/collect_pinned_floor_tie_ratio_group_ids.d.ts +0 -8
  132. package/build/core/filters/collect_pinned_floor_tie_ratio_group_ids.d.ts.map +0 -1
  133. package/build/core/filters/collect_pinned_floor_tie_ratio_group_ids.js +0 -41
  134. package/build/core/filters/is_item_on_cm_floor.d.ts +0 -8
  135. package/build/core/filters/is_item_on_cm_floor.d.ts.map +0 -1
  136. package/build/core/filters/is_item_on_cm_floor.js +0 -9
  137. package/build/core/geometry/has_penetrating_overlap.d.ts +0 -9
  138. package/build/core/geometry/has_penetrating_overlap.d.ts.map +0 -1
  139. package/build/core/geometry/has_penetrating_overlap.js +0 -27
  140. package/build/core/strategies/reorder/append_admitted_trial.d.ts +0 -11
  141. package/build/core/strategies/reorder/append_admitted_trial.d.ts.map +0 -1
  142. package/build/core/strategies/reorder/append_admitted_trial.js +0 -22
  143. package/build/core/strategies/reorder/is_improving_greedy_trial.d.ts +0 -10
  144. package/build/core/strategies/reorder/is_improving_greedy_trial.d.ts.map +0 -1
  145. package/build/core/strategies/reorder/is_improving_greedy_trial.js +0 -17
  146. package/build/core/strategies/reorder/select_beam_expansion_candidates.d.ts +0 -9
  147. package/build/core/strategies/reorder/select_beam_expansion_candidates.d.ts.map +0 -1
  148. package/build/core/strategies/reorder/select_beam_expansion_candidates.js +0 -28
  149. package/build/core/strategies/reorder/select_surviving_beam.d.ts +0 -11
  150. package/build/core/strategies/reorder/select_surviving_beam.d.ts.map +0 -1
  151. package/build/core/strategies/reorder/select_surviving_beam.js +0 -13
  152. package/build/core/validation/contract/map_input_config.d.ts +0 -9
  153. package/build/core/validation/contract/map_input_config.d.ts.map +0 -1
  154. package/build/core/validation/contract/map_input_config.js +0 -40
  155. package/build/core/validation/contract/map_wire_item_stacking.d.ts +0 -7
  156. package/build/core/validation/contract/map_wire_item_stacking.d.ts.map +0 -1
  157. package/build/core/validation/contract/map_wire_item_stacking.js +0 -40
  158. package/build/core/validation/contract/map_wire_item_to_contract.d.ts +0 -8
  159. package/build/core/validation/contract/map_wire_item_to_contract.d.ts.map +0 -1
  160. package/build/core/validation/contract/map_wire_item_to_contract.js +0 -51
  161. package/build/core/validation/contract/reject_forbidden_input_fields.d.ts +0 -6
  162. package/build/core/validation/contract/reject_forbidden_input_fields.d.ts.map +0 -1
  163. package/build/core/validation/contract/reject_forbidden_input_fields.js +0 -53
  164. package/build/core/validation/contract/stabilizer_env_schema.d.ts +0 -112
  165. package/build/core/validation/contract/stabilizer_env_schema.d.ts.map +0 -1
  166. package/build/core/validation/contract/stabilizer_env_schema.js +0 -38
  167. package/build/core/validation/contract/stabilizer_item_schema.d.ts +0 -25
  168. package/build/core/validation/contract/stabilizer_item_schema.d.ts.map +0 -1
  169. package/build/core/validation/contract/stabilizer_item_schema.js +0 -23
  170. package/build/core/validation/contract/uniquify_contract_item_ids.d.ts +0 -14
  171. package/build/core/validation/contract/uniquify_contract_item_ids.d.ts.map +0 -1
  172. package/build/core/validation/contract/uniquify_contract_item_ids.js +0 -54
@@ -1,6 +1,55 @@
1
1
  import { z } from 'zod';
2
- export { stabilizer_item_schema, type StabilizerItem } from './stabilizer_item_schema.js';
3
- export { stabilizer_axle_schema, stabilizer_vehicle_schema, stabilizer_container_schema, stabilizer_env_schema, type StabilizerAxle, type StabilizerVehicle, type StabilizerContainer, type StabilizerEnv } from './stabilizer_env_schema.js';
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;AAKvB,OAAO,EACH,sBAAsB,EACtB,KAAK,cAAc,EACtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACH,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EACrB,MAAM,4BAA4B,CAAA;AAEnC,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAE/B,CAAA;AAEX,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,CAUN"}
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
- import { stabilizer_env_schema } from './stabilizer_env_schema.js';
5
- export { stabilizer_item_schema } from './stabilizer_item_schema.js';
6
- export { stabilizer_axle_schema, stabilizer_vehicle_schema, stabilizer_container_schema, stabilizer_env_schema } from './stabilizer_env_schema.js';
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
- add_waypoint_issue_or_throw(error, context);
30
- }
31
- }
32
- function add_waypoint_issue_or_throw(error, context) {
33
- if (error instanceof MixedWaypointIdError) {
34
- context.addIssue({
35
- code: 'custom',
36
- message: error.message,
37
- path: ['cargo_state', 'envs', 0]
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
- config: z.ZodOptional<z.ZodObject<{
62
- reorder_strategy: z.ZodDefault<z.ZodEnum<{
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;AAOvB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQlC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,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
- config: stabilizer_config_schema.optional()
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
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;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,cAAc,EAAE,SAAS,MAAM,EAAE,GAClC,OAAO,CAUT;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,aAAa,EAAE,MAAM,EAAE,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB"}
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.$strict>;
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;;;;;;;;;;;;;;;;kBAc1B,CAAA;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
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
- }).strict();
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 = StabilizerResponse;
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
- * Parses unknown wire or English input, then runs the typed stabilizer.
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 typed cargo_state on success.
21
+ * @returns Success or error response with CM wire cargo_state on success.
15
22
  */
16
- export declare function stabilize(input: unknown): Promise<StabilizerResponse>;
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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,KAAK,eAAe,EACpB,KAAK,kBAAkB,EAC1B,MAAM,qCAAqC,CAAA;AAE5C,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,GAAG,kBAAkB,CAAA;AAEvD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAc3E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,CAaxE;AAkDD,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA"}
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 { run_stabilizer_flow } from './core/orchestration/StabilizerFlow.js';
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 { parse_stabilizer_input, parse_stabilizer_output } from './core/validation/contract/index.js';
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
- * Parses unknown wire or English input, then runs the typed stabilizer.
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 typed cargo_state on success.
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 validated;
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-15",
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.3.3",
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": "^26.3.0",
43
- "@typescript-eslint/eslint-plugin": "^8.68.0",
44
- "@typescript-eslint/parser": "^8.68.0",
45
- "c8": "^12.0.0",
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": "^10.9.1",
48
- "mocha": "^11.8.0",
49
- "publint": "^0.3.24",
50
- "tsx": "^4.23.12",
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,8 +0,0 @@
1
- /**
2
- * Result of one axle-load calculator pass.
3
- */
4
- export interface AxleLoadEvaluation {
5
- valid: boolean;
6
- excess_kg: number;
7
- }
8
- //# sourceMappingURL=axle_load_evaluation.d.ts.map
@@ -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"}