@jetta/axle-load-calculator 0.1.3 → 0.3.1

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 (520) hide show
  1. package/README.md +48 -7
  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/{connector_payload_builder.d.ts → ConnectorPayloadBuilder.d.ts} +1 -1
  27. package/build/core/orchestration/ConnectorPayloadBuilder.d.ts.map +1 -0
  28. package/build/core/orchestration/{connector_payload_builder.js → ConnectorPayloadBuilder.js} +27 -13
  29. package/build/core/orchestration/{java_mass_center.d.ts → JavaMassCenter.d.ts} +2 -2
  30. package/build/core/orchestration/JavaMassCenter.d.ts.map +1 -0
  31. package/build/core/orchestration/{java_mass_center.js → JavaMassCenter.js} +1 -1
  32. package/build/core/orchestration/OutputBuilder.d.ts +7 -0
  33. package/build/core/orchestration/OutputBuilder.d.ts.map +1 -0
  34. package/build/core/orchestration/OutputBuilder.js +7 -0
  35. package/build/core/orchestration/{request_schema.d.ts → RequestSchema.d.ts} +14 -22
  36. package/build/core/orchestration/RequestSchema.d.ts.map +1 -0
  37. package/build/core/orchestration/RequestSchema.js +18 -0
  38. package/build/core/orchestration/WeightByAxisResponse.d.ts +11 -0
  39. package/build/core/orchestration/WeightByAxisResponse.d.ts.map +1 -0
  40. package/build/core/orchestration/WeightByAxisResponse.js +1 -0
  41. package/build/core/orchestration/WeightByAxisTask.d.ts +17 -0
  42. package/build/core/orchestration/WeightByAxisTask.d.ts.map +1 -0
  43. package/build/core/orchestration/{weight_by_axis_task.js → WeightByAxisTask.js} +27 -28
  44. package/build/core/physics/items/{allocated_item.d.ts → AllocatedItem.d.ts} +3 -3
  45. package/build/core/physics/items/AllocatedItem.d.ts.map +1 -0
  46. package/build/core/physics/items/{allocated_item.js → AllocatedItem.js} +1 -1
  47. package/build/core/physics/items/{allocated_item_manager.d.ts → AllocatedItemManager.d.ts} +3 -3
  48. package/build/core/physics/items/AllocatedItemManager.d.ts.map +1 -0
  49. package/build/core/physics/items/BindChassiSolver.d.ts +12 -0
  50. package/build/core/physics/items/BindChassiSolver.d.ts.map +1 -0
  51. package/build/core/physics/items/BindChassiSolver.js +10 -0
  52. package/build/core/physics/items/{center_of_mass.d.ts → CenterOfMass.d.ts} +2 -2
  53. package/build/core/physics/items/CenterOfMass.d.ts.map +1 -0
  54. package/build/core/physics/items/{compute_grouper_center_of_mass.d.ts → ComputeGrouperCenterOfMass.d.ts} +6 -6
  55. package/build/core/physics/items/ComputeGrouperCenterOfMass.d.ts.map +1 -0
  56. package/build/core/physics/items/{compute_grouper_center_of_mass.js → ComputeGrouperCenterOfMass.js} +2 -2
  57. package/build/core/physics/items/{item_templates.d.ts → ItemTemplates.d.ts} +2 -2
  58. package/build/core/physics/items/ItemTemplates.d.ts.map +1 -0
  59. package/build/core/physics/items/{item_templates.js → ItemTemplates.js} +4 -3
  60. package/build/core/physics/items/{multi_container_allocated_items.d.ts → MultiContainerAllocatedItems.d.ts} +4 -4
  61. package/build/core/physics/items/MultiContainerAllocatedItems.d.ts.map +1 -0
  62. package/build/core/physics/items/{multi_container_allocated_items.js → MultiContainerAllocatedItems.js} +2 -2
  63. package/build/core/physics/items/{rotation_transforms.d.ts → RotationTransforms.d.ts} +2 -2
  64. package/build/core/physics/items/RotationTransforms.d.ts.map +1 -0
  65. package/build/core/physics/items/{rotation_transforms.js → RotationTransforms.js} +1 -1
  66. package/build/core/physics/items/UnknownItemIdError.d.ts +10 -0
  67. package/build/core/physics/items/UnknownItemIdError.d.ts.map +1 -0
  68. package/build/core/physics/items/UnknownItemIdError.js +12 -0
  69. package/build/core/physics/models/{axle_weight_model.d.ts → AxleWeightModel.d.ts} +6 -6
  70. package/build/core/physics/models/AxleWeightModel.d.ts.map +1 -0
  71. package/build/core/physics/models/{axle_weight_model.js → AxleWeightModel.js} +11 -10
  72. package/build/core/physics/models/{bi_truck_model.d.ts → BiTruckModel.d.ts} +5 -5
  73. package/build/core/physics/models/BiTruckModel.d.ts.map +1 -0
  74. package/build/core/physics/models/{bi_truck_model.js → BiTruckModel.js} +5 -5
  75. package/build/core/physics/models/{bi_truck_tractor_semi_trailer_model.d.ts → BiTruckTractorSemiTrailerModel.d.ts} +5 -5
  76. package/build/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts.map +1 -0
  77. package/build/core/physics/models/{bi_truck_tractor_semi_trailer_model.js → BiTruckTractorSemiTrailerModel.js} +5 -5
  78. package/build/core/physics/models/{bitrem_model.d.ts → BitremModel.d.ts} +6 -6
  79. package/build/core/physics/models/BitremModel.d.ts.map +1 -0
  80. package/build/core/physics/models/{bitrem_model.js → BitremModel.js} +7 -6
  81. package/build/core/physics/models/{chassi_forces.d.ts → ChassiForces.d.ts} +1 -1
  82. package/build/core/physics/models/ChassiForces.d.ts.map +1 -0
  83. package/build/core/physics/models/{old_tare_model.d.ts → OldTareModel.d.ts} +2 -2
  84. package/build/core/physics/models/OldTareModel.d.ts.map +1 -0
  85. package/build/core/physics/models/{old_tare_model.js → OldTareModel.js} +5 -5
  86. package/build/core/physics/models/{old_tare_scale.d.ts → OldTareScale.d.ts} +1 -1
  87. package/build/core/physics/models/OldTareScale.d.ts.map +1 -0
  88. package/build/core/physics/models/{old_tare_semireboque.d.ts → OldTareSemireboque.d.ts} +2 -2
  89. package/build/core/physics/models/OldTareSemireboque.d.ts.map +1 -0
  90. package/build/core/physics/models/{old_tare_semireboque.js → OldTareSemireboque.js} +2 -2
  91. package/build/core/physics/models/{old_tare_truck.d.ts → OldTareTruck.d.ts} +2 -2
  92. package/build/core/physics/models/OldTareTruck.d.ts.map +1 -0
  93. package/build/core/physics/models/{old_tare_truck.js → OldTareTruck.js} +2 -2
  94. package/build/core/physics/models/{old_tare_vanderleia.d.ts → OldTareVanderleia.d.ts} +2 -2
  95. package/build/core/physics/models/OldTareVanderleia.d.ts.map +1 -0
  96. package/build/core/physics/models/{old_tare_vanderleia.js → OldTareVanderleia.js} +1 -1
  97. package/build/core/physics/models/{percentage_on_axles_calculator.d.ts → PercentageOnAxlesCalculator.d.ts} +2 -2
  98. package/build/core/physics/models/PercentageOnAxlesCalculator.d.ts.map +1 -0
  99. package/build/core/physics/models/{percentage_on_axles_calculator.js → PercentageOnAxlesCalculator.js} +1 -1
  100. package/build/core/physics/models/{quad_semi_trailer_model.d.ts → QuadSemiTrailerModel.d.ts} +5 -5
  101. package/build/core/physics/models/QuadSemiTrailerModel.d.ts.map +1 -0
  102. package/build/core/physics/models/{quad_semi_trailer_model.js → QuadSemiTrailerModel.js} +5 -5
  103. package/build/core/physics/models/{rodotrem_model.d.ts → RodotremModel.d.ts} +6 -6
  104. package/build/core/physics/models/RodotremModel.d.ts.map +1 -0
  105. package/build/core/physics/models/{rodotrem_model.js → RodotremModel.js} +7 -6
  106. package/build/core/physics/models/SemiDelegate.d.ts +9 -0
  107. package/build/core/physics/models/SemiDelegate.d.ts.map +1 -0
  108. package/build/core/physics/models/SemiDelegate.js +1 -0
  109. package/build/core/physics/models/{semi_reboque_base.d.ts → SemiReboqueBase.d.ts} +4 -4
  110. package/build/core/physics/models/SemiReboqueBase.d.ts.map +1 -0
  111. package/build/core/physics/models/{semi_reboque_base.js → SemiReboqueBase.js} +4 -4
  112. package/build/core/physics/models/{semi_reboque_model.d.ts → SemiReboqueModel.d.ts} +5 -5
  113. package/build/core/physics/models/SemiReboqueModel.d.ts.map +1 -0
  114. package/build/core/physics/models/{semi_reboque_model.js → SemiReboqueModel.js} +8 -7
  115. package/build/core/physics/models/{simple_truck_base.d.ts → SimpleTruckBase.d.ts} +4 -4
  116. package/build/core/physics/models/SimpleTruckBase.d.ts.map +1 -0
  117. package/build/core/physics/models/{simple_truck_base.js → SimpleTruckBase.js} +3 -3
  118. package/build/core/physics/models/{simple_truck_model.d.ts → SimpleTruckModel.d.ts} +5 -5
  119. package/build/core/physics/models/SimpleTruckModel.d.ts.map +1 -0
  120. package/build/core/physics/models/{simple_truck_model.js → SimpleTruckModel.js} +7 -6
  121. package/build/core/physics/models/{single_container_tare.d.ts → SingleContainerTare.d.ts} +2 -2
  122. package/build/core/physics/models/SingleContainerTare.d.ts.map +1 -0
  123. package/build/core/physics/models/{single_container_tare.js → SingleContainerTare.js} +2 -2
  124. package/build/core/physics/models/{tare_model.d.ts → TareModel.d.ts} +2 -2
  125. package/build/core/physics/models/TareModel.d.ts.map +1 -0
  126. package/build/core/physics/models/{tare_model.js → TareModel.js} +3 -3
  127. package/build/core/physics/models/TruckDelegate.d.ts +9 -0
  128. package/build/core/physics/models/TruckDelegate.d.ts.map +1 -0
  129. package/build/core/physics/models/TruckDelegate.js +1 -0
  130. package/build/core/physics/models/UnrecognizedSuspensionTypeError.d.ts +10 -0
  131. package/build/core/physics/models/UnrecognizedSuspensionTypeError.d.ts.map +1 -0
  132. package/build/core/physics/models/UnrecognizedSuspensionTypeError.js +12 -0
  133. package/build/core/physics/models/UnsupportedVehicleTypeError.d.ts +10 -0
  134. package/build/core/physics/models/UnsupportedVehicleTypeError.d.ts.map +1 -0
  135. package/build/core/physics/models/UnsupportedVehicleTypeError.js +12 -0
  136. package/build/core/physics/models/{vanderleia_model.d.ts → VanderleiaModel.d.ts} +6 -6
  137. package/build/core/physics/models/VanderleiaModel.d.ts.map +1 -0
  138. package/build/core/physics/models/{vanderleia_model.js → VanderleiaModel.js} +10 -8
  139. package/build/core/physics/models/VehicleModel.d.ts +11 -0
  140. package/build/core/physics/models/VehicleModel.d.ts.map +1 -0
  141. package/build/core/physics/models/VehicleModel.js +1 -0
  142. package/build/core/physics/models/deflection/{beam_deflection.d.ts → BeamDeflection.d.ts} +2 -2
  143. package/build/core/physics/models/deflection/BeamDeflection.d.ts.map +1 -0
  144. package/build/core/physics/models/deflection/{beam_deflection.js → BeamDeflection.js} +2 -2
  145. package/build/core/physics/models/deflection/{bitrem_deflection.d.ts → BitremDeflection.d.ts} +3 -3
  146. package/build/core/physics/models/deflection/BitremDeflection.d.ts.map +1 -0
  147. package/build/core/physics/models/deflection/{bitrem_deflection.js → BitremDeflection.js} +3 -3
  148. package/build/core/physics/models/deflection/{create_deflection_delegate.d.ts → CreateDeflectionDelegate.d.ts} +3 -6
  149. package/build/core/physics/models/deflection/CreateDeflectionDelegate.d.ts.map +1 -0
  150. package/build/core/physics/models/deflection/CreateDeflectionDelegate.js +24 -0
  151. package/build/core/physics/models/deflection/DeflectionDelegate.d.ts +8 -0
  152. package/build/core/physics/models/deflection/DeflectionDelegate.d.ts.map +1 -0
  153. package/build/core/physics/models/deflection/DeflectionDelegate.js +1 -0
  154. package/build/core/physics/models/deflection/DeflectionDelegateFactories.d.ts +36 -0
  155. package/build/core/physics/models/deflection/DeflectionDelegateFactories.d.ts.map +1 -0
  156. package/build/core/physics/models/deflection/DeflectionDelegateFactories.js +51 -0
  157. package/build/core/physics/models/deflection/{deflection_model.d.ts → DeflectionModel.d.ts} +3 -3
  158. package/build/core/physics/models/deflection/DeflectionModel.d.ts.map +1 -0
  159. package/build/core/physics/models/deflection/{deflection_model.js → DeflectionModel.js} +2 -2
  160. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts +9 -0
  161. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts.map +1 -0
  162. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.js +11 -0
  163. package/build/core/physics/models/deflection/{deflection_support_manager.d.ts → DeflectionSupportManager.d.ts} +15 -1
  164. package/build/core/physics/models/deflection/DeflectionSupportManager.d.ts.map +1 -0
  165. package/build/core/physics/models/deflection/{deflection_support_manager.js → DeflectionSupportManager.js} +14 -0
  166. package/build/core/physics/models/deflection/{deflection_tools.d.ts → DeflectionTools.d.ts} +1 -1
  167. package/build/core/physics/models/deflection/DeflectionTools.d.ts.map +1 -0
  168. package/build/core/physics/models/deflection/DelegateFactory.d.ts +12 -0
  169. package/build/core/physics/models/deflection/DelegateFactory.d.ts.map +1 -0
  170. package/build/core/physics/models/deflection/DelegateFactory.js +1 -0
  171. package/build/core/physics/models/deflection/{integration_constant_calculator.d.ts → IntegrationConstantCalculator.d.ts} +6 -3
  172. package/build/core/physics/models/deflection/IntegrationConstantCalculator.d.ts.map +1 -0
  173. package/build/core/physics/models/deflection/{integration_constant_calculator.js → IntegrationConstantCalculator.js} +4 -1
  174. package/build/core/physics/models/deflection/{rodotrem_deflection.d.ts → RodotremDeflection.d.ts} +3 -3
  175. package/build/core/physics/models/deflection/RodotremDeflection.d.ts.map +1 -0
  176. package/build/core/physics/models/deflection/{rodotrem_deflection.js → RodotremDeflection.js} +3 -3
  177. package/build/core/physics/models/deflection/{semi_reboque_deflection.d.ts → SemiReboqueDeflection.d.ts} +3 -3
  178. package/build/core/physics/models/deflection/SemiReboqueDeflection.d.ts.map +1 -0
  179. package/build/core/physics/models/deflection/{semi_reboque_deflection.js → SemiReboqueDeflection.js} +2 -2
  180. package/build/core/physics/models/deflection/{simple_truck_deflection.d.ts → SimpleTruckDeflection.d.ts} +3 -3
  181. package/build/core/physics/models/deflection/SimpleTruckDeflection.d.ts.map +1 -0
  182. package/build/core/physics/models/deflection/{simple_truck_deflection.js → SimpleTruckDeflection.js} +2 -2
  183. package/build/core/physics/models/deflection/{vanderleia_deflection.d.ts → VanderleiaDeflection.d.ts} +3 -3
  184. package/build/core/physics/models/deflection/VanderleiaDeflection.d.ts.map +1 -0
  185. package/build/core/physics/models/deflection/{vanderleia_deflection.js → VanderleiaDeflection.js} +3 -3
  186. package/build/core/physics/services/{axle_weight_output_builder.d.ts → AxleWeightOutputBuilder.d.ts} +4 -4
  187. package/build/core/physics/services/AxleWeightOutputBuilder.d.ts.map +1 -0
  188. package/build/core/physics/services/{axle_weight_output_builder.js → AxleWeightOutputBuilder.js} +2 -2
  189. package/build/core/physics/services/{axle_weight_service.d.ts → AxleWeightService.d.ts} +1 -1
  190. package/build/core/physics/services/AxleWeightService.d.ts.map +1 -0
  191. package/build/core/physics/services/{axle_weight_service.js → AxleWeightService.js} +6 -6
  192. package/build/core/physics/services/{cm_axle_weight_service.d.ts → CmAxleWeightService.d.ts} +2 -2
  193. package/build/core/physics/services/CmAxleWeightService.d.ts.map +1 -0
  194. package/build/core/physics/services/{cm_axle_weight_service.js → CmAxleWeightService.js} +3 -3
  195. package/build/core/physics/services/{container_corner_forces.d.ts → ContainerCornerForces.d.ts} +1 -1
  196. package/build/core/physics/services/ContainerCornerForces.d.ts.map +1 -0
  197. package/build/core/physics/transports/{axle_manager.d.ts → AxleManager.d.ts} +3 -3
  198. package/build/core/physics/transports/AxleManager.d.ts.map +1 -0
  199. package/build/core/physics/transports/{axle_manager.js → AxleManager.js} +2 -2
  200. package/build/core/physics/transports/{axle_record.d.ts → AxleRecord.d.ts} +1 -1
  201. package/build/core/physics/transports/AxleRecord.d.ts.map +1 -0
  202. package/build/core/physics/transports/{axle_record.js → AxleRecord.js} +1 -1
  203. package/build/core/physics/transports/{chassi.d.ts → Chassi.d.ts} +3 -3
  204. package/build/core/physics/transports/{chassi.d.ts.map → Chassi.d.ts.map} +1 -1
  205. package/build/core/physics/transports/{chassi.js → Chassi.js} +2 -2
  206. package/build/core/physics/transports/{container_record.d.ts → ContainerRecord.d.ts} +1 -1
  207. package/build/core/physics/transports/ContainerRecord.d.ts.map +1 -0
  208. package/build/core/physics/transports/{container_record.js → ContainerRecord.js} +1 -1
  209. package/build/core/physics/transports/ContainerSequenceNotFoundError.d.ts +10 -0
  210. package/build/core/physics/transports/ContainerSequenceNotFoundError.d.ts.map +1 -0
  211. package/build/core/physics/transports/ContainerSequenceNotFoundError.js +12 -0
  212. package/build/core/physics/transports/{grouped_containers.d.ts → GroupedContainers.d.ts} +2 -2
  213. package/build/core/physics/transports/GroupedContainers.d.ts.map +1 -0
  214. package/build/core/physics/transports/{grouped_containers.js → GroupedContainers.js} +3 -2
  215. package/build/core/physics/transports/GrouperNotFoundError.d.ts +10 -0
  216. package/build/core/physics/transports/GrouperNotFoundError.d.ts.map +1 -0
  217. package/build/core/physics/transports/GrouperNotFoundError.js +12 -0
  218. package/build/core/physics/transports/{merged_containers.d.ts → MergedContainers.d.ts} +3 -3
  219. package/build/core/physics/transports/MergedContainers.d.ts.map +1 -0
  220. package/build/core/physics/transports/{merged_containers.js → MergedContainers.js} +3 -2
  221. package/build/core/physics/transports/MissingContainerError.d.ts +10 -0
  222. package/build/core/physics/transports/MissingContainerError.d.ts.map +1 -0
  223. package/build/core/physics/transports/MissingContainerError.js +12 -0
  224. package/build/core/physics/transports/{transport.d.ts → Transport.d.ts} +5 -5
  225. package/build/core/physics/transports/Transport.d.ts.map +1 -0
  226. package/build/core/physics/transports/{transport.js → Transport.js} +7 -6
  227. package/build/core/physics/transports/containerweight/{container_max_weight_calculator.d.ts → ContainerMaxWeightCalculator.d.ts} +3 -9
  228. package/build/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts.map +1 -0
  229. package/build/core/physics/transports/containerweight/{container_tare_calculator.d.ts → ContainerTareCalculator.d.ts} +3 -3
  230. package/build/core/physics/transports/containerweight/ContainerTareCalculator.d.ts.map +1 -0
  231. package/build/core/physics/transports/containerweight/{container_weight_model.d.ts → ContainerWeightModel.d.ts} +2 -2
  232. package/build/core/physics/transports/containerweight/ContainerWeightModel.d.ts.map +1 -0
  233. package/build/core/physics/transports/containerweight/{container_weight_model.js → ContainerWeightModel.js} +3 -3
  234. package/build/core/physics/transports/containerweight/MaxWeightInput.d.ts +10 -0
  235. package/build/core/physics/transports/containerweight/MaxWeightInput.d.ts.map +1 -0
  236. package/build/core/physics/transports/containerweight/MaxWeightInput.js +1 -0
  237. package/build/core/physics/transports/containerweight/{merged_containers_weight_calculator.d.ts → MergedContainersWeightCalculator.d.ts} +3 -3
  238. package/build/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts.map +1 -0
  239. package/build/core/physics/transports/containerweight/{single_container_weight_calculator.d.ts → SingleContainerWeightCalculator.d.ts} +3 -3
  240. package/build/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts.map +1 -0
  241. package/build/core/physics/transports/containerweight/{single_container_weight_calculator.js → SingleContainerWeightCalculator.js} +2 -2
  242. package/build/core/physics/transports/tare/BitremAxleSplit.d.ts +8 -0
  243. package/build/core/physics/transports/tare/BitremAxleSplit.d.ts.map +1 -0
  244. package/build/core/physics/transports/tare/BitremAxleSplit.js +1 -0
  245. package/build/core/physics/transports/tare/BitremAxleSplitTarget.d.ts +12 -0
  246. package/build/core/physics/transports/tare/BitremAxleSplitTarget.d.ts.map +1 -0
  247. package/build/core/physics/transports/tare/BitremAxleSplitTarget.js +1 -0
  248. package/build/core/physics/transports/tare/{bitrem_axle_splitter.d.ts → BitremAxleSplitter.d.ts} +3 -3
  249. package/build/core/physics/transports/tare/BitremAxleSplitter.d.ts.map +1 -0
  250. package/build/core/physics/transports/tare/{bitrem_axle_splitter.js → BitremAxleSplitter.js} +5 -5
  251. package/build/core/physics/transports/tare/{bitrem_axle_weight_split.d.ts → BitremAxleWeightSplit.d.ts} +3 -12
  252. package/build/core/physics/transports/tare/BitremAxleWeightSplit.d.ts.map +1 -0
  253. package/build/index.d.ts +19 -4
  254. package/build/index.d.ts.map +1 -1
  255. package/build/index.js +18 -6
  256. package/package.json +4 -4
  257. package/.cursor/ai_changelog/INDEX.md +0 -13
  258. package/.cursor/ai_changelog/_TEMPLATE.md +0 -55
  259. package/.cursor/rules/code-standards.mdc +0 -103
  260. package/.cursor/rules/knowledge-base.mdc +0 -14
  261. package/.cursor/rules/planning-standards.mdc +0 -55
  262. package/.cursor/skills/document-feature-knowledge/SKILL.md +0 -51
  263. package/bitbucket-pipelines.yml +0 -81
  264. package/build/core/contracts/chassi_reference.d.ts.map +0 -1
  265. package/build/core/contracts/ms_faixas_contract.d.ts.map +0 -1
  266. package/build/core/contracts/rotation_enum.d.ts.map +0 -1
  267. package/build/core/contracts/suspension_type.d.ts.map +0 -1
  268. package/build/core/contracts/transport_record.d.ts.map +0 -1
  269. package/build/core/contracts/vehicle_type.d.ts.map +0 -1
  270. package/build/core/contracts/vehicle_version.d.ts.map +0 -1
  271. package/build/core/contracts/wire_flags.d.ts.map +0 -1
  272. package/build/core/math/float_tools.d.ts.map +0 -1
  273. package/build/core/math/gaussian_elimination.d.ts.map +0 -1
  274. package/build/core/orchestration/axle_weight_physics.d.ts.map +0 -1
  275. package/build/core/orchestration/collision_checker.d.ts +0 -6
  276. package/build/core/orchestration/collision_checker.d.ts.map +0 -1
  277. package/build/core/orchestration/collision_checker.js +0 -67
  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 +0 -11
  281. package/build/core/orchestration/output_builder.d.ts.map +0 -1
  282. package/build/core/orchestration/output_builder.js +0 -15
  283. package/build/core/orchestration/request_schema.d.ts.map +0 -1
  284. package/build/core/orchestration/request_schema.js +0 -20
  285. package/build/core/orchestration/weight_by_axis_task.d.ts +0 -7
  286. package/build/core/orchestration/weight_by_axis_task.d.ts.map +0 -1
  287. package/build/core/physics/items/allocated_item.d.ts.map +0 -1
  288. package/build/core/physics/items/allocated_item_manager.d.ts.map +0 -1
  289. package/build/core/physics/items/center_of_mass.d.ts.map +0 -1
  290. package/build/core/physics/items/compute_grouper_center_of_mass.d.ts.map +0 -1
  291. package/build/core/physics/items/item_templates.d.ts.map +0 -1
  292. package/build/core/physics/items/multi_container_allocated_items.d.ts.map +0 -1
  293. package/build/core/physics/items/rotation_transforms.d.ts.map +0 -1
  294. package/build/core/physics/models/axle_weight_model.d.ts.map +0 -1
  295. package/build/core/physics/models/bi_truck_model.d.ts.map +0 -1
  296. package/build/core/physics/models/bi_truck_tractor_semi_trailer_model.d.ts.map +0 -1
  297. package/build/core/physics/models/bitrem_model.d.ts.map +0 -1
  298. package/build/core/physics/models/chassi_forces.d.ts.map +0 -1
  299. package/build/core/physics/models/deflection/beam_deflection.d.ts.map +0 -1
  300. package/build/core/physics/models/deflection/bitrem_deflection.d.ts.map +0 -1
  301. package/build/core/physics/models/deflection/create_deflection_delegate.d.ts.map +0 -1
  302. package/build/core/physics/models/deflection/create_deflection_delegate.js +0 -32
  303. package/build/core/physics/models/deflection/deflection_model.d.ts.map +0 -1
  304. package/build/core/physics/models/deflection/deflection_support_manager.d.ts.map +0 -1
  305. package/build/core/physics/models/deflection/deflection_tools.d.ts.map +0 -1
  306. package/build/core/physics/models/deflection/integration_constant_calculator.d.ts.map +0 -1
  307. package/build/core/physics/models/deflection/rodotrem_deflection.d.ts.map +0 -1
  308. package/build/core/physics/models/deflection/semi_reboque_deflection.d.ts.map +0 -1
  309. package/build/core/physics/models/deflection/simple_truck_deflection.d.ts.map +0 -1
  310. package/build/core/physics/models/deflection/vanderleia_deflection.d.ts.map +0 -1
  311. package/build/core/physics/models/old_tare_model.d.ts.map +0 -1
  312. package/build/core/physics/models/old_tare_scale.d.ts.map +0 -1
  313. package/build/core/physics/models/old_tare_semireboque.d.ts.map +0 -1
  314. package/build/core/physics/models/old_tare_truck.d.ts.map +0 -1
  315. package/build/core/physics/models/old_tare_vanderleia.d.ts.map +0 -1
  316. package/build/core/physics/models/percentage_on_axles_calculator.d.ts.map +0 -1
  317. package/build/core/physics/models/quad_semi_trailer_model.d.ts.map +0 -1
  318. package/build/core/physics/models/rodotrem_model.d.ts.map +0 -1
  319. package/build/core/physics/models/semi_reboque_base.d.ts.map +0 -1
  320. package/build/core/physics/models/semi_reboque_model.d.ts.map +0 -1
  321. package/build/core/physics/models/simple_truck_base.d.ts.map +0 -1
  322. package/build/core/physics/models/simple_truck_model.d.ts.map +0 -1
  323. package/build/core/physics/models/single_container_tare.d.ts.map +0 -1
  324. package/build/core/physics/models/tare_model.d.ts.map +0 -1
  325. package/build/core/physics/models/vanderleia_model.d.ts.map +0 -1
  326. package/build/core/physics/services/axle_weight_output_builder.d.ts.map +0 -1
  327. package/build/core/physics/services/axle_weight_service.d.ts.map +0 -1
  328. package/build/core/physics/services/cm_axle_weight_service.d.ts.map +0 -1
  329. package/build/core/physics/services/container_corner_forces.d.ts.map +0 -1
  330. package/build/core/physics/transports/axle_manager.d.ts.map +0 -1
  331. package/build/core/physics/transports/axle_record.d.ts.map +0 -1
  332. package/build/core/physics/transports/container_record.d.ts.map +0 -1
  333. package/build/core/physics/transports/containerweight/container_max_weight_calculator.d.ts.map +0 -1
  334. package/build/core/physics/transports/containerweight/container_tare_calculator.d.ts.map +0 -1
  335. package/build/core/physics/transports/containerweight/container_weight_model.d.ts.map +0 -1
  336. package/build/core/physics/transports/containerweight/merged_containers_weight_calculator.d.ts.map +0 -1
  337. package/build/core/physics/transports/containerweight/single_container_weight_calculator.d.ts.map +0 -1
  338. package/build/core/physics/transports/grouped_containers.d.ts.map +0 -1
  339. package/build/core/physics/transports/merged_containers.d.ts.map +0 -1
  340. package/build/core/physics/transports/tare/bitrem_axle_splitter.d.ts.map +0 -1
  341. package/build/core/physics/transports/tare/bitrem_axle_weight_split.d.ts.map +0 -1
  342. package/build/core/physics/transports/transport.d.ts.map +0 -1
  343. package/eslint.config.js +0 -51
  344. package/src/core/contracts/chassi_reference.ts +0 -7
  345. package/src/core/contracts/ms_faixas_contract.ts +0 -114
  346. package/src/core/contracts/rotation_enum.ts +0 -11
  347. package/src/core/contracts/suspension_type.ts +0 -4
  348. package/src/core/contracts/transport_record.ts +0 -4
  349. package/src/core/contracts/vehicle_type.ts +0 -12
  350. package/src/core/contracts/vehicle_version.ts +0 -7
  351. package/src/core/contracts/wire_flags.ts +0 -26
  352. package/src/core/math/float_tools.ts +0 -17
  353. package/src/core/math/gaussian_elimination.ts +0 -104
  354. package/src/core/orchestration/axle_weight_physics.ts +0 -37
  355. package/src/core/orchestration/collision_checker.ts +0 -86
  356. package/src/core/orchestration/connector_payload_builder.ts +0 -81
  357. package/src/core/orchestration/java_mass_center.ts +0 -98
  358. package/src/core/orchestration/output_builder.ts +0 -18
  359. package/src/core/orchestration/request_schema.ts +0 -26
  360. package/src/core/orchestration/weight_by_axis_task.ts +0 -140
  361. package/src/core/physics/items/allocated_item.ts +0 -41
  362. package/src/core/physics/items/allocated_item_manager.ts +0 -50
  363. package/src/core/physics/items/center_of_mass.ts +0 -31
  364. package/src/core/physics/items/compute_grouper_center_of_mass.ts +0 -44
  365. package/src/core/physics/items/item_templates.ts +0 -65
  366. package/src/core/physics/items/multi_container_allocated_items.ts +0 -120
  367. package/src/core/physics/items/rotation_transforms.ts +0 -29
  368. package/src/core/physics/models/axle_weight_model.ts +0 -109
  369. package/src/core/physics/models/bi_truck_model.ts +0 -74
  370. package/src/core/physics/models/bi_truck_tractor_semi_trailer_model.ts +0 -86
  371. package/src/core/physics/models/bitrem_model.ts +0 -148
  372. package/src/core/physics/models/chassi_forces.ts +0 -50
  373. package/src/core/physics/models/deflection/beam_deflection.ts +0 -105
  374. package/src/core/physics/models/deflection/bitrem_deflection.ts +0 -68
  375. package/src/core/physics/models/deflection/create_deflection_delegate.ts +0 -46
  376. package/src/core/physics/models/deflection/deflection_model.ts +0 -33
  377. package/src/core/physics/models/deflection/deflection_support_manager.ts +0 -56
  378. package/src/core/physics/models/deflection/deflection_tools.ts +0 -11
  379. package/src/core/physics/models/deflection/integration_constant_calculator.ts +0 -62
  380. package/src/core/physics/models/deflection/rodotrem_deflection.ts +0 -57
  381. package/src/core/physics/models/deflection/semi_reboque_deflection.ts +0 -40
  382. package/src/core/physics/models/deflection/simple_truck_deflection.ts +0 -35
  383. package/src/core/physics/models/deflection/vanderleia_deflection.ts +0 -48
  384. package/src/core/physics/models/old_tare_model.ts +0 -51
  385. package/src/core/physics/models/old_tare_scale.ts +0 -9
  386. package/src/core/physics/models/old_tare_semireboque.ts +0 -51
  387. package/src/core/physics/models/old_tare_truck.ts +0 -15
  388. package/src/core/physics/models/old_tare_vanderleia.ts +0 -44
  389. package/src/core/physics/models/percentage_on_axles_calculator.ts +0 -49
  390. package/src/core/physics/models/quad_semi_trailer_model.ts +0 -87
  391. package/src/core/physics/models/rodotrem_model.ts +0 -131
  392. package/src/core/physics/models/semi_reboque_base.ts +0 -103
  393. package/src/core/physics/models/semi_reboque_model.ts +0 -127
  394. package/src/core/physics/models/simple_truck_base.ts +0 -70
  395. package/src/core/physics/models/simple_truck_model.ts +0 -115
  396. package/src/core/physics/models/single_container_tare.ts +0 -56
  397. package/src/core/physics/models/tare_model.ts +0 -46
  398. package/src/core/physics/models/vanderleia_model.ts +0 -125
  399. package/src/core/physics/services/axle_weight_output_builder.ts +0 -63
  400. package/src/core/physics/services/axle_weight_service.ts +0 -116
  401. package/src/core/physics/services/cm_axle_weight_service.ts +0 -45
  402. package/src/core/physics/services/container_corner_forces.ts +0 -95
  403. package/src/core/physics/transports/axle_manager.ts +0 -45
  404. package/src/core/physics/transports/axle_record.ts +0 -68
  405. package/src/core/physics/transports/chassi.ts +0 -130
  406. package/src/core/physics/transports/container_record.ts +0 -58
  407. package/src/core/physics/transports/containerweight/container_max_weight_calculator.ts +0 -59
  408. package/src/core/physics/transports/containerweight/container_tare_calculator.ts +0 -76
  409. package/src/core/physics/transports/containerweight/container_weight_model.ts +0 -38
  410. package/src/core/physics/transports/containerweight/merged_containers_weight_calculator.ts +0 -39
  411. package/src/core/physics/transports/containerweight/single_container_weight_calculator.ts +0 -65
  412. package/src/core/physics/transports/grouped_containers.ts +0 -91
  413. package/src/core/physics/transports/merged_containers.ts +0 -62
  414. package/src/core/physics/transports/tare/bitrem_axle_splitter.ts +0 -107
  415. package/src/core/physics/transports/tare/bitrem_axle_weight_split.ts +0 -55
  416. package/src/core/physics/transports/transport.ts +0 -137
  417. package/src/index.ts +0 -12
  418. package/src/service/.gitkeep +0 -0
  419. package/test/data/src/core/orchestration/weight_by_axis/case_1_basic_truck_input.json +0 -1759
  420. package/test/data/src/core/orchestration/weight_by_axis/case_2_vanderleia_input.json +0 -1286
  421. package/test/data/src/core/orchestration/weight_by_axis/case_3_interlink_input.json +0 -2226
  422. package/test/data/src/core/orchestration/weight_by_axis/case_4_quad_semi_trailer.json +0 -639
  423. package/test/data/src/core/orchestration/weight_by_axis/case_5_custom_center_of_gravity.json +0 -557
  424. package/test/data/src/core/physics/axle_weight_calculations/case_2_bitruck.json +0 -664
  425. package/test/data/src/core/physics/axle_weight_calculations/case_4_quad_semi_trailer.json +0 -674
  426. package/test/data/src/core/physics/axle_weight_calculations/case_5_bi_truck_semi_trailer.json +0 -674
  427. package/test/data/src/core/physics/axle_weight_service/case_1_input_truck.json +0 -1025
  428. package/test/data/src/core/physics/axle_weight_service/case_1_output_truck.json +0 -38
  429. package/test/data/src/core/physics/axle_weight_service/case_2_vanderleia_input.json +0 -1286
  430. package/test/data/src/core/physics/axle_weight_service/case_2_vanderleia_output.json +0 -65
  431. package/test/data/src/core/physics/axle_weight_service/case_3_input_semireboque.json +0 -24625
  432. package/test/data/src/core/physics/axle_weight_service/case_3_output_semireboque.json +0 -57
  433. package/test/data/src/core/physics/axle_weight_service/case_4_input_bitrem.json +0 -2226
  434. package/test/data/src/core/physics/axle_weight_service/case_4_output_bitrem.json +0 -96
  435. package/test/data/src/core/physics/beam_deflection/case_10_rodotrem_offset.json +0 -474
  436. package/test/data/src/core/physics/beam_deflection/case_11_bitruck.json +0 -664
  437. package/test/data/src/core/physics/beam_deflection/case_12_quad_semi_trailer.json +0 -792
  438. package/test/data/src/core/physics/beam_deflection/case_13_bi_truck_semi_trailer.json +0 -792
  439. package/test/data/src/core/physics/beam_deflection/case_1_documentation.ipynb +0 -316
  440. package/test/data/src/core/physics/beam_deflection/case_1_semireboque.json +0 -402
  441. package/test/data/src/core/physics/beam_deflection/case_2_bitrem.json +0 -434
  442. package/test/data/src/core/physics/beam_deflection/case_3_rodotrem.json +0 -474
  443. package/test/data/src/core/physics/beam_deflection/case_4_vanderleia_pneumatica.json +0 -425
  444. package/test/data/src/core/physics/beam_deflection/case_5_vanderleia_mecanica.json +0 -366
  445. package/test/data/src/core/physics/beam_deflection/case_6_truck.json +0 -279
  446. package/test/data/src/core/physics/beam_deflection/case_7_semireboque_structural_offset.json +0 -318
  447. package/test/data/src/core/physics/beam_deflection/case_8_vanderleia_offset.json +0 -425
  448. package/test/data/src/core/physics/beam_deflection/case_9_bitrem_offset.json +0 -434
  449. package/test/data/src/core/physics/bitrem_axle_splitter/case_1_simple_bitrem.json +0 -145
  450. package/test/data/src/core/physics/bitrem_axle_splitter/case_2_lowered_bitrem.json +0 -238
  451. package/test/data/src/core/physics/bitrem_axle_splitter/case_3_lowered_positive_proportion.json +0 -238
  452. package/test/data/src/core/physics/c_m_axle_weight_service/case_1_interlink_trailer.json +0 -94
  453. package/test/data/src/core/physics/calculations/case_1_simple_truck.json +0 -83
  454. package/test/data/src/core/physics/calculations/case_2_lowered_bitrem.json +0 -1051
  455. package/test/data/src/core/physics/calculations/case_3_container_mercedes.json +0 -50
  456. package/test/data/src/core/physics/container_corner_forces/case_1.json +0 -674
  457. package/test/data/src/core/physics/container_weight/case_1_basictruck.json +0 -223
  458. package/test/data/src/core/physics/container_weight/case_2_roadtrain.json +0 -277
  459. package/test/data/src/core/physics/container_weight/case_3_semireboque_rebaixado.json +0 -197
  460. package/test/data/src/core/physics/container_weight/case_4_semireboque_neck_limit.json +0 -197
  461. package/test/data/src/core/physics/container_weight/case_5_vanderleia_rebaixada.json +0 -211
  462. package/test/data/src/core/physics/container_weight/case_6_lowered_interlink.json +0 -230
  463. package/test/data/src/core/physics/python_goldens.json +0 -9
  464. package/test/data/src/core/physics/tare/case_1_simple_vanderleia.json +0 -185
  465. package/test/data/src/core/physics/tare/case_2_lowered_vanderleia.json +0 -646
  466. package/test/data/src/core/physics/tare/case_3_lowered_interlink.json +0 -230
  467. package/test/data/src/core/physics/tare/case_4_negative_tare_VUC.json +0 -483
  468. package/test/data/src/core/physics/tare/case_5_truck_bitruck.json +0 -664
  469. package/test/data/src/core/physics/tare/case_6_quad_semi_trailer.json +0 -203
  470. package/test/data/src/core/physics/tare/case_7_bi_truck_semi_trailer.json +0 -203
  471. package/test/data/src/core/physics/tare/case_8_triaxle_semi_trailer.json +0 -203
  472. package/test/data/src/core/physics/time_performance/case_1_center_of_mass.json +0 -2916
  473. package/test/data/src/core/physics/trucks/bitrem.json +0 -150
  474. package/test/data/src/core/physics/trucks/lowered_bitrem.json +0 -1216
  475. package/test/data/src/core/physics/trucks/lowered_bitrem_empty_first_container.json +0 -1182
  476. package/test/data/src/core/physics/trucks/rodotrem.json +0 -148
  477. package/test/data/src/core/physics/trucks/semi_reboque.json +0 -91
  478. package/test/data/src/core/physics/trucks/semi_reboque_rebaixado.json +0 -1629
  479. package/test/data/src/core/physics/trucks/simple_truck.json +0 -85
  480. package/test/data/src/core/physics/trucks/vanderleia_mechanical.json +0 -105
  481. package/test/data/src/core/physics/trucks/vanderleia_pneumatic.json +0 -105
  482. package/test/src/core/orchestration/request_schema.test.ts +0 -20
  483. package/test/src/core/orchestration/weight_by_axis_task.test.ts +0 -87
  484. package/test/src/core/physics/items/center_of_mass.test.ts +0 -38
  485. package/test/src/core/physics/items/multi_container_allocated_items.test.ts +0 -22
  486. package/test/src/core/physics/math_input_helpers.ts +0 -64
  487. package/test/src/core/physics/models/bitrem_model.test.ts +0 -54
  488. package/test/src/core/physics/models/deflection/deflection_model.test.ts +0 -78
  489. package/test/src/core/physics/models/rodotrem_model.test.ts +0 -29
  490. package/test/src/core/physics/models/semi_reboque_model.test.ts +0 -72
  491. package/test/src/core/physics/models/simple_truck_model.test.ts +0 -23
  492. package/test/src/core/physics/models/tare_model.test.ts +0 -34
  493. package/test/src/core/physics/models/vanderleia_model.test.ts +0 -36
  494. package/test/src/core/physics/services/axle_weight_service.test.ts +0 -56
  495. package/test/src/core/physics/services/cm_axle_weight_service.test.ts +0 -23
  496. package/test/src/core/physics/services/container_corner_forces.test.ts +0 -23
  497. package/test/src/core/physics/test_helpers.ts +0 -13
  498. package/test/src/core/physics/transports/chassi.test.ts +0 -35
  499. package/test/src/core/physics/transports/containerweight/container_weight_model.test.ts +0 -57
  500. package/test/src/core/physics/transports/tare/bitrem_axle_splitter.test.ts +0 -30
  501. package/test/src/index.test.ts +0 -35
  502. /package/build/core/contracts/{chassi_reference.js → ChassiReference.js} +0 -0
  503. /package/build/core/contracts/{rotation_enum.js → RotationEnum.js} +0 -0
  504. /package/build/core/contracts/{suspension_type.js → SuspensionType.js} +0 -0
  505. /package/build/core/contracts/{transport_record.js → TransportRecord.js} +0 -0
  506. /package/build/core/contracts/{vehicle_type.js → VehicleType.js} +0 -0
  507. /package/build/core/contracts/{vehicle_version.js → VehicleVersion.js} +0 -0
  508. /package/build/core/contracts/{wire_flags.js → WireFlags.js} +0 -0
  509. /package/build/core/math/{float_tools.js → FloatTools.js} +0 -0
  510. /package/build/core/math/{gaussian_elimination.js → GaussianElimination.js} +0 -0
  511. /package/build/core/physics/items/{allocated_item_manager.js → AllocatedItemManager.js} +0 -0
  512. /package/build/core/physics/items/{center_of_mass.js → CenterOfMass.js} +0 -0
  513. /package/build/core/physics/models/{chassi_forces.js → ChassiForces.js} +0 -0
  514. /package/build/core/physics/models/{old_tare_scale.js → OldTareScale.js} +0 -0
  515. /package/build/core/physics/models/deflection/{deflection_tools.js → DeflectionTools.js} +0 -0
  516. /package/build/core/physics/services/{container_corner_forces.js → ContainerCornerForces.js} +0 -0
  517. /package/build/core/physics/transports/containerweight/{container_max_weight_calculator.js → ContainerMaxWeightCalculator.js} +0 -0
  518. /package/build/core/physics/transports/containerweight/{container_tare_calculator.js → ContainerTareCalculator.js} +0 -0
  519. /package/build/core/physics/transports/containerweight/{merged_containers_weight_calculator.js → MergedContainersWeightCalculator.js} +0 -0
  520. /package/build/core/physics/transports/tare/{bitrem_axle_weight_split.js → BitremAxleWeightSplit.js} +0 -0
