@jetta/cargo-stabilizer 0.1.0-15 → 0.1.0-3
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 +1 -35
- package/README.md +16 -62
- package/build/core/adapters/axle_adapter.d.ts +4 -5
- package/build/core/adapters/axle_adapter.d.ts.map +1 -1
- package/build/core/adapters/axle_adapter.js +23 -6
- package/build/core/adapters/coordinate_mapper.d.ts +5 -5
- package/build/core/adapters/coordinate_mapper.d.ts.map +1 -1
- package/build/core/adapters/coordinate_mapper.js +13 -13
- package/build/core/adapters/stability_adapter.d.ts +1 -1
- package/build/core/adapters/stability_adapter.d.ts.map +1 -1
- package/build/core/adapters/stability_adapter.js +1 -1
- package/build/core/candidates/build_candidate_context.d.ts +1 -1
- package/build/core/candidates/build_candidate_context.d.ts.map +1 -1
- package/build/core/candidates/build_candidate_context.js +1 -3
- package/build/core/candidates/candidate_context.d.ts +1 -4
- package/build/core/candidates/candidate_context.d.ts.map +1 -1
- package/build/core/candidates/candidate_generator.d.ts +1 -1
- package/build/core/candidates/candidate_generator.d.ts.map +1 -1
- package/build/core/candidates/candidate_generator.js +16 -33
- package/build/core/candidates/candidate_validation.d.ts +12 -0
- package/build/core/candidates/candidate_validation.d.ts.map +1 -1
- package/build/core/candidates/candidate_validation.js +26 -40
- package/build/core/candidates/rank_candidates.d.ts.map +1 -1
- package/build/core/candidates/rank_candidates.js +0 -3
- package/build/core/evaluation/evaluation_context.d.ts +1 -3
- package/build/core/evaluation/evaluation_context.d.ts.map +1 -1
- package/build/core/evaluation/state_evaluator.d.ts +10 -13
- package/build/core/evaluation/state_evaluator.d.ts.map +1 -1
- package/build/core/evaluation/state_evaluator.js +15 -19
- package/build/core/factory/read_stabilizer_config.d.ts +2 -5
- package/build/core/factory/read_stabilizer_config.d.ts.map +1 -1
- package/build/core/factory/read_stabilizer_config.js +25 -6
- package/build/core/filters/loose_item_filter.d.ts +2 -2
- package/build/core/filters/loose_item_filter.d.ts.map +1 -1
- package/build/core/filters/loose_item_filter.js +3 -3
- package/build/core/geometry/box_geometry.d.ts +1 -17
- package/build/core/geometry/box_geometry.d.ts.map +1 -1
- package/build/core/geometry/box_geometry.js +2 -67
- package/build/core/move/apply_move.d.ts +1 -3
- package/build/core/move/apply_move.d.ts.map +1 -1
- package/build/core/move/apply_move.js +1 -1
- package/build/core/orchestration/StabilizerFlow.d.ts +1 -2
- 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 +1 -1
- package/build/core/orchestration/build_reorder_context.d.ts.map +1 -1
- package/build/core/orchestration/build_reorder_context.js +12 -10
- package/build/core/strategies/reorder/BeamSearchReorder.d.ts +1 -1
- package/build/core/strategies/reorder/BeamSearchReorder.d.ts.map +1 -1
- package/build/core/strategies/reorder/BeamSearchReorder.js +16 -15
- package/build/core/strategies/reorder/GeneticReorder.d.ts +1 -1
- 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/GravityCompaction.d.ts +1 -1
- package/build/core/strategies/reorder/GravityCompaction.d.ts.map +1 -1
- package/build/core/strategies/reorder/GravityCompaction.js +2 -2
- package/build/core/strategies/reorder/GreedyReorder.d.ts +1 -1
- package/build/core/strategies/reorder/GreedyReorder.d.ts.map +1 -1
- package/build/core/strategies/reorder/ReorderStrategy.d.ts +1 -3
- package/build/core/strategies/reorder/ReorderStrategy.d.ts.map +1 -1
- package/build/core/strategies/reorder/SimulatedAnnealingReorder.d.ts +1 -1
- 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/anneal_helpers.d.ts +1 -1
- package/build/core/strategies/reorder/anneal_helpers.d.ts.map +1 -1
- package/build/core/strategies/reorder/anneal_helpers.js +1 -1
- package/build/core/strategies/reorder/apply_if_gates_pass.d.ts +1 -1
- package/build/core/strategies/reorder/apply_if_gates_pass.d.ts.map +1 -1
- package/build/core/strategies/reorder/beam_context.d.ts +1 -2
- package/build/core/strategies/reorder/beam_context.d.ts.map +1 -1
- package/build/core/strategies/reorder/genetic/Chromosome.d.ts +1 -1
- package/build/core/strategies/reorder/genetic/Chromosome.d.ts.map +1 -1
- package/build/core/strategies/reorder/genetic/Chromosome.js +2 -2
- package/build/core/strategies/reorder/greedy_improvement.d.ts +1 -1
- package/build/core/strategies/reorder/greedy_improvement.d.ts.map +1 -1
- package/build/core/strategies/reorder/greedy_improvement.js +4 -5
- package/build/core/validation/parse_stabilizer_input.d.ts +8 -0
- package/build/core/validation/parse_stabilizer_input.d.ts.map +1 -0
- package/build/core/validation/parse_stabilizer_input.js +20 -0
- package/build/core/validation/schemas/stabilizer_config_schema.d.ts +2 -6
- package/build/core/validation/schemas/stabilizer_config_schema.d.ts.map +1 -1
- package/build/core/validation/schemas/stabilizer_config_schema.js +2 -6
- package/build/core/validation/schemas/stabilizer_input_schema.d.ts +110 -0
- package/build/core/validation/schemas/stabilizer_input_schema.d.ts.map +1 -0
- package/build/core/validation/schemas/stabilizer_input_schema.js +34 -0
- package/build/core/validation/schemas/stabilizer_output_schema.d.ts +13 -0
- package/build/core/validation/schemas/stabilizer_output_schema.d.ts.map +1 -0
- package/build/core/validation/schemas/stabilizer_output_schema.js +6 -0
- package/build/core/waypoint/build_waypoint_zones.d.ts +1 -1
- package/build/core/waypoint/build_waypoint_zones.d.ts.map +1 -1
- package/build/core/waypoint/build_waypoint_zones.js +2 -2
- package/build/core/waypoint/preserves_waypoint_order.d.ts +1 -1
- package/build/core/waypoint/preserves_waypoint_order.d.ts.map +1 -1
- package/build/core/waypoint/validate_waypoint_ids.d.ts +1 -1
- package/build/core/waypoint/validate_waypoint_ids.d.ts.map +1 -1
- package/build/index.d.ts +7 -15
- package/build/index.d.ts.map +1 -1
- package/build/index.js +11 -42
- 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/empty_space_adapter.d.ts +0 -10
- package/build/core/adapters/empty_space_adapter.d.ts.map +0 -1
- package/build/core/adapters/empty_space_adapter.js +0 -24
- 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_positioned_cube.d.ts +0 -9
- package/build/core/adapters/map_item_to_positioned_cube.d.ts.map +0 -1
- package/build/core/adapters/map_item_to_positioned_cube.js +0 -16
- 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_empty_space_slots.d.ts +0 -15
- package/build/core/candidates/enumerate_empty_space_slots.d.ts.map +0 -1
- package/build/core/candidates/enumerate_empty_space_slots.js +0 -44
- 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/exceptions/InvalidStabilizerOutputError.d.ts +0 -4
- package/build/core/exceptions/InvalidStabilizerOutputError.d.ts.map +0 -1
- package/build/core/exceptions/InvalidStabilizerOutputError.js +0 -6
- package/build/core/factory/read_stabilizer_config_helpers.d.ts +0 -32
- package/build/core/factory/read_stabilizer_config_helpers.d.ts.map +0 -1
- package/build/core/factory/read_stabilizer_config_helpers.js +0 -73
- 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/orchestration/build_milkrun_bands_from_config.d.ts +0 -13
- package/build/core/orchestration/build_milkrun_bands_from_config.d.ts.map +0 -1
- package/build/core/orchestration/build_milkrun_bands_from_config.js +0 -14
- package/build/core/orchestration/read_primary_env.d.ts +0 -9
- package/build/core/orchestration/read_primary_env.d.ts.map +0 -1
- package/build/core/orchestration/read_primary_env.js +0 -13
- 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/cargo_movement_wire_field_map.d.ts +0 -71
- package/build/core/validation/contract/cargo_movement_wire_field_map.d.ts.map +0 -1
- package/build/core/validation/contract/cargo_movement_wire_field_map.js +0 -77
- package/build/core/validation/contract/cargo_movement_wire_mapper.d.ts +0 -14
- package/build/core/validation/contract/cargo_movement_wire_mapper.d.ts.map +0 -1
- package/build/core/validation/contract/cargo_movement_wire_mapper.js +0 -43
- package/build/core/validation/contract/format_zod_error.d.ts +0 -8
- package/build/core/validation/contract/format_zod_error.d.ts.map +0 -1
- package/build/core/validation/contract/format_zod_error.js +0 -11
- package/build/core/validation/contract/index.d.ts +0 -9
- package/build/core/validation/contract/index.d.ts.map +0 -1
- package/build/core/validation/contract/index.js +0 -8
- package/build/core/validation/contract/map_contract_to_wire_shape.d.ts +0 -3
- package/build/core/validation/contract/map_contract_to_wire_shape.d.ts.map +0 -1
- package/build/core/validation/contract/map_contract_to_wire_shape.js +0 -33
- 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_input_to_contract_shape.d.ts +0 -2
- package/build/core/validation/contract/map_wire_input_to_contract_shape.d.ts.map +0 -1
- package/build/core/validation/contract/map_wire_input_to_contract_shape.js +0 -66
- 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/parse_stabilizer_input.d.ts +0 -90
- package/build/core/validation/contract/parse_stabilizer_input.d.ts.map +0 -1
- package/build/core/validation/contract/parse_stabilizer_input.js +0 -28
- package/build/core/validation/contract/parse_stabilizer_output.d.ts +0 -79
- package/build/core/validation/contract/parse_stabilizer_output.d.ts.map +0 -1
- package/build/core/validation/contract/parse_stabilizer_output.js +0 -24
- 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_domain_schema.d.ts +0 -72
- package/build/core/validation/contract/stabilizer_domain_schema.d.ts.map +0 -1
- package/build/core/validation/contract/stabilizer_domain_schema.js +0 -42
- 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_input_schema.d.ts +0 -80
- package/build/core/validation/contract/stabilizer_input_schema.d.ts.map +0 -1
- package/build/core/validation/contract/stabilizer_input_schema.js +0 -11
- 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/stabilizer_output_schema.d.ts +0 -134
- package/build/core/validation/contract/stabilizer_output_schema.d.ts.map +0 -1
- package/build/core/validation/contract/stabilizer_output_schema.js +0 -16
- 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
- package/build/core/validation/contract/wire_mapper_record_utils.d.ts +0 -34
- package/build/core/validation/contract/wire_mapper_record_utils.d.ts.map +0 -1
- package/build/core/validation/contract/wire_mapper_record_utils.js +0 -66
- package/build/core/waypoint/milkrun_wall_reservation.d.ts +0 -24
- package/build/core/waypoint/milkrun_wall_reservation.d.ts.map +0 -1
- package/build/core/waypoint/milkrun_wall_reservation.js +0 -57
- package/build/core/waypoint/milkrun_wall_reservation_helpers.d.ts +0 -15
- package/build/core/waypoint/milkrun_wall_reservation_helpers.d.ts.map +0 -1
- package/build/core/waypoint/milkrun_wall_reservation_helpers.js +0 -48
- package/build/core/waypoint/milkrun_wall_reservation_types.d.ts +0 -16
- package/build/core/waypoint/milkrun_wall_reservation_types.d.ts.map +0 -1
- package/build/core/waypoint/milkrun_wall_reservation_types.js +0 -1
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { StabilizerConfig } from '../../validation/schemas/stabilizer_config_schema.js';
|
|
2
|
-
import type { StabilizerContainer, StabilizerEnv } from '../../validation/
|
|
2
|
+
import type { StabilizerContainer, StabilizerEnv } from '../../validation/schemas/stabilizer_input_schema.js';
|
|
3
3
|
import type { LooseItemRef } from '../../filters/loose_item_filter.js';
|
|
4
4
|
import type { WaypointMode, WaypointZone } from '../../waypoint/WaypointMode.js';
|
|
5
|
-
import type { MilkrunReservedBand } from '../../waypoint/milkrun_wall_reservation.js';
|
|
6
5
|
export interface ReorderContext {
|
|
7
6
|
env: StabilizerEnv;
|
|
8
7
|
containers: StabilizerContainer[];
|
|
@@ -11,7 +10,6 @@ export interface ReorderContext {
|
|
|
11
10
|
config: StabilizerConfig;
|
|
12
11
|
waypoint_mode: WaypointMode;
|
|
13
12
|
waypoint_zones: WaypointZone[];
|
|
14
|
-
milkrun_reserved_z_bands: MilkrunReservedBand[];
|
|
15
13
|
}
|
|
16
14
|
export interface ReorderStrategy {
|
|
17
15
|
run(context: ReorderContext): StabilizerContainer[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReorderStrategy.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/ReorderStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAA;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ReorderStrategy.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/ReorderStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAA;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAA;AAC7G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAEhF,MAAM,WAAW,cAAc;IAE3B,GAAG,EAAE,aAAa,CAAA;IAClB,UAAU,EAAE,mBAAmB,EAAE,CAAA;IACjC,mBAAmB,EAAE,mBAAmB,EAAE,CAAA;IAC1C,WAAW,EAAE,YAAY,EAAE,CAAA;IAC3B,MAAM,EAAE,gBAAgB,CAAA;IACxB,aAAa,EAAE,YAAY,CAAA;IAC3B,cAAc,EAAE,YAAY,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,eAAe;IAE5B,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,mBAAmB,EAAE,CAAA;CACtD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReorderContext, ReorderStrategy } from './ReorderStrategy.js';
|
|
2
|
-
import type { StabilizerContainer } from '../../validation/
|
|
2
|
+
import type { StabilizerContainer } from '../../validation/schemas/stabilizer_input_schema.js';
|
|
3
3
|
/**
|
|
4
4
|
* Simulated annealing reorder with hard gate rejection on invalid neighbors.
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimulatedAnnealingReorder.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/SimulatedAnnealingReorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SimulatedAnnealingReorder.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/SimulatedAnnealingReorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAA;AAyB9F;;GAEG;AACH,qBAAa,yBAA0B,YAAW,eAAe;IAE7D,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,mBAAmB,EAAE;CAqBtD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { apply_move, clone_containers } from '../../move/apply_move.js';
|
|
2
2
|
import { evaluate_trial_layout, evaluation_context_from_reorder } from '../../evaluation/state_evaluator.js';
|
|
3
3
|
import { accept_move, propose_neighbor } from './anneal_helpers.js';
|
|
4
|
-
import { is_search_trial_admissible } from '../../evaluation/is_search_trial_admissible.js';
|
|
5
4
|
/**
|
|
6
5
|
* Simulated annealing reorder with hard gate rejection on invalid neighbors.
|
|
7
6
|
*/
|
|
@@ -11,7 +10,7 @@ export class SimulatedAnnealingReorder {
|
|
|
11
10
|
const state = {
|
|
12
11
|
working: clone_containers(context.containers),
|
|
13
12
|
best: clone_containers(context.containers),
|
|
14
|
-
best_energy:
|
|
13
|
+
best_energy: energy(context.containers, eval_context)
|
|
15
14
|
};
|
|
16
15
|
let temperature = 1.0;
|
|
17
16
|
const cooling_rate = 0.995;
|
|
@@ -38,16 +37,12 @@ function anneal_step(step_context) {
|
|
|
38
37
|
function evaluate_neighbor(step_context, neighbor) {
|
|
39
38
|
const trial = clone_containers(step_context.state.working);
|
|
40
39
|
apply_move(trial, neighbor);
|
|
41
|
-
const working_eval = evaluate_trial_layout(step_context.state.working, step_context.evaluation);
|
|
42
40
|
const evaluation = evaluate_trial_layout(trial, step_context.evaluation);
|
|
43
|
-
if (!
|
|
41
|
+
if (!evaluation.all_gates_pass) {
|
|
44
42
|
return undefined;
|
|
45
43
|
}
|
|
46
|
-
if (!working_eval.axle_valid) {
|
|
47
|
-
return evaluation.axle_excess_kg;
|
|
48
|
-
}
|
|
49
44
|
const trial_energy = -evaluation.objective;
|
|
50
|
-
const delta = trial_energy -
|
|
45
|
+
const delta = trial_energy - energy(step_context.state.working, step_context.evaluation);
|
|
51
46
|
if (!accept_move(delta, step_context.temperature)) {
|
|
52
47
|
return undefined;
|
|
53
48
|
}
|
|
@@ -61,10 +56,6 @@ function apply_accepted_neighbor(step_context, neighbor, trial_energy) {
|
|
|
61
56
|
step_context.state.best = clone_containers(step_context.state.working);
|
|
62
57
|
step_context.state.best_energy = trial_energy;
|
|
63
58
|
}
|
|
64
|
-
function
|
|
65
|
-
|
|
66
|
-
if (!evaluation.axle_valid) {
|
|
67
|
-
return evaluation.axle_excess_kg;
|
|
68
|
-
}
|
|
69
|
-
return -evaluation.objective;
|
|
59
|
+
function energy(containers, eval_context) {
|
|
60
|
+
return -evaluate_trial_layout(containers, eval_context).objective;
|
|
70
61
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReorderContext } from './ReorderStrategy.js';
|
|
2
|
-
import type { StabilizerContainer } from '../../validation/
|
|
2
|
+
import type { StabilizerContainer } from '../../validation/schemas/stabilizer_input_schema.js';
|
|
3
3
|
import type { MoveCandidate } from '../../move/apply_move.js';
|
|
4
4
|
/**
|
|
5
5
|
* Proposes a random valid neighbor move for simulated annealing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anneal_helpers.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/anneal_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"anneal_helpers.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/anneal_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAA;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAI7D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,mBAAmB,EAAE,GAC/B,aAAa,GAAG,SAAS,CAgB3B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAWvE"}
|
|
@@ -35,5 +35,5 @@ export function accept_move(delta, temperature) {
|
|
|
35
35
|
return Math.random() < Math.exp(-delta / temperature);
|
|
36
36
|
}
|
|
37
37
|
function find_container_index(containers, item_id) {
|
|
38
|
-
return containers.findIndex(container => container.items.some(item => item.
|
|
38
|
+
return containers.findIndex(container => container.items.some(item => item._id === item_id));
|
|
39
39
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StabilizerContainer } from '../../validation/
|
|
1
|
+
import type { StabilizerContainer } from '../../validation/schemas/stabilizer_input_schema.js';
|
|
2
2
|
import type { ReorderContext } from './ReorderStrategy.js';
|
|
3
3
|
import type { MoveCandidate } from '../../move/apply_move.js';
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply_if_gates_pass.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/apply_if_gates_pass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"apply_if_gates_pass.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/apply_if_gates_pass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAA;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAO7D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,SAAS,EAAE,aAAa,GACzB,OAAO,CAWT"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReorderContext } from './ReorderStrategy.js';
|
|
2
|
-
import type { StabilizerContainer } from '../../validation/
|
|
2
|
+
import type { StabilizerContainer } from '../../validation/schemas/stabilizer_input_schema.js';
|
|
3
3
|
import type { LooseItemRef } from '../../filters/loose_item_filter.js';
|
|
4
4
|
import type { StateEvaluationContext } from '../../evaluation/evaluation_context.js';
|
|
5
5
|
export interface BeamExpansionContext {
|
|
@@ -12,6 +12,5 @@ export interface BeamExpansionContext {
|
|
|
12
12
|
export interface BeamState {
|
|
13
13
|
containers: StabilizerContainer[];
|
|
14
14
|
objective: number;
|
|
15
|
-
axle_excess_kg: number;
|
|
16
15
|
}
|
|
17
16
|
//# sourceMappingURL=beam_context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beam_context.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/beam_context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"beam_context.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/beam_context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAA;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAEpF,MAAM,WAAW,oBAAoB;IAEjC,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,sBAAsB,CAAA;IAClC,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,KAAK,EAAE,SAAS,CAAA;IAChB,KAAK,EAAE,YAAY,CAAA;CACtB;AAED,MAAM,WAAW,SAAS;IAEtB,UAAU,EAAE,mBAAmB,EAAE,CAAA;IACjC,SAAS,EAAE,MAAM,CAAA;CACpB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MoveCandidate } from '../../../move/apply_move.js';
|
|
2
2
|
import type { ReorderContext } from '../ReorderStrategy.js';
|
|
3
|
-
import type { StabilizerContainer } from '../../../validation/
|
|
3
|
+
import type { StabilizerContainer } from '../../../validation/schemas/stabilizer_input_schema.js';
|
|
4
4
|
export interface ChromosomeGene {
|
|
5
5
|
item_id: string;
|
|
6
6
|
candidate: MoveCandidate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chromosome.d.ts","sourceRoot":"","sources":["../../../../../src/core/strategies/reorder/genetic/Chromosome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Chromosome.d.ts","sourceRoot":"","sources":["../../../../../src/core/strategies/reorder/genetic/Chromosome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAA;AAEjG,MAAM,WAAW,cAAc;IAE3B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,aAAa,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAE5B,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,MAAM,GACxB,eAAe,EAAE,CAQnB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,eAAe,CAMlG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,MAAM,GACtB,IAAI,CAeN;AAsBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,QAAQ,EAAE,eAAe,GAC1B,mBAAmB,EAAE,CAgBvB"}
|
|
@@ -61,7 +61,7 @@ function build_identity_candidate(loose) {
|
|
|
61
61
|
export function materialize_organism(baseline, organism) {
|
|
62
62
|
const working = structuredClone(baseline);
|
|
63
63
|
for (const gene of organism.genes) {
|
|
64
|
-
const source_index = working.findIndex(container => container.items.some(item => item.
|
|
64
|
+
const source_index = working.findIndex(container => container.items.some(item => item._id === gene.item_id));
|
|
65
65
|
if (source_index < 0) {
|
|
66
66
|
continue;
|
|
67
67
|
}
|
|
@@ -72,7 +72,7 @@ export function materialize_organism(baseline, organism) {
|
|
|
72
72
|
}
|
|
73
73
|
function apply_gene(containers, candidate) {
|
|
74
74
|
const source = containers[candidate.source_container_index];
|
|
75
|
-
const item_index = source.items.findIndex(item => item.
|
|
75
|
+
const item_index = source.items.findIndex(item => item._id === candidate.item_id);
|
|
76
76
|
if (item_index < 0) {
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReorderContext } from './ReorderStrategy.js';
|
|
2
|
-
import type { StabilizerContainer } from '../../validation/
|
|
2
|
+
import type { StabilizerContainer } from '../../validation/schemas/stabilizer_input_schema.js';
|
|
3
3
|
import type { StateEvaluationContext } from '../../evaluation/evaluation_context.js';
|
|
4
4
|
/**
|
|
5
5
|
* Attempts one greedy improvement on the worst loose item.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"greedy_improvement.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/greedy_improvement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"greedy_improvement.d.ts","sourceRoot":"","sources":["../../../../src/core/strategies/reorder/greedy_improvement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAA;AAE9F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAepF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,YAAY,EAAE,sBAAsB,GACrC,OAAO,CAiBT"}
|
|
@@ -2,7 +2,6 @@ import { generate_candidates } from '../../candidates/candidate_generator.js';
|
|
|
2
2
|
import { candidate_context_for_loose } from '../../candidates/build_candidate_context.js';
|
|
3
3
|
import { apply_move, clone_containers } from '../../move/apply_move.js';
|
|
4
4
|
import { evaluate_trial_layout } from '../../evaluation/state_evaluator.js';
|
|
5
|
-
import { is_improving_greedy_trial } from './is_improving_greedy_trial.js';
|
|
6
5
|
/**
|
|
7
6
|
* Attempts one greedy improvement on the worst loose item.
|
|
8
7
|
* @param context - Reorder context.
|
|
@@ -22,7 +21,7 @@ export function improve_worst_loose(context, working, eval_context) {
|
|
|
22
21
|
working,
|
|
23
22
|
evaluation: eval_context,
|
|
24
23
|
loose: worst,
|
|
25
|
-
|
|
24
|
+
baseline_objective: current_eval.objective
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
27
|
function try_candidate_moves(move_context) {
|
|
@@ -38,7 +37,7 @@ function apply_improving_candidate(move_context, candidate) {
|
|
|
38
37
|
const trial = clone_containers(move_context.working);
|
|
39
38
|
apply_move(trial, candidate);
|
|
40
39
|
const trial_eval = evaluate_trial_layout(trial, move_context.evaluation);
|
|
41
|
-
if (!
|
|
40
|
+
if (!trial_eval.all_gates_pass || trial_eval.objective <= move_context.baseline_objective) {
|
|
42
41
|
return false;
|
|
43
42
|
}
|
|
44
43
|
apply_move(move_context.working, candidate);
|
|
@@ -50,7 +49,7 @@ function find_worst_loose(context, containers, item_scores) {
|
|
|
50
49
|
let worst_score = Number.POSITIVE_INFINITY;
|
|
51
50
|
for (const loose of context.loose_items) {
|
|
52
51
|
const item_index = containers[loose.container_index].items
|
|
53
|
-
.findIndex(item => item.
|
|
52
|
+
.findIndex(item => item._id === loose.item_id);
|
|
54
53
|
const score = item_scores[loose.container_index]?.[item_index] ?? 0;
|
|
55
54
|
if (score < worst_score) {
|
|
56
55
|
worst_score = score;
|
|
@@ -60,5 +59,5 @@ function find_worst_loose(context, containers, item_scores) {
|
|
|
60
59
|
return worst;
|
|
61
60
|
}
|
|
62
61
|
function find_container_index(containers, item_id) {
|
|
63
|
-
return containers.findIndex(container => container.items.some(item => item.
|
|
62
|
+
return containers.findIndex(container => container.items.some(item => item._id === item_id));
|
|
64
63
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type StabilizerInput } from './schemas/stabilizer_input_schema.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parses stabilizer input at the public boundary.
|
|
4
|
+
* @param input_data - Unknown wire payload.
|
|
5
|
+
* @returns Validated stabilizer input.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parse_stabilizer_input(input_data: unknown): StabilizerInput;
|
|
8
|
+
//# sourceMappingURL=parse_stabilizer_input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse_stabilizer_input.d.ts","sourceRoot":"","sources":["../../../src/core/validation/parse_stabilizer_input.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAEpG;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,OAAO,GAAG,eAAe,CAS3E"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { InvalidStabilizerInputError } from '../exceptions/InvalidStabilizerInputError.js';
|
|
2
|
+
import { stabilizer_input_schema } from './schemas/stabilizer_input_schema.js';
|
|
3
|
+
/**
|
|
4
|
+
* Parses stabilizer input at the public boundary.
|
|
5
|
+
* @param input_data - Unknown wire payload.
|
|
6
|
+
* @returns Validated stabilizer input.
|
|
7
|
+
*/
|
|
8
|
+
export function parse_stabilizer_input(input_data) {
|
|
9
|
+
const result = stabilizer_input_schema.safeParse(input_data);
|
|
10
|
+
if (!result.success) {
|
|
11
|
+
throw new InvalidStabilizerInputError(format_zod_error(result.error));
|
|
12
|
+
}
|
|
13
|
+
return result.data;
|
|
14
|
+
}
|
|
15
|
+
function format_zod_error(error) {
|
|
16
|
+
return error.issues.map(issue => {
|
|
17
|
+
const path = issue.path.length > 0 ? issue.path.join('.') : '(root)';
|
|
18
|
+
return `${path}: ${issue.message}`;
|
|
19
|
+
}).join('; ');
|
|
20
|
+
}
|
|
@@ -10,11 +10,7 @@ export declare const stabilizer_config_schema: z.ZodObject<{
|
|
|
10
10
|
genetic_mutation_rate: z.ZodDefault<z.ZodNumber>;
|
|
11
11
|
beam_width: z.ZodDefault<z.ZodNumber>;
|
|
12
12
|
beam_top_k: z.ZodDefault<z.ZodNumber>;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
pin_tie_ratio_blocks: z.ZodDefault<z.ZodBoolean>;
|
|
16
|
-
enforce_milkrun_wall_reservation: z.ZodDefault<z.ZodBoolean>;
|
|
17
|
-
number_of_wall_to_allocate_from_last_waypoints: z.ZodDefault<z.ZodNumber>;
|
|
18
|
-
}, z.core.$strict>;
|
|
13
|
+
folga_de_peso_nos_eixos: z.ZodDefault<z.ZodNumber>;
|
|
14
|
+
}, z.core.$strip>;
|
|
19
15
|
export type StabilizerConfig = z.infer<typeof stabilizer_config_schema>;
|
|
20
16
|
//# 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;;;;;;;;;;;;iBAUnC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
|
|
@@ -9,9 +9,5 @@ export const stabilizer_config_schema = z.object({
|
|
|
9
9
|
genetic_mutation_rate: z.number().min(0).max(1).default(0.15),
|
|
10
10
|
beam_width: z.number().int().positive().default(5),
|
|
11
11
|
beam_top_k: z.number().int().positive().default(3),
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
pin_tie_ratio_blocks: z.boolean().default(false),
|
|
15
|
-
enforce_milkrun_wall_reservation: z.boolean().default(false),
|
|
16
|
-
number_of_wall_to_allocate_from_last_waypoints: z.number().int().min(0).default(0)
|
|
17
|
-
}).strict();
|
|
12
|
+
folga_de_peso_nos_eixos: z.number().min(0).default(0)
|
|
13
|
+
});
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const stabilizer_item_schema: z.ZodObject<{
|
|
3
|
+
_id: z.ZodString;
|
|
4
|
+
groupId: 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
|
+
w: z.ZodNumber;
|
|
10
|
+
h: z.ZodNumber;
|
|
11
|
+
d: z.ZodNumber;
|
|
12
|
+
peso: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
}, z.core.$loose>;
|
|
14
|
+
export declare const stabilizer_container_schema: z.ZodObject<{
|
|
15
|
+
sequencia: z.ZodOptional<z.ZodNumber>;
|
|
16
|
+
largura: z.ZodNumber;
|
|
17
|
+
altura: z.ZodNumber;
|
|
18
|
+
comprimento: z.ZodNumber;
|
|
19
|
+
items: z.ZodArray<z.ZodObject<{
|
|
20
|
+
_id: z.ZodString;
|
|
21
|
+
groupId: 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
|
+
w: z.ZodNumber;
|
|
27
|
+
h: z.ZodNumber;
|
|
28
|
+
d: z.ZodNumber;
|
|
29
|
+
peso: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
}, z.core.$loose>>;
|
|
31
|
+
}, z.core.$loose>;
|
|
32
|
+
export declare const stabilizer_env_schema: z.ZodObject<{
|
|
33
|
+
containers: z.ZodArray<z.ZodObject<{
|
|
34
|
+
sequencia: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
largura: z.ZodNumber;
|
|
36
|
+
altura: z.ZodNumber;
|
|
37
|
+
comprimento: z.ZodNumber;
|
|
38
|
+
items: z.ZodArray<z.ZodObject<{
|
|
39
|
+
_id: z.ZodString;
|
|
40
|
+
groupId: 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
|
+
w: z.ZodNumber;
|
|
46
|
+
h: z.ZodNumber;
|
|
47
|
+
d: z.ZodNumber;
|
|
48
|
+
peso: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
}, z.core.$loose>>;
|
|
50
|
+
}, z.core.$loose>>;
|
|
51
|
+
eixos: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
52
|
+
}, z.core.$loose>;
|
|
53
|
+
export declare const stabilizer_cargo_state_schema: z.ZodObject<{
|
|
54
|
+
envs: z.ZodArray<z.ZodObject<{
|
|
55
|
+
containers: z.ZodArray<z.ZodObject<{
|
|
56
|
+
sequencia: z.ZodOptional<z.ZodNumber>;
|
|
57
|
+
largura: z.ZodNumber;
|
|
58
|
+
altura: z.ZodNumber;
|
|
59
|
+
comprimento: z.ZodNumber;
|
|
60
|
+
items: z.ZodArray<z.ZodObject<{
|
|
61
|
+
_id: z.ZodString;
|
|
62
|
+
groupId: 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
|
+
w: z.ZodNumber;
|
|
68
|
+
h: z.ZodNumber;
|
|
69
|
+
d: z.ZodNumber;
|
|
70
|
+
peso: z.ZodOptional<z.ZodNumber>;
|
|
71
|
+
}, z.core.$loose>>;
|
|
72
|
+
}, z.core.$loose>>;
|
|
73
|
+
eixos: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
74
|
+
}, z.core.$loose>>;
|
|
75
|
+
}, z.core.$loose>;
|
|
76
|
+
export declare const stabilizer_input_schema: z.ZodObject<{
|
|
77
|
+
id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
78
|
+
company: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
79
|
+
cargo_state: z.ZodObject<{
|
|
80
|
+
envs: z.ZodArray<z.ZodObject<{
|
|
81
|
+
containers: z.ZodArray<z.ZodObject<{
|
|
82
|
+
sequencia: z.ZodOptional<z.ZodNumber>;
|
|
83
|
+
largura: z.ZodNumber;
|
|
84
|
+
altura: z.ZodNumber;
|
|
85
|
+
comprimento: z.ZodNumber;
|
|
86
|
+
items: z.ZodArray<z.ZodObject<{
|
|
87
|
+
_id: z.ZodString;
|
|
88
|
+
groupId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
|
|
89
|
+
waypoint_id: z.ZodOptional<z.ZodString>;
|
|
90
|
+
x: z.ZodNumber;
|
|
91
|
+
y: z.ZodNumber;
|
|
92
|
+
z: z.ZodNumber;
|
|
93
|
+
w: z.ZodNumber;
|
|
94
|
+
h: z.ZodNumber;
|
|
95
|
+
d: z.ZodNumber;
|
|
96
|
+
peso: z.ZodOptional<z.ZodNumber>;
|
|
97
|
+
}, z.core.$loose>>;
|
|
98
|
+
}, z.core.$loose>>;
|
|
99
|
+
eixos: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
100
|
+
}, z.core.$loose>>;
|
|
101
|
+
}, z.core.$loose>;
|
|
102
|
+
original_input: z.ZodOptional<z.ZodUnknown>;
|
|
103
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
104
|
+
}, z.core.$loose>;
|
|
105
|
+
export type StabilizerItem = z.infer<typeof stabilizer_item_schema>;
|
|
106
|
+
export type StabilizerContainer = z.infer<typeof stabilizer_container_schema>;
|
|
107
|
+
export type StabilizerEnv = z.infer<typeof stabilizer_env_schema>;
|
|
108
|
+
export type StabilizerCargoState = z.infer<typeof stabilizer_cargo_state_schema>;
|
|
109
|
+
export type StabilizerInput = z.infer<typeof stabilizer_input_schema>;
|
|
110
|
+
//# sourceMappingURL=stabilizer_input_schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stabilizer_input_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/schemas/stabilizer_input_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAWnB,CAAA;AAEhB,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;iBAMxB,CAAA;AAEhB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;iBAGlB,CAAA;AAEhB,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;iBAE1B,CAAA;AAEhB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMpB,CAAA;AAEhB,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;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const stabilizer_item_schema = z.object({
|
|
3
|
+
_id: z.string().min(1),
|
|
4
|
+
groupId: 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
|
+
w: z.number().positive(),
|
|
10
|
+
h: z.number().positive(),
|
|
11
|
+
d: z.number().positive(),
|
|
12
|
+
peso: z.number().optional()
|
|
13
|
+
}).passthrough();
|
|
14
|
+
export const stabilizer_container_schema = z.object({
|
|
15
|
+
sequencia: z.number().optional(),
|
|
16
|
+
largura: z.number().positive(),
|
|
17
|
+
altura: z.number().positive(),
|
|
18
|
+
comprimento: z.number().positive(),
|
|
19
|
+
items: z.array(stabilizer_item_schema)
|
|
20
|
+
}).passthrough();
|
|
21
|
+
export const stabilizer_env_schema = z.object({
|
|
22
|
+
containers: z.array(stabilizer_container_schema).min(1),
|
|
23
|
+
eixos: z.array(z.record(z.string(), z.unknown())).optional()
|
|
24
|
+
}).passthrough();
|
|
25
|
+
export const stabilizer_cargo_state_schema = z.object({
|
|
26
|
+
envs: z.array(stabilizer_env_schema).min(1)
|
|
27
|
+
}).passthrough();
|
|
28
|
+
export const stabilizer_input_schema = z.object({
|
|
29
|
+
id: z.union([z.string(), z.number()]).optional(),
|
|
30
|
+
company: z.union([z.string(), z.number()]).optional(),
|
|
31
|
+
cargo_state: stabilizer_cargo_state_schema,
|
|
32
|
+
original_input: z.unknown().optional(),
|
|
33
|
+
config: z.record(z.string(), z.unknown()).optional()
|
|
34
|
+
}).passthrough();
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { stabilizer_cargo_state_schema } from './stabilizer_input_schema.js';
|
|
3
|
+
export declare const stabilizer_response_schema: z.ZodObject<{
|
|
4
|
+
status: z.ZodEnum<{
|
|
5
|
+
error: "error";
|
|
6
|
+
success: "success";
|
|
7
|
+
}>;
|
|
8
|
+
data: z.ZodUnknown;
|
|
9
|
+
messages: z.ZodArray<z.ZodString>;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export type StabilizerResponse = z.infer<typeof stabilizer_response_schema>;
|
|
12
|
+
export type StabilizerSuccessData = z.infer<typeof stabilizer_cargo_state_schema>;
|
|
13
|
+
//# sourceMappingURL=stabilizer_output_schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stabilizer_output_schema.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/schemas/stabilizer_output_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAA;AAE5E,eAAO,MAAM,0BAA0B;;;;;;;iBAIrC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAC3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StabilizerContainer, StabilizerItem } from '../validation/
|
|
1
|
+
import type { StabilizerContainer, StabilizerItem } from '../validation/schemas/stabilizer_input_schema.js';
|
|
2
2
|
import type { WaypointMode, WaypointZone } from './WaypointMode.js';
|
|
3
3
|
/**
|
|
4
4
|
* Builds Z zones per waypoint per container from item extents.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build_waypoint_zones.d.ts","sourceRoot":"","sources":["../../../src/core/waypoint/build_waypoint_zones.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"build_waypoint_zones.d.ts","sourceRoot":"","sources":["../../../src/core/waypoint/build_waypoint_zones.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGnE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,UAAU,EAAE,mBAAmB,EAAE,EACjC,IAAI,EAAE,YAAY,GACnB,YAAY,EAAE,CAmBhB;AAmCD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAGT"}
|
|
@@ -29,7 +29,7 @@ function group_items_by_waypoint(items, mode) {
|
|
|
29
29
|
return groups;
|
|
30
30
|
}
|
|
31
31
|
function build_zone(waypoint_id, container_index, items) {
|
|
32
|
-
const z_values = items.flatMap(item => [item.z, item.z + item.
|
|
32
|
+
const z_values = items.flatMap(item => [item.z, item.z + item.d]);
|
|
33
33
|
return {
|
|
34
34
|
waypoint_id,
|
|
35
35
|
container_index,
|
|
@@ -44,5 +44,5 @@ function build_zone(waypoint_id, container_index, items) {
|
|
|
44
44
|
* @returns True when item fits inside zone on Z axis.
|
|
45
45
|
*/
|
|
46
46
|
export function is_position_in_zone(zone, item, position) {
|
|
47
|
-
return position.z >= zone.z_min && position.z + item.
|
|
47
|
+
return position.z >= zone.z_min && position.z + item.d <= zone.z_max;
|
|
48
48
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StabilizerContainer } from '../validation/
|
|
1
|
+
import type { StabilizerContainer } from '../validation/schemas/stabilizer_input_schema.js';
|
|
2
2
|
import type { WaypointMode } from './WaypointMode.js';
|
|
3
3
|
/**
|
|
4
4
|
* Builds macro waypoint order vector along Z for one container.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preserves_waypoint_order.d.ts","sourceRoot":"","sources":["../../../src/core/waypoint/preserves_waypoint_order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"preserves_waypoint_order.d.ts","sourceRoot":"","sources":["../../../src/core/waypoint/preserves_waypoint_order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAA;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE,YAAY,GACnB,MAAM,EAAE,CAeV;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAQxE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,KAAK,EAAE,mBAAmB,EAAE,EAC5B,IAAI,EAAE,YAAY,GACnB,OAAO,CAkBT"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StabilizerItem } from '../validation/
|
|
1
|
+
import type { StabilizerItem } from '../validation/schemas/stabilizer_input_schema.js';
|
|
2
2
|
import type { WaypointMode } from './WaypointMode.js';
|
|
3
3
|
/**
|
|
4
4
|
* Validates waypoint_id consistency across all items in an env.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate_waypoint_ids.d.ts","sourceRoot":"","sources":["../../../src/core/waypoint/validate_waypoint_ids.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"validate_waypoint_ids.d.ts","sourceRoot":"","sources":["../../../src/core/waypoint/validate_waypoint_ids.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,YAAY,CAgB3E;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAQzF"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,25 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { StabilizerInput } from './core/validation/schemas/stabilizer_input_schema.js';
|
|
2
|
+
import type { StabilizerResponse } from './core/validation/schemas/stabilizer_output_schema.js';
|
|
2
3
|
export { REORDER_STRATEGY, REORDER_STRATEGY_VALUES } from './core/constants/ReorderStrategy.js';
|
|
3
4
|
export type { ReorderStrategyValue } from './core/constants/ReorderStrategy.js';
|
|
4
5
|
export { MixedWaypointIdError } from './core/exceptions/MixedWaypointIdError.js';
|
|
5
6
|
export { UnknownReorderStrategyError } from './core/exceptions/UnknownReorderStrategyError.js';
|
|
6
7
|
export { InvalidStabilizerInputError } from './core/exceptions/InvalidStabilizerInputError.js';
|
|
7
|
-
export {
|
|
8
|
-
export type { StabilizerInput, StabilizerResponse, StabilizerSuccessResponse, StabilizerErrorResponse, StabilizerItem, StabilizerContainer, StabilizerEnv, StabilizerCargoState } from './core/validation/contract/index.js';
|
|
9
|
-
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;
|
|
8
|
+
export type { StabilizerInput, StabilizerResponse };
|
|
11
9
|
/**
|
|
12
|
-
*
|
|
13
|
-
* @param input -
|
|
14
|
-
* @returns Success or error response with
|
|
10
|
+
* Stabilizes cargo by reordering loose items (legacy CM-compatible response).
|
|
11
|
+
* @param input - Stabilizer input matching cargo-movement wire shape.
|
|
12
|
+
* @returns Success or error response with messages array.
|
|
15
13
|
*/
|
|
16
|
-
export declare function stabilize(input:
|
|
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;
|
|
14
|
+
export declare function stabilize(input: StabilizerInput): Promise<StabilizerResponse>;
|
|
23
15
|
export { run_stabilizer_flow_from_unknown } from './core/orchestration/StabilizerFlow.js';
|
|
24
16
|
export { create_reorder_strategy } from './core/factory/strategy_factory.js';
|
|
25
17
|
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":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAA;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAA;AAE/F,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,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAA;AAKnD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAMnF;AA0CD,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA"}
|