@jetta/axle-load-calculator 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/README.md +4 -1
  2. package/build/core/contracts/{chassi_reference.d.ts → ChassiReference.d.ts} +1 -1
  3. package/build/core/contracts/ChassiReference.d.ts.map +1 -0
  4. package/build/core/contracts/{ms_faixas_contract.d.ts → MsFaixasContract.d.ts} +2 -2
  5. package/build/core/contracts/MsFaixasContract.d.ts.map +1 -0
  6. package/build/core/contracts/{ms_faixas_contract.js → MsFaixasContract.js} +3 -3
  7. package/build/core/contracts/{rotation_enum.d.ts → RotationEnum.d.ts} +1 -1
  8. package/build/core/contracts/RotationEnum.d.ts.map +1 -0
  9. package/build/core/contracts/{suspension_type.d.ts → SuspensionType.d.ts} +1 -1
  10. package/build/core/contracts/SuspensionType.d.ts.map +1 -0
  11. package/build/core/contracts/{transport_record.d.ts → TransportRecord.d.ts} +1 -1
  12. package/build/core/contracts/TransportRecord.d.ts.map +1 -0
  13. package/build/core/contracts/{vehicle_type.d.ts → VehicleType.d.ts} +1 -1
  14. package/build/core/contracts/VehicleType.d.ts.map +1 -0
  15. package/build/core/contracts/{vehicle_version.d.ts → VehicleVersion.d.ts} +1 -1
  16. package/build/core/contracts/VehicleVersion.d.ts.map +1 -0
  17. package/build/core/contracts/{wire_flags.d.ts → WireFlags.d.ts} +1 -1
  18. package/build/core/contracts/WireFlags.d.ts.map +1 -0
  19. package/build/core/math/{float_tools.d.ts → FloatTools.d.ts} +1 -1
  20. package/build/core/math/FloatTools.d.ts.map +1 -0
  21. package/build/core/math/{gaussian_elimination.d.ts → GaussianElimination.d.ts} +1 -1
  22. package/build/core/math/GaussianElimination.d.ts.map +1 -0
  23. package/build/core/orchestration/{axle_weight_physics.d.ts → AxleWeightPhysics.d.ts} +1 -1
  24. package/build/core/orchestration/AxleWeightPhysics.d.ts.map +1 -0
  25. package/build/core/orchestration/{axle_weight_physics.js → AxleWeightPhysics.js} +3 -3
  26. package/build/core/orchestration/{collision_checker.d.ts → CollisionChecker.d.ts} +1 -1
  27. package/build/core/orchestration/CollisionChecker.d.ts.map +1 -0
  28. package/build/core/orchestration/{collision_checker.js → CollisionChecker.js} +3 -1
  29. package/build/core/orchestration/{connector_payload_builder.d.ts → ConnectorPayloadBuilder.d.ts} +1 -1
  30. package/build/core/orchestration/ConnectorPayloadBuilder.d.ts.map +1 -0
  31. package/build/core/orchestration/{connector_payload_builder.js → ConnectorPayloadBuilder.js} +27 -13
  32. package/build/core/orchestration/ItemOverlapError.d.ts +9 -0
  33. package/build/core/orchestration/ItemOverlapError.d.ts.map +1 -0
  34. package/build/core/orchestration/ItemOverlapError.js +11 -0
  35. package/build/core/orchestration/{java_mass_center.d.ts → JavaMassCenter.d.ts} +2 -2
  36. package/build/core/orchestration/JavaMassCenter.d.ts.map +1 -0
  37. package/build/core/orchestration/{java_mass_center.js → JavaMassCenter.js} +1 -1
  38. package/build/core/orchestration/{output_builder.d.ts → OutputBuilder.d.ts} +1 -1
  39. package/build/core/orchestration/OutputBuilder.d.ts.map +1 -0
  40. package/build/core/orchestration/{request_schema.d.ts → RequestSchema.d.ts} +8 -1
  41. package/build/core/orchestration/RequestSchema.d.ts.map +1 -0
  42. package/build/core/orchestration/RequestSchema.js +41 -0
  43. package/build/core/orchestration/WeightByAxisTask.d.ts +8 -0
  44. package/build/core/orchestration/WeightByAxisTask.d.ts.map +1 -0
  45. package/build/core/orchestration/{weight_by_axis_task.js → WeightByAxisTask.js} +10 -8
  46. package/build/core/physics/items/{allocated_item.d.ts → AllocatedItem.d.ts} +3 -3
  47. package/build/core/physics/items/AllocatedItem.d.ts.map +1 -0
  48. package/build/core/physics/items/{allocated_item.js → AllocatedItem.js} +1 -1
  49. package/build/core/physics/items/{allocated_item_manager.d.ts → AllocatedItemManager.d.ts} +3 -3
  50. package/build/core/physics/items/AllocatedItemManager.d.ts.map +1 -0
  51. package/build/core/physics/items/BindChassiSolver.d.ts +12 -0
  52. package/build/core/physics/items/BindChassiSolver.d.ts.map +1 -0
  53. package/build/core/physics/items/BindChassiSolver.js +10 -0
  54. package/build/core/physics/items/{center_of_mass.d.ts → CenterOfMass.d.ts} +2 -2
  55. package/build/core/physics/items/CenterOfMass.d.ts.map +1 -0
  56. package/build/core/physics/items/{compute_grouper_center_of_mass.d.ts → ComputeGrouperCenterOfMass.d.ts} +6 -6
  57. package/build/core/physics/items/ComputeGrouperCenterOfMass.d.ts.map +1 -0
  58. package/build/core/physics/items/{compute_grouper_center_of_mass.js → ComputeGrouperCenterOfMass.js} +2 -2
  59. package/build/core/physics/items/{item_templates.d.ts → ItemTemplates.d.ts} +2 -2
  60. package/build/core/physics/items/ItemTemplates.d.ts.map +1 -0
  61. package/build/core/physics/items/{item_templates.js → ItemTemplates.js} +4 -3
  62. package/build/core/physics/items/{multi_container_allocated_items.d.ts → MultiContainerAllocatedItems.d.ts} +4 -4
  63. package/build/core/physics/items/MultiContainerAllocatedItems.d.ts.map +1 -0
  64. package/build/core/physics/items/{multi_container_allocated_items.js → MultiContainerAllocatedItems.js} +2 -2
  65. package/build/core/physics/items/{rotation_transforms.d.ts → RotationTransforms.d.ts} +2 -2
  66. package/build/core/physics/items/RotationTransforms.d.ts.map +1 -0
  67. package/build/core/physics/items/{rotation_transforms.js → RotationTransforms.js} +1 -1
  68. package/build/core/physics/items/UnknownItemIdError.d.ts +10 -0
  69. package/build/core/physics/items/UnknownItemIdError.d.ts.map +1 -0
  70. package/build/core/physics/items/UnknownItemIdError.js +12 -0
  71. package/build/core/physics/models/{axle_weight_model.d.ts → AxleWeightModel.d.ts} +6 -6
  72. package/build/core/physics/models/AxleWeightModel.d.ts.map +1 -0
  73. package/build/core/physics/models/{axle_weight_model.js → AxleWeightModel.js} +11 -10
  74. package/build/core/physics/models/{bi_truck_model.d.ts → BiTruckModel.d.ts} +5 -5
  75. package/build/core/physics/models/BiTruckModel.d.ts.map +1 -0
  76. package/build/core/physics/models/{bi_truck_model.js → BiTruckModel.js} +5 -5
  77. package/build/core/physics/models/{bi_truck_tractor_semi_trailer_model.d.ts → BiTruckTractorSemiTrailerModel.d.ts} +5 -5
  78. package/build/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts.map +1 -0
  79. package/build/core/physics/models/{bi_truck_tractor_semi_trailer_model.js → BiTruckTractorSemiTrailerModel.js} +5 -5
  80. package/build/core/physics/models/{bitrem_model.d.ts → BitremModel.d.ts} +6 -6
  81. package/build/core/physics/models/BitremModel.d.ts.map +1 -0
  82. package/build/core/physics/models/{bitrem_model.js → BitremModel.js} +7 -6
  83. package/build/core/physics/models/{chassi_forces.d.ts → ChassiForces.d.ts} +1 -1
  84. package/build/core/physics/models/ChassiForces.d.ts.map +1 -0
  85. package/build/core/physics/models/{old_tare_model.d.ts → OldTareModel.d.ts} +2 -2
  86. package/build/core/physics/models/OldTareModel.d.ts.map +1 -0
  87. package/build/core/physics/models/{old_tare_model.js → OldTareModel.js} +5 -5
  88. package/build/core/physics/models/{old_tare_scale.d.ts → OldTareScale.d.ts} +1 -1
  89. package/build/core/physics/models/OldTareScale.d.ts.map +1 -0
  90. package/build/core/physics/models/{old_tare_semireboque.d.ts → OldTareSemireboque.d.ts} +2 -2
  91. package/build/core/physics/models/OldTareSemireboque.d.ts.map +1 -0
  92. package/build/core/physics/models/{old_tare_semireboque.js → OldTareSemireboque.js} +2 -2
  93. package/build/core/physics/models/{old_tare_truck.d.ts → OldTareTruck.d.ts} +2 -2
  94. package/build/core/physics/models/OldTareTruck.d.ts.map +1 -0
  95. package/build/core/physics/models/{old_tare_truck.js → OldTareTruck.js} +2 -2
  96. package/build/core/physics/models/{old_tare_vanderleia.d.ts → OldTareVanderleia.d.ts} +2 -2
  97. package/build/core/physics/models/OldTareVanderleia.d.ts.map +1 -0
  98. package/build/core/physics/models/{old_tare_vanderleia.js → OldTareVanderleia.js} +1 -1
  99. package/build/core/physics/models/{percentage_on_axles_calculator.d.ts → PercentageOnAxlesCalculator.d.ts} +2 -2
  100. package/build/core/physics/models/PercentageOnAxlesCalculator.d.ts.map +1 -0
  101. package/build/core/physics/models/{percentage_on_axles_calculator.js → PercentageOnAxlesCalculator.js} +1 -1
  102. package/build/core/physics/models/{quad_semi_trailer_model.d.ts → QuadSemiTrailerModel.d.ts} +5 -5
  103. package/build/core/physics/models/QuadSemiTrailerModel.d.ts.map +1 -0
  104. package/build/core/physics/models/{quad_semi_trailer_model.js → QuadSemiTrailerModel.js} +5 -5
  105. package/build/core/physics/models/{rodotrem_model.d.ts → RodotremModel.d.ts} +6 -6
  106. package/build/core/physics/models/RodotremModel.d.ts.map +1 -0
  107. package/build/core/physics/models/{rodotrem_model.js → RodotremModel.js} +7 -6
  108. package/build/core/physics/models/SemiDelegate.d.ts +9 -0
  109. package/build/core/physics/models/SemiDelegate.d.ts.map +1 -0
  110. package/build/core/physics/models/SemiDelegate.js +1 -0
  111. package/build/core/physics/models/{semi_reboque_base.d.ts → SemiReboqueBase.d.ts} +4 -4
  112. package/build/core/physics/models/SemiReboqueBase.d.ts.map +1 -0
  113. package/build/core/physics/models/{semi_reboque_base.js → SemiReboqueBase.js} +4 -4
  114. package/build/core/physics/models/{semi_reboque_model.d.ts → SemiReboqueModel.d.ts} +5 -5
  115. package/build/core/physics/models/SemiReboqueModel.d.ts.map +1 -0
  116. package/build/core/physics/models/{semi_reboque_model.js → SemiReboqueModel.js} +8 -7
  117. package/build/core/physics/models/{simple_truck_base.d.ts → SimpleTruckBase.d.ts} +4 -4
  118. package/build/core/physics/models/SimpleTruckBase.d.ts.map +1 -0
  119. package/build/core/physics/models/{simple_truck_base.js → SimpleTruckBase.js} +3 -3
  120. package/build/core/physics/models/{simple_truck_model.d.ts → SimpleTruckModel.d.ts} +5 -5
  121. package/build/core/physics/models/SimpleTruckModel.d.ts.map +1 -0
  122. package/build/core/physics/models/{simple_truck_model.js → SimpleTruckModel.js} +7 -6
  123. package/build/core/physics/models/{single_container_tare.d.ts → SingleContainerTare.d.ts} +2 -2
  124. package/build/core/physics/models/SingleContainerTare.d.ts.map +1 -0
  125. package/build/core/physics/models/{single_container_tare.js → SingleContainerTare.js} +2 -2
  126. package/build/core/physics/models/{tare_model.d.ts → TareModel.d.ts} +2 -2
  127. package/build/core/physics/models/TareModel.d.ts.map +1 -0
  128. package/build/core/physics/models/{tare_model.js → TareModel.js} +3 -3
  129. package/build/core/physics/models/TruckDelegate.d.ts +9 -0
  130. package/build/core/physics/models/TruckDelegate.d.ts.map +1 -0
  131. package/build/core/physics/models/TruckDelegate.js +1 -0
  132. package/build/core/physics/models/UnrecognizedSuspensionTypeError.d.ts +10 -0
  133. package/build/core/physics/models/UnrecognizedSuspensionTypeError.d.ts.map +1 -0
  134. package/build/core/physics/models/UnrecognizedSuspensionTypeError.js +12 -0
  135. package/build/core/physics/models/UnsupportedVehicleTypeError.d.ts +10 -0
  136. package/build/core/physics/models/UnsupportedVehicleTypeError.d.ts.map +1 -0
  137. package/build/core/physics/models/UnsupportedVehicleTypeError.js +12 -0
  138. package/build/core/physics/models/{vanderleia_model.d.ts → VanderleiaModel.d.ts} +6 -6
  139. package/build/core/physics/models/VanderleiaModel.d.ts.map +1 -0
  140. package/build/core/physics/models/{vanderleia_model.js → VanderleiaModel.js} +10 -8
  141. package/build/core/physics/models/VehicleModel.d.ts +11 -0
  142. package/build/core/physics/models/VehicleModel.d.ts.map +1 -0
  143. package/build/core/physics/models/VehicleModel.js +1 -0
  144. package/build/core/physics/models/deflection/{beam_deflection.d.ts → BeamDeflection.d.ts} +2 -2
  145. package/build/core/physics/models/deflection/BeamDeflection.d.ts.map +1 -0
  146. package/build/core/physics/models/deflection/{beam_deflection.js → BeamDeflection.js} +2 -2
  147. package/build/core/physics/models/deflection/{bitrem_deflection.d.ts → BitremDeflection.d.ts} +3 -3
  148. package/build/core/physics/models/deflection/BitremDeflection.d.ts.map +1 -0
  149. package/build/core/physics/models/deflection/{bitrem_deflection.js → BitremDeflection.js} +3 -3
  150. package/build/core/physics/models/deflection/{create_deflection_delegate.d.ts → CreateDeflectionDelegate.d.ts} +3 -6
  151. package/build/core/physics/models/deflection/CreateDeflectionDelegate.d.ts.map +1 -0
  152. package/build/core/physics/models/deflection/CreateDeflectionDelegate.js +24 -0
  153. package/build/core/physics/models/deflection/DeflectionDelegate.d.ts +8 -0
  154. package/build/core/physics/models/deflection/DeflectionDelegate.d.ts.map +1 -0
  155. package/build/core/physics/models/deflection/DeflectionDelegate.js +1 -0
  156. package/build/core/physics/models/deflection/DeflectionDelegateFactories.d.ts +36 -0
  157. package/build/core/physics/models/deflection/DeflectionDelegateFactories.d.ts.map +1 -0
  158. package/build/core/physics/models/deflection/DeflectionDelegateFactories.js +51 -0
  159. package/build/core/physics/models/deflection/{deflection_model.d.ts → DeflectionModel.d.ts} +3 -3
  160. package/build/core/physics/models/deflection/DeflectionModel.d.ts.map +1 -0
  161. package/build/core/physics/models/deflection/{deflection_model.js → DeflectionModel.js} +2 -2
  162. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts +9 -0
  163. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts.map +1 -0
  164. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.js +11 -0
  165. package/build/core/physics/models/deflection/{deflection_support_manager.d.ts → DeflectionSupportManager.d.ts} +15 -1
  166. package/build/core/physics/models/deflection/DeflectionSupportManager.d.ts.map +1 -0
  167. package/build/core/physics/models/deflection/{deflection_support_manager.js → DeflectionSupportManager.js} +14 -0
  168. package/build/core/physics/models/deflection/{deflection_tools.d.ts → DeflectionTools.d.ts} +1 -1
  169. package/build/core/physics/models/deflection/DeflectionTools.d.ts.map +1 -0
  170. package/build/core/physics/models/deflection/DelegateFactory.d.ts +12 -0
  171. package/build/core/physics/models/deflection/DelegateFactory.d.ts.map +1 -0
  172. package/build/core/physics/models/deflection/DelegateFactory.js +1 -0
  173. package/build/core/physics/models/deflection/{integration_constant_calculator.d.ts → IntegrationConstantCalculator.d.ts} +6 -3
  174. package/build/core/physics/models/deflection/IntegrationConstantCalculator.d.ts.map +1 -0
  175. package/build/core/physics/models/deflection/{integration_constant_calculator.js → IntegrationConstantCalculator.js} +4 -1
  176. package/build/core/physics/models/deflection/{rodotrem_deflection.d.ts → RodotremDeflection.d.ts} +3 -3
  177. package/build/core/physics/models/deflection/RodotremDeflection.d.ts.map +1 -0
  178. package/build/core/physics/models/deflection/{rodotrem_deflection.js → RodotremDeflection.js} +3 -3
  179. package/build/core/physics/models/deflection/{semi_reboque_deflection.d.ts → SemiReboqueDeflection.d.ts} +3 -3
  180. package/build/core/physics/models/deflection/SemiReboqueDeflection.d.ts.map +1 -0
  181. package/build/core/physics/models/deflection/{semi_reboque_deflection.js → SemiReboqueDeflection.js} +2 -2
  182. package/build/core/physics/models/deflection/{simple_truck_deflection.d.ts → SimpleTruckDeflection.d.ts} +3 -3
  183. package/build/core/physics/models/deflection/SimpleTruckDeflection.d.ts.map +1 -0
  184. package/build/core/physics/models/deflection/{simple_truck_deflection.js → SimpleTruckDeflection.js} +2 -2
  185. package/build/core/physics/models/deflection/{vanderleia_deflection.d.ts → VanderleiaDeflection.d.ts} +3 -3
  186. package/build/core/physics/models/deflection/VanderleiaDeflection.d.ts.map +1 -0
  187. package/build/core/physics/models/deflection/{vanderleia_deflection.js → VanderleiaDeflection.js} +3 -3
  188. package/build/core/physics/services/{axle_weight_output_builder.d.ts → AxleWeightOutputBuilder.d.ts} +4 -4
  189. package/build/core/physics/services/AxleWeightOutputBuilder.d.ts.map +1 -0
  190. package/build/core/physics/services/{axle_weight_output_builder.js → AxleWeightOutputBuilder.js} +2 -2
  191. package/build/core/physics/services/{axle_weight_service.d.ts → AxleWeightService.d.ts} +1 -1
  192. package/build/core/physics/services/AxleWeightService.d.ts.map +1 -0
  193. package/build/core/physics/services/{axle_weight_service.js → AxleWeightService.js} +6 -6
  194. package/build/core/physics/services/{cm_axle_weight_service.d.ts → CmAxleWeightService.d.ts} +2 -2
  195. package/build/core/physics/services/CmAxleWeightService.d.ts.map +1 -0
  196. package/build/core/physics/services/{cm_axle_weight_service.js → CmAxleWeightService.js} +3 -3
  197. package/build/core/physics/services/{container_corner_forces.d.ts → ContainerCornerForces.d.ts} +1 -1
  198. package/build/core/physics/services/ContainerCornerForces.d.ts.map +1 -0
  199. package/build/core/physics/transports/{axle_manager.d.ts → AxleManager.d.ts} +3 -3
  200. package/build/core/physics/transports/AxleManager.d.ts.map +1 -0
  201. package/build/core/physics/transports/{axle_manager.js → AxleManager.js} +2 -2
  202. package/build/core/physics/transports/{axle_record.d.ts → AxleRecord.d.ts} +1 -1
  203. package/build/core/physics/transports/AxleRecord.d.ts.map +1 -0
  204. package/build/core/physics/transports/{axle_record.js → AxleRecord.js} +1 -1
  205. package/build/core/physics/transports/{chassi.d.ts → Chassi.d.ts} +3 -3
  206. package/build/core/physics/transports/{chassi.d.ts.map → Chassi.d.ts.map} +1 -1
  207. package/build/core/physics/transports/{chassi.js → Chassi.js} +2 -2
  208. package/build/core/physics/transports/{container_record.d.ts → ContainerRecord.d.ts} +1 -1
  209. package/build/core/physics/transports/ContainerRecord.d.ts.map +1 -0
  210. package/build/core/physics/transports/{container_record.js → ContainerRecord.js} +1 -1
  211. package/build/core/physics/transports/ContainerSequenceNotFoundError.d.ts +10 -0
  212. package/build/core/physics/transports/ContainerSequenceNotFoundError.d.ts.map +1 -0
  213. package/build/core/physics/transports/ContainerSequenceNotFoundError.js +12 -0
  214. package/build/core/physics/transports/{grouped_containers.d.ts → GroupedContainers.d.ts} +2 -2
  215. package/build/core/physics/transports/GroupedContainers.d.ts.map +1 -0
  216. package/build/core/physics/transports/{grouped_containers.js → GroupedContainers.js} +3 -2
  217. package/build/core/physics/transports/GrouperNotFoundError.d.ts +10 -0
  218. package/build/core/physics/transports/GrouperNotFoundError.d.ts.map +1 -0
  219. package/build/core/physics/transports/GrouperNotFoundError.js +12 -0
  220. package/build/core/physics/transports/{merged_containers.d.ts → MergedContainers.d.ts} +3 -3
  221. package/build/core/physics/transports/MergedContainers.d.ts.map +1 -0
  222. package/build/core/physics/transports/{merged_containers.js → MergedContainers.js} +3 -2
  223. package/build/core/physics/transports/MissingContainerError.d.ts +10 -0
  224. package/build/core/physics/transports/MissingContainerError.d.ts.map +1 -0
  225. package/build/core/physics/transports/MissingContainerError.js +12 -0
  226. package/build/core/physics/transports/{transport.d.ts → Transport.d.ts} +5 -5
  227. package/build/core/physics/transports/Transport.d.ts.map +1 -0
  228. package/build/core/physics/transports/{transport.js → Transport.js} +7 -6
  229. package/build/core/physics/transports/containerweight/{container_max_weight_calculator.d.ts → ContainerMaxWeightCalculator.d.ts} +3 -9
  230. package/build/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts.map +1 -0
  231. package/build/core/physics/transports/containerweight/{container_tare_calculator.d.ts → ContainerTareCalculator.d.ts} +3 -3
  232. package/build/core/physics/transports/containerweight/ContainerTareCalculator.d.ts.map +1 -0
  233. package/build/core/physics/transports/containerweight/{container_weight_model.d.ts → ContainerWeightModel.d.ts} +2 -2
  234. package/build/core/physics/transports/containerweight/ContainerWeightModel.d.ts.map +1 -0
  235. package/build/core/physics/transports/containerweight/{container_weight_model.js → ContainerWeightModel.js} +3 -3
  236. package/build/core/physics/transports/containerweight/MaxWeightInput.d.ts +10 -0
  237. package/build/core/physics/transports/containerweight/MaxWeightInput.d.ts.map +1 -0
  238. package/build/core/physics/transports/containerweight/MaxWeightInput.js +1 -0
  239. package/build/core/physics/transports/containerweight/{merged_containers_weight_calculator.d.ts → MergedContainersWeightCalculator.d.ts} +3 -3
  240. package/build/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts.map +1 -0
  241. package/build/core/physics/transports/containerweight/{single_container_weight_calculator.d.ts → SingleContainerWeightCalculator.d.ts} +3 -3
  242. package/build/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts.map +1 -0
  243. package/build/core/physics/transports/containerweight/{single_container_weight_calculator.js → SingleContainerWeightCalculator.js} +2 -2
  244. package/build/core/physics/transports/tare/BitremAxleSplit.d.ts +8 -0
  245. package/build/core/physics/transports/tare/BitremAxleSplit.d.ts.map +1 -0
  246. package/build/core/physics/transports/tare/BitremAxleSplit.js +1 -0
  247. package/build/core/physics/transports/tare/BitremAxleSplitTarget.d.ts +12 -0
  248. package/build/core/physics/transports/tare/BitremAxleSplitTarget.d.ts.map +1 -0
  249. package/build/core/physics/transports/tare/BitremAxleSplitTarget.js +1 -0
  250. package/build/core/physics/transports/tare/{bitrem_axle_splitter.d.ts → BitremAxleSplitter.d.ts} +3 -3
  251. package/build/core/physics/transports/tare/BitremAxleSplitter.d.ts.map +1 -0
  252. package/build/core/physics/transports/tare/{bitrem_axle_splitter.js → BitremAxleSplitter.js} +5 -5
  253. package/build/core/physics/transports/tare/{bitrem_axle_weight_split.d.ts → BitremAxleWeightSplit.d.ts} +3 -12
  254. package/build/core/physics/transports/tare/BitremAxleWeightSplit.d.ts.map +1 -0
  255. package/build/index.d.ts +7 -0
  256. package/build/index.d.ts.map +1 -1
  257. package/build/index.js +4 -6
  258. package/package.json +3 -3
  259. package/.cursor/ai_changelog/INDEX.md +0 -13
  260. package/.cursor/ai_changelog/_TEMPLATE.md +0 -55
  261. package/.cursor/rules/code-standards.mdc +0 -103
  262. package/.cursor/rules/knowledge-base.mdc +0 -14
  263. package/.cursor/rules/planning-standards.mdc +0 -55
  264. package/.cursor/skills/document-feature-knowledge/SKILL.md +0 -51
  265. package/bitbucket-pipelines.yml +0 -81
  266. package/build/core/contracts/chassi_reference.d.ts.map +0 -1
  267. package/build/core/contracts/ms_faixas_contract.d.ts.map +0 -1
  268. package/build/core/contracts/rotation_enum.d.ts.map +0 -1
  269. package/build/core/contracts/suspension_type.d.ts.map +0 -1
  270. package/build/core/contracts/transport_record.d.ts.map +0 -1
  271. package/build/core/contracts/vehicle_type.d.ts.map +0 -1
  272. package/build/core/contracts/vehicle_version.d.ts.map +0 -1
  273. package/build/core/contracts/wire_flags.d.ts.map +0 -1
  274. package/build/core/math/float_tools.d.ts.map +0 -1
  275. package/build/core/math/gaussian_elimination.d.ts.map +0 -1
  276. package/build/core/orchestration/axle_weight_physics.d.ts.map +0 -1
  277. package/build/core/orchestration/collision_checker.d.ts.map +0 -1
  278. package/build/core/orchestration/connector_payload_builder.d.ts.map +0 -1
  279. package/build/core/orchestration/java_mass_center.d.ts.map +0 -1
  280. package/build/core/orchestration/output_builder.d.ts.map +0 -1
  281. package/build/core/orchestration/request_schema.d.ts.map +0 -1
  282. package/build/core/orchestration/request_schema.js +0 -20
  283. package/build/core/orchestration/weight_by_axis_task.d.ts +0 -7
  284. package/build/core/orchestration/weight_by_axis_task.d.ts.map +0 -1
  285. package/build/core/physics/items/allocated_item.d.ts.map +0 -1
  286. package/build/core/physics/items/allocated_item_manager.d.ts.map +0 -1
  287. package/build/core/physics/items/center_of_mass.d.ts.map +0 -1
  288. package/build/core/physics/items/compute_grouper_center_of_mass.d.ts.map +0 -1
  289. package/build/core/physics/items/item_templates.d.ts.map +0 -1
  290. package/build/core/physics/items/multi_container_allocated_items.d.ts.map +0 -1
  291. package/build/core/physics/items/rotation_transforms.d.ts.map +0 -1
  292. package/build/core/physics/models/axle_weight_model.d.ts.map +0 -1
  293. package/build/core/physics/models/bi_truck_model.d.ts.map +0 -1
  294. package/build/core/physics/models/bi_truck_tractor_semi_trailer_model.d.ts.map +0 -1
  295. package/build/core/physics/models/bitrem_model.d.ts.map +0 -1
  296. package/build/core/physics/models/chassi_forces.d.ts.map +0 -1
  297. package/build/core/physics/models/deflection/beam_deflection.d.ts.map +0 -1
  298. package/build/core/physics/models/deflection/bitrem_deflection.d.ts.map +0 -1
  299. package/build/core/physics/models/deflection/create_deflection_delegate.d.ts.map +0 -1
  300. package/build/core/physics/models/deflection/create_deflection_delegate.js +0 -32
  301. package/build/core/physics/models/deflection/deflection_model.d.ts.map +0 -1
  302. package/build/core/physics/models/deflection/deflection_support_manager.d.ts.map +0 -1
  303. package/build/core/physics/models/deflection/deflection_tools.d.ts.map +0 -1
  304. package/build/core/physics/models/deflection/integration_constant_calculator.d.ts.map +0 -1
  305. package/build/core/physics/models/deflection/rodotrem_deflection.d.ts.map +0 -1
  306. package/build/core/physics/models/deflection/semi_reboque_deflection.d.ts.map +0 -1
  307. package/build/core/physics/models/deflection/simple_truck_deflection.d.ts.map +0 -1
  308. package/build/core/physics/models/deflection/vanderleia_deflection.d.ts.map +0 -1
  309. package/build/core/physics/models/old_tare_model.d.ts.map +0 -1
  310. package/build/core/physics/models/old_tare_scale.d.ts.map +0 -1
  311. package/build/core/physics/models/old_tare_semireboque.d.ts.map +0 -1
  312. package/build/core/physics/models/old_tare_truck.d.ts.map +0 -1
  313. package/build/core/physics/models/old_tare_vanderleia.d.ts.map +0 -1
  314. package/build/core/physics/models/percentage_on_axles_calculator.d.ts.map +0 -1
  315. package/build/core/physics/models/quad_semi_trailer_model.d.ts.map +0 -1
  316. package/build/core/physics/models/rodotrem_model.d.ts.map +0 -1
  317. package/build/core/physics/models/semi_reboque_base.d.ts.map +0 -1
  318. package/build/core/physics/models/semi_reboque_model.d.ts.map +0 -1
  319. package/build/core/physics/models/simple_truck_base.d.ts.map +0 -1
  320. package/build/core/physics/models/simple_truck_model.d.ts.map +0 -1
  321. package/build/core/physics/models/single_container_tare.d.ts.map +0 -1
  322. package/build/core/physics/models/tare_model.d.ts.map +0 -1
  323. package/build/core/physics/models/vanderleia_model.d.ts.map +0 -1
  324. package/build/core/physics/services/axle_weight_output_builder.d.ts.map +0 -1
  325. package/build/core/physics/services/axle_weight_service.d.ts.map +0 -1
  326. package/build/core/physics/services/cm_axle_weight_service.d.ts.map +0 -1
  327. package/build/core/physics/services/container_corner_forces.d.ts.map +0 -1
  328. package/build/core/physics/transports/axle_manager.d.ts.map +0 -1
  329. package/build/core/physics/transports/axle_record.d.ts.map +0 -1
  330. package/build/core/physics/transports/container_record.d.ts.map +0 -1
  331. package/build/core/physics/transports/containerweight/container_max_weight_calculator.d.ts.map +0 -1
  332. package/build/core/physics/transports/containerweight/container_tare_calculator.d.ts.map +0 -1
  333. package/build/core/physics/transports/containerweight/container_weight_model.d.ts.map +0 -1
  334. package/build/core/physics/transports/containerweight/merged_containers_weight_calculator.d.ts.map +0 -1
  335. package/build/core/physics/transports/containerweight/single_container_weight_calculator.d.ts.map +0 -1
  336. package/build/core/physics/transports/grouped_containers.d.ts.map +0 -1
  337. package/build/core/physics/transports/merged_containers.d.ts.map +0 -1
  338. package/build/core/physics/transports/tare/bitrem_axle_splitter.d.ts.map +0 -1
  339. package/build/core/physics/transports/tare/bitrem_axle_weight_split.d.ts.map +0 -1
  340. package/build/core/physics/transports/transport.d.ts.map +0 -1
  341. package/eslint.config.js +0 -51
  342. package/src/core/contracts/chassi_reference.ts +0 -7
  343. package/src/core/contracts/ms_faixas_contract.ts +0 -114
  344. package/src/core/contracts/rotation_enum.ts +0 -11
  345. package/src/core/contracts/suspension_type.ts +0 -4
  346. package/src/core/contracts/transport_record.ts +0 -4
  347. package/src/core/contracts/vehicle_type.ts +0 -12
  348. package/src/core/contracts/vehicle_version.ts +0 -7
  349. package/src/core/contracts/wire_flags.ts +0 -26
  350. package/src/core/math/float_tools.ts +0 -17
  351. package/src/core/math/gaussian_elimination.ts +0 -104
  352. package/src/core/orchestration/axle_weight_physics.ts +0 -37
  353. package/src/core/orchestration/collision_checker.ts +0 -86
  354. package/src/core/orchestration/connector_payload_builder.ts +0 -81
  355. package/src/core/orchestration/java_mass_center.ts +0 -98
  356. package/src/core/orchestration/output_builder.ts +0 -18
  357. package/src/core/orchestration/request_schema.ts +0 -26
  358. package/src/core/orchestration/weight_by_axis_task.ts +0 -140
  359. package/src/core/physics/items/allocated_item.ts +0 -41
  360. package/src/core/physics/items/allocated_item_manager.ts +0 -50
  361. package/src/core/physics/items/center_of_mass.ts +0 -31
  362. package/src/core/physics/items/compute_grouper_center_of_mass.ts +0 -44
  363. package/src/core/physics/items/item_templates.ts +0 -65
  364. package/src/core/physics/items/multi_container_allocated_items.ts +0 -120
  365. package/src/core/physics/items/rotation_transforms.ts +0 -29
  366. package/src/core/physics/models/axle_weight_model.ts +0 -109
  367. package/src/core/physics/models/bi_truck_model.ts +0 -74
  368. package/src/core/physics/models/bi_truck_tractor_semi_trailer_model.ts +0 -86
  369. package/src/core/physics/models/bitrem_model.ts +0 -148
  370. package/src/core/physics/models/chassi_forces.ts +0 -50
  371. package/src/core/physics/models/deflection/beam_deflection.ts +0 -105
  372. package/src/core/physics/models/deflection/bitrem_deflection.ts +0 -68
  373. package/src/core/physics/models/deflection/create_deflection_delegate.ts +0 -46
  374. package/src/core/physics/models/deflection/deflection_model.ts +0 -33
  375. package/src/core/physics/models/deflection/deflection_support_manager.ts +0 -56
  376. package/src/core/physics/models/deflection/deflection_tools.ts +0 -11
  377. package/src/core/physics/models/deflection/integration_constant_calculator.ts +0 -62
  378. package/src/core/physics/models/deflection/rodotrem_deflection.ts +0 -57
  379. package/src/core/physics/models/deflection/semi_reboque_deflection.ts +0 -40
  380. package/src/core/physics/models/deflection/simple_truck_deflection.ts +0 -35
  381. package/src/core/physics/models/deflection/vanderleia_deflection.ts +0 -48
  382. package/src/core/physics/models/old_tare_model.ts +0 -51
  383. package/src/core/physics/models/old_tare_scale.ts +0 -9
  384. package/src/core/physics/models/old_tare_semireboque.ts +0 -51
  385. package/src/core/physics/models/old_tare_truck.ts +0 -15
  386. package/src/core/physics/models/old_tare_vanderleia.ts +0 -44
  387. package/src/core/physics/models/percentage_on_axles_calculator.ts +0 -49
  388. package/src/core/physics/models/quad_semi_trailer_model.ts +0 -87
  389. package/src/core/physics/models/rodotrem_model.ts +0 -131
  390. package/src/core/physics/models/semi_reboque_base.ts +0 -103
  391. package/src/core/physics/models/semi_reboque_model.ts +0 -127
  392. package/src/core/physics/models/simple_truck_base.ts +0 -70
  393. package/src/core/physics/models/simple_truck_model.ts +0 -115
  394. package/src/core/physics/models/single_container_tare.ts +0 -56
  395. package/src/core/physics/models/tare_model.ts +0 -46
  396. package/src/core/physics/models/vanderleia_model.ts +0 -125
  397. package/src/core/physics/services/axle_weight_output_builder.ts +0 -63
  398. package/src/core/physics/services/axle_weight_service.ts +0 -116
  399. package/src/core/physics/services/cm_axle_weight_service.ts +0 -45
  400. package/src/core/physics/services/container_corner_forces.ts +0 -95
  401. package/src/core/physics/transports/axle_manager.ts +0 -45
  402. package/src/core/physics/transports/axle_record.ts +0 -68
  403. package/src/core/physics/transports/chassi.ts +0 -130
  404. package/src/core/physics/transports/container_record.ts +0 -58
  405. package/src/core/physics/transports/containerweight/container_max_weight_calculator.ts +0 -59
  406. package/src/core/physics/transports/containerweight/container_tare_calculator.ts +0 -76
  407. package/src/core/physics/transports/containerweight/container_weight_model.ts +0 -38
  408. package/src/core/physics/transports/containerweight/merged_containers_weight_calculator.ts +0 -39
  409. package/src/core/physics/transports/containerweight/single_container_weight_calculator.ts +0 -65
  410. package/src/core/physics/transports/grouped_containers.ts +0 -91
  411. package/src/core/physics/transports/merged_containers.ts +0 -62
  412. package/src/core/physics/transports/tare/bitrem_axle_splitter.ts +0 -107
  413. package/src/core/physics/transports/tare/bitrem_axle_weight_split.ts +0 -55
  414. package/src/core/physics/transports/transport.ts +0 -137
  415. package/src/index.ts +0 -12
  416. package/src/service/.gitkeep +0 -0
  417. package/test/data/src/core/orchestration/weight_by_axis/case_1_basic_truck_input.json +0 -1759
  418. package/test/data/src/core/orchestration/weight_by_axis/case_2_vanderleia_input.json +0 -1286
  419. package/test/data/src/core/orchestration/weight_by_axis/case_3_interlink_input.json +0 -2226
  420. package/test/data/src/core/orchestration/weight_by_axis/case_4_quad_semi_trailer.json +0 -639
  421. package/test/data/src/core/orchestration/weight_by_axis/case_5_custom_center_of_gravity.json +0 -557
  422. package/test/data/src/core/physics/axle_weight_calculations/case_2_bitruck.json +0 -664
  423. package/test/data/src/core/physics/axle_weight_calculations/case_4_quad_semi_trailer.json +0 -674
  424. package/test/data/src/core/physics/axle_weight_calculations/case_5_bi_truck_semi_trailer.json +0 -674
  425. package/test/data/src/core/physics/axle_weight_service/case_1_input_truck.json +0 -1025
  426. package/test/data/src/core/physics/axle_weight_service/case_1_output_truck.json +0 -38
  427. package/test/data/src/core/physics/axle_weight_service/case_2_vanderleia_input.json +0 -1286
  428. package/test/data/src/core/physics/axle_weight_service/case_2_vanderleia_output.json +0 -65
  429. package/test/data/src/core/physics/axle_weight_service/case_3_input_semireboque.json +0 -24625
  430. package/test/data/src/core/physics/axle_weight_service/case_3_output_semireboque.json +0 -57
  431. package/test/data/src/core/physics/axle_weight_service/case_4_input_bitrem.json +0 -2226
  432. package/test/data/src/core/physics/axle_weight_service/case_4_output_bitrem.json +0 -96
  433. package/test/data/src/core/physics/beam_deflection/case_10_rodotrem_offset.json +0 -474
  434. package/test/data/src/core/physics/beam_deflection/case_11_bitruck.json +0 -664
  435. package/test/data/src/core/physics/beam_deflection/case_12_quad_semi_trailer.json +0 -792
  436. package/test/data/src/core/physics/beam_deflection/case_13_bi_truck_semi_trailer.json +0 -792
  437. package/test/data/src/core/physics/beam_deflection/case_1_documentation.ipynb +0 -316
  438. package/test/data/src/core/physics/beam_deflection/case_1_semireboque.json +0 -402
  439. package/test/data/src/core/physics/beam_deflection/case_2_bitrem.json +0 -434
  440. package/test/data/src/core/physics/beam_deflection/case_3_rodotrem.json +0 -474
  441. package/test/data/src/core/physics/beam_deflection/case_4_vanderleia_pneumatica.json +0 -425
  442. package/test/data/src/core/physics/beam_deflection/case_5_vanderleia_mecanica.json +0 -366
  443. package/test/data/src/core/physics/beam_deflection/case_6_truck.json +0 -279
  444. package/test/data/src/core/physics/beam_deflection/case_7_semireboque_structural_offset.json +0 -318
  445. package/test/data/src/core/physics/beam_deflection/case_8_vanderleia_offset.json +0 -425
  446. package/test/data/src/core/physics/beam_deflection/case_9_bitrem_offset.json +0 -434
  447. package/test/data/src/core/physics/bitrem_axle_splitter/case_1_simple_bitrem.json +0 -145
  448. package/test/data/src/core/physics/bitrem_axle_splitter/case_2_lowered_bitrem.json +0 -238
  449. package/test/data/src/core/physics/bitrem_axle_splitter/case_3_lowered_positive_proportion.json +0 -238
  450. package/test/data/src/core/physics/c_m_axle_weight_service/case_1_interlink_trailer.json +0 -94
  451. package/test/data/src/core/physics/calculations/case_1_simple_truck.json +0 -83
  452. package/test/data/src/core/physics/calculations/case_2_lowered_bitrem.json +0 -1051
  453. package/test/data/src/core/physics/calculations/case_3_container_mercedes.json +0 -50
  454. package/test/data/src/core/physics/container_corner_forces/case_1.json +0 -674
  455. package/test/data/src/core/physics/container_weight/case_1_basictruck.json +0 -223
  456. package/test/data/src/core/physics/container_weight/case_2_roadtrain.json +0 -277
  457. package/test/data/src/core/physics/container_weight/case_3_semireboque_rebaixado.json +0 -197
  458. package/test/data/src/core/physics/container_weight/case_4_semireboque_neck_limit.json +0 -197
  459. package/test/data/src/core/physics/container_weight/case_5_vanderleia_rebaixada.json +0 -211
  460. package/test/data/src/core/physics/container_weight/case_6_lowered_interlink.json +0 -230
  461. package/test/data/src/core/physics/python_goldens.json +0 -9
  462. package/test/data/src/core/physics/tare/case_1_simple_vanderleia.json +0 -185
  463. package/test/data/src/core/physics/tare/case_2_lowered_vanderleia.json +0 -646
  464. package/test/data/src/core/physics/tare/case_3_lowered_interlink.json +0 -230
  465. package/test/data/src/core/physics/tare/case_4_negative_tare_VUC.json +0 -483
  466. package/test/data/src/core/physics/tare/case_5_truck_bitruck.json +0 -664
  467. package/test/data/src/core/physics/tare/case_6_quad_semi_trailer.json +0 -203
  468. package/test/data/src/core/physics/tare/case_7_bi_truck_semi_trailer.json +0 -203
  469. package/test/data/src/core/physics/tare/case_8_triaxle_semi_trailer.json +0 -203
  470. package/test/data/src/core/physics/time_performance/case_1_center_of_mass.json +0 -2916
  471. package/test/data/src/core/physics/trucks/bitrem.json +0 -150
  472. package/test/data/src/core/physics/trucks/lowered_bitrem.json +0 -1216
  473. package/test/data/src/core/physics/trucks/lowered_bitrem_empty_first_container.json +0 -1182
  474. package/test/data/src/core/physics/trucks/rodotrem.json +0 -148
  475. package/test/data/src/core/physics/trucks/semi_reboque.json +0 -91
  476. package/test/data/src/core/physics/trucks/semi_reboque_rebaixado.json +0 -1629
  477. package/test/data/src/core/physics/trucks/simple_truck.json +0 -85
  478. package/test/data/src/core/physics/trucks/vanderleia_mechanical.json +0 -105
  479. package/test/data/src/core/physics/trucks/vanderleia_pneumatic.json +0 -105
  480. package/test/src/core/orchestration/request_schema.test.ts +0 -20
  481. package/test/src/core/orchestration/weight_by_axis_task.test.ts +0 -87
  482. package/test/src/core/physics/items/center_of_mass.test.ts +0 -38
  483. package/test/src/core/physics/items/multi_container_allocated_items.test.ts +0 -22
  484. package/test/src/core/physics/math_input_helpers.ts +0 -64
  485. package/test/src/core/physics/models/bitrem_model.test.ts +0 -54
  486. package/test/src/core/physics/models/deflection/deflection_model.test.ts +0 -78
  487. package/test/src/core/physics/models/rodotrem_model.test.ts +0 -29
  488. package/test/src/core/physics/models/semi_reboque_model.test.ts +0 -72
  489. package/test/src/core/physics/models/simple_truck_model.test.ts +0 -23
  490. package/test/src/core/physics/models/tare_model.test.ts +0 -34
  491. package/test/src/core/physics/models/vanderleia_model.test.ts +0 -36
  492. package/test/src/core/physics/services/axle_weight_service.test.ts +0 -56
  493. package/test/src/core/physics/services/cm_axle_weight_service.test.ts +0 -23
  494. package/test/src/core/physics/services/container_corner_forces.test.ts +0 -23
  495. package/test/src/core/physics/test_helpers.ts +0 -13
  496. package/test/src/core/physics/transports/chassi.test.ts +0 -35
  497. package/test/src/core/physics/transports/containerweight/container_weight_model.test.ts +0 -57
  498. package/test/src/core/physics/transports/tare/bitrem_axle_splitter.test.ts +0 -30
  499. package/test/src/index.test.ts +0 -35
  500. /package/build/core/contracts/{chassi_reference.js → ChassiReference.js} +0 -0
  501. /package/build/core/contracts/{rotation_enum.js → RotationEnum.js} +0 -0
  502. /package/build/core/contracts/{suspension_type.js → SuspensionType.js} +0 -0
  503. /package/build/core/contracts/{transport_record.js → TransportRecord.js} +0 -0
  504. /package/build/core/contracts/{vehicle_type.js → VehicleType.js} +0 -0
  505. /package/build/core/contracts/{vehicle_version.js → VehicleVersion.js} +0 -0
  506. /package/build/core/contracts/{wire_flags.js → WireFlags.js} +0 -0
  507. /package/build/core/math/{float_tools.js → FloatTools.js} +0 -0
  508. /package/build/core/math/{gaussian_elimination.js → GaussianElimination.js} +0 -0
  509. /package/build/core/orchestration/{output_builder.js → OutputBuilder.js} +0 -0
  510. /package/build/core/physics/items/{allocated_item_manager.js → AllocatedItemManager.js} +0 -0
  511. /package/build/core/physics/items/{center_of_mass.js → CenterOfMass.js} +0 -0
  512. /package/build/core/physics/models/{chassi_forces.js → ChassiForces.js} +0 -0
  513. /package/build/core/physics/models/{old_tare_scale.js → OldTareScale.js} +0 -0
  514. /package/build/core/physics/models/deflection/{deflection_tools.js → DeflectionTools.js} +0 -0
  515. /package/build/core/physics/services/{container_corner_forces.js → ContainerCornerForces.js} +0 -0
  516. /package/build/core/physics/transports/containerweight/{container_max_weight_calculator.js → ContainerMaxWeightCalculator.js} +0 -0
  517. /package/build/core/physics/transports/containerweight/{container_tare_calculator.js → ContainerTareCalculator.js} +0 -0
  518. /package/build/core/physics/transports/containerweight/{merged_containers_weight_calculator.js → MergedContainersWeightCalculator.js} +0 -0
  519. /package/build/core/physics/transports/tare/{bitrem_axle_weight_split.js → BitremAxleWeightSplit.js} +0 -0