package/README.md CHANGED
@@ -17,16 +17,57 @@ npm run build
17
17
  ## Usage
18
18
 
19
19
  ```typescript
20
- import { calculate_weight_on_axles_physics } from '@jetta/axle-load-calculator'
21
-
22
- const response_json = calculate_weight_on_axles_physics(input_json_string)
20
+ import {
21
+ calculate_weight_on_axles_physics,
22
+ UnsupportedVehicleTypeError,
23
+ type WeightByAxisRequestInput,
24
+ type WeightByAxisSuccessOutput
25
+ } from '@jetta/axle-load-calculator'
26
+ import { ZodError } from 'zod'
27
+
28
+ const request: WeightByAxisRequestInput = { envs: [...] }
29
+
30
+ try {
31
+ const response: WeightByAxisSuccessOutput = calculate_weight_on_axles_physics(request)
32
+ // response.envs with axle weights
33
+ } catch (error) {
34
+ if (error instanceof ZodError) {
35
+ // invalid request shape (null, array, missing containers, etc.)
36
+ } else if (error instanceof UnsupportedVehicleTypeError) {
37
+ // unsupported tipoVeiculo
38
+ }
39
+ }
23
40
  ```
24
41
 
25
- **Contract:** same as `WeightByAxisTask.run()` in ms-faixas-porcentuais:
42
+ **Contract:**
43
+
44
+ - Input: object `{ envs, config? }` with required `containers` on each env (cloned before processing)
45
+ - Success: `{ envs }` with `containers[].pesoEixos` filled; `items` and `faixas` cleared on containers
46
+ - Failure: throws (see **Errors** below)
47
+
48
+ ## Errors
49
+
50
+ ### Thrown by `calculate_weight_on_axles_physics`
51
+
52
+ | Class | When |
53
+ |-------|------|
54
+ | `ZodError` (from `zod`, not re-exported) | Invalid request shape (`null`, array, missing `containers`, etc.) |
55
+ | `UnsupportedVehicleTypeError` | Unknown `tipoVeiculo` |
56
+ | `UnrecognizedSuspensionTypeError` | Invalid vanderleia suspension type |
57
+ | `GrouperNotFoundError` | Merged-container grouper not found |
58
+
59
+ Import `ZodError` directly from [`zod`](https://github.com/colinhacks/zod).
60
+
61
+ ### Exported for lower-level use
62
+
63
+ Also exported from `@jetta/axle-load-calculator` for `instanceof` checks when using internal physics modules (not thrown by `calculate_weight_on_axles_physics`):
26
64
 
27
- - Input: JSON string `{ envs, config? }`
28
- - Success: `envs[].conteiners[].pesoEixos` filled; `items` and `faixas` cleared on containers
29
- - Error: `{ msg, apiError }`
65
+ | Class | When |
66
+ |-------|------|
67
+ | `ContainerSequenceNotFoundError` | Container sequence missing on transport |
68
+ | `MissingContainerError` | Container lookup failed |
69
+ | `UnknownItemIdError` | Unknown item template id |
70
+ | `DeflectionModelNotImplementedError` | No deflection model for the vehicle |
30
71
 
31
72
  ## Dependencies
32
73
 
@@ -4,4 +4,4 @@ export declare const CHASSI_REFERENCE: Readonly<{
4
4
  TRACTOR: "TRACTOR";
5
5
  }>;
6
6
  export type ChassiReference = typeof CHASSI_REFERENCE[keyof typeof CHASSI_REFERENCE];
7
- //# sourceMappingURL=chassi_reference.d.ts.map
7
+ //# sourceMappingURL=ChassiReference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChassiReference.d.ts","sourceRoot":"","sources":["../../../src/core/contracts/ChassiReference.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;EAI3B,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { AllocatedItemManager } from '../physics/items/allocated_item_manager.js';
1
+ import { AllocatedItemManager } from '../physics/items/AllocatedItemManager.js';
2
2
  /**
3
3
  * Parses ms-faixas `{ envs: [...] }` payloads for axleweight services.
4
4
  */
@@ -10,4 +10,4 @@ export declare class MsFaixasContract {
10
10
  */
11
11
  constructor(ms_faixas_input: Record<string, unknown>);
12
12
  }
13
- //# sourceMappingURL=ms_faixas_contract.d.ts.map
13
+ //# sourceMappingURL=MsFaixasContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MsFaixasContract.d.ts","sourceRoot":"","sources":["../../../src/core/contracts/MsFaixasContract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAO/E;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IAEpE;;OAEG;gBACS,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOvD"}
@@ -1,6 +1,6 @@
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';
1
+ import { AllocatedItem } from '../physics/items/AllocatedItem.js';
2
+ import { AllocatedItemManager } from '../physics/items/AllocatedItemManager.js';
3
+ import { ItemTemplates } from '../physics/items/ItemTemplates.js';
4
4
  const TRANSPORT_LIST_FLAG = 'envs';
5
5
  const CONTAINERS_FLAG = 'containers';
6
6
  const ITEM_LIST_FLAG = 'items';
@@ -8,4 +8,4 @@ export declare const ROTATION: Readonly<{
8
8
  POS6: 6;
9
9
  }>;
10
10
  export type RotationCode = typeof ROTATION[keyof typeof ROTATION];
11
- //# sourceMappingURL=rotation_enum.d.ts.map
11
+ //# sourceMappingURL=RotationEnum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RotationEnum.d.ts","sourceRoot":"","sources":["../../../src/core/contracts/RotationEnum.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,eAAO,MAAM,QAAQ;;;;;;;EAOnB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAA"}
@@ -2,4 +2,4 @@ export declare const SUSPENSION_TYPE: Readonly<{
2
2
  PNEUMATICA: "Pneumatica";
3
3
  MECANICA: "Mecanica";
4
4
  }>;
5
- //# sourceMappingURL=suspension_type.d.ts.map
5
+ //# sourceMappingURL=SuspensionType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuspensionType.d.ts","sourceRoot":"","sources":["../../../src/core/contracts/SuspensionType.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;EAG1B,CAAA"}
@@ -2,4 +2,4 @@
2
2
  * Raw transport dict as received by axle-weight services (jettainterface wire format).
3
3
  */
4
4
  export type TransportRecord = Record<string, unknown>;
5
- //# sourceMappingURL=transport_record.d.ts.map
5
+ //# sourceMappingURL=TransportRecord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransportRecord.d.ts","sourceRoot":"","sources":["../../../src/core/contracts/TransportRecord.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA"}
@@ -9,4 +9,4 @@ export declare const VEHICLE_TYPE: Readonly<{
9
9
  VUC: 8;
10
10
  }>;
11
11
  export type VehicleTypeCode = typeof VEHICLE_TYPE[keyof typeof VEHICLE_TYPE];
12
- //# sourceMappingURL=vehicle_type.d.ts.map
12
+ //# sourceMappingURL=VehicleType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VehicleType.d.ts","sourceRoot":"","sources":["../../../src/core/contracts/VehicleType.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;EASvB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,YAAY,CAAC,MAAM,OAAO,YAAY,CAAC,CAAA"}
@@ -5,4 +5,4 @@ export declare const VEHICLE_VERSION: Readonly<{
5
5
  SEMIREBOQUE_BITRUCK: 6;
6
6
  SEMIREBOQUE_QUAD_ALT: 7;
7
7
  }>;
8
- //# sourceMappingURL=vehicle_version.d.ts.map
8
+ //# sourceMappingURL=VehicleVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VehicleVersion.d.ts","sourceRoot":"","sources":["../../../src/core/contracts/VehicleVersion.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAA"}
@@ -24,4 +24,4 @@ export declare const WIRE_FLAGS: Readonly<{
24
24
  CM_SERVICE_Z: "z_position";
25
25
  CM_SERVICE_MASS: "mass";
26
26
  }>;
27
- //# sourceMappingURL=wire_flags.d.ts.map
27
+ //# sourceMappingURL=WireFlags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WireFlags.d.ts","sourceRoot":"","sources":["../../../src/core/contracts/WireFlags.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;EAyBrB,CAAA"}
@@ -4,4 +4,4 @@
4
4
  * @returns Plain number matrix or vector.
5
5
  */
6
6
  export declare function float_list_to_matrix(float_list: number[] | number[][]): number[] | number[][];
7
- //# sourceMappingURL=float_tools.d.ts.map
7
+ //# sourceMappingURL=FloatTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatTools.d.ts","sourceRoot":"","sources":["../../../src/core/math/FloatTools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAW7F"}
@@ -5,4 +5,4 @@
5
5
  * @returns Solution vector length n.
6
6
  */
7
7
  export declare function solve_linear_system(matrix: number[][], independent: number[]): number[];
8
- //# sourceMappingURL=gaussian_elimination.d.ts.map
8
+ //# sourceMappingURL=GaussianElimination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GaussianElimination.d.ts","sourceRoot":"","sources":["../../../src/core/math/GaussianElimination.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CASvF"}
@@ -4,4 +4,4 @@
4
4
  * @returns Loaded cargo weight per axle index.
5
5
  */
6
6
  export declare function calculate_loaded_weights_for_env(env_vehicle: Record<string, unknown>): number[];
7
- //# sourceMappingURL=axle_weight_physics.d.ts.map
7
+ //# sourceMappingURL=AxleWeightPhysics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AxleWeightPhysics.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/AxleWeightPhysics.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,MAAM,EAAE,CAMV"}
@@ -1,6 +1,6 @@
1
- import { CmAxleWeightService } from '../physics/services/cm_axle_weight_service.js';
2
- import { build_connector_payload } from './connector_payload_builder.js';
3
- import { mass_center_by_grouper_from_env } from './java_mass_center.js';
1
+ import { CmAxleWeightService } from '../physics/services/CmAxleWeightService.js';
2
+ import { build_connector_payload } from './ConnectorPayloadBuilder.js';
3
+ import { mass_center_by_grouper_from_env } from './JavaMassCenter.js';
4
4
  /**
5
5
  * Calculates loaded weights per vehicle axle (in-process, no HTTP).
6
6
  * @param env_vehicle - Single env from weight_by_axis payload.
@@ -8,4 +8,4 @@ export declare function build_connector_payload(env_vehicle: Record<string, unkn
8
8
  mass: number;
9
9
  z: number;
10
10
  }>): Record<string, unknown>;
11
- //# sourceMappingURL=connector_payload_builder.d.ts.map
11
+ //# sourceMappingURL=ConnectorPayloadBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectorPayloadBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/ConnectorPayloadBuilder.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACvE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB"}
@@ -1,4 +1,4 @@
1
- import { WIRE_FLAGS } from '../contracts/wire_flags.js';
1
+ import { WIRE_FLAGS } from '../contracts/WireFlags.js';
2
2
  /**
3
3
  * Builds axle-weight service payload from a prepared env vehicle (Java AxleWeightConnector).
4
4
  * @param env_vehicle - Vehicle object inside envs[].
@@ -36,12 +36,11 @@ function map_center_of_mass_wire(center_of_mass_by_grouper) {
36
36
  return center_of_mass;
37
37
  }
38
38
  /**
39
- * @param env_vehicle - Env vehicle JSON.
40
- * @returns Container wire list without items.
39
+ * @param container - Env container record.
40
+ * @returns Wire container without items.
41
41
  */
42
- function build_containers(env_vehicle) {
43
- const list = env_vehicle.containers;
44
- return list.map((container) => ({
42
+ function map_container_to_wire(container) {
43
+ return {
45
44
  [WIRE_FLAGS.LENGTH]: container.comprimento,
46
45
  [WIRE_FLAGS.WIDTH]: container.largura,
47
46
  [WIRE_FLAGS.HEIGHT]: container.altura,
@@ -49,19 +48,34 @@ function build_containers(env_vehicle) {
49
48
  [WIRE_FLAGS.MAIN_PIN_DISTANCE]: container.distPinoRei,
50
49
  [WIRE_FLAGS.CONTAINER_DISTANCE_AHEAD]: container.containerDistanceAhead,
51
50
  [WIRE_FLAGS.GROUPER]: container.grouper
52
- }));
51
+ };
53
52
  }
54
53
  /**
55
- * @param env_vehicle - Env vehicle JSON.
56
- * @returns Axle wire list.
54
+ * @param axle - Env axle record.
55
+ * @returns Wire axle payload.
57
56
  */
58
- function build_axles(env_vehicle) {
59
- const list = env_vehicle.eixos;
60
- return list.map((axle) => ({
57
+ function map_axle_to_wire(axle) {
58
+ return {
61
59
  [WIRE_FLAGS.DISTANCE_FROM_ORIGIN]: axle.distanciaOrigem,
62
60
  [WIRE_FLAGS.MAX_SUPPORTED_WEIGHT]: axle.pesoMaxSuportado,
63
61
  [WIRE_FLAGS.SEQUENCE_CONTAINER]: axle.sequenciaContainer,
64
62
  [WIRE_FLAGS.DNIT_WEIGHT]: axle.pesoDnit ?? axle.pesoMaxSuportado,
65
63
  [WIRE_FLAGS.TARE]: axle.tara
66
- }));
64
+ };
65
+ }
66
+ /**
67
+ * @param env_vehicle - Env vehicle JSON.
68
+ * @returns Container wire list without items.
69
+ */
70
+ function build_containers(env_vehicle) {
71
+ const list = env_vehicle.containers;
72
+ return list.map(map_container_to_wire);
73
+ }
74
+ /**
75
+ * @param env_vehicle - Env vehicle JSON.
76
+ * @returns Axle wire list.
77
+ */
78
+ function build_axles(env_vehicle) {
79
+ const list = env_vehicle.eixos;
80
+ return list.map(map_axle_to_wire);
67
81
  }
@@ -1,4 +1,4 @@
1
- import { CenterOfMass } from '../physics/items/center_of_mass.js';
1
+ import { CenterOfMass } from '../physics/items/CenterOfMass.js';
2
2
  /**
3
3
  * Computes mass center per grouper using ms-faixas Java Item / MassCenter rules.
4
4
  * Longitudinal position uses JSON `y` (maps to Ponto3D.z in Java CubeRepresentation).
@@ -6,4 +6,4 @@ import { CenterOfMass } from '../physics/items/center_of_mass.js';
6
6
  * @returns Map of grouper id to center of mass.
7
7
  */
8
8
  export declare function mass_center_by_grouper_from_env(env_vehicle: Record<string, unknown>): Record<number, CenterOfMass>;
9
- //# sourceMappingURL=java_mass_center.d.ts.map
9
+ //# sourceMappingURL=JavaMassCenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JavaMassCenter.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/JavaMassCenter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAE/D;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAe9B"}
@@ -1,4 +1,4 @@
1
- import { CenterOfMass } from '../physics/items/center_of_mass.js';
1
+ import { CenterOfMass } from '../physics/items/CenterOfMass.js';
2
2
  /**
3
3
  * Computes mass center per grouper using ms-faixas Java Item / MassCenter rules.
4
4
  * Longitudinal position uses JSON `y` (maps to Ponto3D.z in Java CubeRepresentation).
@@ -0,0 +1,7 @@
1
+ import type { WeightByAxisSuccessOutput } from './WeightByAxisResponse.js';
2
+ /**
3
+ * @param envs - Output env list.
4
+ * @returns Success response object.
5
+ */
6
+ export declare function build_success_output(envs: Record<string, unknown>[]): WeightByAxisSuccessOutput;
7
+ //# sourceMappingURL=OutputBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/OutputBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAE1E;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,yBAAyB,CAG/F"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @param envs - Output env list.
3
+ * @returns Success response object.
4
+ */
5
+ export function build_success_output(envs) {
6
+ return { envs };
7
+ }
@@ -3,63 +3,55 @@ declare const request_schema: z.ZodObject<{
3
3
  envs: z.ZodArray<z.ZodObject<{
4
4
  _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
5
5
  eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
6
- conteiners: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
7
- containers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
6
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
8
7
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
9
8
  _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
10
9
  eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
11
- conteiners: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
12
- containers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
10
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
13
11
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
14
12
  _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
15
13
  eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
16
- conteiners: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
17
- containers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
14
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
18
15
  }, z.ZodTypeAny, "passthrough">>, "many">;
19
16
  config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
20
17
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
21
18
  envs: z.ZodArray<z.ZodObject<{
22
19
  _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
23
20
  eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
24
- conteiners: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
25
- containers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
21
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
26
22
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
27
23
  _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
28
24
  eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
29
- conteiners: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
30
- containers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
25
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
31
26
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
32
27
  _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
33
28
  eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
34
- conteiners: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
35
- containers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
29
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
36
30
  }, z.ZodTypeAny, "passthrough">>, "many">;
37
31
  config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
38
32
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
39
33
  envs: z.ZodArray<z.ZodObject<{
40
34
  _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
41
35
  eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
42
- conteiners: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
43
- containers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
36
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
44
37
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
45
38
  _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
46
39
  eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
47
- conteiners: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
48
- containers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
40
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
49
41
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
50
42
  _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
51
43
  eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
52
- conteiners: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
53
- containers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
44
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
54
45
  }, z.ZodTypeAny, "passthrough">>, "many">;
55
46
  config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
56
47
  }, z.ZodTypeAny, "passthrough">>;
57
48
  export type WeightByAxisRequest = z.infer<typeof request_schema>;
49
+ export type WeightByAxisRequestInput = z.input<typeof request_schema>;
58
50
  /**
59
- * Parses and validates weight-by-axis JSON at the library boundary.
60
- * @param json_data - Raw request string.
51
+ * Parses and validates weight-by-axis request data at the library boundary.
52
+ * @param data - JSON string or plain `{ envs, config? }` object.
61
53
  * @returns Parsed request object.
62
54
  */
63
- export declare function parse_weight_by_axis_request(json_data: string): WeightByAxisRequest;
55
+ export declare function parse_weight_by_axis_request_data(data: WeightByAxisRequestInput): WeightByAxisRequest;
64
56
  export {};
65
- //# sourceMappingURL=request_schema.d.ts.map
57
+ //# sourceMappingURL=RequestSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestSchema.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/RequestSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAGJ,CAAA;AAEhB,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAChE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAErE;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC7C,IAAI,EAAE,wBAAwB,GAC/B,mBAAmB,CAGrB"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ const env_schema = z.object({
3
+ _id: z.union([z.string(), z.number()]).optional(),
4
+ eixos: z.array(z.record(z.unknown())).min(1),
5
+ containers: z.array(z.record(z.unknown())).min(1)
6
+ }).passthrough();
7
+ const request_schema = z.object({
8
+ envs: z.array(env_schema).min(1),
9
+ config: z.record(z.unknown()).optional()
10
+ }).passthrough();
11
+ /**
12
+ * Parses and validates weight-by-axis request data at the library boundary.
13
+ * @param data - JSON string or plain `{ envs, config? }` object.
14
+ * @returns Parsed request object.
15
+ */
16
+ export function parse_weight_by_axis_request_data(data) {
17
+ return request_schema.parse(data);
18
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Successful weight-by-axis response payload.
3
+ */
4
+ export type WeightByAxisSuccessOutput = {
5
+ envs: Record<string, unknown>[];
6
+ };
7
+ /**
8
+ * Weight-by-axis task success response.
9
+ */
10
+ export type WeightByAxisResponse = WeightByAxisSuccessOutput;
11
+ //# sourceMappingURL=WeightByAxisResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeightByAxisResponse.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/WeightByAxisResponse.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAClC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ import { type WeightByAxisRequestInput } from './RequestSchema.js';
2
+ import type { WeightByAxisSuccessOutput } from './WeightByAxisResponse.js';
3
+ /**
4
+ * Runs weight-by-axis for ms-faixas input (WeightByAxisTask.run contract).
5
+ * @param request_data - `{ envs, config? }` object.
6
+ * @returns Response object with envs and axle weights.
7
+ * @throws {import('zod').ZodError} When request validation fails.
8
+ * @throws {import('../physics/models/UnsupportedVehicleTypeError.js').UnsupportedVehicleTypeError} When physics rejects the vehicle type.
9
+ * @throws {import('../physics/models/UnrecognizedSuspensionTypeError.js').UnrecognizedSuspensionTypeError} When vanderleia suspension type is invalid.
10
+ * @throws {import('../physics/transports/GrouperNotFoundError.js').GrouperNotFoundError} When a merged-container grouper is missing.
11
+ * @throws {import('../physics/transports/ContainerSequenceNotFoundError.js').ContainerSequenceNotFoundError} When a container sequence is missing.
12
+ * @throws {import('../physics/transports/MissingContainerError.js').MissingContainerError} When a container lookup fails.
13
+ * @throws {import('../physics/items/UnknownItemIdError.js').UnknownItemIdError} When an item template id is unknown.
14
+ * @throws {import('../physics/models/deflection/DeflectionModelNotImplementedError.js').DeflectionModelNotImplementedError} When no deflection model exists.
15
+ */
16
+ export declare function run_weight_by_axis_task(request_data: WeightByAxisRequestInput): WeightByAxisSuccessOutput;
17
+ //# sourceMappingURL=WeightByAxisTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeightByAxisTask.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/WeightByAxisTask.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,wBAAwB,EAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAE1E;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACnC,YAAY,EAAE,wBAAwB,GACvC,yBAAyB,CAY3B"}
@@ -1,30 +1,32 @@
1
- import { calculate_loaded_weights_for_env } from './axle_weight_physics.js';
2
- import { build_success_output, build_error_output } from './output_builder.js';
3
- import { check_cargo_collision } from './collision_checker.js';
4
- import { parse_weight_by_axis_request } from './request_schema.js';
1
+ import { calculate_loaded_weights_for_env } from './AxleWeightPhysics.js';
2
+ import { build_success_output } from './OutputBuilder.js';
3
+ import { parse_weight_by_axis_request_data } from './RequestSchema.js';
5
4
  /**
6
- * Runs weight-by-axis for ms-faixas JSON input (WeightByAxisTask.run contract).
7
- * @param json_data - Raw request JSON string.
8
- * @returns Response JSON string.
5
+ * Runs weight-by-axis for ms-faixas input (WeightByAxisTask.run contract).
6
+ * @param request_data - `{ envs, config? }` object.
7
+ * @returns Response object with envs and axle weights.
8
+ * @throws {import('zod').ZodError} When request validation fails.
9
+ * @throws {import('../physics/models/UnsupportedVehicleTypeError.js').UnsupportedVehicleTypeError} When physics rejects the vehicle type.
10
+ * @throws {import('../physics/models/UnrecognizedSuspensionTypeError.js').UnrecognizedSuspensionTypeError} When vanderleia suspension type is invalid.
11
+ * @throws {import('../physics/transports/GrouperNotFoundError.js').GrouperNotFoundError} When a merged-container grouper is missing.
12
+ * @throws {import('../physics/transports/ContainerSequenceNotFoundError.js').ContainerSequenceNotFoundError} When a container sequence is missing.
13
+ * @throws {import('../physics/transports/MissingContainerError.js').MissingContainerError} When a container lookup fails.
14
+ * @throws {import('../physics/items/UnknownItemIdError.js').UnknownItemIdError} When an item template id is unknown.
15
+ * @throws {import('../physics/models/deflection/DeflectionModelNotImplementedError.js').DeflectionModelNotImplementedError} When no deflection model exists.
9
16
  */
10
- export function run_weight_by_axis_task(json_data) {
11
- try {
12
- const request = parse_weight_by_axis_request(json_data);
13
- const envs = request.envs;
14
- const output_envs = [];
15
- for (const env of envs) {
16
- const loaded_weights = calculate_loaded_weights_for_env(env);
17
- apply_loaded_weights_to_env(env, loaded_weights);
18
- check_cargo_collision(env);
19
- output_envs.push(strip_items_and_bands(env));
20
- }
21
- return build_success_output(output_envs);
22
- }
23
- catch (error) {
24
- return build_error_output(error);
17
+ export function run_weight_by_axis_task(request_data) {
18
+ const request = parse_weight_by_axis_request_data(request_data);
19
+ const envs = request.envs;
20
+ const output_envs = [];
21
+ for (const env of envs) {
22
+ const loaded_weights = calculate_loaded_weights_for_env(env);
23
+ apply_loaded_weights_to_env(env, loaded_weights);
24
+ output_envs.push(strip_items_and_bands(env));
25
25
  }
26
+ return build_success_output(output_envs);
26
27
  }
27
28
  /**
29
+ * Writes loaded axle and container pesoEixos fields on the env vehicle.
28
30
  * @param env - Env vehicle object.
29
31
  * @param loaded_weights - Forces per axle.
30
32
  */
@@ -37,10 +39,7 @@ function apply_loaded_weights_to_env(env, loaded_weights) {
37
39
  axle.pesoCarregado = cargo;
38
40
  axle.pesoCarregadoFinal = tare + cargo;
39
41
  }
40
- const containers = env.conteiners ?? env.containers;
41
- if (!Array.isArray(containers)) {
42
- return;
43
- }
42
+ const containers = env.containers;
44
43
  apply_to_containers(containers, loaded_weights, axles);
45
44
  }
46
45
  /**
@@ -89,13 +88,13 @@ function build_peso_eixo_entry(axle, cargo) {
89
88
  };
90
89
  }
91
90
  /**
91
+ * Copies env vehicle for response, clearing items/faixas and setting idCaminhao.
92
92
  * @param env - Env with updated axle data.
93
93
  * @returns Env copy without items/faixas on containers.
94
94
  */
95
95
  function strip_items_and_bands(env) {
96
96
  const clone = JSON.parse(JSON.stringify(env));
97
- const key = clone.conteiners ? 'conteiners' : 'containers';
98
- const containers = clone[key];
97
+ const containers = clone.containers;
99
98
  for (const container of containers) {
100
99
  container.items = [];
101
100
  container.faixas = [];
@@ -1,5 +1,5 @@
1
- import type { RotationCode } from '../../contracts/rotation_enum.js';
2
- import type { ItemTemplates } from './item_templates.js';
1
+ import type { RotationCode } from '../../contracts/RotationEnum.js';
2
+ import type { ItemTemplates } from './ItemTemplates.js';
3
3
  /**
4
4
  * Allocated cargo item with position in container coordinates.
5
5
  */
@@ -19,4 +19,4 @@ export declare class AllocatedItem {
19
19
  get length(): number;
20
20
  get center_of_gravity_z(): number;
21
21
  }
22
- //# sourceMappingURL=allocated_item.d.ts.map
22
+ //# sourceMappingURL=AllocatedItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AllocatedItem.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/items/AllocatedItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD;;GAEG;AACH,qBAAa,aAAa;IAEtB,EAAE,SAAI;IACN,EAAE,SAAI;IACN,EAAE,SAAI;IACN,QAAQ,EAAE,YAAY,CAAgB;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;IAEjC;;;OAGG;gBACS,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM;IAM5D,IAAI,MAAM,IAAI,MAAM,CAGnB;IAED,IAAI,MAAM,IAAI,MAAM,CAGnB;IAED,IAAI,mBAAmB,IAAI,MAAM,CAGhC;CACJ"}
@@ -1,4 +1,4 @@
1
- import { ROTATION } from '../../contracts/rotation_enum.js';
1
+ import { ROTATION } from '../../contracts/RotationEnum.js';
2
2
  /**
3
3
  * Allocated cargo item with position in container coordinates.
4
4
  */
@@ -1,5 +1,5 @@
1
- import { AllocatedItem } from './allocated_item.js';
2
- import type { ItemTemplates } from './item_templates.js';
1
+ import { AllocatedItem } from './AllocatedItem.js';
2
+ import type { ItemTemplates } from './ItemTemplates.js';
3
3
  /**
4
4
  * Items allocated inside one container sequence.
5
5
  */
@@ -28,4 +28,4 @@ export declare class AllocatedItemManager {
28
28
  */
29
29
  get_item(item_index: number): AllocatedItem;
30
30
  }
31
- //# sourceMappingURL=allocated_item_manager.d.ts.map
31
+ //# sourceMappingURL=AllocatedItemManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AllocatedItemManager.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/items/AllocatedItemManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD;;GAEG;AACH,qBAAa,oBAAoB;IAOjB,QAAQ,CAAC,SAAS,EAAE,aAAa;IAL7C,OAAO,CAAC,KAAK,CAAsB;IAEnC;;OAEG;gBACkB,SAAS,EAAE,aAAa;IAI7C;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAKjD;;OAEG;IACH,WAAW,IAAI,MAAM;IAKrB;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAK7B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa;CAI9C"}