@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,8 +0,0 @@
1
- /**
2
- * Maps a cargo-movement wire item to the stabilizer contract shape.
3
- * Only modelled fields are copied; leftover SKU keys are dropped.
4
- * @param value - Raw wire item.
5
- * @returns Contract item, or the input unchanged when it is not a record.
6
- */
7
- export declare function map_wire_item_to_contract(value: unknown): unknown;
8
- //# sourceMappingURL=map_wire_item_to_contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map_wire_item_to_contract.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/map_wire_item_to_contract.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUjE"}
@@ -1,51 +0,0 @@
1
- import { ITEM_CONTRACT_WIRE_KEYS, ITEM_POSITION_KEYS } from './cargo_movement_wire_field_map.js';
2
- import { assign_stacking_fields } from './map_wire_item_stacking.js';
3
- import { is_record, omit_keys, read_first_present } from './wire_mapper_record_utils.js';
4
- /**
5
- * Maps a cargo-movement wire item to the stabilizer contract shape.
6
- * Only modelled fields are copied; leftover SKU keys are dropped.
7
- * @param value - Raw wire item.
8
- * @returns Contract item, or the input unchanged when it is not a record.
9
- */
10
- export function map_wire_item_to_contract(value) {
11
- if (!is_record(value)) {
12
- return value;
13
- }
14
- const contract = read_contract_item_fields(value);
15
- assign_stacking_fields(contract, omit_keys(value, ITEM_POSITION_KEYS));
16
- return contract;
17
- }
18
- function read_contract_item_fields(source) {
19
- const contract = read_contract_position(source);
20
- for (const [contract_key, wire_keys] of Object.entries(ITEM_CONTRACT_WIRE_KEYS)) {
21
- const value = read_first_present(source, wire_keys);
22
- if (value !== undefined) {
23
- contract[contract_key] = normalize_contract_field(contract_key, value);
24
- }
25
- }
26
- return contract;
27
- }
28
- /**
29
- * BWA `to_json` stores length on `y` and height on `z`. Candidate geometry
30
- * uses the opposite (y = height, z = length), so CM wire items are swapped.
31
- * @param source - Wire or English item record.
32
- * @returns Contract x/y/z.
33
- */
34
- function read_contract_position(source) {
35
- if (typeof source.w === 'number') {
36
- return { x: source.x, y: source.z, z: source.y };
37
- }
38
- return { x: source.x, y: source.y, z: source.z };
39
- }
40
- /**
41
- * Coerces blocks-wall numeric group ids to the string contract type.
42
- * @param contract_key - English contract field name.
43
- * @param value - Wire value.
44
- * @returns String group id when a finite number was provided; otherwise the value.
45
- */
46
- function normalize_contract_field(contract_key, value) {
47
- if (contract_key === 'group_id' && typeof value === 'number' && Number.isFinite(value)) {
48
- return String(value);
49
- }
50
- return value;
51
- }
@@ -1,6 +0,0 @@
1
- /**
2
- * Rejects dropped contract bags (`original_input`, item `attributes`) before mapping.
3
- * @param input_data - Raw stabilizer input.
4
- */
5
- export declare function reject_forbidden_input_fields(input_data: unknown): void;
6
- //# sourceMappingURL=reject_forbidden_input_fields.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reject_forbidden_input_fields.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/reject_forbidden_input_fields.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAWvE"}
@@ -1,53 +0,0 @@
1
- import { InvalidStabilizerInputError } from '../../exceptions/InvalidStabilizerInputError.js';
2
- /**
3
- * Rejects dropped contract bags (`original_input`, item `attributes`) before mapping.
4
- * @param input_data - Raw stabilizer input.
5
- */
6
- export function reject_forbidden_input_fields(input_data) {
7
- if (typeof input_data !== 'object' || input_data === null) {
8
- return;
9
- }
10
- if ('original_input' in input_data) {
11
- throw new InvalidStabilizerInputError('original_input is not part of the stabilizer contract');
12
- }
13
- reject_item_attributes(input_data);
14
- }
15
- function reject_item_attributes(input_data) {
16
- const cargo_state = input_data.cargo_state;
17
- if (typeof cargo_state !== 'object' || cargo_state === null) {
18
- return;
19
- }
20
- const envs = cargo_state.envs;
21
- if (!Array.isArray(envs)) {
22
- return;
23
- }
24
- for (const env of envs) {
25
- reject_env_item_attributes(env);
26
- }
27
- }
28
- function reject_env_item_attributes(env) {
29
- if (typeof env !== 'object' || env === null) {
30
- return;
31
- }
32
- const containers = env.containers;
33
- if (!Array.isArray(containers)) {
34
- return;
35
- }
36
- for (const container of containers) {
37
- reject_container_item_attributes(container);
38
- }
39
- }
40
- function reject_container_item_attributes(container) {
41
- if (typeof container !== 'object' || container === null) {
42
- return;
43
- }
44
- const items = container.items;
45
- if (!Array.isArray(items)) {
46
- return;
47
- }
48
- for (const item of items) {
49
- if (typeof item === 'object' && item !== null && 'attributes' in item) {
50
- throw new InvalidStabilizerInputError('item attributes is not part of the stabilizer contract');
51
- }
52
- }
53
- }
@@ -1,112 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const stabilizer_axle_schema: z.ZodObject<{
3
- distance_from_origin: z.ZodOptional<z.ZodNumber>;
4
- max_supported_weight: z.ZodOptional<z.ZodNumber>;
5
- dnit_weight: z.ZodOptional<z.ZodNumber>;
6
- tare: z.ZodOptional<z.ZodNumber>;
7
- container_sequence: z.ZodOptional<z.ZodNumber>;
8
- sequence: z.ZodOptional<z.ZodNumber>;
9
- }, z.core.$strict>;
10
- export declare const stabilizer_vehicle_schema: z.ZodObject<{
11
- vehicle_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
12
- vehicle_type: z.ZodOptional<z.ZodNumber>;
13
- version_type: z.ZodOptional<z.ZodNumber>;
14
- suspension_type: z.ZodOptional<z.ZodString>;
15
- first_axle: z.ZodOptional<z.ZodNumber>;
16
- tare: z.ZodOptional<z.ZodNumber>;
17
- max_supported_weight: z.ZodOptional<z.ZodNumber>;
18
- quantity: z.ZodOptional<z.ZodNumber>;
19
- }, z.core.$strict>;
20
- export declare const stabilizer_container_schema: z.ZodObject<{
21
- sequence: z.ZodOptional<z.ZodNumber>;
22
- width: z.ZodNumber;
23
- height: z.ZodNumber;
24
- length: z.ZodNumber;
25
- items: z.ZodArray<z.ZodObject<{
26
- item_id: z.ZodString;
27
- group_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
28
- waypoint_id: z.ZodOptional<z.ZodString>;
29
- x: z.ZodNumber;
30
- y: z.ZodNumber;
31
- z: z.ZodNumber;
32
- width: z.ZodNumber;
33
- height: z.ZodNumber;
34
- depth: z.ZodNumber;
35
- weight: z.ZodOptional<z.ZodNumber>;
36
- tie_ratio_orientation: z.ZodOptional<z.ZodString>;
37
- family: z.ZodOptional<z.ZodString>;
38
- supported_families: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
- constraint: z.ZodOptional<z.ZodString>;
40
- stack_families: z.ZodOptional<z.ZodBoolean>;
41
- stack_same_item: z.ZodOptional<z.ZodBoolean>;
42
- stack_same_area: z.ZodOptional<z.ZodBoolean>;
43
- stacking_unit: z.ZodOptional<z.ZodString>;
44
- supported_weight: z.ZodOptional<z.ZodNumber>;
45
- priority: z.ZodOptional<z.ZodNumber>;
46
- }, z.core.$strict>>;
47
- kingpin_distance: z.ZodOptional<z.ZodNumber>;
48
- container_distance_ahead: z.ZodOptional<z.ZodNumber>;
49
- max_supported_weight: z.ZodOptional<z.ZodNumber>;
50
- tare: z.ZodOptional<z.ZodNumber>;
51
- cargo_weight: z.ZodOptional<z.ZodNumber>;
52
- grouper: z.ZodOptional<z.ZodNumber>;
53
- }, z.core.$strict>;
54
- export declare const stabilizer_env_schema: z.ZodObject<{
55
- containers: z.ZodArray<z.ZodObject<{
56
- sequence: z.ZodOptional<z.ZodNumber>;
57
- width: z.ZodNumber;
58
- height: z.ZodNumber;
59
- length: z.ZodNumber;
60
- items: z.ZodArray<z.ZodObject<{
61
- item_id: z.ZodString;
62
- group_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
63
- waypoint_id: z.ZodOptional<z.ZodString>;
64
- x: z.ZodNumber;
65
- y: z.ZodNumber;
66
- z: z.ZodNumber;
67
- width: z.ZodNumber;
68
- height: z.ZodNumber;
69
- depth: z.ZodNumber;
70
- weight: z.ZodOptional<z.ZodNumber>;
71
- tie_ratio_orientation: z.ZodOptional<z.ZodString>;
72
- family: z.ZodOptional<z.ZodString>;
73
- supported_families: z.ZodOptional<z.ZodArray<z.ZodString>>;
74
- constraint: z.ZodOptional<z.ZodString>;
75
- stack_families: z.ZodOptional<z.ZodBoolean>;
76
- stack_same_item: z.ZodOptional<z.ZodBoolean>;
77
- stack_same_area: z.ZodOptional<z.ZodBoolean>;
78
- stacking_unit: z.ZodOptional<z.ZodString>;
79
- supported_weight: z.ZodOptional<z.ZodNumber>;
80
- priority: z.ZodOptional<z.ZodNumber>;
81
- }, z.core.$strict>>;
82
- kingpin_distance: z.ZodOptional<z.ZodNumber>;
83
- container_distance_ahead: z.ZodOptional<z.ZodNumber>;
84
- max_supported_weight: z.ZodOptional<z.ZodNumber>;
85
- tare: z.ZodOptional<z.ZodNumber>;
86
- cargo_weight: z.ZodOptional<z.ZodNumber>;
87
- grouper: z.ZodOptional<z.ZodNumber>;
88
- }, z.core.$strict>>;
89
- axles: z.ZodOptional<z.ZodArray<z.ZodObject<{
90
- distance_from_origin: z.ZodOptional<z.ZodNumber>;
91
- max_supported_weight: z.ZodOptional<z.ZodNumber>;
92
- dnit_weight: z.ZodOptional<z.ZodNumber>;
93
- tare: z.ZodOptional<z.ZodNumber>;
94
- container_sequence: z.ZodOptional<z.ZodNumber>;
95
- sequence: z.ZodOptional<z.ZodNumber>;
96
- }, z.core.$strict>>>;
97
- vehicle: z.ZodOptional<z.ZodObject<{
98
- vehicle_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
99
- vehicle_type: z.ZodOptional<z.ZodNumber>;
100
- version_type: z.ZodOptional<z.ZodNumber>;
101
- suspension_type: z.ZodOptional<z.ZodString>;
102
- first_axle: z.ZodOptional<z.ZodNumber>;
103
- tare: z.ZodOptional<z.ZodNumber>;
104
- max_supported_weight: z.ZodOptional<z.ZodNumber>;
105
- quantity: z.ZodOptional<z.ZodNumber>;
106
- }, z.core.$strict>>;
107
- }, z.core.$strict>;
108
- export type StabilizerAxle = z.infer<typeof stabilizer_axle_schema>;
109
- export type StabilizerVehicle = z.infer<typeof stabilizer_vehicle_schema>;
110
- export type StabilizerContainer = z.infer<typeof stabilizer_container_schema>;
111
- export type StabilizerEnv = z.infer<typeof stabilizer_env_schema>;
112
- //# sourceMappingURL=stabilizer_env_schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stabilizer_env_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/stabilizer_env_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,sBAAsB;;;;;;;kBAOxB,CAAA;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;kBAS3B,CAAA;AAEX,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAY7B,CAAA;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAIvB,CAAA;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACnE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AACzE,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"}
@@ -1,38 +0,0 @@
1
- import { z } from 'zod';
2
- import { stabilizer_item_schema } from './stabilizer_item_schema.js';
3
- export const stabilizer_axle_schema = z.object({
4
- distance_from_origin: z.number().optional(),
5
- max_supported_weight: z.number().optional(),
6
- dnit_weight: z.number().optional(),
7
- tare: z.number().optional(),
8
- container_sequence: z.number().optional(),
9
- sequence: z.number().optional()
10
- }).strict();
11
- export const stabilizer_vehicle_schema = z.object({
12
- vehicle_id: z.union([z.string(), z.number()]).optional(),
13
- vehicle_type: z.number().optional(),
14
- version_type: z.number().optional(),
15
- suspension_type: z.string().optional(),
16
- first_axle: z.number().optional(),
17
- tare: z.number().optional(),
18
- max_supported_weight: z.number().optional(),
19
- quantity: z.number().optional()
20
- }).strict();
21
- export const stabilizer_container_schema = z.object({
22
- sequence: z.number().optional(),
23
- width: z.number().positive(),
24
- height: z.number().positive(),
25
- length: z.number().positive(),
26
- items: z.array(stabilizer_item_schema),
27
- kingpin_distance: z.number().optional(),
28
- container_distance_ahead: z.number().optional(),
29
- max_supported_weight: z.number().optional(),
30
- tare: z.number().optional(),
31
- cargo_weight: z.number().optional(),
32
- grouper: z.number().optional()
33
- }).strict();
34
- export const stabilizer_env_schema = z.object({
35
- containers: z.array(stabilizer_container_schema).min(1),
36
- axles: z.array(stabilizer_axle_schema).optional(),
37
- vehicle: stabilizer_vehicle_schema.optional()
38
- }).strict();
@@ -1,25 +0,0 @@
1
- import { z } from 'zod';
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
- tie_ratio_orientation: z.ZodOptional<z.ZodString>;
14
- family: z.ZodOptional<z.ZodString>;
15
- supported_families: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
- constraint: z.ZodOptional<z.ZodString>;
17
- stack_families: z.ZodOptional<z.ZodBoolean>;
18
- stack_same_item: z.ZodOptional<z.ZodBoolean>;
19
- stack_same_area: z.ZodOptional<z.ZodBoolean>;
20
- stacking_unit: z.ZodOptional<z.ZodString>;
21
- supported_weight: z.ZodOptional<z.ZodNumber>;
22
- priority: z.ZodOptional<z.ZodNumber>;
23
- }, z.core.$strict>;
24
- export type StabilizerItem = z.infer<typeof stabilizer_item_schema>;
25
- //# sourceMappingURL=stabilizer_item_schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stabilizer_item_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/stabilizer_item_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;kBAqBxB,CAAA;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
@@ -1,23 +0,0 @@
1
- import { z } from 'zod';
2
- export const stabilizer_item_schema = z.object({
3
- item_id: z.string().min(1),
4
- group_id: z.union([z.string(), z.null()]).optional(),
5
- waypoint_id: z.string().optional(),
6
- x: z.number(),
7
- y: z.number(),
8
- z: z.number(),
9
- width: z.number().positive(),
10
- height: z.number().positive(),
11
- depth: z.number().positive(),
12
- weight: z.number().optional(),
13
- tie_ratio_orientation: z.string().optional(),
14
- family: z.string().optional(),
15
- supported_families: z.array(z.string()).optional(),
16
- constraint: z.string().optional(),
17
- stack_families: z.boolean().optional(),
18
- stack_same_item: z.boolean().optional(),
19
- stack_same_area: z.boolean().optional(),
20
- stacking_unit: z.string().optional(),
21
- supported_weight: z.number().optional(),
22
- priority: z.number().optional()
23
- }).strict();
@@ -1,14 +0,0 @@
1
- /**
2
- * Makes contract item_id unique when the same SKU id repeats.
3
- * Duplicate catalog ids receive a `#occurrence` suffix on `item_id`.
4
- * @param items - Mapped contract items.
5
- * @returns Items with unique `item_id` values.
6
- */
7
- export declare function uniquify_contract_item_ids(items: unknown[]): unknown[];
8
- /**
9
- * Removes a numeric `#occurrence` suffix added by uniquify.
10
- * @param item_id - Possibly uniquified item id.
11
- * @returns Original item id.
12
- */
13
- export declare function strip_uniquify_suffix(item_id: string): string;
14
- //# sourceMappingURL=uniquify_contract_item_ids.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniquify_contract_item_ids.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/contract/uniquify_contract_item_ids.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAKtE;AA0CD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAa7D"}
@@ -1,54 +0,0 @@
1
- import { is_record } from './wire_mapper_record_utils.js';
2
- /**
3
- * Makes contract item_id unique when the same SKU id repeats.
4
- * Duplicate catalog ids receive a `#occurrence` suffix on `item_id`.
5
- * @param items - Mapped contract items.
6
- * @returns Items with unique `item_id` values.
7
- */
8
- export function uniquify_contract_item_ids(items) {
9
- const counts = count_item_ids(items);
10
- const seen = new Map();
11
- return items.map(item => uniquify_one_item(item, counts, seen));
12
- }
13
- function count_item_ids(items) {
14
- const counts = new Map();
15
- for (const item of items) {
16
- const item_id = read_item_id(item);
17
- if (item_id === undefined) {
18
- continue;
19
- }
20
- counts.set(item_id, (counts.get(item_id) ?? 0) + 1);
21
- }
22
- return counts;
23
- }
24
- function uniquify_one_item(item, counts, seen) {
25
- const item_id = read_item_id(item);
26
- if (item_id === undefined || (counts.get(item_id) ?? 0) <= 1 || !is_record(item)) {
27
- return item;
28
- }
29
- const occurrence = seen.get(item_id) ?? 0;
30
- seen.set(item_id, occurrence + 1);
31
- return { ...item, item_id: `${item_id}#${occurrence}` };
32
- }
33
- function read_item_id(item) {
34
- if (!is_record(item) || typeof item.item_id !== 'string') {
35
- return undefined;
36
- }
37
- return item.item_id;
38
- }
39
- /**
40
- * Removes a numeric `#occurrence` suffix added by uniquify.
41
- * @param item_id - Possibly uniquified item id.
42
- * @returns Original item id.
43
- */
44
- export function strip_uniquify_suffix(item_id) {
45
- const index = item_id.lastIndexOf('#');
46
- if (index < 0) {
47
- return item_id;
48
- }
49
- const suffix = item_id.slice(index + 1);
50
- if (!/^\d+$/.test(suffix)) {
51
- return item_id;
52
- }
53
- return item_id.slice(0, index);
54
- }