@@ -1,114 +0,0 @@
1
- import { AllocatedItem } from '../physics/items/allocated_item.js'
2
- import { AllocatedItemManager } from '../physics/items/allocated_item_manager.js'
3
- import { ItemTemplates } from '../physics/items/item_templates.js'
4
-
5
- const TRANSPORT_LIST_FLAG = 'envs'
6
- const CONTAINERS_FLAG = 'containers'
7
- const ITEM_LIST_FLAG = 'items'
8
-
9
- /**
10
- * Parses ms-faixas `{ envs: [...] }` payloads for axleweight services.
11
- */
12
- export class MsFaixasContract
13
- {
14
- transport_data: Record<string, unknown>
15
- allocated_items_by_sequence_id: Record<number, AllocatedItemManager>
16
-
17
- /**
18
- * @param ms_faixas_input - Request with envs array.
19
- */
20
- constructor(ms_faixas_input: Record<string, unknown>)
21
- {
22
- const envs = ms_faixas_input[TRANSPORT_LIST_FLAG] as Record<string, unknown>[]
23
- this.transport_data = { ...envs[0] }
24
- this.allocated_items_by_sequence_id = build_allocated_items(this.transport_data)
25
- strip_items_from_transport(this.transport_data)
26
- }
27
- }
28
-
29
- /**
30
- * @param transport_data - Env vehicle data.
31
- * @returns Allocated items keyed by sequence index.
32
- */
33
- function build_allocated_items(
34
- transport_data: Record<string, unknown>
35
- ): Record<number, AllocatedItemManager>
36
- {
37
- const templates = build_item_templates(transport_data)
38
- const result: Record<number, AllocatedItemManager> = {}
39
- const containers = transport_data[CONTAINERS_FLAG] as Record<string, unknown>[]
40
- for (let index = 0; index < containers.length; index++)
41
- {
42
- const container = containers[index]
43
- const sequence = Number(container.sequencia ?? index + 1)
44
- result[sequence] = build_container_items(templates, container)
45
- }
46
- return result
47
- }
48
-
49
- /**
50
- * @param transport_data - Env vehicle.
51
- * @returns Item templates from all container items.
52
- */
53
- function build_item_templates(transport_data: Record<string, unknown>): ItemTemplates
54
- {
55
- const templates = new ItemTemplates()
56
- const containers = transport_data[CONTAINERS_FLAG] as Record<string, unknown>[]
57
- for (const container of containers)
58
- {
59
- const items = container[ITEM_LIST_FLAG] as Record<string, unknown>[] | undefined
60
- if (!items)
61
- {
62
- continue
63
- }
64
- for (const item of items)
65
- {
66
- templates.add_template_from_item_data(item)
67
- }
68
- }
69
- return templates
70
- }
71
-
72
- /**
73
- * @param templates - Shared templates.
74
- * @param container - Container JSON.
75
- * @returns Allocated item manager for container.
76
- */
77
- function build_container_items(
78
- templates: ItemTemplates,
79
- container: Record<string, unknown>
80
- ): AllocatedItemManager
81
- {
82
- const manager = new AllocatedItemManager(templates)
83
- const items = container[ITEM_LIST_FLAG] as Record<string, unknown>[] | undefined
84
- if (!items)
85
- {
86
- return manager
87
- }
88
- const allocated: AllocatedItem[] = []
89
- for (const item_data of items)
90
- {
91
- const item_id = String(item_data.id ?? item_data._id)
92
- const template_index = templates.index_of(item_id)
93
- const item = new AllocatedItem(templates, template_index)
94
- item.xi = Number(item_data.x ?? 0)
95
- item.yi = Number(item_data.y ?? 0)
96
- // Ms-faixas stores longitudinal position in `y` (jettainterface maps y→chassis z).
97
- item.zi = Number(item_data.y ?? item_data.z ?? 0)
98
- allocated.push(item)
99
- }
100
- manager.add_allocated_items(allocated)
101
- return manager
102
- }
103
-
104
- /**
105
- * @param transport_data - Env vehicle to strip item lists from.
106
- */
107
- function strip_items_from_transport(transport_data: Record<string, unknown>): void
108
- {
109
- const containers = transport_data[CONTAINERS_FLAG] as Record<string, unknown>[]
110
- for (const container of containers)
111
- {
112
- delete container[ITEM_LIST_FLAG]
113
- }
114
- }
@@ -1,11 +0,0 @@
1
- /** Cargo rotation positions (carrierinterface RotationEnum). */
2
- export const ROTATION = Object.freeze({
3
- POS1: 1,
4
- POS2: 2,
5
- POS3: 3,
6
- POS4: 4,
7
- POS5: 5,
8
- POS6: 6
9
- })
10
-
11
- export type RotationCode = typeof ROTATION[keyof typeof ROTATION]
@@ -1,4 +0,0 @@
1
- export const SUSPENSION_TYPE = Object.freeze({
2
- PNEUMATICA: 'Pneumatica',
3
- MECANICA: 'Mecanica'
4
- })
@@ -1,4 +0,0 @@
1
- /**
2
- * Raw transport dict as received by axle-weight services (jettainterface wire format).
3
- */
4
- export type TransportRecord = Record<string, unknown>
@@ -1,12 +0,0 @@
1
- export const VEHICLE_TYPE = Object.freeze({
2
- CONTAINER: 0,
3
- SEMIREBOQUE: 1,
4
- BITREM: 2,
5
- RODOTREM: 3,
6
- VANDERLEIA: 5,
7
- REBAIXADO: 6,
8
- CAMINHAO: 7,
9
- VUC: 8
10
- })
11
-
12
- export type VehicleTypeCode = typeof VEHICLE_TYPE[keyof typeof VEHICLE_TYPE]
@@ -1,7 +0,0 @@
1
- export const VEHICLE_VERSION = Object.freeze({
2
- DEFAULT: 0,
3
- CAMINHAO_BITRUCK: 4,
4
- SEMIREBOQUE_QUAD: 5,
5
- SEMIREBOQUE_BITRUCK: 6,
6
- SEMIREBOQUE_QUAD_ALT: 7
7
- })
@@ -1,26 +0,0 @@
1
- export const WIRE_FLAGS = Object.freeze({
2
- TRANSPORT_ID: '_id',
3
- CONTAINERS: 'containers',
4
- AXLE_LIST: 'eixos',
5
- MAIN_PIN_DISTANCE: 'distPinoRei',
6
- CONTAINER_DISTANCE_AHEAD: 'containerDistanceAhead',
7
- FIRST_AXLE_DISTANCE: 'primeiroEixo',
8
- VEHICLE_TYPE: 'tipoVeiculo',
9
- VEHICLE_VERSION: 'tipoVersao',
10
- SUSPENSION_TYPE: 'tipoSuspensao',
11
- SUPPORTED_WEIGHT: 'pesoDeCarga',
12
- AMOUNT: 'qtd',
13
- LENGTH: 'comprimento',
14
- WIDTH: 'largura',
15
- HEIGHT: 'altura',
16
- SEQUENCE: 'sequencia',
17
- GROUPER: 'grouper',
18
- DISTANCE_FROM_ORIGIN: 'distanciaOrigem',
19
- MAX_SUPPORTED_WEIGHT: 'pesoMaxSuportado',
20
- SEQUENCE_CONTAINER: 'sequenciaContainer',
21
- DNIT_WEIGHT: 'pesoDnit',
22
- TARE: 'tara',
23
- CM_SERVICE_CENTER_OF_MASS: 'center_of_mass',
24
- CM_SERVICE_Z: 'z_position',
25
- CM_SERVICE_MASS: 'mass'
26
- })
@@ -1,17 +0,0 @@
1
- /**
2
- * Converts nested float lists to a plain number matrix (NumPy float_list_to_np_array equivalent).
3
- * @param float_list - Nested numeric list.
4
- * @returns Plain number matrix or vector.
5
- */
6
- export function float_list_to_matrix(float_list: number[] | number[][]): number[] | number[][]
7
- {
8
- if (float_list.length === 0)
9
- {
10
- return []
11
- }
12
- if (typeof float_list[0] === 'number')
13
- {
14
- return float_list as number[]
15
- }
16
- return (float_list as number[][]).map((row) => row.map((value) => Number(value)))
17
- }
@@ -1,104 +0,0 @@
1
- /**
2
- * Solves Ax = b for square matrix A using Gaussian elimination (NumPy-compatible order).
3
- * @param matrix - Coefficient matrix row-major n×n.
4
- * @param independent - Right-hand side vector length n.
5
- * @returns Solution vector length n.
6
- */
7
- export function solve_linear_system(matrix: number[][], independent: number[]): number[]
8
- {
9
- const size = independent.length
10
- const augmented = matrix.map((row, row_index) => [...row, independent[row_index]])
11
- for (let pivot_column = 0; pivot_column < size; pivot_column++)
12
- {
13
- forward_eliminate(augmented, pivot_column, size)
14
- }
15
- return back_substitute(augmented, size)
16
- }
17
-
18
- /**
19
- * @param augmented - Augmented matrix.
20
- * @param pivot_column - Current pivot column index.
21
- * @param size - System size.
22
- */
23
- function forward_eliminate(augmented: number[][], pivot_column: number, size: number): void
24
- {
25
- const pivot_row = find_pivot_row(augmented, pivot_column, size)
26
- swap_rows(augmented, pivot_row, pivot_column)
27
- eliminate_below(augmented, pivot_column, size)
28
- }
29
-
30
- /**
31
- * @param augmented - Augmented matrix.
32
- * @param pivot_column - Pivot column.
33
- * @param size - System size.
34
- * @returns Row index with largest absolute pivot.
35
- */
36
- function find_pivot_row(augmented: number[][], pivot_column: number, size: number): number
37
- {
38
- let pivot_row = pivot_column
39
- let max_abs = Math.abs(augmented[pivot_column][pivot_column])
40
- for (let row = pivot_column + 1; row < size; row++)
41
- {
42
- const candidate = Math.abs(augmented[row][pivot_column])
43
- if (candidate > max_abs)
44
- {
45
- max_abs = candidate
46
- pivot_row = row
47
- }
48
- }
49
- return pivot_row
50
- }
51
-
52
- /**
53
- * @param augmented - Augmented matrix.
54
- * @param pivot_row - Row to swap to pivot position.
55
- * @param pivot_column - Pivot column index.
56
- */
57
- function swap_rows(augmented: number[][], pivot_row: number, pivot_column: number): void
58
- {
59
- if (pivot_row === pivot_column)
60
- {
61
- return
62
- }
63
- const temp = augmented[pivot_column]
64
- augmented[pivot_column] = augmented[pivot_row]
65
- augmented[pivot_row] = temp
66
- }
67
-
68
- /**
69
- * @param augmented - Augmented matrix.
70
- * @param pivot_column - Pivot column index.
71
- * @param size - System size.
72
- */
73
- function eliminate_below(augmented: number[][], pivot_column: number, size: number): void
74
- {
75
- const pivot_value = augmented[pivot_column][pivot_column]
76
- for (let row = pivot_column + 1; row < size; row++)
77
- {
78
- const factor = augmented[row][pivot_column] / pivot_value
79
- for (let column = pivot_column; column <= size; column++)
80
- {
81
- augmented[row][column] -= factor * augmented[pivot_column][column]
82
- }
83
- }
84
- }
85
-
86
- /**
87
- * @param augmented - Row-echelon augmented matrix.
88
- * @param size - System size.
89
- * @returns Solution vector.
90
- */
91
- function back_substitute(augmented: number[][], size: number): number[]
92
- {
93
- const solution = new Array<number>(size).fill(0)
94
- for (let row = size - 1; row >= 0; row--)
95
- {
96
- let sum = augmented[row][size]
97
- for (let column = row + 1; column < size; column++)
98
- {
99
- sum -= augmented[row][column] * solution[column]
100
- }
101
- solution[row] = sum / augmented[row][row]
102
- }
103
- return solution
104
- }
@@ -1,37 +0,0 @@
1
- import { CmAxleWeightService } from '../physics/services/cm_axle_weight_service.js'
2
- import { CenterOfMass } from '../physics/items/center_of_mass.js'
3
- import { build_connector_payload } from './connector_payload_builder.js'
4
- import { mass_center_by_grouper_from_env } from './java_mass_center.js'
5
-
6
- /**
7
- * Calculates loaded weights per vehicle axle (in-process, no HTTP).
8
- * @param env_vehicle - Single env from weight_by_axis payload.
9
- * @returns Loaded cargo weight per axle index.
10
- */
11
- export function calculate_loaded_weights_for_env(
12
- env_vehicle: Record<string, unknown>
13
- ): number[]
14
- {
15
- const center_of_mass_by_grouper = mass_center_by_grouper_from_env(env_vehicle)
16
- const wire_center_of_mass = map_center_of_mass_wire(center_of_mass_by_grouper)
17
- const payload = build_connector_payload(env_vehicle, wire_center_of_mass)
18
- return new CmAxleWeightService().calculate(payload)
19
- }
20
-
21
- /**
22
- * @param center_of_mass_by_grouper - CM objects keyed by grouper.
23
- * @returns Plain mass/z map for wire builder.
24
- */
25
- function map_center_of_mass_wire(
26
- center_of_mass_by_grouper: Record<number, CenterOfMass>
27
- ): Record<number, { mass: number, z: number }>
28
- {
29
- const wire: Record<number, { mass: number, z: number }> = {}
30
- for (const grouper of Object.keys(center_of_mass_by_grouper))
31
- {
32
- const id = Number(grouper)
33
- const entry = center_of_mass_by_grouper[id]
34
- wire[id] = { mass: entry.mass, z: entry.z }
35
- }
36
- return wire
37
- }
@@ -1,86 +0,0 @@
1
- /**
2
- * Validates allocated items do not overlap (Java CollisionChecker parity for tests).
3
- * @param env_vehicle - Env vehicle with containers and items.
4
- */
5
- export function check_cargo_collision(env_vehicle: Record<string, unknown>): void
6
- {
7
- const key = env_vehicle.conteiners ? 'conteiners' : 'containers'
8
- const containers = env_vehicle[key] as Record<string, unknown>[] | undefined
9
- if (!containers)
10
- {
11
- return
12
- }
13
- for (const container of containers)
14
- {
15
- check_container_items(container)
16
- }
17
- }
18
-
19
- /**
20
- * @param container - Container with items.
21
- */
22
- function check_container_items(container: Record<string, unknown>): void
23
- {
24
- const items = container.items as Record<string, unknown>[] | undefined
25
- if (!items || items.length <= 1)
26
- {
27
- return
28
- }
29
- for (let i = 0; i < items.length - 1; i++)
30
- {
31
- for (let j = i + 1; j < items.length; j++)
32
- {
33
- if (items_intersect(items[i], items[j]))
34
- {
35
- throw new Error('Item overlap error')
36
- }
37
- }
38
- }
39
- }
40
-
41
- /**
42
- * @param left - First item.
43
- * @param right - Second item.
44
- * @returns True when 3D boxes overlap (Java Item.intersect axes swap).
45
- */
46
- function items_intersect(left: Record<string, unknown>, right: Record<string, unknown>): boolean
47
- {
48
- const left_box = item_intervals(left)
49
- const right_box = item_intervals(right)
50
- return intervals_overlap(left_box.x, right_box.x)
51
- && intervals_overlap(left_box.y, right_box.y)
52
- && intervals_overlap(left_box.z, right_box.z)
53
- }
54
-
55
- /**
56
- * @param item - Item JSON.
57
- * @returns Axis intervals using Java coordinate mapping.
58
- */
59
- function item_intervals(item: Record<string, unknown>): {
60
- x: [number, number]
61
- y: [number, number]
62
- z: [number, number]
63
- }
64
- {
65
- const x0 = Number(item.x ?? 0)
66
- const width = Number(item.largura ?? item.width ?? 0)
67
- const json_y = Number(item.y ?? 0)
68
- const json_z = Number(item.z ?? 0)
69
- const length = Number(item.comprimento ?? item.length ?? 0)
70
- const height = Number(item.altura ?? item.height ?? 0)
71
- return {
72
- x: [x0, x0 + width],
73
- y: [json_z, json_z + height],
74
- z: [json_y, json_y + length]
75
- }
76
- }
77
-
78
- /**
79
- * @param left - Interval.
80
- * @param right - Interval.
81
- * @returns True when open intervals overlap.
82
- */
83
- function intervals_overlap(left: [number, number], right: [number, number]): boolean
84
- {
85
- return left[0] < right[1] && right[0] < left[1]
86
- }
@@ -1,81 +0,0 @@
1
- import { WIRE_FLAGS } from '../contracts/wire_flags.js'
2
-
3
- /**
4
- * Builds axle-weight service payload from a prepared env vehicle (Java AxleWeightConnector).
5
- * @param env_vehicle - Vehicle object inside envs[].
6
- * @param center_of_mass_by_grouper - CM per grouper for CM service flag.
7
- * @returns Transport record for CmAxleWeightService.
8
- */
9
- export function build_connector_payload(
10
- env_vehicle: Record<string, unknown>,
11
- center_of_mass_by_grouper: Record<number, { mass: number, z: number }>
12
- ): Record<string, unknown>
13
- {
14
- const center_of_mass = map_center_of_mass_wire(center_of_mass_by_grouper)
15
- return {
16
- [WIRE_FLAGS.CONTAINERS]: build_containers(env_vehicle),
17
- [WIRE_FLAGS.AXLE_LIST]: build_axles(env_vehicle),
18
- [WIRE_FLAGS.TRANSPORT_ID]: env_vehicle._id,
19
- [WIRE_FLAGS.AMOUNT]: 1,
20
- [WIRE_FLAGS.SUPPORTED_WEIGHT]: env_vehicle.pesoDeCarga,
21
- [WIRE_FLAGS.FIRST_AXLE_DISTANCE]: env_vehicle.primeiroEixo,
22
- [WIRE_FLAGS.VEHICLE_TYPE]: env_vehicle.tipoVeiculo,
23
- [WIRE_FLAGS.VEHICLE_VERSION]: env_vehicle.tipoVersao,
24
- [WIRE_FLAGS.SUSPENSION_TYPE]: env_vehicle.tipoSuspensao,
25
- [WIRE_FLAGS.CM_SERVICE_CENTER_OF_MASS]: center_of_mass
26
- }
27
- }
28
-
29
- /**
30
- * @param center_of_mass_by_grouper - CM per grouper from Java MassCenter.
31
- * @returns Wire map for CM service.
32
- */
33
- function map_center_of_mass_wire(
34
- center_of_mass_by_grouper: Record<number, { mass: number, z: number }>
35
- ): Record<string, { mass: number, z_position: number }>
36
- {
37
- const center_of_mass: Record<string, { mass: number, z_position: number }> = {}
38
- for (const grouper_key of Object.keys(center_of_mass_by_grouper))
39
- {
40
- const entry = center_of_mass_by_grouper[Number(grouper_key)]
41
- center_of_mass[grouper_key] = {
42
- mass: entry.mass,
43
- [WIRE_FLAGS.CM_SERVICE_Z]: entry.z
44
- }
45
- }
46
- return center_of_mass
47
- }
48
-
49
- /**
50
- * @param env_vehicle - Env vehicle JSON.
51
- * @returns Container wire list without items.
52
- */
53
- function build_containers(env_vehicle: Record<string, unknown>): Record<string, unknown>[]
54
- {
55
- const list = env_vehicle.containers as Record<string, unknown>[]
56
- return list.map((container) => ({
57
- [WIRE_FLAGS.LENGTH]: container.comprimento,
58
- [WIRE_FLAGS.WIDTH]: container.largura,
59
- [WIRE_FLAGS.HEIGHT]: container.altura,
60
- [WIRE_FLAGS.SEQUENCE]: container.sequencia,
61
- [WIRE_FLAGS.MAIN_PIN_DISTANCE]: container.distPinoRei,
62
- [WIRE_FLAGS.CONTAINER_DISTANCE_AHEAD]: container.containerDistanceAhead,
63
- [WIRE_FLAGS.GROUPER]: container.grouper
64
- }))
65
- }
66
-
67
- /**
68
- * @param env_vehicle - Env vehicle JSON.
69
- * @returns Axle wire list.
70
- */
71
- function build_axles(env_vehicle: Record<string, unknown>): Record<string, unknown>[]
72
- {
73
- const list = env_vehicle.eixos as Record<string, unknown>[]
74
- return list.map((axle) => ({
75
- [WIRE_FLAGS.DISTANCE_FROM_ORIGIN]: axle.distanciaOrigem,
76
- [WIRE_FLAGS.MAX_SUPPORTED_WEIGHT]: axle.pesoMaxSuportado,
77
- [WIRE_FLAGS.SEQUENCE_CONTAINER]: axle.sequenciaContainer,
78
- [WIRE_FLAGS.DNIT_WEIGHT]: axle.pesoDnit ?? axle.pesoMaxSuportado,
79
- [WIRE_FLAGS.TARE]: axle.tara
80
- }))
81
- }
@@ -1,98 +0,0 @@
1
- import { CenterOfMass } from '../physics/items/center_of_mass.js'
2
-
3
- /**
4
- * Computes mass center per grouper using ms-faixas Java Item / MassCenter rules.
5
- * Longitudinal position uses JSON `y` (maps to Ponto3D.z in Java CubeRepresentation).
6
- * @param env_vehicle - Single env vehicle object from weight_by_axis payload.
7
- * @returns Map of grouper id to center of mass.
8
- */
9
- export function mass_center_by_grouper_from_env(
10
- env_vehicle: Record<string, unknown>
11
- ): Record<number, CenterOfMass>
12
- {
13
- const result: Record<number, CenterOfMass> = {}
14
- const containers = env_vehicle.containers as Record<string, unknown>[] | undefined
15
- if (!containers)
16
- {
17
- return result
18
- }
19
- for (const container of containers)
20
- {
21
- const grouper = Number(container.grouper)
22
- // Java AxleWeightConnector overwrites per container in loop order (last wins).
23
- result[grouper] = compute_container_mass_center(container)
24
- }
25
- return result
26
- }
27
-
28
- /**
29
- * @param container - Container object with items array.
30
- * @returns Center of mass for container items.
31
- */
32
- function compute_container_mass_center(container: Record<string, unknown>): CenterOfMass
33
- {
34
- const center_of_mass = new CenterOfMass()
35
- const items = container.items as Record<string, unknown>[] | undefined
36
- if (!items || items.length === 0)
37
- {
38
- center_of_mass.mass = 0
39
- center_of_mass.z = 0
40
- return center_of_mass
41
- }
42
- const container_offset = read_container_longitudinal_offset(container)
43
- let accumulated = 0
44
- let mass = 0
45
- for (const item of items)
46
- {
47
- const weight = read_item_weight(item)
48
- const position = container_offset + read_item_longitudinal_position(item)
49
- accumulated += weight * position
50
- mass += weight
51
- }
52
- center_of_mass.mass = mass
53
- center_of_mass.z = mass === 0 ? 0 : accumulated / mass
54
- return center_of_mass
55
- }
56
-
57
- /**
58
- * @param container - Container JSON.
59
- * @returns Longitudinal offset of container body (first faixa z1 when present).
60
- */
61
- function read_container_longitudinal_offset(container: Record<string, unknown>): number
62
- {
63
- const bands = container.faixas as Record<string, unknown>[] | undefined
64
- if (!bands || bands.length === 0)
65
- {
66
- return 0
67
- }
68
- return Number(bands[0].z1 ?? 0)
69
- }
70
-
71
- /**
72
- * @param item - Ms-faixas item JSON.
73
- * @returns Item weight.
74
- */
75
- function read_item_weight(item: Record<string, unknown>): number
76
- {
77
- if (item.peso !== undefined)
78
- {
79
- return Number(item.peso)
80
- }
81
- return Number(item.weight ?? 0)
82
- }
83
-
84
- /**
85
- * @param item - Ms-faixas item JSON.
86
- * @returns Longitudinal position for equilibrium (Java getZ on pontoDeInicio).
87
- */
88
- function read_item_longitudinal_position(item: Record<string, unknown>): number
89
- {
90
- const origin_y = Number(item.y ?? 0)
91
- const custom = item.centerOfGravity as Record<string, unknown> | undefined
92
- if (custom && custom.z !== undefined)
93
- {
94
- return origin_y + Number(custom.z)
95
- }
96
- const length = Number(item.comprimento ?? item.length ?? 0)
97
- return origin_y + length / 2
98
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * @param envs - Output env list.
3
- * @returns Success JSON string.
4
- */
5
- export function build_success_output(envs: Record<string, unknown>[]): string
6
- {
7
- return JSON.stringify({ envs })
8
- }
9
-
10
- /**
11
- * @param error - Thrown error.
12
- * @returns Error JSON string matching ms-faixas format.
13
- */
14
- export function build_error_output(error: unknown): string
15
- {
16
- const message = error instanceof Error ? error.message : String(error)
17
- return JSON.stringify({ msg: message, apiError: message })
18
- }
@@ -1,26 +0,0 @@
1
- import { z } from 'zod'
2
-
3
- const env_schema = z.object({
4
- _id: z.union([z.string(), z.number()]).optional(),
5
- eixos: z.array(z.record(z.unknown())).min(1),
6
- conteiners: z.array(z.record(z.unknown())).optional(),
7
- containers: z.array(z.record(z.unknown())).optional()
8
- }).passthrough()
9
-
10
- const request_schema = z.object({
11
- envs: z.array(env_schema).min(1),
12
- config: z.record(z.unknown()).optional()
13
- }).passthrough()
14
-
15
- export type WeightByAxisRequest = z.infer<typeof request_schema>
16
-
17
- /**
18
- * Parses and validates weight-by-axis JSON at the library boundary.
19
- * @param json_data - Raw request string.
20
- * @returns Parsed request object.
21
- */
22
- export function parse_weight_by_axis_request(json_data: string): WeightByAxisRequest
23
- {
24
- const parsed: unknown = JSON.parse(json_data)
25
- return request_schema.parse(parsed)
26
- }